/* Standalone theme styles. Plugin overlays outside .bvs-shell retain their own styles. */
body.bvs-site { margin:0; --bml-bg:#1a1a18; --bml-text:#f5f3ee; --bml-text-muted:#c9c7bf; --bml-link:#e7e4da; --bml-text-dim:#b0ada4; --bml-border:#48473f; --bvs-surface:#242421; --bvs-header-text:#111; }
.bvs-shell { background:var(--bml-bg); color:var(--bml-text-muted); font:400 16px/1.65 'Playfair Display',Georgia,serif; min-height:100vh; overflow-wrap:break-word; }
.bvs-shell *, .bvs-shell *::before, .bvs-shell *::after { box-sizing:border-box; }
.bvs-shell a { color:var(--bml-link); text-underline-offset:4px; }
.bvs-shell a:hover { text-decoration-thickness:2px; }
.bvs-shell :is(h1,h2,h3,h4,h5,h6) { color:var(--bml-text); font-family:inherit; font-weight:500; line-height:1.25; margin:0 0 24px; }
.bvs-shell h1 { font-size:clamp(30px,4vw,44px); }
.bvs-shell h2 { font-size:30px; }
.bvs-shell h3 { font-size:24px; }
.bvs-shell p { margin:0 0 24px; }
.bvs-shell img { max-width:100%; height:auto; }
.bvs-shell iframe { max-width:100%; }
.bvs-container { width:min(1170px,calc(100% - 48px)); margin-inline:auto; }
.bvs-page,.bvs-commerce { padding-top:64px; padding-bottom:70px; min-height:45vh; }
.bvs-header { position:relative; min-height:245px; display:grid; place-items:center; background:#b3a17e; text-align:center; padding:30px 24px; }
.bvs-header-home { min-height:43svh; }
.bvs-header-image { position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; }
.bvs-branding { position:relative; z-index:1; }
.bvs-logo,.bvs-branding .custom-logo { width:90px; max-height:100px; height:auto; object-fit:contain; display:block; margin:0 auto 10px; }
.bvs-branding .custom-logo-link { display:inline-block; }
.bvs-branding .bvs-site-title { margin:0; font-size:36px; font-weight:600; line-height:1.25; }
.bvs-branding .bvs-site-title a { color:var(--bvs-header-text); text-decoration:none; }
.bvs-branding .bvs-tagline { color:var(--bvs-header-text); margin:0; font-size:14px; }
.bvs-nav { position:sticky; top:0; z-index:100; background:#30302d; color:#f5f3ee; border-bottom:1px solid #44443f; }
.admin-bar .bvs-nav { top:32px; }
.bvs-nav-inner { width:min(1170px,calc(100% - 32px)); margin:auto; }
.bvs-menu,.bvs-menu ul { list-style:none; margin:0; padding:0; }
.bvs-menu { display:flex; justify-content:center; flex-wrap:wrap; }
.bvs-menu li { position:relative; }
.bvs-menu a { display:inline-block; color:#f5f3ee; text-decoration:none; padding:20px 15px; font-size:15px; }
.bvs-menu .current-menu-item > a,.bvs-menu a:hover { color:#d6b56e; }
.bvs-menu ul { display:none; position:absolute; left:0; top:100%; min-width:230px; background:#30302d; border:1px solid #55554d; box-shadow:0 6px 20px #0003; }
.bvs-menu ul ul { left:100%; top:0; }
.bvs-menu ul a { padding:12px 15px; max-width:230px; }
.bvs-menu li:hover > ul,.bvs-nav:not(.bvs-nav-ready) .bvs-menu li:focus-within > ul,.bvs-menu li.bvs-submenu-open > ul { display:block; }
.bvs-menu-toggle,.bvs-submenu-toggle { border:0; background:transparent; color:#f5f3ee; font:inherit; cursor:pointer; }
.bvs-submenu-toggle { padding:10px; min-width:38px; min-height:38px; }
.bvs-submenu-toggle svg { pointer-events:none; }
.bvs-menu-toggle { display:none; padding:14px 0; width:100%; text-align:left; }
.bvs-menu-toggle span { float:right; }
.bvs-shell a:focus-visible,.bvs-shell button:focus-visible,.bvs-shell input:focus-visible,.bvs-shell select:focus-visible,.bvs-shell textarea:focus-visible { outline:2px solid #d6b56e; outline-offset:4px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { clip:auto; height:auto; width:auto; top:8px; left:8px; z-index:999999; padding:16px; color:#111; background:white; }
.entry-header { margin-bottom:35px; }
.entry-content { min-width:0; }
.entry-content:after { content:''; display:table; clear:both; }
.entry-content > * { max-width:100%; }
.entry-content video { max-width:100%; height:auto; }
.entry-content .alignwide { width:100%; }
.entry-content .aligncenter { display:block; margin-inline:auto; }
.entry-content .alignleft { float:left; margin:0 24px 24px 0; }
.entry-content .alignright { float:right; margin:0 0 24px 24px; }
.entry-content blockquote { border-left:2px solid var(--bml-border); margin:24px 0; padding:0 24px; }
.entry-content pre { overflow:auto; padding:20px; background:var(--bvs-surface); }
.entry-content table { border-collapse:collapse; }
.entry-content td,.entry-content th { padding:10px; border:1px solid var(--bml-border); }
.entry-content .wp-block-table { overflow-x:auto; }
.wp-caption-text,.gallery-caption { font-size:14px; }
.bvs-post { padding-bottom:45px; margin-bottom:45px; border-bottom:1px solid var(--bml-border); }
.bvs-featured { display:block; margin-bottom:30px; }
.bvs-footer { border-top:1px solid var(--bml-border); padding:45px 0; }
.bvs-footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:35px; }
.bvs-footer .widget-title { font-size:22px; }
.bvs-footer iframe { width:100%; }
.bvs-social { display:flex; gap:15px; list-style:none; padding:0; }
.bvs-search label { display:block; }
.bvs-search input,.comment-form :is(input:not([type=checkbox]):not([type=submit]),textarea) { background:var(--bvs-surface); border:1px solid var(--bml-border); color:var(--bml-text); padding:12px; max-width:100%; font:inherit; }
.bvs-button,.comment-form .submit { border:1px solid var(--bml-text); border-radius:6px; background:var(--bml-text); color:var(--bml-bg); padding:12px 20px; font:inherit; cursor:pointer; }
.comment-list { padding-left:24px; }
.bvs-shell .woocommerce-breadcrumb,.bvs-shell .woocommerce-breadcrumb a { color:var(--bml-text-muted); }
.bvs-commerce .product_title,.bvs-commerce .woocommerce-loop-product__title { color:var(--bml-text); }
.bvs-commerce .woocommerce-products-header { margin-bottom:36px; }
.bvs-commerce ul.products li.product .woocommerce-loop-product__title { font:500 20px/1.4 'Playfair Display',Georgia,serif; }
.bvs-commerce ul.products li.product a img { width:100%; height:300px; object-fit:contain; }
.bvs-shell .woocommerce ul.products li.product .price,.bvs-commerce ul.products li.product .price,.bvs-commerce div.product p.price,.bvs-commerce div.product span.price { color:var(--bml-text-muted); }
.bvs-commerce div.product .woocommerce-tabs ul.tabs li { background:var(--bvs-surface); border-color:var(--bml-border); }
.bvs-commerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--bml-bg); color:var(--bml-text); }
.bvs-commerce div.product .woocommerce-tabs ul.tabs li a { color:var(--bml-text); }
.bvs-commerce div.product .woocommerce-tabs ul.tabs:before { border-color:var(--bml-border); }
.bvs-shell .woocommerce :is(a.button,button.button,input.button),.bvs-commerce :is(a.button,button.button,input.button) { background:var(--bml-text); color:var(--bml-bg); border-radius:6px; font-weight:500; line-height:1.4; }
.bvs-shell .woocommerce :is(a.button,button.button,input.button):hover,.bvs-commerce :is(a.button,button.button,input.button):hover { background:#e0ddd3; color:#171715; }
.bvs-shell .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error),.bvs-commerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { background:var(--bvs-surface); color:var(--bml-text); }
.bvs-shell .woocommerce :is(input.input-text,textarea,select),.bvs-commerce :is(input.input-text,textarea,select),.bvs-commerce .quantity input { color:var(--bml-text); background:var(--bvs-surface); border:1px solid var(--bml-border); padding:10px; font:inherit; max-width:100%; }
.bvs-shell .woocommerce #payment,.bvs-shell .woocommerce #payment .payment_box { background:var(--bvs-surface); color:var(--bml-text); }
.bvs-shell .woocommerce #payment .payment_box:before { border-bottom-color:var(--bvs-surface); }
.bvs-shell .woocommerce table.shop_table,.bvs-shell .woocommerce table.shop_table td { border-color:var(--bml-border); }
.bvs-shell .select2-container .select2-selection--single,.bvs-shell .select2-container .select2-selection__rendered { background:var(--bvs-surface); color:var(--bml-text); }
.bvs-shop-collections > h2 { margin-top:40px; }
.bvs-shop-collections img { object-fit:contain; }
.bvs-shell .woocommerce-pagination .page-numbers a,.bvs-shell .woocommerce-pagination .page-numbers span { color:var(--bml-text); padding:10px; }
.bvs-shell .woocommerce-pagination .page-numbers .current { background:var(--bvs-surface); }
.bvs-shell .wp-block-woocommerce-cart,.bvs-shell .wp-block-woocommerce-checkout { --wc-form-color-text:var(--bml-text); --wc-form-color-background:var(--bvs-surface); --wc-form-border-color:var(--bml-border); }
@media(max-width:780px) {
 .bvs-header-home { min-height:36svh; }
 .bvs-header { min-height:220px; }
 .bvs-branding .bvs-site-title { font-size:30px; }
 .bvs-nav-ready .bvs-menu-toggle { display:block; }
 .bvs-menu { display:block; }
 .bvs-nav-ready .bvs-menu { display:none; }
 .bvs-nav-open .bvs-menu { display:block; max-height:70svh; overflow:auto; }
 .bvs-menu a { padding:12px; }
 .bvs-menu ul,.bvs-menu ul ul { position:static; min-width:0; margin-left:18px; border:0; box-shadow:none; }
 .bvs-menu li:hover > ul,.bvs-menu li:focus-within > ul { display:none; }
 .bvs-menu li.bvs-submenu-open > ul { display:block; }
 .bvs-nav:not(.bvs-nav-ready) .bvs-menu ul { display:block; }
 .bvs-container { width:calc(100% - 36px); }
 .bvs-page,.bvs-commerce { padding:36px 0 45px; }
 .bvs-commerce ul.products li.product a img { height:220px; }
 .entry-content .alignleft,.entry-content .alignright { float:none; margin:0 auto 24px; }
 .admin-bar .bvs-nav { top:46px; }
}
@media(max-width:600px) { .admin-bar .bvs-nav { top:0; } }
@media(prefers-reduced-motion:reduce) { .bvs-shell { scroll-behavior:auto; } }

.bvs-shop-collections .wc-block-grid__product-image img { width:100%; height:300px; object-fit:contain; }
.bvs-shop-collections .wc-block-grid__product-title { color:var(--bml-text); font-size:18px; }
.bvs-shop-collections .wc-block-grid__product { border-color:transparent; }
@media(max-width:780px) { .bvs-shop-collections .wc-block-grid__product-image img { height:220px; } }
