/*
Theme Name: Beach House Boutique
Version: 1.0.0
Description: Coastal WooCommerce storefront built around the authorized source storefront.
Author: Beach House Boutique
Text Domain: beachhouse
*/
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font/montserrat-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font/montserrat-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Pacifico';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font/pacifico-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font/playfair-display-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font/playfair-display-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font/playfair-display-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font/poppins-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font/poppins-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font/poppins-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--purple:#636de1;--aqua:#64dbe7;--ink:#242424;--pink:#eb4783}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.6 Poppins,Arial,sans-serif;background:#fff}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button,input[type=submit]{cursor:pointer}a,button,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a12765;outline-offset:4px}button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--purple);color:#fff;border:0;border-radius:30px;padding:13px 27px;display:inline-block;font-weight:500;font-size:15px;line-height:1.5;text-decoration:none;min-height:44px}button:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:#4c56c6;color:#fff}input,select,textarea{border:1px solid #a8a8a8;background:#fff;padding:10px 12px;max-width:100%;border-radius:3px}h1,h2,h3,h4{line-height:1.25;font-family:'Playfair Display',Georgia,serif;font-weight:600}p{margin:0 0 20px}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{position:fixed;z-index:999;background:#fff;padding:15px}.header-top{height:110px;padding:12px 3%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#b4ecef url('assets/calm-sea-beach-aerial-banner-view.jpg') center/cover}.custom-logo-link{display:block;flex-shrink:0}.header-top>.custom-logo-link{position:absolute;left:50%;transform:translateX(-50%);max-width:30%}.custom-logo{width:400px;height:auto;display:block}.help{font-size:13px}.header-tools{display:flex;align-items:center;gap:22px}.header-tools>a{display:flex;min-width:30px;min-height:44px;align-items:center;gap:3px}.header-tools svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6}.header-search{display:flex;border-bottom:1px solid #555;width:190px}.header-search input{border:0;background:transparent;padding:8px 0;width:150px;font-size:12px}.header-search button{background:transparent;color:#222;padding:7px;border-radius:0;min-width:40px}.cart-count{font-size:12px}.menu-toggle{display:none}.main-nav{background:linear-gradient(45deg,#929aec,#626de1);position:relative;z-index:50}.main-nav>ul{list-style:none;padding:0 20px;margin:0;display:flex;justify-content:center;flex-wrap:wrap}.main-nav>ul>li{position:static}.nav-item{display:flex;align-items:center}.nav-item>a{color:white;font-size:12px;padding:17px 7px;display:block}.submenu-toggle{padding:5px 5px;color:#fff;background:transparent;border-radius:0;min-height:44px;min-width:20px;font-size:18px}.mega-menu{display:none;position:absolute;left:3%;right:3%;top:100%;background:white;box-shadow:0 8px 18px #0002;padding:30px 45px;color:#555;max-height:65vh;overflow:auto}.mega-menu.is-open{display:block}.mega-menu h2{color:var(--purple);font-size:25px}.mega-menu ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:5px 30px;padding:0}.mega-menu a{display:block;padding:8px 0;font-size:14px}.mega-menu a:hover{color:var(--purple)}.mobile-search{display:none}.hero{display:block}.hero img{width:100%;aspect-ratio:1920/754;object-fit:cover;display:block}.section{padding:70px 4%;text-align:center}.section-heading{max-width:850px;margin:0 auto 35px}.section-heading h2{font-size:46px;margin:0 0 20px;line-height:1.25}.section-heading h2 span{display:block;font-size:30px;color:var(--purple);margin-bottom:8px}.section-heading p{font-size:17px;line-height:1.6;color:#454545}.fun{margin:-15px 0 40px;font-size:25px;color:var(--purple)}.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:20px 0 35px;padding:0}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;float:none!important;margin:0!important;text-align:left;min-width:0}.section .woocommerce ul.products{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:contain;width:100%;background:white;margin-bottom:15px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:600;line-height:1.45;min-height:68px}.woocommerce ul.products li.product .price{font-family:Poppins,sans-serif;color:#333;font-size:19px;font-weight:600}.woocommerce ul.products li.product .button{font-size:13px;padding:10px 17px;margin:10px 0}.woocommerce span.onsale{background:var(--pink);min-height:40px;min-width:40px}.arrivals{background:#f7f8ff}.beach-shop{display:grid;grid-template-columns:1fr 1fr;background:#8d95ea;align-items:stretch}.shop-photo img{height:100%;width:100%;object-fit:cover}.shop-categories{padding:50px 30px}.shop-categories .section-heading h2 span,.shop-categories .section-heading h2{color:white}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.category-grid a{display:block;text-align:center;color:white}.category-grid img{width:100%;aspect-ratio:1.15;object-fit:cover;display:block;border-radius:14px}.category-grid span{display:block;margin-top:10px;font-size:17px}.jewelry{background:#fff}.dress-tropical{display:grid;grid-template-columns:1fr 1fr;background:#f4ebed;align-items:center}.dress-tropical>div{padding:55px 12%;text-align:center}.dress-tropical>img{width:100%;height:100%;object-fit:cover;max-height:780px}.dress-tropical .section-heading h2{font-size:30px}.picks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 35px;max-width:1400px;margin:auto}.picks-grid img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:18px}.picks-grid h3{font-size:27px}.picks-grid p{font-size:15px}.community{background:#f3f5fb}.paradise{background:#b5e6e3;padding:85px 20px}.paradise>div{max-width:780px;background:#ffffffbd;padding:55px 65px;border-radius:20px;margin:auto}.instagram{padding:65px 20px}.site-footer{background:var(--aqua);padding:55px 4% 0}.footer-news{text-align:center;max-width:620px;margin:0 auto 55px}.footer-news h2{font-size:32px}.footer-news label{display:block;text-align:left;font-size:14px}.subscribe-row{display:flex;gap:8px;margin:6px 0 12px}.subscribe-row input{flex:1;min-width:0}.footer-news small{font-size:12px}.footer-news small a{text-decoration:underline}.footer-columns{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:45px}.footer-columns h2{font:600 20px Poppins,sans-serif;margin:0 0 18px}.footer-columns section>a{display:block;font-size:13px;padding:3px 0;overflow-wrap:anywhere}.footer-brand .custom-logo{width:300px;margin-bottom:25px}.footer-brand h2{font-size:15px}.footer-brand address{font-style:normal;font-size:14px;margin-bottom:20px}.social{display:flex;gap:12px;margin-top:20px}.social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.social svg{width:23px;height:23px;fill:currentColor}.copyright{border-top:1px solid #2f989f;padding:25px 0;font-size:12px;text-align:center}.copyright a{margin-left:30px}.content-wrap{max-width:1400px;margin:auto;padding:55px 4%;min-height:45vh}.content-wrap h1{font-size:40px}.content-wrap article:not(.product){max-width:900px;margin:auto}.content-wrap article p{line-height:1.8}.search-form{display:flex;align-items:end;gap:10px;margin:20px 0}.search-form label{display:flex;flex-direction:column;flex:1}.error-page{text-align:center;max-width:700px}.error-page>p:first-child{font-size:70px;color:var(--purple);margin:0}.woocommerce div.product div.images img{object-fit:contain;max-height:760px}.woocommerce div.product p.price{color:var(--purple);font-size:26px}.woocommerce div.product form.cart .variations select{min-width:150px;padding:12px}.woocommerce div.product form.cart .button{min-height:48px}.woocommerce .quantity .qty{padding:11px 5px;min-width:70px}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f1f2fc}.woocommerce table.shop_table{border-collapse:collapse}.woocommerce input.input-text{min-height:44px}.woocommerce form .form-row label{line-height:2}.woocommerce-error,.woocommerce-info,.woocommerce-message{border-top-color:var(--purple)}.woocommerce-message::before,.woocommerce-info::before{color:var(--purple)}.subscription-notice{background:#effbea;color:#1f5120;text-align:center;padding:18px}.woocommerce-breadcrumb{font-size:13px!important}.woocommerce-product-gallery__trigger{z-index:5!important}footer a:hover{text-decoration:underline}body:not(.home) .site-footer{margin-top:30px}@media(min-width:1600px){.nav-item>a{font-size:13px;padding:17px 10px}.header-top{height:125px}.section{padding:80px 6%}}@media(max-width:1100px){.header-top>.custom-logo-link{max-width:28%}.help{font-size:11px}.header-search{width:140px}.header-search input{width:100px}.header-tools{gap:12px}.nav-item>a{font-size:10px;padding:14px 5px}.submenu-toggle{font-size:14px;min-width:14px;padding:3px}.section .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading h2{font-size:38px}.footer-columns{gap:20px}.shop-categories{padding:25px 20px}.category-grid{gap:15px}.category-grid span{font-size:14px}.shop-categories .section-heading h2{font-size:31px}}@media(max-width:800px){.header-top{height:85px;padding:10px 18px;gap:15px}.help,.header-search{display:none}.header-top>.custom-logo-link{max-width:58%;width:260px}.header-tools{margin-left:auto;gap:10px}.header-tools>a{min-width:22px}.header-tools svg{width:22px}.header-tools>a:first-of-type{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;min-width:44px;padding:9px;background:transparent;border-radius:0;color:#222}.menu-toggle:hover{background:#ffffff88}.menu-toggle span{display:block;width:25px;height:2px;background:#222}.main-nav{display:none;position:absolute;left:0;right:0;max-height:calc(100dvh - 85px);overflow:auto;background:#fff;box-shadow:0 8px 15px #0002}.main-nav.is-open{display:block}.main-nav>ul{display:block;padding:0 20px 25px}.main-nav>ul>li{border-bottom:1px solid #ddd}.nav-item>a{color:#333;font-size:15px;flex:1;padding:15px 5px}.submenu-toggle{color:#333;min-width:44px;background:transparent;font-size:20px}.mega-menu{position:static;box-shadow:none;padding:10px 15px 20px;max-height:none}.mega-menu h2{font-size:21px}.mega-menu ul{grid-template-columns:1fr 1fr;gap:4px 15px}.mega-menu a{font-size:13px}.mobile-search{display:block;padding:5px 20px}.mobile-search .search-form{margin:15px 0}.mobile-search label{font-size:12px}.mobile-search input{width:100%;min-width:0}.hero img{aspect-ratio:1920/754;object-fit:contain}.section{padding:45px 20px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:31px}.section-heading h2 span{font-size:24px}.section-heading p{font-size:15px}.fun{font-size:21px;margin:0 0 25px}.section .woocommerce ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px;min-height:60px}.woocommerce ul.products li.product .price{font-size:17px}.woocommerce ul.products li.product .button{padding:10px 13px;font-size:12px}.beach-shop{grid-template-columns:1fr}.shop-photo img{max-height:450px;object-position:center}.shop-categories{padding:35px 20px}.category-grid{gap:25px 18px}.category-grid span{font-size:14px}.dress-tropical{grid-template-columns:1fr}.dress-tropical>div{padding:45px 25px}.dress-tropical>img{max-height:550px}.picks-grid{grid-template-columns:1fr 1fr;gap:40px 20px}.picks-grid h3{font-size:22px}.picks-grid p{font-size:13px}.picks-grid .button{font-size:13px;padding:11px 19px}.paradise>div{padding:35px 22px}.footer-columns{grid-template-columns:1fr 1fr;gap:35px 25px}.site-footer{padding:40px 22px 0}.footer-news h2{font-size:27px}.footer-brand .custom-logo{max-width:270px}.footer-columns .footer-brand{grid-column:1/-1}.footer-columns h2{font-size:18px}.content-wrap{padding:35px 20px}.content-wrap h1{font-size:31px}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}.woocommerce div.product div.images img{max-height:600px}.woocommerce .woocommerce-ordering{float:none}.woocommerce table.shop_table{font-size:14px}.woocommerce .woocommerce-result-count{float:none}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}.woocommerce-cart table.cart td.actions .coupon .input-text{width:55%}.woocommerce-cart table.cart td.actions .coupon .button{width:42%}.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:3%}.woocommerce ul.products li.product a img{aspect-ratio:1/1}.search-form{gap:6px}.search-form button{padding:12px 18px}.search-form input{width:100%;min-width:0}}@media(max-width:390px){.header-top>.custom-logo-link{max-width:55%;width:220px}.header-tools{gap:3px}.picks-grid{gap:30px 14px}.picks-grid h3{font-size:19px}.footer-columns{gap:30px 16px}.subscribe-row button{padding:12px 18px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.brand-wordmark{text-align:center;color:#6d3489;line-height:1.1;white-space:nowrap;padding:12px 0}.brand-wordmark>span{font:600 32px/1.1 Georgia,serif;letter-spacing:2px}.brand-wordmark>small{display:block;font:500 15px/1.6 Poppins,sans-serif;letter-spacing:7px}.footer-brand .brand-wordmark{text-align:left;display:inline-block;margin-bottom:25px;white-space:normal}.footer-brand .brand-wordmark>span{font-size:27px}.mega-photo{float:left;width:220px;max-height:280px;object-fit:cover;margin-right:40px;border-radius:10px}.mega-menu:has(.mega-photo)>ul{grid-template-columns:repeat(3,1fr)}.footer-news form input[type=email]{width:100%}.footer-news form button{margin-top:10px}.footer-news form label{font-size:14px}@media(max-width:800px){.brand-wordmark>span{font-size:23px;letter-spacing:1px}.brand-wordmark>small{font-size:12px;letter-spacing:5px}.mega-photo{display:none}.mega-menu:has(.mega-photo)>ul{grid-template-columns:1fr 1fr}}@media(max-width:390px){.brand-wordmark>span{font-size:20px}.brand-wordmark>small{font-size:11px;letter-spacing:4px}}

