/*
Theme Name: Brookside Cottage Artisan Soaps
Theme URI: https://bccreationsme.com
Author: Brookside Cottage
Description: Custom theme based on the approved Brookside Cottage homepage, with editable hero photo and Maine Made feature.
Version: 1.0.26
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: brookside-cottage
*/

:root{--pine:#173d2a;--cream:#f7f2e6;--ink:#193328;--tan:#e8d8bb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,serif}a{color:inherit}.reference{position:relative;width:100%;max-width:1536px;margin:auto;line-height:0}.reference img{width:100%;height:auto;display:block}.hotspot{position:absolute;display:block;z-index:2;line-height:1;cursor:pointer;border-radius:5px}.hotspot:focus-visible{outline:3px solid #f6b64e;background:#ffffff44}.hotspot:hover{background:#ffffff17}.mobile-nav{display:none;background:var(--cream);padding:14px 18px;gap:12px;flex-wrap:wrap;justify-content:center}.mobile-nav a{text-decoration:none;font-size:14px}section{padding:76px 7vw}section:nth-of-type(even){background:#eee6d7}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:#6e7058}.section-title{font-size:clamp(30px,4vw,52px);margin:10px 0 22px}.intro{max-width:760px;line-height:1.8;font-size:19px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.card{background:white;overflow:hidden;border-radius:7px;box-shadow:0 4px 15px #132a1a12}.card img{width:100%;height:260px;object-fit:cover;display:block}.card .content{padding:22px;line-height:1.6}.button{display:inline-block;background:var(--pine);color:white;text-decoration:none;padding:15px 25px;border-radius:4px;letter-spacing:.07em;font-size:13px;text-transform:uppercase}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;border-radius:8px;max-height:470px;object-fit:cover}blockquote{font-size:clamp(20px,2.3vw,32px);line-height:1.5;margin:24px 0;border-left:3px solid #a18d66;padding-left:24px}footer{background:var(--pine);color:white;padding:45px 7vw;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer a{margin-right:16px} @media(max-width:700px){.reference .hotspot{display:none}.mobile-nav{display:flex}section{padding:48px 6vw}.cards,.split{grid-template-columns:1fr}.card img{height:220px}}

/* Replaceable product-photo panel: separate from the untouched approved artwork. */
.soap-panel{position:absolute;z-index:1;left:58%;top:35%;width:36%;height:25%;overflow:hidden;line-height:normal;display:flex;align-items:center;justify-content:center;text-align:center;color:#f8f0dd;background:radial-gradient(ellipse at center,#827762 0%,#726c59 54%,rgba(77,78,61,.83) 75%,rgba(77,78,61,0) 100%);border-radius:14px;isolation:isolate;pointer-events:none}
.soap-panel:before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,rgba(251,232,192,.14),transparent 60%);z-index:2;pointer-events:none}
.soap-panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;display:none;mask-image:radial-gradient(ellipse 76% 76% at 50% 50%,black 56%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 76% 76% at 50% 50%,black 56%,transparent 100%)}
.soap-panel.has-photo img{display:block}
.soap-panel.has-photo .soap-panel-placeholder{display:none}
.soap-panel-placeholder{position:relative;z-index:1;padding:5%;max-width:95%;text-shadow:0 1px 5px #25302260}
.soap-panel-placeholder .tiny{font:clamp(7px,1vw,13px) Georgia,serif;letter-spacing:.2em;text-transform:uppercase}
.soap-panel-placeholder .large{font:italic clamp(16px,2.6vw,38px) Georgia,serif;margin:.3em 0}
.soap-panel-placeholder .small{font:clamp(8px,.95vw,14px) Georgia,serif;letter-spacing:.05em}
.photo-tools{max-width:1536px;margin:0 auto;background:#e8dfce;color:#203a2b;padding:13px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font:14px system-ui,sans-serif}
.photo-tools label{font-weight:650}.photo-tools input{max-width:250px}.photo-tools button{background:#244630;color:white;border:0;border-radius:5px;padding:9px 14px;cursor:pointer}.photo-tools .hint{font-size:12px;opacity:.8}
@media(max-width:700px){.soap-panel{left:57%;top:37%;width:40%;height:20%}.soap-panel-placeholder .small{display:none}.photo-tools{font-size:12px}}

/* Integrated Maine Made mark: part of the existing earth-tone product feature. */
.soap-panel{flex-direction:column;justify-content:flex-start;padding-bottom:0}
.soap-panel-placeholder{height:69%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2% 4%}
.maine-made-badge{position:absolute;z-index:4;bottom:0;left:0;right:0;height:34%;padding:1% 5%;display:flex;align-items:center;justify-content:center;gap:4%;background:linear-gradient(90deg,rgba(237,225,199,.93),rgba(247,239,220,.98) 40%,rgba(237,225,199,.93));border-top:1px solid rgba(71,67,45,.22);color:#284330;box-shadow:0 -5px 14px rgba(36,40,29,.09);line-height:1.15}
.maine-made-badge img{width:auto;height:88%;max-width:25%;object-fit:contain;mix-blend-mode:multiply}
.maine-made-badge p{font:italic clamp(10px,1.3vw,19px) Georgia,serif;margin:0;text-align:left;max-width:65%}
.soap-panel.has-photo > img#soapPhoto{height:70%;object-position:center}
/* Keep the official mark visible; photo-only rules must not affect it. */
.soap-panel .maine-made-badge img{display:block;position:static;inset:auto;width:auto;height:88%;max-width:25%;object-fit:contain;mask-image:none;-webkit-mask-image:none;mix-blend-mode:multiply}
.soap-panel.has-photo .maine-made-badge img{display:block;height:88%}
@media(max-width:700px){.maine-made-badge{height:40%;gap:3%;padding:1% 3%}.maine-made-badge img{max-width:27%}.maine-made-badge p{font-size:clamp(7px,1.5vw,11px)}.soap-panel-placeholder{height:60%}}

/* WordPress theme adjustments */
.admin-bar .reference{scroll-margin-top:32px}
.page-main{max-width:1080px;margin:0 auto;padding:60px 7vw;min-height:55vh;line-height:1.75}
.page-main h1{font-size:clamp(32px,4vw,54px)}
.page-main img{max-width:100%;height:auto}
.site-footer{background:var(--pine);color:white;padding:45px 7vw;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
.site-footer a{margin-right:16px}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto}
@media(max-width:700px){.reference{overflow:hidden}.reference img.approved-art{width:100%;height:auto}.soap-panel{left:57%;top:35%;width:40%;height:23%}}

/* v1.0.1: ensure the approved replaceable product feature renders above the hero art. */
.reference > .soap-panel{display:flex !important;visibility:visible;opacity:1;position:absolute;z-index:5;left:58%;top:35%;width:36%;height:25%;min-height:0;flex-direction:column;overflow:hidden;pointer-events:none}
.reference > .soap-panel .soap-panel-placeholder{display:flex;visibility:visible;opacity:1;position:relative;z-index:3;flex-direction:column;justify-content:center;align-items:center;width:100%;height:66%;padding:2% 4%}
.reference > .soap-panel .maine-made-badge{display:flex !important;visibility:visible;opacity:1;z-index:6;position:absolute;bottom:0;left:0;right:0;height:34%;align-items:center;justify-content:center}
.reference > .soap-panel .maine-made-badge img{display:block !important;visibility:visible;opacity:1;position:static !important;width:auto !important;height:88% !important;max-width:25% !important;object-fit:contain;mask-image:none !important;-webkit-mask-image:none !important}
.reference > .soap-panel .maine-made-badge p{display:block;visibility:visible;color:#284330}
.reference > .soap-panel.has-photo > .soap-panel-placeholder{display:none}
.reference > .soap-panel > img#soapPhoto{display:block;position:absolute;z-index:2;inset:0;width:100%;height:70%;object-fit:cover}
@media(max-width:700px){.reference > .soap-panel{left:57%;top:35%;width:40%;height:23%}.reference > .soap-panel .maine-made-badge{height:40%}.reference > .soap-panel .soap-panel-placeholder{height:60%}}

/* v1.0.2: restore normal text flow below the image-based hero.
   The hero's zero line-height is intentional for its image, but must not
   be inherited by the story, ingredients, reviews, and retail sections. */
.reference > section { line-height: 1.55; }
.reference > section .eyebrow { line-height: 1.5; }
.reference > section .section-title { line-height: 1.18; overflow-wrap: break-word; }
.reference > section h3 { line-height: 1.25; }
.reference > section p, .reference > section blockquote { line-height: 1.65; }
.reference > section .cards { align-items: stretch; }
@media (max-width:700px) {
 .reference > section .section-title { line-height: 1.2; }
}

/* v1.0.3: hero is a self-contained image-relative coordinate system. */
.reference {position:relative;display:block;line-height:0;isolation:isolate;}
.reference > img.approved-art {display:block;width:100%;height:auto;}
.reference > .soap-panel {position:absolute !important;left:58%;top:35%;width:36%;height:25%;margin:0;max-width:none;box-sizing:border-box;}
#main-content > section {line-height:1.55;}
#main-content > section .section-title {line-height:1.2;}
#main-content > section p {line-height:1.65;}
@media(max-width:700px){.reference > .soap-panel {left:57%;top:35%;width:40%;height:23%;}}


/* v1.0.4: WooCommerce shop and order confirmation layout only. */
.page-main {width:min(1180px, 100%);margin:0 auto;padding:clamp(24px,4vw,60px) clamp(16px,3vw,36px);line-height:1.55;}
.page-main .woocommerce {line-height:1.55;}
.page-main .woocommerce h1,.page-main .woocommerce h2,.page-main .woocommerce h3 {line-height:1.25;overflow-wrap:anywhere;}
.page-main .woocommerce p,.page-main .woocommerce li,.page-main .woocommerce address {line-height:1.55;}
.page-main .woocommerce-order {display:flow-root;min-width:0;}
.page-main .woocommerce-notice--success,.page-main .woocommerce-thankyou-order-received {display:block;clear:both;position:static;max-width:100%;margin:0 0 28px;padding:16px 20px;background:#e8eee5;border-left:4px solid #42694a;line-height:1.5;}
.page-main ul.woocommerce-order-overview {display:flex;flex-wrap:wrap;gap:12px 0;clear:both;max-width:100%;margin:0 0 30px;padding:18px;background:#fffaf1;border-radius:6px;list-style:none;}
.page-main ul.woocommerce-order-overview li {float:none;min-width:145px;margin:0 18px 0 0;padding:0 18px 0 0;line-height:1.5;overflow-wrap:anywhere;}
.page-main .woocommerce-order-details,.page-main .woocommerce-customer-details {clear:both;position:relative;margin-top:30px;}
.page-main .woocommerce-customer-details:after {content:"";display:block;clear:both;}
.page-main .woocommerce-columns--addresses {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;clear:both;}
.page-main .woocommerce-columns--addresses .woocommerce-column {float:none;width:auto;max-width:100%;min-width:0;margin:0;}
.page-main .woocommerce-customer-details address {height:auto;min-height:0;white-space:normal;overflow-wrap:anywhere;padding:20px;background:#fffaf1;border:1px solid #e2d6bf;border-radius:6px;}
.page-main .woocommerce ul.products {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;}
.page-main .woocommerce ul.products:before,.page-main .woocommerce ul.products:after {display:none;}
.page-main .woocommerce ul.products li.product {float:none;width:auto!important;margin:0!important;min-width:0;}
.page-main .woocommerce ul.products li.product img {aspect-ratio:1/1;object-fit:cover;border-radius:6px;}
.page-main .woocommerce ul.products li.product .woocommerce-loop-product__title {line-height:1.35;}
@media(max-width:800px){.page-main .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}.page-main .woocommerce-columns--addresses{grid-template-columns:1fr;}}
@media(max-width:480px){.page-main .woocommerce ul.products{grid-template-columns:1fr;}.page-main ul.woocommerce-order-overview{display:block;}.page-main ul.woocommerce-order-overview li{display:block;border:0;border-bottom:1px solid #e2d6bf;margin:0 0 12px;padding:0 0 12px;}}

/* v1.0.5: shared interior navigation; approved homepage is unchanged. */
.brookside-inner-header{background:#f7f2e6;color:#173d2a;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px clamp(18px,5vw,70px);border-bottom:1px solid #d8c9ac;flex-wrap:wrap}
.brookside-inner-brand{font-size:clamp(20px,2vw,27px);font-weight:bold;text-decoration:none;white-space:nowrap}
.brookside-inner-brand span{display:block;font-size:11px;font-weight:normal;text-transform:uppercase;letter-spacing:.17em;margin-top:4px}
.brookside-inner-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.brookside-inner-nav a{text-decoration:none;font-size:14px;line-height:1.5}
.brookside-inner-nav a:hover,.brookside-inner-nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){.brookside-inner-header{justify-content:center;text-align:center}.brookside-inner-nav{justify-content:center}}

/* v1.0.6: approved wording, unmodified original product photos and contact page. */
.brookside-top-tagline{position:absolute;z-index:4;left:0;top:0;width:100%;height:3.8%;background:#173d2a;color:#f7f2e6;display:flex;align-items:center;justify-content:center;text-align:center;font:clamp(8px,1.1vw,15px) Georgia,serif;letter-spacing:.10em;line-height:1.2;padding:0 12px}
.brookside-tile-photo{position:absolute;z-index:1;top:71.75%;height:20.25%;background:#f2e9d7;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
.brookside-tile-photo.best{left:3.25%;width:22.55%}
.brookside-tile-photo.seasonal{left:26.8%;width:22.65%}
.brookside-tile-photo.shave{left:50.55%;width:22.6%}
.brookside-tile-photo.gifts{left:74.35%;width:22.55%}
.brookside-tile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;max-width:none;max-height:none}
.reference > .soap-panel .soap-panel-placeholder .large{font-size:clamp(12px,2.15vw,30px);line-height:1.2;font-style:italic}
.reference > .soap-panel .soap-panel-placeholder .tiny:empty,.reference > .soap-panel .soap-panel-placeholder .small:empty{display:none}
.cards .card img{object-fit:contain;background:#f0e7d9}
.split img{object-fit:contain;background:#eee6d7}
.site-footer .brookside-copyright{flex-basis:100%;font:13px/1.5 Georgia,serif;color:#e5dac6;border-top:1px solid #ffffff35;padding-top:16px;margin-top:10px}
.brookside-contact-intro{max-width:730px;font-size:19px;line-height:1.7}
.brookside-contact-form{max-width:740px;display:grid;gap:10px;margin:24px 0 40px;font-family:Georgia,serif}
.brookside-contact-form label{font-weight:bold;margin-top:12px}
.brookside-contact-form input,.brookside-contact-form select,.brookside-contact-form textarea{width:100%;padding:14px;border:1px solid #b6aa90;border-radius:5px;background:#fffdfa;color:#193328;font:16px/1.4 system-ui,sans-serif}
.brookside-contact-form button{justify-self:start;border:0;background:#173d2a;color:white;border-radius:4px;padding:14px 27px;cursor:pointer;font:15px Georgia,serif;margin-top:12px}
.brookside-contact-form button:hover{background:#2d5941}
.brookside-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.brookside-form-success,.brookside-form-error{padding:14px 18px;border-left:4px solid #48734d;background:#e9efe7;max-width:740px}
.brookside-form-error{border-color:#9d4737;background:#fff0e8}


/* v1.0.8: Restore generous full-width homepage sections and edge-to-edge image panels.
   Do not alter the approved four hero shopping tiles or any source photographs. */
#main-content > section {width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px);}
#main-content > section .split {width:100%;max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,64px);}
#main-content > section .split > * {min-width:0;}
#main-content > section .split > img {display:block;width:100%;max-width:none;height:clamp(350px,36vw,600px);max-height:none;object-fit:cover;object-position:center;border-radius:8px;}
#main-content > section .cards {width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,32px);}
#main-content > section .cards .card {min-width:0;}
#main-content > section .cards .card img {display:block;width:100%;height:clamp(250px,29vw,440px);max-width:none;object-fit:cover;object-position:center;background:transparent;}
@media(max-width:760px){
 #main-content > section .split {grid-template-columns:minmax(0,1fr);}
 #main-content > section .split > img {height:auto;max-height:none;object-fit:contain;}
 #main-content > section .cards {grid-template-columns:minmax(0,1fr);}
 #main-content > section .cards .card img {height:auto;max-height:none;object-fit:contain;}
}

/* v1.0.9: Keep the hero Shop Our Soaps click target above decorative overlays. */
.reference > a.hotspot[aria-label="Shop our soaps"] {position:absolute;z-index:100!important;pointer-events:auto!important;display:block!important;}
@media(max-width:700px){.reference > a.hotspot[aria-label="Shop our soaps"]{display:block!important;}}

/* v1.0.10: Interior-page logo, cart and category-first shop layout. Homepage unchanged. */
.brookside-inner-header{gap:18px;flex-wrap:wrap}
.brookside-inner-brand{display:flex;align-items:center;gap:11px;white-space:normal;flex-shrink:0}
.brookside-inner-brand img{display:block;width:60px;height:60px;object-fit:contain}
.brookside-inner-brand .brookside-brand-words{display:block;font-size:clamp(17px,1.6vw,23px);line-height:1.1}
.brookside-inner-brand .brookside-brand-words small{display:block;font-size:10px;letter-spacing:.15em;font-weight:normal;text-transform:uppercase;margin-top:6px}
.brookside-cart-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font:600 14px/1.2 system-ui,sans-serif;white-space:nowrap;border:1px solid #b6b99d;border-radius:6px;padding:10px 12px}
.brookside-cart-link:hover,.brookside-cart-link:focus-visible{background:#e6eadc}
.brookside-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 5px;border-radius:20px;background:#173d2a;color:#fff;font-size:12px}
.brookside-shop-categories{clear:both;margin:0 0 27px;padding:20px 22px;background:#ede7d8;border:1px solid #d8c9ac;border-radius:8px}
.brookside-category-heading{display:block;font:600 18px/1.3 Georgia,serif;color:#173d2a;margin-bottom:13px}
.brookside-category-links{display:flex;flex-wrap:wrap;gap:9px}
.brookside-category-links a{display:inline-block;text-decoration:none;padding:9px 15px;border:1px solid #b9b49e;border-radius:4px;background:#fffdf7;color:#173d2a;font:500 13px/1.3 system-ui,sans-serif}
.brookside-category-links a:hover,.brookside-category-links a:focus-visible,.brookside-category-links a.is-active{background:#173d2a;color:#fff;border-color:#173d2a}
.page-main .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}
.page-main .woocommerce ul.products li.product .button{background:#173d2a;color:#fff;border-radius:4px;font-size:12px;line-height:1.3;text-align:center;padding:12px 14px}
.page-main .woocommerce ul.products li.product .button:hover{background:#2c5941}
@media(max-width:1100px){.brookside-inner-header{justify-content:center}.brookside-inner-nav{justify-content:center}}
@media(max-width:850px){.page-main .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.page-main .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.brookside-inner-brand img{width:48px;height:48px}.brookside-shop-categories{padding:16px 12px}.brookside-category-links a{padding:8px 10px}}

/* v1.0.11: Shop-only Fan Favorites carousel; homepage is untouched. */
.brookside-favorites{padding:22px 24px 26px!important;margin:0 0 25px;background:#f2eadb;border:1px solid #d8c9ac;border-radius:9px;max-width:100%}
.brookside-favorites-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}
.brookside-favorites-eyebrow{font:11px/1.5 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#667052}
.brookside-favorites-heading h2{margin:2px 0 0;font:normal clamp(25px,3vw,34px)/1.2 Georgia,serif;color:#173d2a}
.brookside-favorites-controls{display:flex;gap:7px}
.brookside-favorites-arrow{border:1px solid #aab29d;background:#fffdf7;color:#173d2a;border-radius:50%;height:37px;width:37px;cursor:pointer;font-size:19px}
.brookside-favorites-arrow:hover{background:#173d2a;color:white}
.brookside-favorites-track{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 13px}
.brookside-favorite-card{flex:0 0 clamp(170px,22%,240px);min-width:0;background:#fffdf7;border-radius:7px;overflow:hidden;scroll-snap-align:start;padding-bottom:13px}
.brookside-favorite-card>a:first-child{text-decoration:none;display:block}
.brookside-favorite-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.brookside-favorite-name{display:block;color:#173d2a;font:600 14px/1.4 Georgia,serif;padding:12px 13px 0}
.brookside-favorite-price{padding:7px 13px;color:#173d2a;font:14px/1.3 system-ui,sans-serif}
.brookside-favorite-view{display:inline-block;margin:4px 13px 0;padding:9px 12px;border-radius:4px;background:#173d2a;color:white;text-decoration:none;font:12px/1.2 system-ui,sans-serif}
@media(max-width:600px){.brookside-favorites{padding:17px 12px 20px!important}.brookside-favorite-card{flex-basis:66%}}

/* v1.0.12: Four visible favorites on wide screens, working scroll and basket action. */
.brookside-favorites-track{scroll-behavior:smooth;overscroll-behavior-x:contain;max-width:100%}
.brookside-favorite-card{flex:0 0 calc((100% - 51px)/4)}
.brookside-favorite-view.button{display:inline-block;letter-spacing:0;text-transform:none;font:600 12px/1.3 system-ui,sans-serif;padding:11px 12px;background:#173d2a;color:#fff;border-radius:4px}
.brookside-favorite-view:hover,.brookside-favorite-view:focus-visible{background:#2c5941;color:#fff}
@media(max-width:950px){.brookside-favorite-card{flex-basis:calc((100% - 34px)/3)}}
@media(max-width:700px){.brookside-favorite-card{flex-basis:calc((100% - 17px)/2)}}
@media(max-width:480px){.brookside-favorite-card{flex-basis:78%}}

/* v1.0.13: Soft sage feature backdrop, preserving approved homepage. */
.brookside-favorites{background:#e4e9db!important;border:1px solid #b9c6aa!important;box-shadow:0 5px 22px rgba(25,51,40,.07)}
.brookside-favorites-eyebrow{color:#566d4d}

/* v1.0.14: Hero Shop dropdown is a separate control, without changing the approved image. */
.brookside-hero-category-toggle{position:absolute;z-index:21;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:transparent;cursor:pointer;font-size:20px}
.brookside-hero-category-toggle:focus-visible{outline:2px solid #173d2a;background:#f7f2e6;color:#173d2a}
.brookside-hero-categories{position:absolute;z-index:30;left:19.4%;top:11.2%;width:25%;max-height:45%;overflow-y:auto;line-height:1.35;background:#fffdf7;box-shadow:0 8px 25px #162f2280;border:1px solid #bdc8b1;border-radius:5px;padding:7px 0}
.brookside-hero-categories[hidden]{display:none!important}
.brookside-hero-categories a{display:block;padding:9px 14px;font:600 clamp(11px,1.1vw,15px)/1.3 system-ui,sans-serif;color:#173d2a;text-decoration:none}
.brookside-hero-categories a:hover,.brookside-hero-categories a:focus{background:#e4e9db}
.brookside-favorites .brookside-favorite-view,.brookside-favorites .brookside-favorite-view.button,.brookside-favorites .brookside-favorite-view.button.add_to_cart_button{background:#173d2a!important;color:#fff!important;border-color:#173d2a!important}
.brookside-favorites .brookside-favorite-view:hover,.brookside-favorites .brookside-favorite-view.button:hover{background:#2c5941!important;color:#fff!important}
@media(max-width:700px){.brookside-hero-category-toggle,.brookside-hero-categories{display:none!important}}

/* v1.0.15: product subtitle, visible only when entered in the product editor. */
.brookside-product-subtitle{font-family:Georgia,serif;font-size:.9rem;line-height:1.45;color:#64725c;margin:.25rem 0 .65rem;font-style:italic}
.brookside-product-subtitle-single{font-size:1.12rem;margin:.2rem 0 1rem}
.brookside-favorite-subtitle{display:block;margin:.2rem 0 .6rem}

/* v1.0.16: Consistent category-aware shop navigation and in-place gallery. */
.brookside-shop-menu{display:inline-flex;align-items:center;gap:4px;position:relative}
.brookside-shop-dropdown{position:relative}
.brookside-shop-dropdown summary{list-style:none;cursor:pointer;padding:8px 7px;color:#173d2a;border-radius:4px}
.brookside-shop-dropdown summary::-webkit-details-marker{display:none}
.brookside-shop-dropdown summary:hover,.brookside-shop-dropdown summary:focus-visible{background:#e6eadc}
.brookside-shop-dropdown-panel{position:absolute;z-index:150;top:100%;left:-75px;width:230px;max-height:60vh;overflow-y:auto;background:#fffdf7;border:1px solid #d8c9ac;border-radius:6px;box-shadow:0 8px 24px #173d2a2b;padding:8px}
.brookside-shop-dropdown-panel a{display:block;padding:9px 10px;text-align:left;white-space:normal}
.brookside-product-return{margin:0 0 24px;font:600 14px/1.4 system-ui,sans-serif}
.brookside-product-return a{color:#173d2a;text-decoration:underline;text-underline-offset:4px}
.page-main .woocommerce-product-gallery .flex-control-thumbs img{cursor:pointer}
.page-main .woocommerce-product-gallery .flex-control-thumbs img:focus-visible{outline:3px solid #173d2a;outline-offset:2px}
@media(max-width:700px){.brookside-shop-dropdown-panel{left:auto;right:-45px}}

/* v1.0.17: Related products basket buttons. */
.woocommerce .related.products ul.products li.product a.button,
.woocommerce .related.products ul.products li.product a.add_to_cart_button {
 background:#173d2a!important;color:#fff!important;border:1px solid #173d2a!important;
 border-radius:4px!important;padding:11px 13px!important;font:600 12px/1.35 system-ui,sans-serif!important;
 text-transform:none!important;letter-spacing:0!important;text-align:center;
}
.woocommerce .related.products ul.products li.product a.button:hover,
.woocommerce .related.products ul.products li.product a.button:focus-visible {background:#2c5941!important;color:#fff!important;}

/* v1.0.19: Consistent Shop grid basket buttons. */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button {
 background:#173d2a!important;color:#fff!important;border:1px solid #173d2a!important;
 border-radius:4px!important;padding:11px 13px!important;font:600 12px/1.35 system-ui,sans-serif!important;
 text-transform:none!important;letter-spacing:0!important;text-align:center;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible {background:#2c5941!important;color:#fff!important;}
/* With fewer than four featured soaps, let the available cards fill the row. */
.brookside-favorites-track:has(.brookside-favorite-card:nth-child(3):last-child) .brookside-favorite-card{flex-basis:calc((100% - 34px)/3)}
.brookside-favorites-track:has(.brookside-favorite-card:nth-child(2):last-child) .brookside-favorite-card{flex-basis:calc((100% - 17px)/2)}
.brookside-favorites-track:has(.brookside-favorite-card:first-child:last-child) .brookside-favorite-card{flex-basis:100%}
@media(max-width:700px){.brookside-favorites-track:has(.brookside-favorite-card) .brookside-favorite-card{flex-basis:calc((100% - 17px)/2)}}
@media(max-width:480px){.brookside-favorites-track:has(.brookside-favorite-card) .brookside-favorite-card{flex-basis:78%}}

/* v1.0.20: force forest green across all WooCommerce shop/category/related cards. */
body.woocommerce-shop ul.products li.product a.button,
body.tax-product_cat ul.products li.product a.button,
body.single-product .related ul.products li.product a.button,
body.woocommerce ul.products li.product .brookside-basket-button,
body.woocommerce-page ul.products li.product .brookside-basket-button,
body.woocommerce-shop ul.products li.product a.add_to_cart_button,
body.tax-product_cat ul.products li.product a.add_to_cart_button {
 background-color:#173d2a!important;background-image:none!important;color:#fff!important;
 border:1px solid #173d2a!important;border-radius:5px!important;
 text-shadow:none!important;box-shadow:none!important;
}
body.woocommerce ul.products li.product a.button:hover,
body.woocommerce-page ul.products li.product a.button:hover{background-color:#2c5941!important;color:#fff!important}

/* v1.0.21: Crisp visual boundary under the existing approved hero artwork. */
.reference{border-bottom:3px solid #e8d8bb;}
/* Animation is managed by the carousel script for consistent timing. */
.brookside-favorites-track{scroll-behavior:auto!important;scroll-snap-type:none!important;}
.brookside-favorite-card{scroll-snap-align:none!important;}

/* v1.0.24 category wayfinding */
.brookside-category-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:0 0 22px;font:600 14px/1.6 system-ui,sans-serif;color:#254b36}
.brookside-category-breadcrumbs a{color:#173d2a;text-decoration:underline;text-underline-offset:3px}
.brookside-category-breadcrumbs [aria-current="page"]{font-weight:700}
.brookside-category-return{clear:both;margin:32px 0 28px;font:600 15px/1.6 system-ui,sans-serif}
.brookside-category-return a{color:#173d2a;text-decoration:underline;text-underline-offset:4px}
.brookside-category-breadcrumbs a:hover,.brookside-category-return a:hover{color:#426b45}


/* v1.0.25: Roomier basket layout, scoped to the cart page only. */
body.woocommerce-cart .page-main, body.woocommerce-cart .entry-content {max-width:1180px;width:min(94%,1180px);margin-left:auto;margin-right:auto}
body.woocommerce-cart .page-main .woocommerce {width:100%;max-width:none}
body.woocommerce-cart .wc-block-cart, body.woocommerce-cart .woocommerce-cart-form {font-size:15px}
body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name,
body.woocommerce-cart .woocommerce-cart-form .product-name a {font-size:16px;line-height:1.45;color:#173d2a}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {background:#173d2a!important;color:white!important;border-radius:5px}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {background:#2c5941!important}
