/* BeachNova Stage38 PDP coverage candidate.
 * Generated from mobile + desktop initial render and exercised interactions.
 * Whole top-level rules are retained to preserve @media/@supports syntax.
 */

/* Source: global.css */
/* Generated by work/build-beachnova-global-css.js.
 * Source order is intentional and preserves the former WordPress enqueue cascade.
 * Do not edit this generated file directly.
 */
/* BEACHNOVA SOURCE: style.css */
/*
Theme Name: BeachNova
Theme URI: https://lightgreen-antelope-105154.hostingersite.com/
Author: BeachNova
Description: Custom WooCommerce storefront for BeachNova.
Version: 0.8.210-stage37-bounded-media-generation-ready
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: beachnova
*/

/* BEACHNOVA SOURCE: assets/wordpress.css */
/* WordPress/WooCommerce integration layer */
.site-header .logo-link{display:block;line-height:0}
.desktop-primary ul,.drawer ul,.site-footer ul{list-style:none;margin:0;padding:0}
.desktop-primary>ul{display:flex;gap:26px;align-items:center}
.desktop-primary a,.drawer a,.site-footer a{text-decoration:none;color:inherit}
.tools a{text-decoration:none;color:#111}
.beachnova-content{min-height:55vh;padding-top:36px}
.woocommerce-area .section{max-width:1440px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:4/5;object-fit:cover;margin:0 0 12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;font-weight:500;padding:0}
.woocommerce ul.products li.product .price{color:#111;font-size:14px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:0;background:#111;color:#fff;padding:13px 20px}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:48px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto;float:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:900px){.desktop-primary{display:none}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.woocommerce div.product{grid-template-columns:1fr;gap:20px}.beachnova-content{padding-top:16px}.site-header .custom-logo{width:140px}}


.bn-collection-shortcuts,.bn-mobile-shop-toolbar,.bn-quickship{display:none}

@media(max-width:800px){
 .woocommerce-area .section{padding:0 12px 46px!important}
 .woocommerce-products-header{padding-top:22px}
 .woocommerce-products-header__title.page-title{font-size:22px;line-height:1.2;margin:0 0 12px}
 .bn-collection-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 -12px 24px;padding:16px 12px 0;overflow:hidden}
 .bn-collection-shortcuts a{display:grid;gap:7px;text-decoration:underline;font-size:11px}
 .bn-collection-shortcuts img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}
 .woocommerce .woocommerce-result-count{float:none;margin:0;color:#777;font-size:11px}
 .woocommerce .woocommerce-ordering{display:none;float:none;margin:0}
 .bn-mobile-shop-toolbar{display:grid;grid-template-columns:1fr 1fr 48px;align-items:center;height:50px;border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;margin:16px 0 12px;text-transform:uppercase}
 .bn-mobile-shop-toolbar button{border:0;background:#fff;text-align:left;text-transform:uppercase}
 .bn-mobile-shop-toolbar .bn-sort-control{position:relative;height:100%;display:flex;align-items:center;padding-left:16px;border-left:1px solid #e8e8e8;overflow:hidden}
 .bn-mobile-shop-toolbar .bn-sort-control span{padding:0;border:0}
 .bn-mobile-shop-toolbar .bn-sort-control select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
 .bn-mobile-shop-toolbar .bn-grid-toggle{text-align:center;font-size:10px}
 .bn-quickship{display:inline-flex;align-items:center;min-height:38px;border:1px solid #ddd;padding:0 12px;margin-bottom:14px;color:#007f5f;font-size:11px}
 .woocommerce ul.products{gap:16px 4px!important}
 .woocommerce ul.products.bn-single-grid{grid-template-columns:1fr!important}
 .woocommerce ul.products.bn-single-grid li.product img{aspect-ratio:.82}
 .woocommerce ul.products li.product img{aspect-ratio:.68;margin-bottom:8px}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px;line-height:1.35;padding:0 4px;min-height:34px}
 .woocommerce ul.products li.product .price{font-size:14px;font-weight:700;padding:0 4px}
 .woocommerce ul.products li.product .button{width:24px;height:24px;min-height:0;padding:0!important;float:right;margin:-28px 4px 0 0!important;background:#fff url('icons/shopping-bag.svg') center/18px no-repeat!important;font-size:0;border:0}
 .bn-filter-sheet{position:fixed;z-index:80;inset:auto 0 0;background:#fff;box-shadow:0 -8px 28px #0003;transform:translateY(105%);transition:transform .22s;padding:20px 18px 28px}
 .bn-filter-sheet.open{transform:none}
 .bn-filter-sheet-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;padding-bottom:14px;font-weight:700;text-transform:uppercase}
 .bn-filter-sheet-close{border:0;background:#fff;font-size:24px}
 .bn-filter-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
 .bn-filter-links a{border:1px solid #ddd;padding:13px 12px;color:#111;text-decoration:none}
 body.bn-filter-open:after{content:"";position:fixed;z-index:79;inset:0;background:#0007}
}

/* Stage43 live regression lock.
   Keep WooCommerce variation selects in the DOM for its variation engine,
   but expose only the BloomChic-style color and size controls visually. */
html body.single-product form.variations_form select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 800px) {
  html body.single-product form.cart .single_add_to_cart_button,
  html body.single-product .single_variation_wrap .single_add_to_cart_button {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
    z-index: auto !important;
  }

  html body.single-product:not(.bn-mobile-buy-ready) .bn-mobile-buy,
  html body.single-product .bn-mobile-buy:not(.is-ready) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(110%) !important;
  }
}


/* 0.8.37 policy pages and footer polish */
.bn-footer-signup{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:30px;align-items:center;max-width:1440px;margin:0 auto;padding:42px max(24px,3.2vw);border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fbf6ed}

.bn-footer-signup small{display:block;margin-bottom:7px;font-size:11px;letter-spacing:.16em;font-weight:800;color:#008aa6}

.bn-footer-signup h2{margin:0 0 7px;font:500 32px/1.1 Georgia,serif;color:#111}

.bn-footer-signup p{margin:0;color:#555;font-size:13px;line-height:1.55}

.bn-footer-signup form{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px}

.bn-footer-signup input{min-height:48px;border:1px solid #bbb;background:#fff;padding:0 14px;font-size:13px}

.bn-footer-signup button{min-height:48px;border:0;background:#111;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em}

.bn-footer-signup .bn-signup-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:8px;margin:-2px 0 2px;color:#555;font-size:11px;line-height:1.35}

.bn-footer-signup .bn-signup-consent input{width:14px;min-width:14px;height:14px;min-height:14px;margin:1px 0 0;padding:0}

.site-footer{display:grid;grid-template-columns:1.2fr repeat(3,minmax(130px,.65fr)) minmax(190px,.8fr) minmax(190px,.8fr);gap:28px;max-width:1440px;margin:0 auto;padding:46px max(24px,3.2vw);background:#fff;color:#111;border-bottom:1px solid #eee}

.site-footer .brand img{width:170px;height:auto;margin-bottom:14px}

.site-footer .brand p{max-width:250px;margin:0 0 16px;color:#555;font-size:13px;line-height:1.55}

.site-footer b{display:block;margin:0 0 14px;font-size:12px;letter-spacing:.08em}

.site-footer a{display:block;margin:0 0 10px;color:#555;font-size:13px;line-height:1.35;text-decoration:none}

.bn-footer-market{padding:18px;border:1px solid #ddd;background:#fff}

.bn-footer-market p{margin:0 0 12px;color:#555;font-size:13px;line-height:1.45}

.bn-market-current{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}

.bn-market-current span{display:inline-flex;align-items:center;min-height:30px;border:1px solid #111;background:#111;color:#fff;padding:0 9px;font-size:11px;font-weight:800}

.bn-footer-market small{display:block;margin-top:9px;color:#777;font-size:10px;line-height:1.35}

@media(min-width:901px){.site-footer{grid-template-columns:1.2fr repeat(3,minmax(130px,.65fr)) minmax(190px,.8fr) minmax(190px,.8fr)!important;gap:28px!important}.site-footer .bn-footer-market,.site-footer .bn-footer-app{min-width:0!important}}

.copyright{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;margin:0 auto;padding:18px max(24px,3.2vw) 28px;color:#777;font-size:12px}

.copyright nav{display:flex;gap:18px}

.copyright a{color:inherit;text-decoration:none}

@media(max-width:800px){
 .bn-footer-signup{grid-template-columns:1fr;gap:18px;padding:30px 16px}
 .bn-footer-signup h2{font-size:25px}
 .bn-footer-signup form{grid-template-columns:1fr}
 .site-footer{grid-template-columns:1fr;gap:24px;padding:34px 18px}
 .site-footer .brand img{width:145px}
 .bn-footer-app,.bn-footer-market{padding:16px}
 .bn-footer-market form{grid-template-columns:1fr}
 .bn-footer-market button{width:100%}
 .copyright{display:grid;gap:12px;padding:18px}
 .copyright nav{flex-wrap:wrap;gap:12px}
 .bn-policy-shell{display:grid;grid-template-columns:1fr;gap:18px;padding:18px 14px 54px;margin-bottom:0}
 .bn-policy-nav{position:relative;top:auto;display:flex;overflow:auto;gap:0;border:0;border-bottom:1px solid #ddd;scrollbar-width:none}
 .bn-policy-nav::-webkit-scrollbar{display:none}
 .bn-policy-nav b{display:none}
 .bn-policy-nav a{flex:0 0 auto;border:1px solid #ddd;border-bottom:0;margin-right:6px;padding:10px 12px;background:#fff;font-size:12px}
 .bn-policy-copy{border:0;padding:18px 0;box-shadow:none}
 .bn-policy-copy h1{font-size:28px}
 .bn-policy-copy h2{font-size:21px}
 .bn-policy-copy p,.bn-policy-copy li{font-size:13px}
 .bn-about-page{padding:0 14px 54px}
 .bn-about-hero{grid-template-columns:1fr;gap:0;margin:0 -14px 18px}
 .bn-about-hero>div{padding:28px 18px}
 .bn-about-hero h1{font-size:32px}
 .bn-about-hero img{min-height:300px;order:-1}
 .bn-about-values{grid-template-columns:1fr;gap:10px}
 .bn-about-values article,.bn-about-story{padding:18px}
}


/* 0.8.67 footer and policy support density */
.bn-footer-signup form:after{content:"You can change your email preferences at any time.";grid-column:1/-1;color:#777;font-size:10px;line-height:1.35}

@media(max-width:800px){
 .bn-policy-cards{grid-template-columns:1fr!important}
 .bn-policy-shell:after{grid-column:1;margin-top:-8px}
 .bn-footer-signup form:after{font-size:10px}
}


/* 0.8.75 footer, policy and market clarity */
.site-footer .brand p:after{content:none;display:none}

.bn-footer-market:before{content:"Current market settings";display:block;margin-bottom:8px;color:#008aa6;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}


@media(max-width:800px){
 body.page .beachnova-content{padding:0!important;overflow:hidden!important}
 .page .beachnova-content article:has(.bn-policy-hero){display:block!important;max-width:454px!important;margin:0 auto!important;background:#fff!important}
 .bn-policy-hero{display:block!important;position:relative!important;z-index:1!important;padding:54px 18px 26px!important;background:#fff!important;border-bottom:1px solid #eee!important}
 .bn-policy-hero small{display:block!important;margin:0 0 10px!important;text-align:left!important}
 .bn-policy-hero h1{display:block!important;position:static!important;margin:0!important;text-align:left!important;font:500 32px/1.12 Georgia,serif!important;transform:none!important}
 .bn-policy-hero p{display:block!important;position:static!important;max-width:none!important;margin:14px 0 0!important;text-align:left!important;font-size:13px!important;line-height:1.55!important}
 .bn-policy-cards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;position:relative!important;z-index:1!important;margin:0!important;padding:16px 18px!important;background:#fff!important;border-bottom:1px solid #eee!important}
 .bn-policy-cards article{display:block!important;min-height:0!important;padding:15px 16px!important;border:1px solid #ddd!important;background:#fbf6ed!important}
 .bn-policy-shell{display:block!important;max-width:454px!important;margin:0 auto!important;padding:16px 18px 50px!important;background:#fff!important}
 .bn-policy-nav{position:static!important;display:flex!important;overflow:auto!important;gap:6px!important;margin:0 0 18px!important;padding:0 0 2px!important;border:0!important;background:#fff!important;scrollbar-width:none!important}
 .bn-policy-nav::-webkit-scrollbar{display:none!important}
 .bn-policy-nav b{display:none!important}
 .bn-policy-nav a{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0 12px!important;border:1px solid #ddd!important;background:#fff!important;color:#111!important;font-size:12px!important;white-space:nowrap!important;text-decoration:none!important}
 .bn-policy-copy{display:block!important;min-height:0!important;border:0!important;background:#fff!important;padding:0!important;box-shadow:none!important}
 .bn-policy-copy h1{display:none!important}
 .bn-policy-copy h2{font:700 24px/1.18 Arial,sans-serif!important;margin:24px 0 12px!important;text-align:left!important}
 .site-footer{display:block!important;max-width:454px!important;margin:0 auto!important;padding:28px 18px 80px!important;overflow:hidden!important}
 .site-footer .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
 .site-footer .bn-footer-side{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
 .site-footer .bn-footer-market,.site-footer .bn-footer-app{width:100%!important;max-width:none!important;min-width:0!important}
}

@media(max-width:800px){
 .site-footer{grid-template-columns:1fr!important}
 .site-footer b{margin-bottom:10px}
 .site-footer a{min-height:26px}
 .bn-footer-market,.bn-footer-app{border-left:0!important;border-right:0!important;margin:0 -18px;padding:18px!important}
 .copyright{grid-template-columns:1fr!important;padding:16px 18px 24px!important}
 .copyright nav{flex-wrap:wrap;gap:10px 16px}
}


/* BEACHNOVA SOURCE: assets/theme.css */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#171717;font:13px Arial,Helvetica,sans-serif;background:#fff}
a{color:inherit;text-decoration:none;cursor:pointer}
button{font:inherit;cursor:pointer}
header{height:78px;display:grid;grid-template-columns:1fr 190px 1fr;align-items:center;padding:0 3%;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:10}
nav{display:flex;gap:23px;font-size:11px;font-weight:700}
.logo{width:170px;max-height:62px;object-fit:contain;justify-self:center}
.tools{justify-self:end;display:flex;gap:14px;align-items:center}
.tools button,.menu{border:0;background:none}
.bag b{background:#111;color:#fff;border-radius:50%;padding:3px 6px}
.menu{display:none}
.drawer,.shade{display:none}
.section{padding:70px 3%}
.section h2{text-align:center;font-size:25px;letter-spacing:.4px;margin:0 0 38px}
.categories,.products{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.products img{width:100%;aspect-ratio:.72;object-fit:cover}
footer{padding:55px 5%;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px;border-bottom:1px solid #eee}
.brand img{width:180px;height:90px;object-fit:contain}
.brand p{color:#666}
footer div:not(.brand){display:flex;flex-direction:column;gap:13px}
footer b{margin-bottom:8px}
.copyright{padding:20px 5%;font-size:11px;color:#777}
.toast{position:fixed;right:25px;bottom:25px;background:#111;color:#fff;padding:15px 22px;transform:translateY(100px);transition:.3s}

@media(max-width:800px){.promo{font-size:9px}header{height:58px;grid-template-columns:40px 1fr 105px;padding:0 12px}.menu{display:block;font-size:20px}.logo{width:125px;height:52px}nav{display:none}.tools button:nth-child(2){display:none}.tools{gap:5px}.hero{height:70vh;min-height:520px}.hero-copy{left:24px;bottom:40px;top:auto;transform:none}.hero-copy h1{font-size:38px}.benefits{font-size:8px;padding:15px 4px}.section{padding:48px 14px}.categories{grid-template-columns:repeat(2,1fr);gap:8px 8px}.wide-banner{height:430px}.wide-banner h2{font-size:34px;text-align:center}.products{display:flex;overflow:auto}.products article{min-width:70%}.story{grid-template-columns:1fr}.story>div{padding:55px 24px}.story h2{font-size:32px}.story img{height:470px}.social{grid-template-columns:repeat(2,1fr)}.signup{grid-template-columns:1fr;gap:20px;padding:35px 20px}.signup form{display:grid}.signup input,.signup button{height:48px}footer{grid-template-columns:1fr 1fr;padding:40px 22px}.brand{grid-column:1/-1}.drawer{display:flex;position:fixed;z-index:30;top:0;left:0;width:84%;height:100%;background:#fff;flex-direction:column;padding:65px 28px;gap:25px;font-size:17px;transform:translateX(-105%);transition:.3s}.drawer.open{transform:none}.drawer .close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:32px}.shade{display:block;position:fixed;inset:0;background:#0008;z-index:20;opacity:0;pointer-events:none;transition:.3s}.shade.open{opacity:1;pointer-events:auto}}
.site-header{height:120px!important;display:block!important;padding:0!important;position:sticky;top:0;z-index:20;background:#fff}
.brand-row{height:70px;position:relative;display:flex;align-items:center;justify-content:center}
.brand-row .logo{width:150px;height:64px;object-fit:contain}
.brand-row .tools{position:absolute;right:3%;display:flex;gap:18px;font-size:21px}
.main-nav{height:50px;display:flex;justify-content:center;align-items:stretch;gap:38px;font-size:14px;font-weight:400}
.nav-item{height:50px;display:flex;align-items:center}
.nav-item>a{height:100%;display:flex;align-items:center;border-bottom:1px solid transparent}
.nav-item:hover>a{border-bottom-color:#111}
.sale>a{color:#e5152b}
.mega{position:absolute;left:0;top:120px;width:100%;height:0;overflow:hidden;opacity:0;background:#fff;border-top:1px solid #eee;display:grid;grid-template-columns:1.45fr 1fr;padding:0 7%;pointer-events:none}
.nav-item:hover .mega{height:510px;opacity:1;padding-top:24px;padding-bottom:28px;pointer-events:auto}
.mega-links{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding-right:35px}
.mega-links>div{display:flex;flex-direction:column;gap:17px}
.mega-links b{font-size:13px;margin-bottom:8px}
.mega-links a{font-size:13px}
.mega-pics{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mega-pics figure{margin:0;text-align:center}
.mega-pics img{width:100%;height:390px;object-fit:cover}
.mega-pics figcaption{margin-top:12px}

@media(max-width:800px){.promo span{display:none}.site-header{height:62px!important}.brand-row{height:62px}.brand-row .menu{display:block;position:absolute;left:12px}.brand-row .logo{width:125px;height:55px}.brand-row .tools{right:10px;gap:5px}.brand-row .tools button:nth-child(2),.brand-row .tools button:nth-child(3),.brand-row .tools button:nth-child(4){display:none}.main-nav{display:none}.hero{height:70vh}}


@media(max-width:800px){body{font-size:12px;overflow-x:hidden}body.menu-open{overflow:hidden}.promo{height:30px!important;padding:8px 8px!important;white-space:nowrap;font-size:9px!important;letter-spacing:.1px}.site-header{position:sticky!important;top:0}.brand-row{border-bottom:1px solid #eee}.brand-row .logo{width:112px!important;height:52px!important}.brand-row .menu{font-size:0!important;width:28px;height:24px}.brand-row .menu:after{content:'?';font-size:22px}.brand-row .tools button{font-size:0!important}.brand-row .tools button:first-child:after{content:'?';font-size:24px}.brand-row .tools .bag:before{content:'?';font-size:21px}.brand-row .tools .bag b{font-size:10px;background:#111;color:#fff;border-radius:50%;padding:2px 5px}.hero{height:calc(100svh - 92px)!important;min-height:570px!important}.hero>img{object-position:58% center}.hero-copy{left:20px!important;bottom:38px!important;width:82%}.hero-copy small{font-size:10px;letter-spacing:1.3px}.hero-copy h1{font-size:39px!important;line-height:1.01!important;margin:14px 0 24px!important}.hero-copy .btn{padding:14px 20px!important;font-size:10px!important}.benefits{height:48px;align-items:center;padding:0 3px!important;font-size:7px!important;letter-spacing:.2px}.section{padding:42px 12px!important}.section h2{font-size:18px!important;margin-bottom:25px!important}.categories{gap:7px!important}.categories img{aspect-ratio:.76!important}.categories h3{font-size:10px!important;margin:10px 0 4px!important}.categories a{font-size:9px}.wide-banner{height:360px!important}.wide-banner h2{font-size:27px!important;margin:7px 15px!important}.wide-banner p{font-size:9px}.wide-banner button{padding:11px 17px;font-size:9px}.title-row>a{top:2px;font-size:9px}.products{gap:8px!important;scroll-snap-type:x mandatory;padding-bottom:8px}.products article{min-width:66%!important;scroll-snap-align:start}.products img{aspect-ratio:.74!important}.products h3,.products p{font-size:10px}.story>div{padding:42px 22px!important}.story h2{font-size:29px!important}.story img{height:440px!important}.social{gap:5px!important}.signup{padding:30px 18px!important}.signup h2{font-size:17px}.signup p{font-size:10px}footer{gap:28px 18px!important;padding:36px 20px!important}.brand img{width:145px!important;height:72px!important}.drawer{width:88%!important;padding:0!important;gap:0!important;font-size:15px!important;box-shadow:8px 0 30px #0002}.drawer-head{height:72px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e8e8e8;position:relative}.drawer-head img{width:125px;height:60px;object-fit:contain}.drawer-head .close{right:18px!important;top:19px!important;font-size:28px!important}.drawer details{padding:0!important;border-bottom:1px solid #ececec}.drawer summary{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;list-style:none;font-size:14px;font-weight:600}.drawer summary::-webkit-details-marker{display:none}.drawer summary i{font-style:normal;font-size:18px;font-weight:300}.drawer-sub{display:grid;grid-template-columns:1fr 1fr;background:#f8f8f8;padding:8px 18px 16px}.drawer details a{padding:10px 4px 2px!important;font-size:11px!important;color:#333!important}.drawer-single{height:52px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #ececec;font-size:14px;font-weight:600}.drawer-foot{display:flex;flex-direction:column;gap:15px;padding:25px 20px;background:#f7f7f7;font-size:12px}.shade{background:#0006!important}}


.brand-row .tools button,.brand-row .menu{width:24px;height:24px;padding:0;display:grid;place-items:center}
.brand-row .tools button img,.brand-row .menu img{width:21px;height:21px;display:block}
.brand-row .tools .bag{position:relative}
.brand-row .tools .bag b{position:absolute;right:-8px;top:-7px;font-size:9px;background:#111;color:#fff;border-radius:50%;min-width:16px;height:16px;display:grid;place-items:center}
.drawer-head .close img{width:22px!important;height:22px!important}

@media(max-width:800px){.brand-row .menu:after,.brand-row .tools button:after,.brand-row .tools .bag:before{display:none!important}.brand-row .menu{width:25px!important;height:25px!important}.brand-row .menu img{width:22px!important;height:22px!important}.brand-row .tools{gap:13px!important}.brand-row .tools button{width:23px!important;height:23px!important}.brand-row .tools button img{width:21px!important;height:21px!important}.brand-row .tools button:nth-child(2),.brand-row .tools button:nth-child(3),.brand-row .tools button:nth-child(4){display:none!important}.brand-row .tools .bag b{font-size:8px!important;min-width:14px!important;height:14px!important;right:-7px!important;top:-6px!important}.locale-trigger{display:none}.locale-panel{position:fixed;inset:auto 12px 15px;width:auto;top:auto;z-index:60}.drawer-head .close{display:grid!important;place-items:center!important}}


/* final header alignment pass */
.brand-row .menu{display:none}
.brand-row .tools{align-items:center}
.brand-row .logo{width:138px}
.site-header{height:114px!important}
.brand-row{height:66px}
.main-nav{height:48px}
.nav-item{height:48px}
.mega{top:114px}
.nav-item:hover .mega{height:500px}

@media(max-width:800px){.site-header{height:58px!important}.brand-row{height:58px}.brand-row .menu{display:grid!important;left:14px!important}.brand-row .logo{width:104px!important;height:50px!important}.brand-row .tools{right:14px!important}.hero{height:calc(100svh - 88px)!important}.hero-copy h1{font-size:35px!important}.drawer-head{height:66px!important}.drawer-head img{width:112px!important;height:55px!important}}


.side-tools{position:fixed;right:0;top:58%;z-index:18;display:flex;flex-direction:column;box-shadow:0 2px 12px #0002}
.side-tools button{border:0;border-bottom:1px solid #bbb;background:#eee}
.side-subscribe{width:42px;height:225px;padding:8px 5px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:700;letter-spacing:1px}
.side-subscribe span{margin-bottom:7px}
.side-support,.back-top{width:42px;height:52px;display:grid;place-items:center}
.back-top{font-size:21px}
.subscribe-overlay{position:fixed;inset:0;background:#0008;z-index:70;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s}
.subscribe-modal{width:min(820px,88vw);min-height:430px;background:#fff;display:grid;grid-template-columns:1fr 1.15fr;box-shadow:0 15px 60px #0005}
.subscribe-image img{width:100%;height:100%;object-fit:cover}
.subscribe-content{position:relative;padding:45px 38px}
.subscribe-close{position:absolute;right:18px;top:17px;border:0;background:none}
.subscribe-content h2{text-align:center;font:25px Georgia;margin:6px 0 18px}
.subscribe-content .offer{text-align:center;font:16px/1.7 Georgia}
.subscribe-content form{display:grid;gap:12px;margin-top:25px}
.subscribe-content form>label:not(.consent){height:44px;border:1px solid #ccc;display:grid;grid-template-columns:40px 1fr;align-items:center}
.subscribe-content label span{text-align:center}
.subscribe-content input{border:0;outline:0;width:100%;height:100%}
.subscribe-content .consent{display:grid;grid-template-columns:20px 1fr;color:#777;line-height:1.3}
.subscribe-content form>button{height:44px;border:0;background:#111;color:#fff;font-weight:700}

@media(max-width:800px){.side-tools{top:55%;bottom:auto;right:0;flex-direction:column;border-radius:20px 0 0 20px;overflow:hidden;box-shadow:0 3px 16px #0003}.side-subscribe{writing-mode:vertical-rl;transform:rotate(180deg);width:38px!important;height:154px!important;padding:12px 7px!important;background:#fff!important;color:#111!important;font-size:8px;letter-spacing:.1em}.side-subscribe span{display:block;margin:8px 0 0;transform:none}.side-support,.back-top{display:none!important}.subscribe-modal{width:calc(100vw - 24px);margin-left:auto;margin-right:0;grid-template-columns:1fr;max-height:90svh;overflow:auto}.subscribe-image{height:180px}.subscribe-content{padding:27px 20px}.subscribe-content h2{font-size:21px}.subscribe-content .offer{font-size:14px}.subscribe-content form{margin-top:18px}}


@media(max-width:800px){
 .drawer{width:100%!important;overflow-y:auto;overflow-x:hidden;padding:0 0 48px!important;background:#fff}
 .drawer-head{height:64px!important;justify-content:flex-start!important;padding:0 16px;border:0!important}
 .drawer-head img{width:116px!important;height:auto!important}
 .drawer-head .close{right:14px!important;top:19px!important}
 .drawer-signin{height:54px;display:flex!important;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #eee;font-size:14px!important;text-decoration:underline!important}
 .drawer-signin img{width:19px;height:19px}
 .drawer-campaign{position:relative;display:block!important;height:118px;overflow:hidden}
 .drawer-campaign img{width:100%;height:100%;object-fit:cover}
 .drawer-campaign b{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;text-decoration:underline;font-size:11px;letter-spacing:.06em}
 .drawer-links{padding:8px 16px 18px}
 .drawer-single{height:43px!important;padding:0!important;border:0!important;justify-content:space-between!important;font-weight:400!important}
 .drawer-single b{font-size:20px;font-weight:300}
 .drawer-single.sale span{color:#e51d45}
 .drawer-benefit{height:58px;display:flex!important;align-items:center;justify-content:space-between;margin:0 16px;border-top:1px solid #eee;font-size:12px!important}
 .drawer-locale{position:sticky;bottom:-48px;height:48px!important;border:0!important;background:#050505!important;color:#fff!important;font-size:12px!important;padding:0 16px!important;display:flex;align-items:center;justify-content:space-between}
 .shade.open{opacity:0!important}
}


/* 0.8.115 BloomChic-style mobile menu, subscribe edge tab and overlay alignment */
@media(max-width:800px){
 .brand-row .menu:after,.brand-row .tools button:after,.brand-row .tools .bag:before{content:''!important;display:none!important}
 .drawer{width:min(92vw,420px)!important;max-width:420px!important;box-shadow:12px 0 34px rgba(0,0,0,.18)!important}
 .drawer-links{display:grid!important;gap:0!important;padding:8px 16px 18px!important}
 .drawer-group{border-bottom:1px solid #eee!important}
 .drawer-group>summary{height:46px!important;padding:0!important;font-weight:500!important}
 .drawer-group .drawer-sub{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 12px!important;padding:6px 0 14px!important;background:#fff!important}
 .drawer-group .drawer-sub a{min-height:32px!important;padding:8px 0!important;border:0!important;color:#333!important;line-height:1.25!important}
 .drawer-single{height:46px!important;padding:0!important;font-weight:500!important}
 .drawer-benefit{margin:0 16px!important;border-top:1px solid #eee!important;border-bottom:1px solid #eee!important}
 .drawer-locale{bottom:0!important;z-index:2!important}
 .side-tools{right:0!important;top:50%!important;transform:translateY(-50%)!important;border-radius:18px 0 0 18px!important;background:#fff!important}
 .side-subscribe{width:36px!important;height:168px!important;background:#fff!important;border:1px solid #ddd!important;border-right:0!important;color:#111!important}
 .subscribe-modal{width:min(390px,calc(100vw - 18px))!important;margin:0 0 0 auto!important;border-radius:0!important}
 .subscribe-image{height:132px!important}
 .subscribe-content{padding:24px 18px 22px!important}
 .subscribe-content h2{font:600 20px/1.2 Georgia,serif!important}
 .subscribe-content form>label:not(.consent){height:44px!important}
}

@media(max-width:800px){
 .bn-app-promo{display:grid;grid-template-columns:26px 58px minmax(0,1fr) 88px;align-items:center;gap:10px;min-height:78px;padding:9px 12px;border-bottom:1px solid #eee;background:#fff}
 .bn-app-promo.is-hidden{display:none!important}
 .bn-app-promo-close{width:22px;height:22px;border:0;background:#fff;color:#111;font-size:22px;line-height:1;padding:0}
 .bn-app-promo>img{width:58px;height:58px;object-fit:contain;border:1px solid #d8d8d8;border-radius:8px;background:#fff}
 .bn-app-promo>div{display:grid;gap:3px;line-height:1.12;min-width:0}
 .bn-app-promo>div b{font-size:13px;font-weight:800;color:#111}
 .bn-app-promo>div span{font-size:11px;color:#333;white-space:normal}
 .bn-app-promo>div small{font-size:15px;line-height:1;color:#f5a623;letter-spacing:1px}
 .bn-app-promo-button{min-width:88px;height:44px;display:grid;place-items:center;background:#111;color:#fff!important;text-align:center;font-size:15px;font-weight:700;border-radius:0}
 .bn-app-promo-button[aria-disabled="true"]{opacity:1;cursor:default}
 .drawer-group{border-bottom:1px solid #eee}
 .drawer-group>summary{height:45px!important;padding:0!important;font-weight:400!important;cursor:pointer}
 .drawer-group>summary a{flex:1;height:45px;display:flex;align-items:center}
 .drawer-group>summary b{font-size:20px;font-weight:300}
 .drawer-group .drawer-sub{grid-template-columns:1fr!important;padding:4px 0 12px 14px!important;background:#fafafa!important}
 .drawer-group .drawer-sub a{padding:8px 4px!important;font-size:11px!important}
 .drawer-head,.drawer-signin,.drawer-campaign,.drawer-links,.drawer-benefit,.drawer-locale{flex:0 0 auto}
 .drawer-group[open]>summary b{font-size:0}
 .drawer-group[open]>summary b:after{content:'-';font-size:20px}
}


.bn-footer-signup{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:42px 5%;background:#f5f1df;border-top:1px solid #e2decb}

.bn-footer-signup small{font-weight:700;letter-spacing:.12em}
.bn-footer-signup h2{font:500 28px/1.2 Georgia,serif;margin:8px 0}
.bn-footer-signup p{margin:0;color:#555}

.bn-footer-signup form{display:grid;grid-template-columns:1fr auto}
.bn-footer-signup input{height:50px;border:1px solid #aaa;background:#fff;padding:0 16px}
.bn-footer-signup button{border:0;background:#111;color:#fff;padding:0 28px;font-weight:700}

.site-footer{grid-template-columns:1.35fr repeat(4,1fr)!important;gap:38px!important;background:#fff}
.site-footer>div{align-items:flex-start}
.site-footer>div>a{color:#444}
.copyright{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee}
.copyright nav{display:flex;gap:18px}
.copyright a{text-decoration:underline}

@media(max-width:800px){.bn-footer-signup{grid-template-columns:1fr;gap:20px;padding:30px 18px}.bn-footer-signup h2{font-size:22px}.bn-footer-signup form{grid-template-columns:1fr}.bn-footer-signup button{height:48px}.site-footer{grid-template-columns:1fr 1fr!important;gap:30px 18px!important}.site-footer .brand,.site-footer .bn-footer-app{grid-column:1/-1}.copyright{display:grid;gap:14px}.page .beachnova-content>.section{padding:38px 18px}.page .beachnova-content article>h1{font-size:30px;margin-bottom:28px}}


/* 0.8.54 footer merchandising polish */
.bn-footer-signup{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;background:#f7f3ee!important}

.bn-footer-signup small{color:#008aa6!important}

.bn-footer-signup h2{font-family:Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.02em!important}

.bn-footer-signup form{gap:0!important}

.bn-footer-signup input[type="email"]{min-width:0!important;border-color:#cfcfcf!important}

.bn-footer-signup button{background:#050505!important;text-transform:uppercase!important;letter-spacing:.06em!important}

.site-footer{border-top:1px solid #eee!important;border-bottom:1px solid #eee!important}

.site-footer b{font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#111!important}

.site-footer a{font-size:13px!important;line-height:1.35!important;color:#444!important}

.site-footer .brand p{max-width:260px!important;line-height:1.6!important}

.copyright nav a{color:#555!important}

@media(max-width:800px){
 .bn-footer-signup{padding:30px 16px!important;grid-template-columns:1fr!important}
 .bn-footer-signup h2{font-size:21px!important}
 .bn-footer-signup form{gap:8px!important}
 .bn-footer-signup input[type="email"],.bn-footer-signup button{height:48px!important}
 .site-footer{grid-template-columns:1fr!important;padding:34px 18px!important;gap:22px!important}
 .site-footer>div:not(.brand){border-top:1px solid #eee!important;padding-top:18px!important}
 .site-footer a{font-size:13px!important}
 .copyright{padding:18px!important}
}

/* Keep subscription consent compact and readable on touch screens. */
.subscribe-content .consent{align-items:start;gap:5px}
.subscribe-content .consent input{width:16px;height:16px;margin:1px 0 0}
.subscribe-content .consent small{font-size:10px}


/* 0.8.115 mobile header live QA fixes: hide desktop labels and keep icon hit targets aligned */
@media(max-width:800px){
 .site-header .brand-row .tools{right:12px!important;gap:10px!important;max-width:104px!important}
 .site-header .brand-row .tools a{position:relative!important;display:grid!important;place-items:center!important;width:26px!important;height:28px!important;min-width:26px!important;padding:0!important;font-size:0!important;line-height:0!important;color:#111!important;overflow:visible!important}
 .site-header .brand-row .tools a.bn-search-trigger:before{content:''!important;width:16px!important;height:16px!important;border:2px solid currentColor!important;border-radius:50%!important;display:block!important}
 .site-header .brand-row .tools a.bn-search-trigger:after{content:''!important;position:absolute!important;width:8px!important;height:2px!important;background:currentColor!important;transform:rotate(45deg)!important;right:3px!important;bottom:5px!important}
 .site-header .brand-row .tools a[href*="my-account"]:before{content:''!important;width:13px!important;height:13px!important;border:2px solid currentColor!important;border-radius:50%!important;border-bottom-color:transparent!important;display:block!important}
 .site-header .brand-row .tools a[href*="my-account"]:after{content:''!important;position:absolute!important;bottom:3px!important;width:18px!important;height:9px!important;border:2px solid currentColor!important;border-top:0!important;border-radius:0 0 12px 12px!important}
 .site-header .brand-row .tools a.bag:before{content:''!important;width:17px!important;height:15px!important;border:2px solid currentColor!important;border-top:0!important;border-radius:2px!important;margin-top:5px!important}
 .site-header .brand-row .tools a.bag:after{content:''!important;position:absolute!important;top:3px!important;width:10px!important;height:7px!important;border:2px solid currentColor!important;border-bottom:0!important;border-radius:8px 8px 0 0!important}
 .site-header .brand-row .tools a.bag b{position:absolute!important;right:-6px!important;top:-6px!important;display:grid!important;place-items:center!important;min-width:16px!important;height:16px!important;padding:0 3px!important;border-radius:50%!important;background:#111!important;color:#fff!important;font-size:9px!important;line-height:1!important}
}


/* 0.8.115 desktop header final lock: compact icon tools so right-side labels no longer crush content. */
@media(min-width:801px){
 .site-header .brand-row{position:relative!important}
 .site-header .brand-row .tools{position:absolute!important;right:max(22px,3.2vw)!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;max-width:190px!important;height:34px!important;z-index:5!important}
 .site-header .brand-row .tools a,.site-header .brand-row .tools button{position:relative!important;display:grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#111!important;font-size:0!important;line-height:1!important;text-indent:-9999px!important;overflow:visible!important;text-decoration:none!important}
 .site-header .brand-row .tools a:before,.site-header .brand-row .tools a:after,.site-header .brand-row .tools button:before,.site-header .brand-row .tools button:after{text-indent:0!important}
 .site-header .brand-row .tools a.bn-search-trigger:before,.site-header .brand-row .tools button.bn-search-trigger:before{content:''!important;width:15px!important;height:15px!important;border:2px solid currentColor!important;border-radius:50%!important}
 .site-header .brand-row .tools a.bn-search-trigger:after,.site-header .brand-row .tools button.bn-search-trigger:after{content:''!important;position:absolute!important;width:8px!important;height:2px!important;background:currentColor!important;right:4px!important;bottom:5px!important;transform:rotate(45deg)!important}
 .site-header .brand-row .tools a[href*="my-account"]:before{content:''!important;width:12px!important;height:12px!important;border:2px solid currentColor!important;border-radius:50%!important;transform:translateY(-5px)!important}
 .site-header .brand-row .tools a[href*="my-account"]:after{content:''!important;position:absolute!important;width:18px!important;height:10px!important;border:2px solid currentColor!important;border-top:0!important;border-radius:0 0 14px 14px!important;bottom:4px!important}
 .site-header .brand-row .tools a[href*="wishlist"]:before,.site-header .brand-row .tools a:nth-child(3):not(.bag):before{content:'?'!important;font-size:28px!important;line-height:1!important;font-weight:400!important;text-indent:0!important}
 .site-header .brand-row .tools a.bag:before,.site-header .brand-row .tools a[href*="cart"]:before{content:''!important;width:17px!important;height:15px!important;border:2px solid currentColor!important;border-radius:2px!important;transform:translateY(2px)!important}
 .site-header .brand-row .tools a.bag:after,.site-header .brand-row .tools a[href*="cart"]:after{content:''!important;position:absolute!important;width:9px!important;height:7px!important;border:2px solid currentColor!important;border-bottom:0!important;border-radius:9px 9px 0 0!important;top:3px!important}
 .site-header .brand-row .tools a.bag b{position:absolute!important;right:-5px!important;top:-5px!important;text-indent:0!important;display:grid!important;place-items:center!important;min-width:15px!important;height:15px!important;border-radius:50%!important;background:#111!important;color:#fff!important;font-size:9px!important;line-height:1!important}
}


@media(max-width:800px){
 .site-header .brand-row{position:relative!important;display:grid!important;grid-template-columns:46px 1fr 112px!important;align-items:center!important;height:58px!important;padding:0 12px!important;overflow:hidden!important}
 .site-header .brand-row>a,.site-header .brand-row .custom-logo-link{grid-column:2!important;justify-self:center!important;display:block!important;max-width:124px!important;z-index:2!important}
 .site-header .brand-row img.logo,.site-header .brand-row .custom-logo{display:block!important;width:auto!important;max-width:124px!important;max-height:44px!important;height:auto!important}
 .site-header .brand-row .menu{grid-column:1!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;margin:0!important;padding:0!important;z-index:3!important}
 .site-header .brand-row .tools{grid-column:3!important;position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;width:112px!important;max-width:112px!important;height:34px!important;overflow:hidden!important;z-index:3!important}
 .site-header .brand-row .tools a,.site-header .brand-row .tools button{position:relative!important;display:grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#111!important;font-size:0!important;line-height:1!important;text-indent:-9999px!important;overflow:visible!important;text-decoration:none!important}
 .site-header .brand-row .tools a[href*="my-account"]{display:none!important}
 .site-header .brand-row .tools a:before,.site-header .brand-row .tools a:after,.site-header .brand-row .tools button:before,.site-header .brand-row .tools button:after{text-indent:0!important}
 .bn-app-promo{grid-template-columns:24px 56px minmax(0,1fr) 88px!important;gap:8px!important;min-height:76px!important;padding:8px 10px!important;overflow:hidden!important}
 .bn-app-promo>div b{font-size:13px!important;line-height:1.1!important}
 .bn-app-promo>div span{font-size:10px!important;line-height:1.2!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
 .bn-app-promo-button{min-width:88px!important;height:42px!important;font-size:14px!important}
 .side-tools{display:none!important}
}


/* 0.8.115 final header icon cleanup: remove stacked pseudo-icons and labels. */
.site-header .brand-row .tools img{display:none!important}

@media(min-width:801px){
 .site-header .brand-row .tools a,.site-header .brand-row .tools button{font-family:Arial,sans-serif!important;font-size:0!important;text-indent:0!important;color:#111!important}
 .site-header .brand-row .tools a:before,.site-header .brand-row .tools a:after,.site-header .brand-row .tools button:before,.site-header .brand-row .tools button:after{content:none!important;display:none!important}
 .site-header .brand-row .tools a.bn-search-trigger:before,.site-header .brand-row .tools button.bn-search-trigger:before{content:''!important;display:block!important;width:16px!important;height:16px!important;border:2px solid currentColor!important;border-radius:50%!important}
 .site-header .brand-row .tools a.bn-search-trigger:after,.site-header .brand-row .tools button.bn-search-trigger:after{content:''!important;display:block!important;position:absolute!important;width:8px!important;height:2px!important;background:currentColor!important;right:3px!important;bottom:5px!important;transform:rotate(45deg)!important}
 .site-header .brand-row .tools a[href*="my-account"]:before{content:''!important;display:block!important;width:12px!important;height:12px!important;border:2px solid currentColor!important;border-radius:50%!important;transform:translateY(-5px)!important}
 .site-header .brand-row .tools a[href*="my-account"]:after{content:''!important;display:block!important;position:absolute!important;width:18px!important;height:9px!important;border:2px solid currentColor!important;border-top:0!important;border-radius:0 0 12px 12px!important;bottom:4px!important}
 .site-header .brand-row .tools a[href*="wishlist"]:before,.site-header .brand-row .tools a:nth-child(3):not(.bag):before{content:''!important;display:block!important;width:18px!important;height:18px!important;border:2px solid currentColor!important;border-top:0!important;border-left:0!important;transform:rotate(45deg) scale(.82)!important;border-radius:0 0 4px 0!important}
 .site-header .brand-row .tools a.bag:before,.site-header .brand-row .tools a[href*="cart"]:before{content:''!important;display:block!important;width:17px!important;height:15px!important;border:2px solid currentColor!important;border-radius:2px!important}
 .site-header .brand-row .tools a.bag:after,.site-header .brand-row .tools a[href*="cart"]:after{content:''!important;display:block!important;position:absolute!important;width:9px!important;height:7px!important;border:2px solid currentColor!important;border-bottom:0!important;border-radius:9px 9px 0 0!important;top:3px!important}
 .site-header .brand-row .tools a.bag b{right:-5px!important;top:-5px!important}
}

@media(max-width:800px){
 .site-header .brand-row .tools a,.site-header .brand-row .tools button{font-family:Arial,sans-serif!important;font-size:0!important;text-indent:0!important;color:#111!important}
 .site-header .brand-row .tools a:before,.site-header .brand-row .tools a:after,.site-header .brand-row .tools button:before,.site-header .brand-row .tools button:after{content:none!important;display:none!important}
 .site-header .brand-row .tools a.bn-search-trigger:before,.site-header .brand-row .tools button.bn-search-trigger:before{content:''!important;display:block!important;width:16px!important;height:16px!important;border:2px solid currentColor!important;border-radius:50%!important}
 .site-header .brand-row .tools a.bn-search-trigger:after,.site-header .brand-row .tools button.bn-search-trigger:after{content:''!important;display:block!important;position:absolute!important;width:8px!important;height:2px!important;background:currentColor!important;right:3px!important;bottom:5px!important;transform:rotate(45deg)!important}
 .site-header .brand-row .tools a[href*="wishlist"]:before,.site-header .brand-row .tools a:nth-child(2):not(.bag):before,.site-header .brand-row .tools a:nth-child(3):not(.bag):before{content:''!important;display:block!important;width:18px!important;height:18px!important;border:2px solid currentColor!important;border-top:0!important;border-left:0!important;transform:rotate(45deg) scale(.82)!important;border-radius:0 0 4px 0!important}
 .site-header .brand-row .tools a.bag:before,.site-header .brand-row .tools a[href*="cart"]:before{content:''!important;display:block!important;width:17px!important;height:15px!important;border:2px solid currentColor!important;border-radius:2px!important}
 .site-header .brand-row .tools a.bag:after,.site-header .brand-row .tools a[href*="cart"]:after{content:''!important;display:block!important;position:absolute!important;width:9px!important;height:7px!important;border:2px solid currentColor!important;border-bottom:0!important;border-radius:9px 9px 0 0!important;top:3px!important}
 .site-header .brand-row .tools a.bag b{right:-5px!important;top:-5px!important}
}


/* 0.8.115 mobile menu QA: drawer must sit above category filter/sort bars and expanded groups use a real minus glyph. */
@media(max-width:800px){
 body.menu-open .drawer,
 .drawer.open{z-index:220!important;visibility:visible!important;pointer-events:auto!important}
 body.menu-open .shade,
 .shade.open{z-index:210!important;display:block!important;pointer-events:auto!important}
 body.menu-open .bn-mobile-shop-toolbar,
 body.menu-open .bn-filter-sheet,
 body.menu-open .woocommerce-variation-add-to-cart,
 body.menu-open .bn-mobile-buy{display:none!important;visibility:hidden!important;pointer-events:none!important}
 .drawer-group[open]>summary b:after{content:'-'!important;font-size:20px!important}
 .drawer details[open] summary i{font-size:0!important}
 .drawer details[open] summary i:after{content:'-'!important;font-size:20px!important}
}


/* 0.8.115 mobile menu QA: language/currency selector belongs at the end of the drawer, not over menu items. */
@media(max-width:800px){
 .drawer .drawer-locale{position:static!important;order:50!important;flex:0 0 auto!important;margin:8px 16px 0!important;width:auto!important}
 .drawer .drawer-foot{order:40!important}
 .drawer.open{padding-bottom:18px!important}
}


/* 0.8.115 header QA: use real SVG icons instead of fragile CSS-drawn pseudo icons. */
.site-header .brand-row .tools{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important}

.site-header .brand-row .tools a{position:relative!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border:0!important;background:transparent!important;font-size:0!important;line-height:0!important;text-indent:0!important;color:#111!important;overflow:visible!important;text-decoration:none!important}

.site-header .brand-row .tools a:before,
.site-header .brand-row .tools a:after{content:none!important;display:none!important}

.site-header .brand-row .tools a img{display:block!important;width:23px!important;height:23px!important;object-fit:contain!important}

.site-header .brand-row .tools a.bag b{position:absolute!important;right:-6px!important;top:-7px!important;display:grid!important;place-items:center!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:#111!important;color:#fff!important;font-size:9px!important;line-height:1!important;text-indent:0!important}

@media(min-width:801px){
 .site-header .brand-row .tools{right:max(24px,3.2vw)!important;top:50%!important;transform:translateY(-50%)!important;max-width:none!important;height:34px!important}
}

@media(max-width:800px){
 .site-header .brand-row .tools{gap:12px!important;width:auto!important;max-width:82px!important;overflow:visible!important}
 .site-header .brand-row .tools a{width:28px!important;height:28px!important;min-width:28px!important}
 .site-header .brand-row .tools a img{width:22px!important;height:22px!important}
 .site-header .brand-row .tools .bn-account-link,
 .site-header .brand-row .tools .bn-wishlist-link{display:none!important}
}


/* 0.8.115 header SVG hard lock: no pseudo icon layer may render over the real icons. */
.site-header .brand-row .tools a.bn-search-trigger:before,
.site-header .brand-row .tools a.bn-search-trigger:after,
.site-header .brand-row .tools a.bn-account-link:before,
.site-header .brand-row .tools a.bn-account-link:after,
.site-header .brand-row .tools a.bn-wishlist-link:before,
.site-header .brand-row .tools a.bn-wishlist-link:after,
.site-header .brand-row .tools a.bag:before,
.site-header .brand-row .tools a.bag:after,
.site-header .brand-row .tools a[href*="my-account"]:before,
.site-header .brand-row .tools a[href*="my-account"]:after,
.site-header .brand-row .tools a[href*="wishlist"]:before,
.site-header .brand-row .tools a[href*="wishlist"]:after,
.site-header .brand-row .tools a[href*="cart"]:before,
.site-header .brand-row .tools a[href*="cart"]:after{content:none!important;display:none!important;width:0!important;height:0!important;border:0!important;background:transparent!important}

.site-header .brand-row .tools a.bn-search-trigger img,
.site-header .brand-row .tools a.bn-account-link img,
.site-header .brand-row .tools a.bn-wishlist-link img,
.site-header .brand-row .tools a.bag img{display:block!important;visibility:visible!important;opacity:1!important;width:22px!important;height:22px!important;object-fit:contain!important}


/* 0.8.115 desktop header regression lock: legacy nth-child wishlist rule must not draw over the real heart SVG. */
.site-header .brand-row .tools a:nth-child(3):before,
.site-header .brand-row .tools a:nth-child(3):after{content:none!important;display:none!important;width:0!important;height:0!important;border:0!important;background:transparent!important}

.site-header .brand-row .tools a:nth-child(3) img{display:block!important;visibility:visible!important;opacity:1!important;width:22px!important;height:22px!important;object-fit:contain!important}


/* 0.8.115 header highest-specificity override for the legacy nth-child:not(.bag) heart rule. */
.site-header .brand-row .tools a:nth-child(3):not(.bag):before,
.site-header .brand-row .tools a:nth-child(3):not(.bag):after,
.site-header .brand-row .tools a:nth-child(2):not(.bag):before,
.site-header .brand-row .tools a:nth-child(2):not(.bag):after{content:none!important;display:none!important;width:0!important;height:0!important;border:0!important;background:transparent!important;transform:none!important}


/* 0.8.116 QA lock: mobile drawer always owns the screen; catalog/PDP sticky bars must not sit over it. */
@media(max-width:800px){
 body.menu-open{overflow:hidden!important}
 body.menu-open .drawer,
 .drawer.open{position:fixed!important;inset:0 auto 0 0!important;width:min(92vw,420px)!important;max-width:420px!important;height:100dvh!important;z-index:10020!important;transform:none!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;overflow-y:auto!important}
 body.menu-open .shade,
 .shade.open{position:fixed!important;inset:0!important;z-index:10010!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:rgba(0,0,0,.45)!important}
 body.menu-open .bn-mobile-shop-toolbar,
 body.menu-open .bn-filter-sheet,
 body.menu-open .bn-filter-sheet.open,
 body.menu-open .bn-mobile-buy,
 body.menu-open .woocommerce-variation-add-to-cart,
 body:has(.drawer.open) .bn-mobile-shop-toolbar,
 body:has(.drawer.open) .bn-filter-sheet,
 body:has(.drawer.open) .bn-mobile-buy,
 body:has(.drawer.open) .woocommerce-variation-add-to-cart{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-1!important}
 .drawer.open .drawer-locale{position:static!important;order:60!important;margin:8px 16px 0!important;width:auto!important}
 .drawer.open details[open] summary i,
 .drawer.open .drawer-group[open]>summary b{font-size:0!important}
 .drawer.open details[open] summary i:after,
 .drawer.open .drawer-group[open]>summary b:after{content:'-'!important;font-size:20px!important;line-height:1!important}
 .single-product .bn-mobile-app-promo{display:none!important}
}


/* 0.8.116 QA lock: header icons use only the SVG assets; no legacy text or pseudo icon layer. */
.site-header .brand-row .tools{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important}

.site-header .brand-row .tools a{position:relative!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important;text-decoration:none!important;font-size:0!important;line-height:0!important;text-indent:0!important;color:#111!important}

.site-header .brand-row .tools a span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}

.site-header .brand-row .tools a:before,
.site-header .brand-row .tools a:after{content:none!important;display:none!important;width:0!important;height:0!important;border:0!important;background:transparent!important;transform:none!important}

.site-header .brand-row .tools a img{display:block!important;visibility:visible!important;opacity:1!important;width:22px!important;height:22px!important;object-fit:contain!important}

.site-header .brand-row .tools a.bag b{position:absolute!important;right:-6px!important;top:-7px!important;z-index:2!important;display:grid!important;place-items:center!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:#111!important;color:#fff!important;font-size:9px!important;line-height:1!important;text-indent:0!important}

@media(min-width:801px){
 .site-header .brand-row .tools{position:absolute!important;right:28px!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;max-width:none!important;height:34px!important}
}

@media(max-width:800px){
 .site-header .brand-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) 78px!important;align-items:center!important;height:58px!important;padding:0 12px!important}
 .site-header .brand-row .tools{position:static!important;grid-column:3!important;transform:none!important;gap:14px!important;width:78px!important;max-width:78px!important;height:34px!important}
 .site-header .brand-row .tools a{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important}
 .site-header .brand-row .tools a img{width:22px!important;height:22px!important}
 .site-header .brand-row .tools .bn-account-link,
 .site-header .brand-row .tools .bn-wishlist-link,
 .site-header .brand-row .tools a[href*="my-account"],
 .site-header .brand-row .tools a[href*="wishlist"]{display:none!important}
}


/* 0.8.122 global header/menu QA lock: compact BloomChic-like header density and no sticky toolbar above drawer. */
@media(min-width:801px){
 body:not(.woocommerce-checkout) .bn-app-promo{display:none!important}
 body:not(.woocommerce-checkout) .promo{height:32px!important;padding:8px 24px!important;font-size:11px!important;border-bottom:1px solid #eee!important}
 body:not(.woocommerce-checkout) .site-header{height:108px!important;display:block!important;padding:0!important;border-bottom:1px solid #eee!important;background:#fff!important;z-index:90!important}
 body:not(.woocommerce-checkout) .site-header .brand-row{height:60px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;padding:0 28px!important;overflow:visible!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .logo-link{display:block!important;line-height:0!important;max-width:150px!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .logo{width:136px!important;max-width:136px!important;height:auto!important;max-height:48px!important;object-fit:contain!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .tools{position:absolute!important;right:28px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important;width:auto!important;max-width:none!important;height:32px!important;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a img{width:22px!important;height:22px!important;display:block!important;object-fit:contain!important}
 body:not(.woocommerce-checkout) .site-header .main-nav{height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:34px!important;padding:0 28px!important;font-size:13px!important;font-weight:400!important}
 body:not(.woocommerce-checkout) .site-header .nav-item{height:48px!important}
 body:not(.woocommerce-checkout) .site-header .nav-item>a{height:48px!important}
}

@media(max-width:800px){
 body:not(.woocommerce-checkout) .bn-app-promo{min-height:64px!important;height:64px!important;display:grid!important;grid-template-columns:24px 48px minmax(0,1fr) 86px!important;gap:8px!important;padding:7px 10px!important;border-bottom:1px solid #eee!important;background:#fff!important}
 body:not(.woocommerce-checkout) .bn-app-promo img{width:48px!important;height:48px!important;object-fit:contain!important;border:1px solid #e5e5e5!important;border-radius:8px!important}
 body:not(.woocommerce-checkout) .bn-app-promo>div b{font-size:12px!important;line-height:1.1!important}
 body:not(.woocommerce-checkout) .bn-app-promo>div span{font-size:9px!important;line-height:1.15!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
 body:not(.woocommerce-checkout) .bn-app-promo>div small{font-size:13px!important;line-height:1!important;color:#f6a400!important}
 body:not(.woocommerce-checkout) .bn-app-promo-button{height:40px!important;min-width:86px!important;display:grid!important;place-items:center!important;background:#111!important;color:#fff!important;font-size:13px!important;font-weight:800!important}
 body:not(.woocommerce-checkout) .promo{height:28px!important;padding:7px 8px!important;font-size:9px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 body:not(.woocommerce-checkout) .site-header{height:58px!important;position:sticky!important;top:0!important;z-index:80!important;border-bottom:1px solid #e8e8e8!important;background:#fff!important}
 body:not(.woocommerce-checkout) .site-header .brand-row{height:58px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) 78px!important;align-items:center!important;padding:0 12px!important;overflow:hidden!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .logo-link{grid-column:2!important;justify-self:center!important;max-width:118px!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .logo{width:112px!important;max-width:112px!important;max-height:42px!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .tools{grid-column:3!important;position:static!important;display:flex!important;justify-content:flex-end!important;gap:14px!important;width:78px!important;max-width:78px!important;height:34px!important;transform:none!important;overflow:visible!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a img{width:22px!important;height:22px!important}
 body.menu-open .drawer,
 body:has(.drawer.open) .drawer{z-index:2147483000!important}
 body.menu-open .shade,
 body:has(.drawer.open) .shade{z-index:2147482990!important}
 body.menu-open .bn-mobile-shop-toolbar,
 body.menu-open .bn-filter-sheet,
 body.menu-open .bn-filter-sheet.open,
 body.menu-open .bn-mobile-buy,
 body.menu-open .side-tools,
 body:has(.drawer.open) .bn-mobile-shop-toolbar,
 body:has(.drawer.open) .bn-filter-sheet,
 body:has(.drawer.open) .bn-filter-sheet.open,
 body:has(.drawer.open) .bn-mobile-buy,
 body:has(.drawer.open) .side-tools{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
}


/* 0.8.119 homepage density and product-card cleanup: keep modules retail-tight, not document-spaced. */
.woocommerce ul.products li.product .star-rating{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.woocommerce ul.products li.product .bn-card-perks span:before{content:none!important;display:none!important}


/* 0.8.141 final mobile header clamp: prevent desktop labels and icon fallbacks
   from crowding the small-screen header. */
@media(max-width:800px){
 body:not(.woocommerce-checkout) .site-header{
  height:58px!important;
  min-height:58px!important;
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  overflow:hidden!important;
  background:#fff!important;
  border-bottom:1px solid #e8e8e8!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row{
  height:58px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 78px!important;
  align-items:center!important;
  padding:0 12px!important;
  overflow:hidden!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .menu{
  grid-column:1!important;
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:0!important;
  color:#111!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .menu:before{
  content:''!important;
  display:block!important;
  width:19px!important;
  height:14px!important;
  border-top:2px solid #111!important;
  border-bottom:2px solid #111!important;
  background:linear-gradient(#111,#111) center/19px 2px no-repeat!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .menu:after{content:none!important;display:none!important}
 body:not(.woocommerce-checkout) .site-header .brand-row .logo-link{
  grid-column:2!important;
  justify-self:center!important;
  max-width:118px!important;
  line-height:0!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .logo{
  width:112px!important;
  max-width:112px!important;
  max-height:42px!important;
  object-fit:contain!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools{
  grid-column:3!important;
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  width:78px!important;
  max-width:78px!important;
  height:34px!important;
  padding:0!important;
  overflow:visible!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools button{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#111!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  text-decoration:none!important;
  overflow:visible!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a span,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools button span{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools .bn-account-link,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools .bn-wishlist-link,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a[href*="my-account"],
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a[href*="wishlist"]{
  display:none!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a:before,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a:after,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools button:before,
 body:not(.woocommerce-checkout) .site-header .brand-row .tools button:after{
  content:none!important;
  display:none!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
 }
 body:not(.woocommerce-checkout) .site-header .brand-row .tools a.bag b{
  position:absolute!important;
  right:-6px!important;
  top:-7px!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  background:#111!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1!important;
  text-indent:0!important;
 }
}
.bn-footer-signup form input[type=hidden]{display:none}

@media(max-width:800px){.bn-club-page{margin:0!important;max-width:100%!important;overflow:hidden}.bn-policy-shell{grid-template-columns:1fr;gap:25px}.bn-policy-nav{position:static!important;display:flex!important;flex-direction:row!important;max-width:100%;overflow-x:auto;gap:0!important;margin:0;padding:0;border-width:1px 0}.bn-policy-nav b{display:none}.bn-policy-nav a{flex:0 0 auto;white-space:nowrap;padding:13px 14px}.bn-policy-copy h2{font-size:22px!important}.bn-footer-signup form input[type=hidden]{display:none}}


/* BEACHNOVA SOURCE: assets/qa-stabilize.css */
/* 0.8.145 final QA stabilization layer.
   Keep this file loaded last. It locks known unstable BeachNova front-end areas
   after many release-specific CSS layers. */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}


img {
  max-width: 100%;
  height: auto;
}


.bn-app-promo,
.promo,
.site-header,
.drawer,
.shade {
  box-sizing: border-box;
}


@media (min-width: 801px) {
  body:not(.woocommerce-checkout) .promo {
    height: 32px !important;
    min-height: 32px !important;
    padding: 8px 24px !important;
    line-height: 16px !important;
    font-size: 11px !important;
    text-align: center !important;
    background: #f7f3df !important;
    border-bottom: 1px solid #eee !important;
  }

  body:not(.woocommerce-checkout) .site-header {
    height: 108px !important;
    min-height: 108px !important;
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    padding: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid #e9e9e9 !important;
    overflow: visible !important;
  }

  body:not(.woocommerce-checkout) .site-header .brand-row,
  body:not(.woocommerce-checkout) .site-header > .logo-link,
  body:not(.woocommerce-checkout) .site-header > .tools,
  body:not(.woocommerce-checkout) .site-header > .menu {
    box-sizing: border-box !important;
  }

  body:not(.woocommerce-checkout) .site-header > .menu {
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header > .logo-link,
  body:not(.woocommerce-checkout) .site-header .logo-link {
    position: absolute !important;
    left: 50% !important;
    top: 12px !important;
    transform: translateX(-50%) !important;
    display: block !important;
    line-height: 0 !important;
    z-index: 2 !important;
  }

  body:not(.woocommerce-checkout) .site-header .logo {
    display: block !important;
    width: 138px !important;
    max-width: 138px !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }

  body:not(.woocommerce-checkout) .site-header > .tools,
  body:not(.woocommerce-checkout) .site-header .tools {
    position: absolute !important;
    right: max(28px, 4vw) !important;
    top: 20px !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
    width: auto !important;
    max-width: none !important;
    height: 34px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a {
    display: inline-grid !important;
    place-items: center !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    overflow: visible !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a:before,
  body:not(.woocommerce-checkout) .site-header .tools a:after {
    content: none !important;
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a.bag b {
    position: absolute !important;
    right: -6px !important;
    top: -7px !important;
    display: grid !important;
    place-items: center !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 9px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
  }

  body:not(.woocommerce-checkout) .desktop-primary {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    padding: 0 28px !important;
    border-top: 0 !important;
    overflow: visible !important;
  }

  body:not(.woocommerce-checkout) .desktop-primary .primary-menu,
  body:not(.woocommerce-checkout) .desktop-primary ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
}


@media (max-width: 800px) {
  body:not(.woocommerce-checkout) .bn-app-promo {
    display: grid !important;
    grid-template-columns: 24px 50px minmax(0, 1fr) 86px !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 8px 10px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo.is-hidden {
    display: none !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo-close {
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo > img {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain !important;
    border: 1px solid #e3e3e3 !important;
    border-radius: 8px !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
    line-height: 1.1 !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo > div b {
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo > div span {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo > div small {
    color: #f5a623 !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  body:not(.woocommerce-checkout) .bn-app-promo-button {
    display: grid !important;
    place-items: center !important;
    min-width: 86px !important;
    height: 40px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  body:not(.woocommerce-checkout) .promo {
    height: 28px !important;
    min-height: 28px !important;
    padding: 7px 8px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: #f7f3df !important;
    border-bottom: 1px solid #eee !important;
  }

  body:not(.woocommerce-checkout) .site-header {
    height: 58px !important;
    min-height: 58px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 120 !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 78px !important;
    align-items: center !important;
    padding: 0 12px !important;
    background: #fff !important;
    border-bottom: 1px solid #e8e8e8 !important;
    overflow: hidden !important;
  }

  body:not(.woocommerce-checkout) .site-header .desktop-primary {
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header > .menu {
    grid-column: 1 !important;
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 0 !important;
  }

  body:not(.woocommerce-checkout) .site-header > .menu:before {
    content: '' !important;
    display: block !important;
    width: 19px !important;
    height: 14px !important;
    border-top: 2px solid #111 !important;
    border-bottom: 2px solid #111 !important;
    background: linear-gradient(#111, #111) center/19px 2px no-repeat !important;
  }

  body:not(.woocommerce-checkout) .site-header > .menu:after {
    content: none !important;
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header > .logo-link {
    grid-column: 2 !important;
    justify-self: center !important;
    position: static !important;
    transform: none !important;
    line-height: 0 !important;
    max-width: 118px !important;
  }

  body:not(.woocommerce-checkout) .site-header .logo {
    display: block !important;
    width: 112px !important;
    max-width: 112px !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }

  body:not(.woocommerce-checkout) .site-header > .tools {
    grid-column: 3 !important;
    justify-self: end !important;
    position: static !important;
    transform: none !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 14px !important;
    width: 78px !important;
    max-width: 78px !important;
    height: 34px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools .bn-account-link,
  body:not(.woocommerce-checkout) .site-header .tools .bn-wishlist-link,
  body:not(.woocommerce-checkout) .site-header .tools a[href*="my-account"],
  body:not(.woocommerce-checkout) .site-header .tools a[href*="wishlist"] {
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a:before,
  body:not(.woocommerce-checkout) .site-header .tools a:after {
    content: none !important;
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a img {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a.bag b {
    position: absolute !important;
    right: -6px !important;
    top: -7px !important;
    min-width: 16px !important;
    height: 16px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 9px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
  }

  body.menu-open .drawer,
  body:has(.drawer.open) .drawer {
    z-index: 2147483000 !important;
  }

  body.menu-open .shade,
  body:has(.drawer.open) .shade {
    z-index: 2147482990 !important;
  }

  body.menu-open .bn-mobile-shop-toolbar,
  body.menu-open .bn-filter-sheet,
  body.menu-open .bn-filter-sheet.open,
  body.menu-open .bn-mobile-buy,
  body.menu-open .side-tools,
  body:has(.drawer.open) .bn-mobile-shop-toolbar,
  body:has(.drawer.open) .bn-filter-sheet,
  body:has(.drawer.open) .bn-filter-sheet.open,
  body:has(.drawer.open) .bn-mobile-buy,
  body:has(.drawer.open) .side-tools {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}


@media (max-width: 800px) {
  body.post-type-archive-product .woocommerce-area > .section,
  body.tax-product_cat .woocommerce-area > .section,
  body.search-results .woocommerce-area > .section {
    display: block !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 0 12px 74px !important;
    overflow: hidden !important;
  }

  .bn-collection-shortcuts {
    display: flex !important;
    gap: 6px !important;
    margin: 0 -12px 10px !important;
    padding: 8px 12px !important;
    overflow-x: auto !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
    scrollbar-width: none !important;
  }

  .bn-mobile-shop-toolbar {
    position: sticky !important;
    top: 58px !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    height: 48px !important;
    margin: 0 -12px 12px !important;
    background: #fff !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
  }
}


@media (min-width: 801px) {
  body.single-product .beachnova-content {
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 32px 4vw 80px !important;
  }

  body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 58%) minmax(360px, 420px) !important;
    gap: 38px !important;
    align-items: start !important;
  }

  body.single-product div.product .summary {
    position: sticky !important;
    top: 130px !important;
    width: 100% !important;
    max-width: 420px !important;
    padding: 22px !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
  }

  body.single-product .summary .bn-pdp-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 8px 0 12px !important;
  }
}


@media (max-width: 800px) {
  body.single-product .beachnova-content {
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 0 0 82px !important;
    overflow: hidden !important;
  }

  body.single-product div.product {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product .bn-mobile-app-promo {
    display: none !important;
  }

  body.single-product .bn-mobile-product-head {
    order: 2 !important;
    max-width: 454px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 12px 16px 10px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
  }

  body.single-product .bn-mobile-price-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body.single-product .bn-mobile-price-row .bn-review-trigger {
    min-width: 118px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 12px !important;
  }

  body.single-product form.variations_form.cart {
    display: flex !important;
    flex-direction: column !important;
  }

  body.single-product form.variations_form.cart table.variations {
    order: 1 !important;
  }

  body.single-product form.variations_form.cart .single_variation_wrap {
    order: 2 !important;
  }

  body.single-product .bn-product-accordions summary {
    min-height: 48px !important;
    padding-right: 30px !important;
  }
}


/* 0.8.148 regression hard-lock: remove old debug artifacts and keep BloomChic-like mobile flows stable. */
.bn-review-trigger,
.bn-mobile-price-row .bn-review-trigger,
.bn-product-accordions summary,
.bn-size-guide,
.drawer summary,
.drawer-single,
.bn-mobile-shop-toolbar,
.site-header .tools a {
  box-sizing: border-box !important;
}


.bn-review-trigger,
.bn-review-trigger *,
.bn-mobile-price-row .bn-review-trigger,
.bn-mobile-price-row .bn-review-trigger * {
  border-color: transparent !important;
  box-shadow: none !important;
}


@media (max-width: 800px) {
  body:not(.woocommerce-checkout) .site-header {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 76px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    z-index: 220 !important;
  }

  body:not(.woocommerce-checkout) .site-header > .menu {
    grid-column: 1 !important;
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    font-size: 0 !important;
  }

  body:not(.woocommerce-checkout) .site-header > .logo-link {
    grid-column: 2 !important;
    justify-self: center !important;
    max-width: 118px !important;
  }

  body:not(.woocommerce-checkout) .site-header > .tools {
    grid-column: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    width: 76px !important;
    max-width: 76px !important;
    overflow: visible !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools .bn-account-link,
  body:not(.woocommerce-checkout) .site-header .tools .bn-wishlist-link,
  body:not(.woocommerce-checkout) .site-header .tools a[href*="my-account"],
  body:not(.woocommerce-checkout) .site-header .tools a[href*="wishlist"] {
    display: none !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a,
  body:not(.woocommerce-checkout) .site-header .tools a span {
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools a:before,
  body:not(.woocommerce-checkout) .site-header .tools a:after {
    content: none !important;
    display: none !important;
  }

  body.menu-open,
  body:has(.drawer.open) {
    overflow: hidden !important;
  }

  body.menu-open .drawer,
  body:has(.drawer.open) .drawer {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(92vw, 420px) !important;
    max-width: 420px !important;
    height: 100svh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: none !important;
    z-index: 2147483000 !important;
    background: #fff !important;
  }

  body.menu-open .shade,
  body:has(.drawer.open) .shade {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147482990 !important;
  }

  body.menu-open .bn-mobile-shop-toolbar,
  body.menu-open .bn-filter-sheet,
  body.menu-open .bn-filter-sheet.open,
  body.menu-open .bn-mobile-buy,
  body.menu-open .woocommerce-variation-add-to-cart,
  body.menu-open .side-tools,
  body:has(.drawer.open) .bn-mobile-shop-toolbar,
  body:has(.drawer.open) .bn-filter-sheet,
  body:has(.drawer.open) .bn-filter-sheet.open,
  body:has(.drawer.open) .bn-mobile-buy,
  body:has(.drawer.open) .woocommerce-variation-add-to-cart,
  body:has(.drawer.open) .side-tools {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .drawer summary:after,
  .drawer summary:before,
  .drawer-single:after,
  .drawer-single:before {
    content: none !important;
    display: none !important;
  }

  .drawer summary b,
  .drawer-single b {
    display: inline-flex !important;
    width: 22px !important;
    height: 22px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
  }

  .bn-mobile-shop-toolbar {
    top: 58px !important;
    z-index: 60 !important;
  }

  body.single-product .bn-mobile-product-head {
    order: 2 !important;
    padding: 12px 16px 10px !important;
    border-bottom: 1px solid #eee !important;
  }

  body.single-product .bn-mobile-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.single-product .bn-mobile-title-row h1 {
    margin: 0 !important;
    min-width: 0 !important;
    font: 700 14px/1.3 Arial, sans-serif !important;
  }

  body.single-product .bn-mobile-price-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 10px !important;
  }

  body.single-product .bn-mobile-product-price {
    min-width: 0 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #e23a46 !important;
  }

  body.single-product .bn-mobile-price-row .bn-review-trigger {
    min-width: 128px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0 2px !important;
    margin: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body.single-product .bn-mobile-price-row .bn-review-trigger span,
  body.single-product .bn-mobile-price-row .bn-review-trigger b,
  body.single-product .bn-mobile-price-row .bn-review-trigger em,
  body.single-product .bn-mobile-price-row .bn-review-trigger i {
    display: inline !important;
    font-size: 12px !important;
    line-height: 1 !important;
    color: #111 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
  }

  body.single-product form.variations_form.cart table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body.single-product form.variations_form.cart table.variations tr:has(select[name*="color"]),
  body.single-product form.variations_form.cart table.variations tr:has([data-attribute_name*="color"]),
  body.single-product form.variations_form.cart table.variations tr:has(.variable-item-color) {
    order: 1 !important;
  }

  body.single-product form.variations_form.cart table.variations tr:has(select[name*="size"]),
  body.single-product form.variations_form.cart table.variations tr:has([data-attribute_name*="size"]),
  body.single-product form.variations_form.cart table.variations tr:has(.variable-item-span-button) {
    order: 2 !important;
  }

  body.single-product .bn-fit-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 14px 0 8px !important;
  }

  body.single-product .bn-size-guide:before,
  body.single-product .bn-size-guide:after {
    content: none !important;
    display: none !important;
  }

  body.single-product .bn-size-guide {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 13px !important;
    text-decoration: underline !important;
  }

  body.single-product .bn-size-guide::first-letter {
    font-size: 0 !important;
  }

  body.single-product .bn-product-accordions summary {
    position: relative !important;
    min-height: 48px !important;
    padding: 0 28px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    list-style: none !important;
  }

  body.single-product .bn-product-accordions summary::-webkit-details-marker {
    display: none !important;
  }

  body.single-product .bn-product-accordions summary:after {
    content: '' !important;
    position: absolute !important;
    right: 3px !important;
    top: 50% !important;
    width: 14px !important;
    height: 2px !important;
    background: #111 !important;
    transform: translateY(-50%) !important;
  }

  body.single-product .bn-product-accordions summary:before {
    content: '' !important;
    position: absolute !important;
    right: 9px !important;
    top: 50% !important;
    width: 2px !important;
    height: 14px !important;
    background: #111 !important;
    transform: translateY(-50%) !important;
  }

  body.single-product .bn-product-accordions details[open] summary:before {
    display: none !important;
  }

  .bn-policy-hero,
  .bn-policy-hero small,
  .bn-policy-hero h1,
  .bn-policy-hero p,
  .bn-policy-cards,
  .bn-policy-cards article {
    position: static !important;
    transform: none !important;
    float: none !important;
    clear: none !important;
  }

  body:has(.bn-policy-hero) .beachnova-content article > h1:first-child,
  .page .beachnova-content article:has(.bn-policy-hero) > h1:first-child {
    display: none !important;
  }

  .bn-policy-hero {
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 30px 18px 20px !important;
    text-align: left !important;
    border-bottom: 1px solid #eee !important;
  }

  .bn-policy-hero small {
    display: block !important;
    margin: 0 0 10px !important;
    color: #008aa6 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
  }

  .bn-policy-hero h1 {
    display: block !important;
    margin: 0 !important;
    font: 500 30px/1.12 Georgia, serif !important;
    text-align: left !important;
  }

  .bn-policy-hero p {
    display: none !important;
  }

  .bn-policy-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 14px 18px 16px !important;
    border-bottom: 1px solid #eee !important;
  }
}


@media (min-width: 801px) {
  body:has(.bn-policy-hero) .beachnova-content article > h1:first-child,
  .page .beachnova-content article:has(.bn-policy-hero) > h1:first-child {
    display: none !important;
  }

  .bn-policy-hero,
  .bn-policy-hero small,
  .bn-policy-hero h1,
  .bn-policy-hero p,
  .bn-policy-cards,
  .bn-policy-cards article {
    position: static !important;
    transform: none !important;
    float: none !important;
  }

  .bn-policy-hero {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 64px 24px 34px !important;
    text-align: center !important;
  }

  .bn-policy-cards {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    max-width: 1180px !important;
    margin: 0 auto 34px !important;
    padding: 0 24px !important;
  }

  body.single-product .summary .bn-pdp-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  body.single-product .summary .bn-review-trigger {
    border: 0 !important;
    min-height: 34px !important;
    padding: 0 !important;
  }
}


/* 0.8.151 mobile regression lock: menu above catalogue tools, clean PDP purchase stack, no duplicate app banner. */
@media (max-width: 800px) {
  body:not(.woocommerce-checkout) .site-header {
    grid-template-columns: 42px minmax(0, 1fr) 76px !important;
    overflow: visible !important;
  }

  body:not(.woocommerce-checkout) .site-header > .tools {
    width: 76px !important;
    max-width: 76px !important;
    gap: 12px !important;
  }

  body:not(.woocommerce-checkout) .site-header .tools .bn-account-link,
  body:not(.woocommerce-checkout) .site-header .tools .bn-wishlist-link,
  body:not(.woocommerce-checkout) .site-header .tools a[href*="my-account"],
  body:not(.woocommerce-checkout) .site-header .tools a[href*="wishlist"] {
    display: none !important;
  }

  body.menu-open .bn-mobile-shop-toolbar,
  body.menu-open .bn-filter-sheet,
  body.menu-open .bn-filter-sheet.open,
  body.menu-open .bn-grid-toggle,
  body.menu-open .bn-sort-control,
  body.menu-open .bn-filter-trigger,
  body.menu-open .woocommerce-ordering,
  body.menu-open .bn-mobile-buy,
  body.menu-open .side-tools,
  body.menu-open .bn-review-drawer,
  body:has(.drawer.open) .bn-mobile-shop-toolbar,
  body:has(.drawer.open) .bn-filter-sheet,
  body:has(.drawer.open) .bn-filter-sheet.open,
  body:has(.drawer.open) .bn-grid-toggle,
  body:has(.drawer.open) .bn-sort-control,
  body:has(.drawer.open) .bn-filter-trigger,
  body:has(.drawer.open) .woocommerce-ordering,
  body:has(.drawer.open) .bn-mobile-buy,
  body:has(.drawer.open) .side-tools,
  body:has(.drawer.open) .bn-review-drawer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.menu-open .drawer,
  body:has(.drawer.open) .drawer {
    display: flex !important;
    z-index: 2147483000 !important;
  }

  body.menu-open .shade,
  body:has(.drawer.open) .shade {
    z-index: 2147482990 !important;
  }

  body.single-product .bn-mobile-app-promo {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.single-product .bn-mobile-product-head {
    padding: 12px 16px 12px !important;
    border-bottom: 1px solid #eee !important;
  }

  body.single-product .bn-mobile-title-row {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body.single-product .bn-mobile-title-row h1 {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.single-product .bn-mobile-price-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 10px !important;
  }

  body.single-product .bn-mobile-price-row .bn-review-trigger {
    width: auto !important;
    min-width: 112px !important;
    max-width: 142px !important;
    height: 34px !important;
    border: 0 !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
  }

  body.single-product .summary .woocommerce-product-rating:not(.bn-review-trigger),
  body.single-product .summary > .woocommerce-product-rating,
  body.single-product .woocommerce-product-rating:not(.bn-review-trigger) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.single-product form.variations_form.cart table.variations {
    margin-top: 14px !important;
  }

  body.single-product form.variations_form.cart table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  body.single-product form.variations_form.cart table.variations tr {
    display: block !important;
    width: 100% !important;
  }

  body.single-product form.variations_form.cart table.variations label,
  body.single-product form.variations_form.cart .label label {
    display: block !important;
    margin: 0 0 9px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  body.single-product form.variations_form.cart .bn-fit-row {
    margin: 0 0 9px !important;
  }

  body.single-product .bn-product-accordions summary:before,
  body.single-product .bn-product-accordions summary:after {
    right: 3px !important;
  }

  body.single-product .bn-product-accordions summary:before {
    right: 9px !important;
  }
}


/* 0.8.154 mobile visual QA hard-lock:
   keep BloomChic-like mobile structure from being overridden by older release CSS. */
@media (max-width: 800px) {
  html body:not(.woocommerce-checkout) .bn-app-promo + .bn-app-promo,
  html body:not(.woocommerce-checkout) .bn-mobile-app-promo {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  html body:not(.woocommerce-checkout) .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 900 !important;
    height: 58px !important;
    min-height: 58px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 86px !important;
    align-items: center !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 14px !important;
    overflow: visible !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .menu {
    grid-column: 1 !important;
    justify-self: start !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .logo-link {
    grid-column: 2 !important;
    justify-self: center !important;
    width: 126px !important;
    max-width: 126px !important;
    min-width: 0 !important;
    line-height: 0 !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .logo {
    display: block !important;
    width: 122px !important;
    max-width: 122px !important;
    height: auto !important;
    max-height: 44px !important;
    object-fit: contain !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .tools {
    grid-column: 3 !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, 34px) !important;
    justify-content: end !important;
    align-items: center !important;
    gap: 8px !important;
    width: 86px !important;
    max-width: 86px !important;
    height: 38px !important;
    min-width: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .tools a {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .tools a span {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .tools .bn-account-link,
  html body:not(.woocommerce-checkout) .site-header .brand-row .tools .bn-wishlist-link,
  html body:not(.woocommerce-checkout) .site-header .brand-row .tools a[href*="my-account"],
  html body:not(.woocommerce-checkout) .site-header .brand-row .tools a[href*="wishlist"] {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .brand-row .tools a img {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    object-fit: contain !important;
  }

  html body.menu-open {
    overflow: hidden !important;
  }

  html body.menu-open .drawer,
  html body .drawer.open {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(430px, 100vw) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    background: #fff !important;
  }

  html body.menu-open .shade,
  html body .shade.open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482990 !important;
  }

  html body.menu-open .bn-mobile-shop-toolbar,
  html body.menu-open .bn-mobile-shop-toolbar *,
  html body.menu-open .bn-filter-sheet,
  html body.menu-open .woocommerce-ordering,
  html body.menu-open .bn-mobile-buy,
  html body.menu-open .side-tools,
  html body.menu-open .bn-review-drawer,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar *,
  html body:has(.drawer.open) .bn-filter-sheet,
  html body:has(.drawer.open) .woocommerce-ordering,
  html body:has(.drawer.open) .bn-mobile-buy,
  html body:has(.drawer.open) .side-tools,
  html body:has(.drawer.open) .bn-review-drawer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.single-product .bn-mobile-product-head {
    display: block !important;
    width: 100% !important;
    padding: 12px 16px 11px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
  }

  html body.single-product .bn-mobile-title-row {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 7px !important;
    align-items: center !important;
    margin: 0 0 10px !important;
  }

  html body.single-product .bn-mobile-title-row h1 {
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font: 600 14px/1.35 Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.single-product .bn-mobile-price-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  html body.single-product .bn-mobile-price-row .bn-review-trigger {
    display: inline-grid !important;
    grid-auto-flow: column !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 4px !important;
    min-width: 120px !important;
    max-width: 148px !important;
    height: 36px !important;
    padding: 0 8px !important;
    border: 1px solid #ff3d3d !important;
    background: #fff !important;
    white-space: nowrap !important;
  }

  html body.single-product .summary .bn-pdp-topline .bn-review-trigger,
  html body.single-product .summary > .woocommerce-product-rating,
  html body.single-product .woocommerce-product-rating:not(.bn-review-trigger),
  html body.single-product .woocommerce-review-link {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.single-product form.variations_form.cart table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  html body.single-product form.variations_form.cart table.variations tr {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="color"]) {
    order: 1 !important;
  }

  html body.single-product form.variations_form.cart .bn-fit-row,
  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="size"]) {
    order: 2 !important;
  }

  html body.single-product .bn-color-options {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 8px 0 0 !important;
  }

  html body.single-product .bn-size-options {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
  }

  html body.single-product .bn-size-option {
    min-height: 38px !important;
    padding: 0 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  html body.single-product .bn-product-accordions details {
    position: relative !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
  }

  html body.single-product .bn-product-accordions summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-right: 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    list-style: none !important;
  }

  html body.single-product .bn-product-accordions summary::-webkit-details-marker {
    display: none !important;
  }

  html body.single-product .bn-product-accordions summary:before {
    content: none !important;
    display: none !important;
  }

  html body.single-product .bn-product-accordions summary:after {
    content: "+" !important;
    position: absolute !important;
    top: 15px !important;
    right: 2px !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: #111 !important;
    font: 700 18px/18px Arial, sans-serif !important;
    text-align: center !important;
  }

  html body.single-product .bn-product-accordions details[open] summary:after {
    content: "\2212" !important;
  }

  html body.single-product .bn-mobile-buy {
    z-index: 850 !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
  }

  html body.single-product {
    padding-bottom: 74px !important;
  }
}


/* 0.8.154 desktop PDP gallery hard-lock: visible main image plus right-side previews. */
@media (min-width: 901px) {
  html body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(520px, 1fr) minmax(360px, 480px) !important;
    gap: 36px !important;
    align-items: start !important;
  }

  html body.single-product div.product .woocommerce-product-gallery,
  html body.single-product div.product .woocommerce-product-gallery.bn-desktop-gallery {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 92px !important;
    gap: 14px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 930px !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  html body.single-product div.product .woocommerce-product-gallery .flex-viewport,
  html body.single-product div.product .woocommerce-product-gallery__wrapper {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 520px !important;
    height: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f6f6f6 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.single-product div.product .woocommerce-product-gallery__image {
    display: none !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f6f6f6 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.single-product div.product .woocommerce-product-gallery__image:first-child {
    display: block !important;
  }

  html body.single-product div.product .woocommerce-product-gallery__image:first-child img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 520px !important;
    max-height: 830px !important;
    aspect-ratio: .76 !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    background: #f6f6f6 !important;
  }

  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs,
  html body.single-product div.product .woocommerce-product-gallery .bn-gallery-rail {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-content: start !important;
    width: 92px !important;
    max-width: 92px !important;
    max-height: 830px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    list-style: none !important;
    position: sticky !important;
    top: 112px !important;
    background: #fff !important;
  }

  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li,
  html body.single-product div.product .woocommerce-product-gallery .bn-gallery-rail button {
    display: block !important;
    float: none !important;
    width: 92px !important;
    height: 122px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d8d8d8 !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img,
  html body.single-product div.product .woocommerce-product-gallery .bn-gallery-rail img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    opacity: .72 !important;
    filter: none !important;
  }

  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
  html body.single-product div.product .woocommerce-product-gallery .bn-gallery-rail button.is-active img {
    opacity: 1 !important;
  }
}


/* 0.8.158 final mobile/PDP regression lock.
   Loaded last to stabilize drawer/menu overlays, PDP review placement, option
   order and category-card clickability after older release CSS. */
@media (max-width: 800px) {
  html body.menu-open,
  html body:has(.drawer.open) {
    overflow: hidden !important;
    touch-action: none !important;
  }

  html body.menu-open .drawer,
  html body .drawer.open {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 2147483640 !important;
    display: flex !important;
    width: min(430px, 100vw) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #fff !important;
    transform: none !important;
  }

  html body.menu-open .shade,
  html body .shade.open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483630 !important;
    display: block !important;
    pointer-events: auto !important;
    background: rgba(0, 0, 0, .34) !important;
  }

  html body.menu-open .bn-mobile-shop-toolbar,
  html body.menu-open .bn-mobile-shop-toolbar *,
  html body.menu-open .bn-filter-sheet,
  html body.menu-open .bn-filter-sheet *,
  html body.menu-open .bn-mobile-buy,
  html body.menu-open .woocommerce-variation-add-to-cart,
  html body.menu-open .side-tools,
  html body.menu-open .bn-review-drawer,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar *,
  html body:has(.drawer.open) .bn-filter-sheet,
  html body:has(.drawer.open) .bn-filter-sheet *,
  html body:has(.drawer.open) .bn-mobile-buy,
  html body:has(.drawer.open) .woocommerce-variation-add-to-cart,
  html body:has(.drawer.open) .side-tools,
  html body:has(.drawer.open) .bn-review-drawer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.single-product .bn-mobile-product-head {
    display: block !important;
    padding: 12px 16px 10px !important;
    background: #fff !important;
    border-bottom: 1px solid #eee !important;
  }

  html body.single-product .bn-mobile-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    min-width: 0 !important;
  }

  html body.single-product .bn-mobile-title-row h1 {
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    font: 600 14px/1.35 Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.single-product .bn-mobile-price-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html body.single-product .bn-mobile-price-row .bn-review-trigger {
    display: inline-grid !important;
    grid-auto-flow: column !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 118px !important;
    max-width: 146px !important;
    height: 34px !important;
    padding: 0 8px !important;
    border: 1px solid #ff3d3d !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  html body.single-product .summary .bn-pdp-topline,
  html body.single-product .summary .bn-pdp-topline .bn-review-trigger,
  html body.single-product .summary > .woocommerce-product-rating,
  html body.single-product .woocommerce-product-rating:not(.bn-review-trigger),
  html body.single-product .woocommerce-review-link {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.single-product form.variations_form.cart table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  html body.single-product form.variations_form.cart table.variations tr,
  html body.single-product form.variations_form.cart table.variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="color"]) {
    order: 1 !important;
  }

  html body.single-product form.variations_form.cart .bn-fit-row,
  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="size"]) {
    order: 2 !important;
  }

  html body.single-product .bn-color-options {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  html body.single-product .bn-size-options {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }

  html body.single-product .bn-size-option {
    min-height: 38px !important;
    padding: 0 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  html body.single-product .bn-product-accordions summary:before {
    content: none !important;
    display: none !important;
  }

  html body.single-product .bn-product-accordions summary:after {
    content: "+" !important;
    position: absolute !important;
    right: 3px !important;
    top: 15px !important;
    width: 18px !important;
    height: 18px !important;
    font: 700 18px/18px Arial, sans-serif !important;
    text-align: center !important;
  }

  html body.single-product .bn-product-accordions details[open] summary:after {
    content: "\2212" !important;
  }
}


@media (min-width: 801px) {
  html body.single-product .summary .bn-pdp-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 8px 0 12px !important;
  }

  html body.single-product .summary .bn-pdp-topline .bn-review-trigger {
    display: inline-grid !important;
    grid-auto-flow: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-width: 118px !important;
    height: 34px !important;
    border: 1px solid #e43b3b !important;
    background: #fff !important;
    color: #111 !important;
  }
}


html body .woocommerce-area ul.products li.product {
  position: relative !important;
}


html body .woocommerce-area ul.products li.product > a.woocommerce-LoopProduct-link {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  pointer-events: auto !important;
}


html body .woocommerce-area ul.products li.product .bn-loop-card-actions {
  pointer-events: none !important;
}


html body:not(.woocommerce-checkout) .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 900 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  height: 86px !important;
  padding: 0 5vw !important;
  border-bottom: 1px solid #eee !important;
  background: #fff !important;
  overflow: visible !important;
}


html body:not(.woocommerce-checkout) .site-header .desktop-primary {
  grid-column: 1 !important;
  justify-self: start !important;
  display: flex !important;
  gap: 22px !important;
  min-width: 0 !important;
}


html body:not(.woocommerce-checkout) .site-header .logo-link {
  grid-column: 2 !important;
  justify-self: center !important;
  display: grid !important;
  place-items: center !important;
  width: 170px !important;
  min-width: 170px !important;
}


html body:not(.woocommerce-checkout) .site-header .logo,
html body:not(.woocommerce-checkout) .site-header .custom-logo {
  display: block !important;
  width: auto !important;
  max-width: 160px !important;
  height: auto !important;
  max-height: 66px !important;
  object-fit: contain !important;
}


html body:not(.woocommerce-checkout) .site-header .tools {
  grid-column: 3 !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  min-width: 0 !important;
  max-width: 190px !important;
  height: 34px !important;
  overflow: visible !important;
}


html body:not(.woocommerce-checkout) .site-header .tools a {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #111 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
}


html body:not(.woocommerce-checkout) .site-header .tools img,
html body:not(.woocommerce-checkout) .site-header .menu img {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
}


html body:not(.woocommerce-checkout) .site-header .tools a:before,
html body:not(.woocommerce-checkout) .site-header .tools a:after {
  content: none !important;
  display: none !important;
}


html body:not(.woocommerce-checkout) .site-header .bag b {
  position: absolute !important;
  right: -6px !important;
  top: -7px !important;
  display: grid !important;
  place-items: center !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 3px !important;
  border-radius: 50% !important;
  background: #111 !important;
  color: #fff !important;
  font: 800 9px/1 Arial, sans-serif !important;
  text-indent: 0 !important;
}


@media (max-width: 800px) {
  html body:not(.woocommerce-checkout) .bn-app-promo {
    display: grid !important;
    grid-template-columns: 24px 48px minmax(0, 1fr) 88px !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 454px !important;
    min-height: 64px !important;
    margin: 0 auto !important;
    padding: 7px 10px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo.is-hidden {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo-close {
    position: static !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo > img {
    width: 46px !important;
    height: 46px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 9px !important;
    object-fit: contain !important;
    background: #fff !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo > div {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo > div b {
    overflow: hidden !important;
    font: 800 12px/1.1 Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo > div span {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #333 !important;
    font: 400 9px/1.18 Arial, sans-serif !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo > div small {
    color: #f6a400 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .5px !important;
  }

  html body:not(.woocommerce-checkout) .bn-app-promo-button {
    display: grid !important;
    place-items: center !important;
    min-width: 86px !important;
    height: 40px !important;
    background: #111 !important;
    color: #fff !important;
    font: 800 13px/1 Arial, sans-serif !important;
  }

  html body:not(.woocommerce-checkout) .promo {
    position: relative !important;
    z-index: 2 !important;
    height: 30px !important;
    padding: 8px 6px !important;
    overflow: hidden !important;
    background: #f7f3df !important;
    font: 400 9px/1.2 Arial, sans-serif !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body:not(.woocommerce-checkout) .site-header {
    grid-template-columns: 44px minmax(0, 1fr) 96px !important;
    height: 58px !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
    z-index: 900 !important;
    overflow: hidden !important;
  }

  html body:not(.woocommerce-checkout) .site-header .desktop-primary {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .menu {
    grid-column: 1 !important;
    display: grid !important;
    place-items: center !important;
    justify-self: start !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  html body:not(.woocommerce-checkout) .site-header .menu:before,
  html body:not(.woocommerce-checkout) .site-header .menu:after {
    content: none !important;
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .logo-link {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    justify-self: center !important;
  }

  html body:not(.woocommerce-checkout) .site-header .logo,
  html body:not(.woocommerce-checkout) .site-header .custom-logo {
    max-width: 126px !important;
    max-height: 48px !important;
  }

  html body:not(.woocommerce-checkout) .site-header .tools {
    grid-column: 3 !important;
    justify-self: end !important;
    gap: 8px !important;
    width: 96px !important;
    max-width: 96px !important;
    height: 34px !important;
  }

  html body:not(.woocommerce-checkout) .site-header .tools a {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
  }

  html body:not(.woocommerce-checkout) .site-header .tools .bn-account-link {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .tools img {
    width: 23px !important;
    height: 23px !important;
  }

  html body.menu-open .drawer,
  html body .drawer.open {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 2147483640 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(420px, 92vw) !important;
    max-width: 92vw !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #fff !important;
    box-shadow: 12px 0 34px rgba(0,0,0,.2) !important;
    transform: none !important;
  }

  html body.menu-open .shade,
  html body .shade.open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483630 !important;
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: rgba(0,0,0,.34) !important;
  }

  html body.menu-open .bn-mobile-shop-toolbar,
  html body.menu-open .bn-filter-sheet,
  html body.menu-open .bn-mobile-buy,
  html body.menu-open .woocommerce-variation-add-to-cart,
  html body.menu-open .side-tools,
  html body.menu-open .bn-review-drawer,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar,
  html body:has(.drawer.open) .bn-filter-sheet,
  html body:has(.drawer.open) .bn-mobile-buy,
  html body:has(.drawer.open) .woocommerce-variation-add-to-cart,
  html body:has(.drawer.open) .side-tools,
  html body:has(.drawer.open) .bn-review-drawer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body:not(.menu-open) .bn-mobile-shop-toolbar {
    position: sticky !important;
    top: 58px !important;
    z-index: 50 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    width: 100% !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    background: #fff !important;
  }

  html body.single-product .bn-mobile-product-head {
    display: block !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 12px 16px 10px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
  }

  html body.single-product .bn-mobile-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    min-width: 0 !important;
  }

  html body.single-product .bn-mobile-title-row h1 {
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font: 600 14px/1.35 Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.single-product .bn-mobile-price-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  html body.single-product .bn-mobile-product-price {
    color: #e23b3b !important;
    font: 800 20px/1 Arial, sans-serif !important;
  }

  html body.single-product .bn-mobile-price-row .bn-review-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    min-width: 116px !important;
    max-width: 150px !important;
    height: 34px !important;
    padding: 0 8px !important;
    border: 1px solid #ff3d3d !important;
    background: #fff !important;
    color: #111 !important;
    font: 700 11px/1 Arial, sans-serif !important;
    white-space: nowrap !important;
  }

  html body.single-product .summary > .woocommerce-product-rating,
  html body.single-product .summary .woocommerce-product-rating,
  html body.single-product .woocommerce-review-link,
  html body.single-product .summary .bn-pdp-topline {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  html body.single-product form.variations_form.cart {
    display: flex !important;
    flex-direction: column !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
  }

  html body.single-product form.variations_form.cart table.variations,
  html body.single-product form.variations_form.cart table.variations tbody,
  html body.single-product form.variations_form.cart table.variations tr,
  html body.single-product form.variations_form.cart table.variations td {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.single-product form.variations_form.cart table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="color"]) {
    order: 1 !important;
  }

  html body.single-product form.variations_form.cart .bn-fit-row,
  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="size"]) {
    order: 2 !important;
  }

  html body.single-product form.variations_form.cart .bn-fit-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 16px 0 8px !important;
  }

  html body.single-product .bn-color-options {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }

  html body.single-product .bn-size-options {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }

  html body.single-product .bn-size-option {
    min-height: 38px !important;
    padding: 0 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #111 !important;
    font: 600 12px/1 Arial, sans-serif !important;
  }

  html body.single-product .bn-size-option.selected,
  html body.single-product .bn-size-option[aria-pressed="true"] {
    border-color: #111 !important;
    box-shadow: inset 0 0 0 1px #111 !important;
  }

  html body.single-product .bn-product-accordions {
    max-width: 454px !important;
    margin: 14px auto 0 !important;
    padding: 0 16px !important;
    border-top: 1px solid #e5e5e5 !important;
  }

  html body.single-product .bn-product-accordions details {
    padding: 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.single-product .bn-product-accordions summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 30px 0 0 !important;
    list-style: none !important;
    color: #111 !important;
    font: 700 14px/1.2 Arial, sans-serif !important;
  }

  html body.single-product .bn-product-accordions summary::-webkit-details-marker {
    display: none !important;
  }

  html body.single-product .bn-product-accordions summary:before {
    content: none !important;
    display: none !important;
  }

  html body.single-product .bn-product-accordions summary:after {
    content: "+" !important;
    position: absolute !important;
    right: 2px !important;
    top: 14px !important;
    width: 20px !important;
    height: 20px !important;
    background: transparent !important;
    color: #111 !important;
    font: 700 18px/20px Arial, sans-serif !important;
    text-align: center !important;
    transform: none !important;
  }

  html body.single-product .bn-product-accordions details[open] summary:after {
    content: "\2212" !important;
  }
}


@media (min-width: 901px) {
  html body.home .bn-editorial-hero {
    min-height: 560px !important;
    height: min(640px, calc(100vh - 140px)) !important;
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    background: #f7f3ed !important;
    overflow: hidden !important;
  }

  html body.home .bn-editorial-hero .bn-hero-copy,
  html body.home .bn-editorial-hero .bn-hero-media {
    position: static !important;
    inset: auto !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    display: grid !important;
    grid-template-columns: 284px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 14px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 18px 28px 72px !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-filters,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-filters,
  html body.search-results .woocommerce-area > .section > .bn-catalog-filters {
    grid-column: 1 !important;
    grid-row: 3 / span 3 !important;
    width: 284px !important;
    max-width: 284px !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.tax-product_cat .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.search-results .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.post-type-archive-product .woocommerce-area > .section > .woocommerce-ordering,
  html body.tax-product_cat .woocommerce-area > .section > .woocommerce-ordering,
  html body.search-results .woocommerce-area > .section > .woocommerce-ordering {
    grid-column: 2 !important;
    grid-row: 3 !important;
    align-self: center !important;
    margin: 0 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > ul.products,
  html body.tax-product_cat .woocommerce-area > .section > ul.products,
  html body.search-results .woocommerce-area > .section > ul.products {
    grid-column: 2 !important;
    grid-row: 4 !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html body .site-footer {
    max-width: 1120px !important;
    grid-template-columns: 1.2fr .7fr .9fr .85fr .85fr .85fr !important;
    gap: 22px !important;
    padding: 38px 24px 30px !important;
  }
}


html body .bn-footer-market,
html body .bn-footer-app {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}


/* 0.8.204 Stage 35: the current header markup wraps its controls in
   .brand-row. Make that wrapper span the parent header grid instead of
   collapsing into the parent's 44px menu column. */
@media (max-width: 800px) {
  html body:not(.woocommerce-checkout) .site-header > .brand-row {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 86px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .logo-link {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .tools {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
  }
}


html body .site-footer {
  max-width: 1120px !important;
  grid-template-columns: 1.2fr .7fr .9fr .85fr .85fr .85fr !important;
  gap: 22px !important;
  padding: 38px 24px 30px !important;
}


html body .bn-footer-market,
html body .bn-footer-app {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}


html body .bn-footer-market p,
html body .bn-footer-app p,
html body .bn-footer-market small {
  font-size: 12px !important;
  line-height: 1.45 !important;
}


@media (max-width: 800px) {
  html body:has(.bn-policy-hero) .bn-policy-hero {
    max-width: 454px !important;
    padding: 30px 18px 16px !important;
    text-align: left !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-hero h1 {
    max-width: none !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-hero p {
    display: none !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-cards {
    grid-template-columns: 1fr !important;
    max-width: 454px !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
    padding: 0 18px !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-cards article {
    min-height: 0 !important;
    padding: 14px !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-shell {
    display: block !important;
    max-width: 454px !important;
    margin-bottom: 40px !important;
    padding: 0 18px !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-nav {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    border: 0 !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-nav a {
    min-height: 38px !important;
  }

  html body:has(.bn-policy-hero) .bn-policy-copy {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body .site-footer {
    max-width: 454px !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 28px 18px !important;
  }
}


@media (min-width: 801px) {
  html body.single-product .summary .bn-pdp-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 8px 0 12px !important;
    padding: 0 !important;
  }

  html body.single-product .summary .bn-pdp-topline .bn-review-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    min-width: 118px !important;
    height: 34px !important;
    padding: 0 8px !important;
    border: 1px solid #e43b3b !important;
    background: #fff !important;
    color: #111 !important;
    font: 700 12px/1 Arial, sans-serif !important;
  }
}


html body .site-footer {
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 42px 24px 34px !important;
  display: grid !important;
  grid-template-columns: 1.2fr .75fr .95fr .9fr 1.05fr .95fr !important;
  gap: 24px !important;
  border-top: 1px solid #eee !important;
  background: #fff !important;
}


html body .bn-footer-market,
html body .bn-footer-app {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}


@media (max-width: 800px) {
  html body.home .section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  html body .site-footer {
    max-width: 454px !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 28px 18px !important;
  }

  html body .site-footer > div {
    padding: 16px 0 !important;
    border-top: 1px solid #eee !important;
  }

  html body .site-footer .brand {
    border-top: 0 !important;
  }
}


/* 0.8.163 final mobile/PDP/catalog interaction lock.
   Keep this layer last so old release CSS cannot bring back duplicate PDP
   review rows, duplicate app strips, or catalogue toolbar/menu overlap. */
html body ul.products li.product {
  cursor: pointer !important;
}


html body ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}


html body ul.products li.product .bn-loop-card-actions {
  pointer-events: none !important;
}


html body ul.products li.product .bn-loop-wishlist,
html body ul.products li.product .button,
html body ul.products li.product a.add_to_cart_button {
  pointer-events: auto !important;
}


@media (max-width: 800px) {
  html body:not(.woocommerce-checkout) .site-header .tools span,
  html body:not(.woocommerce-checkout) .site-header .tools .bn-account-link,
  html body:not(.woocommerce-checkout) .site-header .tools a[href*="my-account"],
  html body:not(.woocommerce-checkout) .site-header .tools a[href*="wishlist"] {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header .tools {
    width: 78px !important;
    max-width: 78px !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  html body.menu-open .bn-mobile-shop-toolbar,
  html body.menu-open .bn-mobile-shop-toolbar *,
  html body.menu-open .woocommerce-area > .section > .bn-mobile-shop-toolbar,
  html body.menu-open .bn-filter-sheet,
  html body.menu-open .bn-filter-sheet.open,
  html body.menu-open .bn-mobile-buy,
  html body.menu-open .side-tools,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar,
  html body:has(.drawer.open) .bn-mobile-shop-toolbar *,
  html body:has(.drawer.open) .woocommerce-area > .section > .bn-mobile-shop-toolbar,
  html body:has(.drawer.open) .bn-filter-sheet,
  html body:has(.drawer.open) .bn-filter-sheet.open,
  html body:has(.drawer.open) .bn-mobile-buy,
  html body:has(.drawer.open) .side-tools {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.menu-open .drawer,
  html body .drawer.open {
    z-index: 2147483640 !important;
  }

  html body.menu-open .shade,
  html body .shade.open {
    z-index: 2147483630 !important;
  }

  html body.single-product .bn-mobile-app-promo {
    display: none !important;
  }

  html body.single-product .bn-mobile-product-head {
    display: block !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 12px 16px 8px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
  }

  html body.single-product .bn-mobile-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
  }

  html body.single-product .bn-mobile-title-row h1 {
    min-width: 0 !important;
    margin: 0 !important;
    color: #111 !important;
    font: 600 14px/1.35 Arial, sans-serif !important;
    white-space: normal !important;
  }

  html body.single-product .bn-mobile-price-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    width: 100% !important;
  }

  html body.single-product .bn-mobile-product-price {
    color: #e23b3b !important;
    font: 800 20px/1 Arial, sans-serif !important;
  }

  html body.single-product .bn-mobile-price-row .bn-review-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    min-width: 118px !important;
    max-width: 148px !important;
    height: 34px !important;
    padding: 0 8px !important;
    border: 1px solid #ff3d3d !important;
    background: #fff !important;
    color: #111 !important;
    font: 700 11px/1 Arial, sans-serif !important;
    white-space: nowrap !important;
  }

  html body.single-product .summary > .woocommerce-product-rating,
  html body.single-product .summary .woocommerce-product-rating,
  html body.single-product .woocommerce-product-rating,
  html body.single-product .woocommerce-review-link,
  html body.single-product .summary .bn-pdp-topline,
  html body.single-product .summary .bn-pdp-topline .bn-review-trigger,
  html body.single-product .bn-review-trigger[hidden] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  html body.single-product .bn-mobile-price-row .bn-review-trigger:not([hidden]) {
    display: inline-flex !important;
    height: 34px !important;
    min-height: 34px !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  html body.single-product form.variations_form.cart {
    display: flex !important;
    flex-direction: column !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    background: #fff !important;
  }

  html body.single-product form.variations_form.cart table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="color"]),
  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="colour"]) {
    order: 1 !important;
  }

  html body.single-product form.variations_form.cart .bn-fit-row,
  html body.single-product form.variations_form.cart table.variations tr:has(select[name*="size"]) {
    order: 2 !important;
  }

  html body.single-product form.variations_form.cart .bn-fit-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 16px 0 8px !important;
  }

  html body.single-product .bn-color-options {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 8px 0 0 !important;
  }

  html body.single-product .bn-size-options {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
  }

  html body.single-product .bn-size-option {
    min-height: 38px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #111 !important;
    font: 600 12px/1 Arial, sans-serif !important;
  }

  html body.single-product .bn-product-accordions summary {
    padding-right: 28px !important;
  }

  html body.single-product .bn-product-accordions summary:after {
    content: "+" !important;
    right: 2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    color: #111 !important;
    font: 700 18px/20px Arial, sans-serif !important;
    text-align: center !important;
  }

  html body.single-product .bn-product-accordions details[open] summary:after {
    content: "\2212" !important;
  }
}


@media (min-width: 901px) {
  html body.home .bn-editorial-hero {
    min-height: 560px !important;
    height: min(640px, calc(100vh - 140px)) !important;
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    overflow: hidden !important;
  }

  html body.home .bn-editorial-hero .bn-hero-copy,
  html body.home .bn-editorial-hero .bn-hero-media {
    position: static !important;
    inset: auto !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    display: grid !important;
    grid-template-columns: 284px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 14px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 18px 28px 72px !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-filters,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-filters,
  html body.search-results .woocommerce-area > .section > .bn-catalog-filters {
    grid-column: 1 !important;
    grid-row: 3 / span 3 !important;
    width: 284px !important;
    max-width: 284px !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.tax-product_cat .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.search-results .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.post-type-archive-product .woocommerce-area > .section > .woocommerce-ordering,
  html body.tax-product_cat .woocommerce-area > .section > .woocommerce-ordering,
  html body.search-results .woocommerce-area > .section > .woocommerce-ordering {
    grid-column: 2 !important;
    grid-row: 3 !important;
    align-self: center !important;
    margin: 0 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > ul.products,
  html body.tax-product_cat .woocommerce-area > .section > ul.products,
  html body.search-results .woocommerce-area > .section > ul.products {
    grid-column: 2 !important;
    grid-row: 4 !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html body .site-footer {
    max-width: 1120px !important;
    grid-template-columns: 1.2fr .7fr .9fr .85fr .85fr .85fr !important;
    gap: 22px !important;
    padding: 38px 24px 30px !important;
  }
}


html body .bn-footer-market,
html body .bn-footer-app {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

@media(max-width:800px){
	html body.menu-open .drawer,
	html body .drawer.open{
		position:fixed!important;
		inset:0 auto 0 0!important;
		display:flex!important;
		width:min(420px,92vw)!important;
		max-width:92vw!important;
		height:100dvh!important;
		transform:none!important;
		visibility:visible!important;
		opacity:1!important;
		pointer-events:auto!important;
		overflow-y:auto!important;
		overflow-x:hidden!important;
	}
	html body.menu-open .shade,
	html body .shade.open{
		position:fixed!important;
		inset:0!important;
		display:block!important;
		opacity:1!important;
		visibility:visible!important;
		pointer-events:auto!important;
	}
}


/* BEACHNOVA SOURCE: assets/consent.css */
.bn-consent {
  position: fixed;
  z-index: 10000;
  right: 18px;
  bottom: 18px;
  left: 18px;
  max-width: 680px;
  margin-inline: auto;
  padding: 20px;
  color: #182527;
  background: #fff;
  border: 1px solid #d9e2e2;
  border-radius: 14px;
  box-shadow: 0 12px 42px rgb(0 0 0 / 18%);
  font: 400 15px/1.5 Arial, sans-serif;
}


.bn-consent[hidden],
.bn-consent-settings[hidden] {
  display: none !important;
}


.bn-consent h2 {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.25;
}


.bn-consent p {
  margin: 0 0 16px;
}


.bn-consent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


.bn-consent button {
  min-height: 44px;
  padding: 9px 16px;
  color: #173b3e;
  background: #fff;
  border: 1px solid #173b3e;
  border-radius: 999px;
  font: 700 14px/1 Arial, sans-serif;
  cursor: pointer;
}


.bn-consent button[data-consent="accept"] {
  color: #fff;
  background: #173b3e;
}


.bn-consent-settings {
  margin: 14px 0 16px;
  padding-top: 12px;
  border-top: 1px solid #e1e8e8;
}


.bn-cookie-settings {
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}


@media (max-width: 520px) {
  .bn-consent {
    right: 8px;
    bottom: 8px;
    left: 8px;
    padding: 16px;
  }

  .bn-consent-actions button {
    flex: 1 1 calc(50% - 10px);
  }
}


/* BEACHNOVA SOURCE: assets/search.css */
.bn-search-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.48);opacity:0;visibility:hidden;transition:opacity .2s}
.bn-search-overlay.open{opacity:1;visibility:visible}
.bn-search-panel{position:relative;width:100%;background:#fff;padding:42px max(24px,calc((100vw - 980px)/2)) 36px;box-shadow:0 12px 45px rgba(0,0,0,.2)}
.bn-search-close{position:absolute;right:28px;top:18px;border:0;background:transparent;font-size:32px}
.bn-search-panel h2{font:500 30px/1.2 Georgia,serif;margin:0 0 22px}
.bn-search-form{display:grid;grid-template-columns:1fr 140px}
.bn-search-form input[type=search]{width:100%;height:54px;border:1px solid #999;border-right:0;padding:0 18px;font-size:15px}
.bn-search-form button{border:0;background:#111;color:#fff;font-weight:700}
.bn-search-suggestions{display:flex;align-items:center;gap:22px;margin-top:20px;font-size:12px}
.bn-search-suggestions a{text-decoration:underline}
.bn-search-open{overflow:hidden}

@media(max-width:800px){.bn-search-panel{padding:54px 16px 30px}.bn-search-panel h2{font-size:24px}.bn-search-close{right:14px;top:10px}.bn-search-form{grid-template-columns:1fr 88px}.bn-search-form input[type=search]{height:50px;padding:0 11px;font-size:12px}.bn-search-suggestions{align-items:flex-start;flex-wrap:wrap;gap:12px 18px}.bn-search-suggestions b{width:100%}}

.bn-search-live{margin-top:26px}

@media(max-width:800px){.bn-search-panel{max-height:100svh;overflow:auto}.bn-search-grid{grid-template-columns:repeat(2,1fr);gap:12px}.bn-search-card span,.bn-search-card b{font-size:11px}}

/* 0.8.54 search overlay refinement */
.bn-search-quicklinks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}

.bn-search-quicklinks a{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #ddd;background:#fafafa;color:#111;text-decoration:none;font-size:12px;font-weight:700}

@media(max-width:800px){
 .bn-search-overlay{z-index:140;background:#fff}
 .bn-search-panel{min-height:100svh;padding:48px 14px 28px;box-shadow:none}
 .bn-search-panel h2{font:700 18px/1.2 Arial,sans-serif;text-align:center;margin-bottom:18px}
 .bn-search-form{grid-template-columns:1fr 82px}
 .bn-search-form input[type=search]{border:1px solid #cfcfcf;border-right:0}
 .bn-search-suggestions{margin-top:16px}
 .bn-search-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
 .bn-search-quicklinks a{min-height:40px}
}

/* 0.8.54 search discovery states */
.bn-search-browse{margin-top:22px;border-top:1px solid #eee;padding-top:18px}

.bn-search-browse>b{display:block;margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}

.bn-search-browse>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}

.bn-search-browse a{display:flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #ddd;background:#fff;text-decoration:none;font-size:12px;font-weight:700}

.bn-search-overlay :focus-visible{outline:2px solid #111;outline-offset:3px}

html body.bn-search-open header.site-header,
html body.bn-search-open .site-header{display:none!important}

@media(max-width:800px){
 .bn-search-browse>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bn-search-empty{padding:13px}.bn-search-browse a{min-height:42px}
}


/* 0.8.115 search discovery: trending and recent search rails */
.bn-search-trending,.bn-search-recent{margin-top:18px;border-top:1px solid #eee;padding-top:16px}

.bn-search-trending>b,.bn-search-recent>b{display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#111}

.bn-search-trending>div,.bn-search-recent>div{display:flex;flex-wrap:wrap;gap:8px}

.bn-search-trending a,.bn-search-recent a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;padding:0 12px;text-decoration:none;font-size:12px;font-weight:800}

@media(max-width:800px){
 .bn-search-trending,.bn-search-recent{margin-top:14px;padding-top:14px}
 .bn-search-trending>div,.bn-search-recent>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .bn-search-trending a,.bn-search-recent a{min-height:38px;padding:0 8px;font-size:11px}
}


/* Stage 6 search overlay containment. */
.bn-search-panel,.bn-search-panel *{box-sizing:border-box}

/* Source: stage4-bloomchic-pdp.css */
/*
 * BeachNova PDP Stage 4
 * BloomChic-aligned product discovery and conversion foundation.
 * Loaded after all legacy PDP styles so this file remains the single override layer.
 */

body.single-product {
  --bn-pdp-ink: #111;
  --bn-pdp-muted: #666;
  --bn-pdp-line: #e6e6e6;
  --bn-pdp-soft: #f7f7f7;
  --bn-pdp-accent: #008f88;
  --bn-pdp-control: 44px;
}


body.single-product .woocommerce-product-gallery,
body.single-product .summary.entry-summary {
  min-width: 0;
}


/* WooCommerce hides the native gallery until its slider JavaScript initializes.
 * The server-rendered first image is already valid and prioritized, so expose it
 * immediately to remove avoidable mobile LCP render delay. */
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image:first-child,
body.single-product .woocommerce-product-gallery__image:first-child img {
  opacity: 1 !important;
  visibility: visible !important;
}


body.single-product .summary.entry-summary {
  color: var(--bn-pdp-ink);
}


body.single-product .summary .product_title {
  margin: 0 0 8px;
  color: var(--bn-pdp-ink);
  font-weight: 500;
  letter-spacing: 0;
}


body.single-product .summary .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--bn-pdp-ink);
  font-weight: 700;
}


body.single-product .bn-color-options,
body.single-product [class*="color-options"] {
  width: 100%;
}


body.single-product .bn-color-options button,
body.single-product .bn-color-options a,
body.single-product [class*="color-options"] button,
body.single-product [class*="color-options"] a {
  position: relative;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 3px;
  overflow: hidden;
  border: 1px solid #d8d8d8;
  border-radius: 50%;
  background: #fff;
}


body.single-product .bn-color-options .selected,
body.single-product .bn-color-options [aria-checked="true"],
body.single-product [class*="color-options"] .selected,
body.single-product [class*="color-options"] [aria-checked="true"] {
  border-color: var(--bn-pdp-ink);
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--bn-pdp-ink);
}


body.single-product .bn-size-options,
body.single-product .bn-fit-options,
body.single-product .variable-items-wrapper.button-variable-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: none !important;
}


body.single-product .bn-size-options button,
body.single-product .bn-fit-options button,
body.single-product .variable-items-wrapper.button-variable-wrapper .variable-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 8px 5px;
  border: 1px solid #dfe2e5;
  border-radius: 4px;
  background: #fff;
  color: var(--bn-pdp-ink);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  box-shadow: none;
}


body.single-product .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px;
  border: 0;
  border-radius: 0;
  background: var(--bn-pdp-ink);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}


body.single-product .woocommerce-tabs,
body.single-product .bn-pdp-accordion,
body.single-product .product_meta {
  border-top: 1px solid var(--bn-pdp-line);
}


body.single-product .bn-pdp-delivery {
  margin: 20px 0 0;
  border-top: 1px solid var(--bn-pdp-line);
}


body.single-product .bn-pdp-delivery h3 {
  margin: 0;
  padding: 18px 0 12px;
  font-size: 16px;
  line-height: 1.3;
}


body.single-product .bn-pdp-delivery > div {
  display: grid;
  grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid var(--bn-pdp-line);
}


body.single-product .bn-pdp-delivery b,
body.single-product .bn-pdp-delivery span {
  font-size: 13px;
  line-height: 1.5;
}


body.single-product .bn-pdp-delivery span {
  color: var(--bn-pdp-muted);
}


body.single-product .bn-assurances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 20px 0 0;
  overflow: hidden;
  border: 1px solid var(--bn-pdp-line);
  background: var(--bn-pdp-line);
}


body.single-product .bn-assurances > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 13px 10px;
  background: #fff;
  text-align: center;
}


body.single-product .bn-assurances b {
  font-size: 12px;
  line-height: 1.3;
}


body.single-product .bn-assurances span {
  color: var(--bn-pdp-muted);
  font-size: 11px;
  line-height: 1.35;
}


body.single-product .bn-product-accordions {
  margin-top: 12px;
  border-top: 1px solid var(--bn-pdp-line);
}


body.single-product .bn-product-accordions details {
  margin: 0;
  border-bottom: 1px solid var(--bn-pdp-line);
}


body.single-product .bn-product-accordions summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 600;
}


body.single-product .bn-product-accordions summary::after {
  content: "+";
  font-size: 20px;
  font-weight: 400;
}


body.single-product .bn-product-accordions details[open] summary::after {
  content: "-";
}


body.single-product .bn-product-accordions details > div,
body.single-product .bn-product-accordions details > p {
  margin: 0;
  padding: 0 0 16px;
  color: var(--bn-pdp-muted);
  font-size: 13px;
  line-height: 1.65;
}


body.single-product .related.products,
body.single-product .upsells.products {
  width: 100%;
  max-width: 1440px;
  margin: 48px auto 0;
  padding-inline: clamp(16px, 4vw, 64px);
}


body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  margin: 0 0 20px;
  font-size: clamp(22px, 2.4vw, 34px);
  font-weight: 500;
  text-align: center;
}


body.single-product .woocommerce-tabs .tabs,
body.single-product .bn-pdp-accordion > button {
  font-size: 14px;
  font-weight: 600;
}


@media (min-width: 801px) {
  body.single-product .woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(380px, .75fr);
    align-items: start;
    gap: clamp(32px, 5vw, 72px);
    padding-inline: clamp(24px, 4vw, 64px);
  }

  body.single-product .woocommerce div.product .woocommerce-product-gallery,
  body.single-product .woocommerce div.product .summary.entry-summary {
    float: none;
    width: auto;
  }

  body.single-product .summary.entry-summary {
    position: sticky !important;
    top: 110px;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
  }

  body.single-product .bn-pdp-configurator .single_variation_wrap,
  body.single-product .bn-pdp-configurator .woocommerce-variation-add-to-cart {
    display: block !important;
    width: 100% !important;
    margin-top: 20px !important;
  }

  body.single-product .bn-pdp-configurator .bn-size-options,
  body.single-product .bn-pdp-configurator .bn-fit-options,
  body.single-product .bn-pdp-configurator .variable-items-wrapper.button-variable-wrapper {
    grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
  }
}


@media (max-width: 800px) {
  body.single-product .woocommerce div.product,
  body.single-product .woocommerce div.product * {
    box-sizing: border-box;
  }

  body.single-product .beachnova-content,
  body.single-product .woocommerce-area,
  body.single-product .woocommerce-area > .section {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  body.single-product .bn-collection-shortcuts,
  body.single-product .woocommerce-breadcrumb {
    display: none;
  }

  body.single-product .woocommerce div.product {
    display: block;
    width: 100%;
    margin: 0;
  }

  body.single-product .woocommerce-product-gallery {
    width: 100%;
    margin: 0;
    background: var(--bn-pdp-soft);
  }

  body.single-product .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5.35;
    object-fit: cover;
    object-position: center top;
  }

  body.single-product .summary.entry-summary {
    width: 100%;
    margin: 0;
    padding: 14px 16px 96px;
    background: #fff;
  }

  body.single-product .summary .product_title {
    font-size: 18px;
    line-height: 1.35;
  }

  body.single-product .summary .price {
    font-size: 18px;
    line-height: 1.25;
  }

  body.single-product .bn-color-options,
  body.single-product [class*="color-options"] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 12px 0 18px;
  }

  body.single-product .bn-fit-row,
  body.single-product .bn-size-row,
  body.single-product .bn-size-title-row {
    margin: 0 0 10px;
  }

  body.single-product .bn-size-guide {
    color: var(--bn-pdp-ink);
    font-size: 14px;
    text-underline-offset: 3px;
  }

  body.single-product .bn-size-options,
  body.single-product .bn-fit-options,
  body.single-product .variable-items-wrapper.button-variable-wrapper {
    gap: 10px 12px;
    margin-bottom: 20px;
  }

  body.single-product form.cart,
  body.single-product .single_variation_wrap {
    width: 100%;
  }

  body.single-product form.cart .single_add_to_cart_button,
  body.single-product .single_variation_wrap .single_add_to_cart_button {
    position: fixed;
    z-index: 1200;
    right: 16px;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 52px;
    width: auto;
    min-height: 52px;
    margin: 0;
    box-shadow: 0 5px 22px rgb(0 0 0 / 22%);
  }

  body.single-product .bn-wishlist,
  body.single-product .yith-wcwl-add-to-wishlist {
    position: fixed;
    z-index: 1201;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 8px;
    width: 44px;
    height: 52px;
    margin: 0;
    background: #fff;
  }

  body.single-product .bn-pdp-delivery > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  body.single-product .bn-assurances {
    grid-template-columns: repeat(3, minmax(96px, 1fr));
    overflow-x: auto;
  }

  body.single-product .bn-product-accordions summary {
    min-height: 56px;
  }

  body.single-product .bn-model-fit dl {
    grid-template-columns: 1fr;
  }

  body.single-product .related.products,
  body.single-product .upsells.products {
    margin-top: 36px;
    padding-inline: 16px;
  }
}

/* Source: pdp-stage41-layout-stability.css */
/*
 * BeachNova Stage 41: reserve the final mobile PDP gallery and variation
 * geometry before deferred WooCommerce/BeachNova enhancement runs.
 */
@media (max-width: 800px) {
  body.single-product .woocommerce-product-gallery {
    display: grid !important;
    grid-template-rows: auto 65px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  body.single-product .woocommerce-product-gallery::after {
    content: "";
    display: block;
    grid-area: 2 / 1;
    min-height: 65px;
  }

  body.single-product .woocommerce-product-gallery__wrapper {
    grid-area: 1 / 1;
    height: auto !important;
    aspect-ratio: 4 / 5.35;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.single-product .woocommerce-product-gallery__wrapper
    > .woocommerce-product-gallery__image:not(:first-child) {
    display: none !important;
  }

  body.single-product .woocommerce-product-gallery__trigger {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    margin: 0 !important;
  }

  body.single-product .woocommerce-product-gallery .bn-gallery-rail {
    grid-area: 2 / 1;
  }

  body.single-product .woocommerce-product-gallery .bn-gallery-count {
    position: absolute !important;
    right: 16px !important;
    bottom: 76px !important;
    z-index: 3;
  }

  body.single-product form.variations_form table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
  }

  body.single-product form.variations_form table.variations
    tr:has(select[name*="color"]),
  body.single-product form.variations_form table.variations
    tr:has(select[name*="colour"]) {
    order: 1;
    min-height: 111.8px;
  }

  body.single-product form.variations_form table.variations
    tr:has(select[name*="size"]) {
    order: 2;
    min-height: 138.8px;
  }

  body.single-product .summary.entry-summary
    > .bn-pdp-offer:has(+ form.variations_form) {
    display: none !important;
  }
}

/* Source: stage43-header-media-integrity.css */
/*
 * Stage43 header/media integrity.
 *
 * The JavaScript-enhanced header keeps its mobile controls inside .brand-row.
 * At desktop widths those controls must participate in the parent header grid
 * instead of sharing the first column as absolutely positioned layers.
 */
@media (max-width: 800px) {
  html body:not(.woocommerce-checkout) .site-header > .main-nav {
    display: none !important;
  }
}

@media (min-width: 801px) and (max-width: 1199px) {
  html body:not(.woocommerce-checkout) .site-header {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 58px !important;
    padding: 0 24px !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row {
    position: static !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 86px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .menu {
    position: static !important;
    display: grid !important;
    grid-column: 1 !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .logo-link {
    position: static !important;
    grid-column: 2 !important;
    justify-self: center !important;
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .tools {
    position: static !important;
    grid-column: 3 !important;
    justify-self: end !important;
    width: 86px !important;
    max-width: 86px !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .main-nav {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .drawer {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 10002 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(420px, calc(100vw - 48px)) !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #fff !important;
    box-shadow: 18px 0 48px rgb(0 0 0 / 18%) !important;
    visibility: hidden !important;
    transform: translateX(-105%) !important;
    transition:
      transform 220ms ease,
      visibility 0s linear 220ms !important;
  }

  html body:not(.woocommerce-checkout) .drawer.open {
    visibility: visible !important;
    transform: translateX(0) !important;
    transition:
      transform 220ms ease,
      visibility 0s linear 0s !important;
  }

  html body:not(.woocommerce-checkout) .shade {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10001 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    background: rgb(0 0 0 / 42%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
      opacity 220ms ease,
      visibility 0s linear 220ms !important;
  }

  html body:not(.woocommerce-checkout) .shade.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
      opacity 220ms ease,
      visibility 0s linear 0s !important;
  }
}

@media (min-width: 1200px) {
  html body:not(.woocommerce-checkout) .site-header {
    grid-template-columns: 136px minmax(0, 1fr) 122px !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row {
    display: contents !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .menu {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .logo-link {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    width: 128px !important;
    min-width: 128px !important;
    max-width: 128px !important;
    height: auto !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .logo-link .logo {
    width: 128px !important;
    max-width: 128px !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .main-nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    gap: clamp(12px, 1.5vw, 24px) !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  html body:not(.woocommerce-checkout) .site-header > .brand-row > .tools {
    position: static !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    transform: none !important;
  }
}

/* Source: pdp-stage43-purchase-polish.css */
/*
 * Stage43 PDP purchase-panel polish.
 * This layer removes raw WooCommerce duplication after enhancement and gives
 * every variable product the same readable, retail-focused buying hierarchy.
 */
html body.single-product .summary.entry-summary {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.single-product .bn-collection-shortcuts {
  display: none !important;
}

html body.single-product .summary .product_title {
  margin: 0 0 12px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(25px, 2.1vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}

html body.single-product .summary > .woocommerce-product-rating,
html body.single-product .summary .woocommerce-product-rating:not(.bn-review-trigger) {
  display: none !important;
}

html body.single-product .summary .bn-pdp-topline {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 34px !important;
  margin: 0 0 14px !important;
}

html body.single-product .summary .bn-review-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline-offset: 3px !important;
  background: transparent !important;
  color: #111 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

html body.single-product .summary .price {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

html body.single-product .summary .woocommerce-product-details__short-description {
  margin: 0 0 18px !important;
  color: #3f3f3f !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

html body.single-product .summary .bn-pdp-offer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  margin: 0 0 22px !important;
  padding: 14px 16px !important;
  border: 0 !important;
  background: #f6f2ec !important;
}

html body.single-product .summary .bn-pdp-offer > div {
  display: grid !important;
  gap: 3px !important;
}

html body.single-product .summary .bn-pdp-offer b,
html body.single-product .summary .bn-pdp-offer span,
html body.single-product .summary .bn-pdp-offer a {
  display: block !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

html body.single-product .summary .bn-pdp-offer b {
  font-size: 12px !important;
  letter-spacing: .08em !important;
}

html body.single-product .summary .bn-pdp-offer span {
  color: #555 !important;
  font-size: 12px !important;
}

html body.single-product .summary .bn-pdp-offer a {
  color: #111 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-underline-offset: 3px !important;
}

html body.single-product form.variations_form table.variations,
html body.single-product form.variations_form table.variations tbody {
  display: grid !important;
  width: 100% !important;
  gap: 20px !important;
  margin: 0 !important;
}

html body.single-product form.variations_form table.variations tr {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  width: 100% !important;
}

html body.single-product form.variations_form table.variations th,
html body.single-product form.variations_form table.variations td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
}

html body.single-product form.variations_form table.variations th label {
  display: block !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

html body.single-product form.variations_form .reset_variations {
  float: right !important;
  margin-top: -31px !important;
  color: #666 !important;
  font-size: 12px !important;
}

html body.single-product form.variations_form select.bn-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

html body.single-product .bn-color-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 !important;
}

html body.single-product .bn-color-options button {
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 3px !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  outline: 1px solid #c8c8c8 !important;
  background: var(--swatch, #ddd) !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
}

html body.single-product .bn-color-options button.selected,
html body.single-product .bn-color-options button[aria-pressed="true"] {
  outline: 2px solid #111 !important;
  outline-offset: 2px !important;
}

html body.single-product .bn-size-options {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

html body.single-product .bn-size-options button {
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 8px 5px !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

html body.single-product .bn-size-options button:hover,
html body.single-product .bn-size-options button.selected,
html body.single-product .bn-size-options button[aria-pressed="true"] {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}

html body.single-product .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin-top: 22px !important;
}

html body.single-product .woocommerce-variation-add-to-cart .quantity {
  display: grid !important;
  grid-template-columns: 36px 44px 36px !important;
  width: 116px !important;
  min-height: 50px !important;
  margin: 0 !important;
}

html body.single-product .quantity .bn-qty-step,
html body.single-product .quantity .qty {
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;
  text-align: center !important;
}

html body.single-product .quantity .qty {
  border-right: 0 !important;
  border-left: 0 !important;
}

html body.single-product .single_add_to_cart_button {
  min-height: 50px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #111 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  letter-spacing: .06em !important;
}

html body.single-product .single_add_to_cart_button:disabled,
html body.single-product .single_add_to_cart_button.disabled {
  background: #747474 !important;
  color: #fff !important;
  opacity: 1 !important;
}

html body.single-product .bn-pdp-delivery {
  margin-top: 24px !important;
}

html body.single-product .bn-pdp-delivery h3 {
  padding: 20px 0 13px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

html body.single-product .bn-pdp-delivery > div {
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 14px 0 !important;
}

@media (max-width: 800px) {
  html body.single-product .summary.entry-summary {
    padding: 18px 16px 104px !important;
  }

  html body.single-product .summary .product_title {
    font-size: 26px !important;
  }

  html body.single-product .bn-size-options {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html body.single-product .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr !important;
  }

  html body.single-product .woocommerce-variation-add-to-cart .quantity {
    width: 116px !important;
  }

  html body.single-product .bn-pdp-delivery > div {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* Keep the enhanced review experience out of document flow until requested. */
html body.single-product .bn-review-drawer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10040 !important;
  display: block !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 180ms ease, visibility 0s linear 180ms !important;
}

html body.single-product .bn-review-drawer.open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: opacity 180ms ease !important;
}

html body.single-product .bn-review-drawer-shade {
  position: absolute !important;
  inset: 0 !important;
  background: rgb(0 0 0 / 46%) !important;
}

html body.single-product .bn-review-drawer-panel {
  position: absolute !important;
  inset: 0 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(560px, 100vw) !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: -18px 0 48px rgb(0 0 0 / 18%) !important;
  transform: translateX(100%) !important;
  transition: transform 220ms ease !important;
}

html body.single-product .bn-review-drawer.open .bn-review-drawer-panel {
  transform: translateX(0) !important;
}

html body.single-product .bn-review-drawer-panel > header {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) 52px !important;
  align-items: center !important;
  min-height: 62px !important;
  padding: 0 !important;
  border-bottom: 1px solid #e7e7e7 !important;
  background: #fff !important;
}

html body.single-product .bn-review-drawer-panel > header h2 {
  grid-column: 2 !important;
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

html body.single-product .bn-review-drawer-close {
  display: grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 30px !important;
}

html body.single-product .bn-review-drawer-body {
  flex: 1 1 auto !important;
  padding: 24px !important;
  overflow-y: auto !important;
  background: #fff !important;
}

html body.single-product .bn-review-suite {
  width: 100% !important;
  margin: 0 0 26px !important;
  padding: 0 0 24px !important;
  border-bottom: 1px solid #e7e7e7 !important;
}

html body.single-product .bn-review-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
}

html body.single-product .bn-review-head small {
  display: block !important;
  margin-bottom: 4px !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.single-product .bn-review-head h2 {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
}

html body.single-product .bn-write-review,
html body.single-product .bn-review-form-wrap .submit {
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid #111 !important;
  border-radius: 0 !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html body.single-product .bn-review-metrics {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;
}

html body.single-product .bn-review-score {
  display: grid !important;
  gap: 5px !important;
  text-align: center !important;
}

html body.single-product .bn-review-score strong {
  font-size: 42px !important;
  line-height: 1 !important;
}

html body.single-product .bn-review-score p,
html body.single-product .bn-review-score span {
  margin: 0 !important;
  font-size: 12px !important;
}

html body.single-product .bn-review-bars {
  display: grid !important;
  gap: 7px !important;
}

html body.single-product .bn-review-bars > div {
  display: grid !important;
  grid-template-columns: 52px minmax(70px, 1fr) 64px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 11px !important;
}

html body.single-product .bn-review-bars b {
  display: block !important;
  height: 6px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e8e8e8 !important;
}

html body.single-product .bn-review-bars i {
  display: block !important;
  height: 100% !important;
  background: #111 !important;
}

html body.single-product .bn-review-fit {
  grid-column: 1 / -1 !important;
  margin-top: 8px !important;
  padding-top: 16px !important;
  border-top: 1px solid #eee !important;
}

html body.single-product .bn-review-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 18px !important;
}

html body.single-product .bn-review-filters button {
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid #ccc !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 11px !important;
}

html body.single-product .bn-review-filters button.active {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}

html body.single-product .bn-review-form-wrap {
  display: none !important;
}

html body.single-product .bn-review-form-wrap.open {
  display: block !important;
}

html body.single-product .bn-review-form-wrap input:not([type="checkbox"]),
html body.single-product .bn-review-form-wrap textarea,
html body.single-product .bn-review-form-wrap select {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid #bbb !important;
  background: #fff !important;
}

/* The review form belongs in the drawer; keeping a second raw copy below the
 * page creates a long, broken-looking tail after the footer. */
html body.single-product .woocommerce-tabs #tab-reviews {
  display: none !important;
}

html body.single-product .woocommerce-tabs .tabs li.reviews_tab {
  display: none !important;
}

html body.single-product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 42px auto 0 !important;
  padding: 0 !important;
  border-top: 1px solid #e5e5e5 !important;
}

html body.single-product .woocommerce-tabs .tabs {
  display: flex !important;
  gap: 28px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
  border-bottom: 1px solid #e5e5e5 !important;
}

html body.single-product .woocommerce-tabs .tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.single-product .woocommerce-tabs .tabs a {
  display: inline-flex !important;
  min-height: 48px !important;
  align-items: center !important;
  color: #555 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

html body.single-product .woocommerce-tabs .tabs li.active a {
  border-bottom: 2px solid #111 !important;
  color: #111 !important;
}

html body.single-product .woocommerce-Tabs-panel {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #444 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

html body.single-product .woocommerce-Tabs-panel h2 {
  margin: 0 0 16px !important;
  color: #111 !important;
  font-size: 24px !important;
  text-align: left !important;
}

html body.single-product .related.products {
  display: block !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 56px auto 0 !important;
  padding: 0 0 64px !important;
}

html body.single-product .related.products > h2 {
  margin: 0 0 20px !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  text-align: left !important;
}

html body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  list-style: none !important;
}

html body.single-product .related.products ul.products::before,
html body.single-product .related.products ul.products::after {
  display: none !important;
}

html body.single-product .related.products li.product {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body.single-product .related.products li.product img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  margin: 0 0 12px !important;
  object-fit: cover !important;
  background: #f4f4f4 !important;
}

html body.single-product .related.products .woocommerce-loop-product__title {
  margin: 0 0 6px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

html body.single-product .related.products .price {
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

@media (max-width: 800px) {
  html body.single-product form.cart .single_add_to_cart_button,
  html body.single-product .single_variation_wrap .single_add_to_cart_button {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  html body.single-product:not(.bn-mobile-buy-ready) .bn-mobile-buy {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(110%) !important;
  }

  html body.single-product.bn-mobile-buy-ready .bn-mobile-buy {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  html body.single-product .bn-review-drawer-panel {
    inset: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
  }

  html body.single-product .bn-review-drawer-body {
    padding: 18px 16px 28px !important;
  }

  html body.single-product .bn-review-metrics {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body.single-product .woocommerce-tabs {
    margin-top: 28px !important;
    padding: 0 16px !important;
  }

  html body.single-product .woocommerce-tabs .tabs {
    gap: 20px !important;
    overflow-x: auto !important;
  }

  html body.single-product .woocommerce-Tabs-panel h2 {
    font-size: 21px !important;
  }

  html body.single-product .related.products {
    margin-top: 36px !important;
    padding: 0 16px 48px !important;
  }

  html body.single-product .related.products > h2 {
    font-size: 22px !important;
  }

  html body.single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}