/* Font roles verified against the source theme's final CSS cascade.
   Montserrat: site/navigation/archive cards. Poppins: home copy/buttons.
   Playfair Display: home headings/carousel cards. Pacifico: heading accent.
   Noto Serif is restricted to source related-blog text; no equivalent module here.
   Source Lato stylesheet is loaded but has no final font-family role in the theme. */
body{font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:400;line-height:1.5}
h1,h2,h3,h4{font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.25px}
.nav-item>a,.mega-menu a,.help,.header-search,.header-tools{font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:400}
.nav-item>a{text-transform:uppercase;font-size:13px}
.section,.beach-shop,.dress-tropical{font-family:Poppins,Arial,sans-serif}
.section-heading h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:48px;line-height:normal;letter-spacing:.25px}
.section-heading h2 span{font-family:Pacifico,cursive;font-weight:400;font-size:48px;line-height:normal}
.section-heading p{font-family:Poppins,Arial,sans-serif;font-size:18px;line-height:26px}
.fun{font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:32px}
button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:16px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:13px}
.section .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:600}
.woocommerce ul.products li.product .price{font-family:Montserrat,Arial,sans-serif}
.picks-grid h3{font-family:Poppins,Arial,sans-serif;font-weight:600}
.footer-columns h2{font-family:Montserrat,Arial,sans-serif;font-weight:700}
@media(max-width:1399px){.nav-item>a{font-size:11px}}
@media(max-width:1199px){.section-heading h2,.section-heading h2 span{font-size:38px}.section-heading p{font-size:16px;line-height:20px}.fun{font-size:28px}}
@media(max-width:800px){.nav-item>a{font-size:13px}.section-heading h2,.section-heading h2 span{font-size:32px}.fun{font-size:22px}}
@media(max-width:480px){.section .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px}}

/* Source-style product sliders: six / three / two visible cards. */
.bh-carousel{position:relative;max-width:100%;min-width:0;text-align:left}
.bh-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 0 16px}
.bh-carousel-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:10px;border-radius:50%}
.bh-carousel-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.bh-carousel-controls button:disabled{background:#e9eaf4;color:#73758b;cursor:default;opacity:.65}
.bh-carousel-status{font:12px/1.4 Montserrat,Arial,sans-serif;color:#454545;text-align:center;min-width:110px}
.bh-carousel-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:4px 0 14px;max-width:100%;scrollbar-width:thin;scrollbar-color:#636de1 #eeeefa}
.section .bh-carousel .woocommerce ul.products{display:flex;flex-wrap:nowrap;gap:24px;width:100%;margin:0;padding:0;align-items:stretch}
.section .bh-carousel .woocommerce ul.products li.product{flex:0 0 calc((100% - 120px)/6);min-width:0;scroll-snap-align:start;scroll-snap-stop:normal}
.bh-carousel-viewport:focus-visible{outline:3px solid #a12765;outline-offset:4px}
@media(max-width:1100px){.section .bh-carousel .woocommerce ul.products li.product{flex-basis:calc((100% - 48px)/3)}}
@media(max-width:800px){.section .bh-carousel .woocommerce ul.products{gap:16px}.section .bh-carousel .woocommerce ul.products li.product{flex-basis:calc((100% - 16px)/2)}.bh-carousel-controls{gap:10px;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.bh-carousel-viewport{scroll-behavior:auto}}
/* Apparel photography: preserve the entire garment and avoid square crops. */
.woocommerce ul.products li.product a img,.woocommerce-page ul.products li.product a img{aspect-ratio:2/3;object-fit:contain;height:auto;object-position:center;background:#fff}
.category-grid img,.picks-grid img{aspect-ratio:2/3;object-fit:contain;object-position:center;background:#fff}
.dress-tropical>img{height:auto;max-height:none;object-fit:contain;align-self:center}

/* Crisp color replaces the former 1024x35 stretched header bitmap. */
.header-top{background:linear-gradient(110deg,#e7f7f3 0%,#cceee9 52%,#a4dfdc 100%)}
.hero{position:relative;display:block;overflow:hidden}.hero img{display:block;width:100%;height:auto;aspect-ratio:2500/830;object-fit:cover}
.hero-fashion-copy{position:absolute;left:7%;top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 2px 15px #0008;display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:48%}.hero-fashion-copy>span:first-child{font-size:12px;letter-spacing:3px}.hero-fashion-copy strong{font:clamp(28px,3vw,58px)/1.13 'Playfair Display',Georgia,serif}.hero-fashion-copy .button{text-shadow:none;font-size:13px}
@media(max-width:800px){.hero img{height:440px;aspect-ratio:auto;object-position:73% center}.hero-fashion-copy{left:6%;top:auto;bottom:28px;transform:none;max-width:88%;gap:12px}.hero-fashion-copy strong{font-size:31px}.hero-fashion-copy>span:first-child{font-size:10px;letter-spacing:2px}.hero-fashion-copy .button{padding:11px 18px}}
