/*
Theme Name: BabyLeo
Theme URI: https://babyleo.ch
Author: BabyLeo
Description: Warmes, hochwertiges WooCommerce-Theme für Baby- und Mama-Essentials.
Version: 1.4.3
Text Domain: babyleo
*/

:root { --ink:#3d332a; --muted:#6f645a; --paper:#fbf8f3; --cream:#f2eadf; --sand:#d3b07c; --sun:#e5a83f; --sage:#778575; --line:#dfd2c2; --white:#fff; --radius:24px; --display:'Arial Rounded MT Bold','Trebuchet MS',sans-serif; --body:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; --text-xs:.8125rem; --text-sm:.9375rem; --text-base:clamp(1rem,.96rem + .18vw,1.125rem); --text-lead:clamp(1.0625rem,1rem + .24vw,1.25rem); --heading-1:clamp(3rem,5vw,4.75rem); --heading-2:clamp(2.25rem,3.7vw,3.75rem); --heading-3:clamp(1.25rem,1.1rem + .45vw,1.5rem); }
html:root { --bcl-checkout-ink:var(--ink); --bcl-checkout-muted:var(--muted); --bcl-checkout-line:rgba(61,51,42,.15); --bcl-checkout-accent:var(--sun); --bcl-checkout-success:var(--sage); --bcl-sidecart-ink:var(--ink); --bcl-sidecart-muted:var(--muted); --bcl-sidecart-line:rgba(61,51,42,.15); --bcl-sidecart-success:var(--sage); --bcl-sidecart-accent:var(--sun); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:100%; -webkit-text-size-adjust:100%; }
body { margin:0; color:var(--ink); background:var(--paper); font:var(--text-base)/1.65 var(--body); text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
h1,h2,h3,h4 { text-wrap:balance; }
p { text-wrap:pretty; }
.container { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.announcement { background:var(--sand); text-align:center; color:#42372c; font-size:var(--text-xs); line-height:1.45; font-weight:800; letter-spacing:.04em; padding:10px 20px; }
.sticky-header { position:sticky; top:0; z-index:100; box-shadow:0 8px 22px rgba(64,53,45,.06); }
.admin-bar .sticky-header { top:32px; }
.site-header { background:rgba(255,255,255,.97); border-bottom:1px solid #eee6dd; }
.header-row { min-height:78px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.menu-trigger,.header-icons { display:flex; align-items:center; gap:10px; font-size:var(--text-sm); font-weight:700; }
.menu-trigger { padding:0; border:0; color:inherit; background:transparent; cursor:pointer; }
.menu-trigger:before { content:'☰'; font-size:21px; font-weight:400; }
.menu-trigger:focus-visible,.mobile-menu-close:focus-visible,.mobile-menu-panel a:focus-visible { outline:3px solid rgba(229,168,63,.62); outline-offset:3px; }
.header-icons { justify-content:flex-end; gap:6px; }
.header-icons a { position:relative; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:var(--ink); transition:background-color .2s ease,color .2s ease,transform .2s ease; }
.header-icons a:hover { background:var(--cream); color:#795f40; transform:translateY(-1px); }
.header-icons a:focus-visible { outline:2px solid var(--sun); outline-offset:2px; }
.header-icons svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.header-icons .cart-count { position:absolute; right:-1px; top:-2px; display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border:2px solid #fff; border-radius:99px; color:#fff; background:var(--sun); font-size:.625rem; line-height:1; font-weight:800; }
.brand { display:grid; grid-template-columns:36px auto; align-items:center; gap:9px; font-family:var(--display); line-height:1; }
.brand-mark { width:36px; height:36px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; }
.brand-word { color:var(--ink); font-size:1.625rem; font-weight:800; letter-spacing:-.065em; text-transform:lowercase; }
.brand-word strong { color:#d5a24c; font-weight:800; }
.brand small { margin-top:4px; font:700 .625rem/1.2 var(--body); letter-spacing:.16em; text-transform:uppercase; }
body.bcl-native-checkout .bcl-checkout-logo { width:clamp(180px,15vw,240px); }
.bcl-checkout-brand { grid-template-columns:42px auto; gap:10px; }
.bcl-checkout-brand .brand-mark { width:42px; height:42px; }
body.bcl-native-checkout .bcl-checkout-logo .brand-mark { width:42px; height:42px; max-height:none; }
.bcl-checkout-brand .brand-word { font-size:1.75rem; }
.bcl-checkout-brand .brand-copy { min-width:0; }
.bcl-checkout-brand small { white-space:nowrap; }
body.bcl-native-checkout { background:var(--paper); }
body.bcl-native-checkout > .announcement,
body.bcl-native-checkout > .sticky-header,
body.bcl-native-checkout > .site-footer,
body.bcl-native-checkout .shop-heading { display:none !important; }
body.bcl-native-checkout > main.container { width:min(80vw,2000px); max-width:none; margin:0 auto; padding:48px 0 96px; }
body.bcl-native-checkout > main.container > .section-title { display:none; }
body.bcl-native-checkout .bcl-checkout-title { font-family:var(--display); letter-spacing:-.045em; }
body.bcl-native-checkout .wc-block-components-checkout-step { background:transparent; }
.primary-nav { background:#fff; border-bottom:1px solid #eee6dd; }
.primary-nav ul { margin:0; padding:0; min-height:52px; display:flex; align-items:center; justify-content:center; gap:clamp(24px,2.5vw,40px); list-style:none; font-size:var(--text-sm); line-height:1.4; font-weight:700; }
.primary-nav li:first-child a { color:#9b7950; }
.mobile-menu[hidden] { display:none; }
.mobile-menu { position:fixed; z-index:300; inset:0; }
.mobile-menu-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(36,28,21,.42); cursor:pointer; }
.mobile-menu-panel { position:relative; z-index:1; width:min(390px,calc(100% - 36px)); min-height:100%; padding:26px 24px 32px; background:var(--paper); box-shadow:18px 0 55px rgba(36,28,21,.2); }
.mobile-menu-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; font:var(--heading-3)/1 var(--display); letter-spacing:-.04em; }
.mobile-menu-close { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); font-size:2rem; line-height:1; cursor:pointer; }
.mobile-menu ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.mobile-menu li { border-bottom:1px solid var(--line); }
.mobile-menu li a { display:flex; align-items:center; min-height:59px; font-size:1.05rem; font-weight:800; }
.mobile-menu li a:after { margin-left:auto; color:#a58257; content:'→'; }
.mobile-menu-cart { width:100%; margin-top:28px; }
body.mobile-menu-open { overflow:hidden; }
.hero { position:relative; min-height:620px; display:flex; align-items:flex-end; overflow:hidden; background:#cdbfae; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,29,22,.68) 0%,rgba(38,29,22,.32) 38%,rgba(38,29,22,.02) 70%); }
.hero-content { position:relative; z-index:1; width:min(1180px, calc(100% - 48px)); margin:0 auto; color:#fff; padding:80px 0 120px; }
.hero h1 { max-width:760px; margin:0; font:var(--heading-1)/1.02 var(--display); letter-spacing:-.045em; }
.hero p { max-width:520px; margin:24px 0 32px; font-size:var(--text-lead); line-height:1.55; }
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 30px; border:0; border-radius:99px; background:var(--ink); color:#fff; font-size:var(--text-sm); line-height:1.2; font-weight:800; cursor:pointer; transition:.2s ease; }
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover { background:#66503a; color:#fff; transform:translateY(-1px); }
.wave { position:absolute; z-index:2; left:-3%; bottom:-1px; width:106%; height:96px; background:var(--paper); border-radius:50% 50% 0 0 / 100% 100% 0 0; transform:translateY(53px) rotate(-2deg); }
.section { padding:95px 0; }
.section-title { margin:0 0 42px; text-align:center; font:var(--heading-2)/1.05 var(--display); letter-spacing:-.045em; }
.section-intro { max-width:65ch; margin:-24px auto 42px; text-align:center; color:var(--muted); font-size:var(--text-lead); line-height:1.6; }
.category-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.category-card { min-height:310px; padding:18px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#f4ede4; position:relative; }
.category-card:before { content:''; position:absolute; inset:0; background-image:url('assets/baby-care-collection.png'); background-size:250% auto; opacity:.98; transition:transform .35s ease; }
.category-card:hover:before { transform:scale(1.06); }
.category-card:nth-child(1):before { background-position:0 70%; }.category-card:nth-child(2):before{ background-position:50% 50%; }.category-card:nth-child(3):before{ background-position:30% 50%; }.category-card:nth-child(4):before{ background-position:0 100%; }.category-card:nth-child(5):before{ background-position:100% 20%; }
.category-card .card-copy { position:relative; z-index:1; padding:14px; border-radius:16px; background:rgba(255,252,248,.89); backdrop-filter:blur(5px); }
.category-card span { color:var(--muted); font-size:var(--text-xs); line-height:1.45; font-weight:700; }.category-card h3 { margin:5px 0 0; font:var(--heading-3)/1.1 var(--display); letter-spacing:-.04em; }.category-card .arrow { float:right; display:grid; place-items:center; margin-top:-25px; width:30px; height:30px; border-radius:50%; background:var(--sun); color:#fff; font-size:1rem; }
.feature-split { display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; background:#e7ddd0; border-radius:30px; }
.feature-split .feature-image { min-height:530px; background:url('assets/baby-care-collection.png') center/cover no-repeat; }.feature-copy { align-self:center; padding:clamp(40px,7vw,105px); }.feature-copy h2 { margin:0 0 20px; font:var(--heading-2)/1.04 var(--display); letter-spacing:-.05em; }.feature-copy p { max-width:48ch; color:#645a50; font-size:var(--text-lead); line-height:1.6; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.product-card { padding:14px; border:1px solid var(--line); border-radius:20px; background:#fff; }.product-photo { height:230px; border-radius:14px; background:#fff url('assets/baby-care-collection.png') center/contain no-repeat; }.product-card:nth-child(2) .product-photo{background-position:38% 48%}.product-card:nth-child(3) .product-photo{background-position:14% 80%}.product-card:nth-child(4) .product-photo{background-position:93% 25%}.product-meta { display:flex; justify-content:space-between; gap:15px; margin-top:16px; color:var(--muted); font-size:var(--text-xs); line-height:1.45; font-weight:700; }.product-card h3 { margin:8px 0 11px; font:clamp(1.125rem,1rem + .35vw,1.375rem)/1.2 var(--display); letter-spacing:-.03em; }.price { font-size:1.125rem; line-height:1.3; font-weight:800; }.product-card .add { width:100%; margin-top:14px; min-height:48px; background:#f2eadf; color:var(--ink); }.product-card .add:hover { background:var(--sand); }
.promise-band { background:var(--sage); color:#fff; }.promises { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; text-align:center; }.promise-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 14px; border:1px solid rgba(255,255,255,.5); border-radius:50%; font-size:1.375rem; }.promises h3 { margin:0 0 8px; font:var(--heading-3)/1.15 var(--display); }.promises p { max-width:34ch; margin:0 auto; color:#edf0e8; font-size:var(--text-sm); line-height:1.6; }
.newsletter { padding:90px 0; text-align:center; }.newsletter h2 { margin:0; font:var(--heading-2)/1.05 var(--display); letter-spacing:-.045em; }.newsletter p { color:var(--muted); font-size:var(--text-lead); line-height:1.6; }.newsletter form { display:flex; max-width:520px; margin:28px auto 0; padding:5px; border:1px solid var(--line); border-radius:99px; background:#fff; }.newsletter input { min-width:0; flex:1; border:0; outline:0; padding:0 18px; color:var(--ink); font-size:1rem; }.newsletter button { border:0; }
.site-footer { padding:58px 0 28px; background:#3c332b; color:#f5eee5; }.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:30px; }.site-footer .brand-word { color:#fff; }.site-footer .brand small { color:#cfc3b6; }.site-footer p,.site-footer li { color:#d8cec4; font-size:var(--text-sm); line-height:1.65; }.site-footer ul { list-style:none; padding:0; margin:0; }.site-footer li+li { margin-top:10px; }.site-footer h4 { margin:0 0 14px; font-size:var(--text-xs); line-height:1.4; text-transform:uppercase; letter-spacing:.1em; }.footer-bottom { margin-top:46px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); color:#c8baad; font-size:var(--text-xs); line-height:1.5; display:flex; justify-content:space-between; }
.footer-legal a { color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); text-underline-offset:3px; }
.footer-legal a:hover { text-decoration-color:#fff; }
.legal-page { width:min(880px,calc(100% - 48px)); padding-top:clamp(64px,8vw,110px); padding-bottom:clamp(80px,10vw,140px); }
.legal-page .section-title { margin-bottom:28px; text-align:left; }
.legal-content { color:var(--muted); }
.legal-card { padding:clamp(28px,5vw,58px); border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 18px 50px rgba(64,53,45,.06); }
.legal-intro { max-width:62ch; margin:0 0 34px; color:var(--ink); font-size:var(--text-lead); line-height:1.6; }
.legal-section { padding:28px 0; border-top:1px solid var(--line); }
.legal-section:first-of-type { border-top:0; padding-top:0; }
.legal-section:last-child { padding-bottom:0; }
.legal-section h2 { margin:0 0 12px; color:var(--ink); font:var(--heading-3)/1.2 var(--display); letter-spacing:-.025em; }
.legal-section p,.legal-section address { max-width:68ch; margin:0; font-size:1rem; line-height:1.75; }
.legal-section p+p { margin-top:14px; }
.legal-section address { color:var(--ink); font-style:normal; }
.legal-section a { color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-color:var(--sand); text-underline-offset:3px; }
.legal-meta { margin-top:34px; font-size:var(--text-xs); line-height:1.5; }
.woocommerce .woocommerce-breadcrumb { margin:28px 0; font-size:var(--text-xs); line-height:1.5; color:var(--muted); }.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:0; }.woocommerce ul.products:before,.woocommerce ul.products:after { display:none; }.woocommerce ul.products li.product { width:auto; margin:0; padding:14px; border:1px solid var(--line); border-radius:20px; background:#fff; }.woocommerce ul.products li.product a img { display:block; width:100%; height:230px; margin:0; padding:8px; object-fit:contain; border-radius:14px; background:#fff; }.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:7px 0 0; color:var(--ink); font:clamp(1.125rem,1rem + .35vw,1.375rem)/1.2 var(--display); letter-spacing:-.03em; }.woocommerce ul.products li.product .price { color:var(--ink); font-size:1.125rem; line-height:1.3; font-weight:800; }.woocommerce ul.products li.product .button { width:100%; min-height:48px; margin-top:12px; background:#f2eadf; color:var(--ink); }.shop-heading { padding:60px 0 36px; text-align:center; }.shop-heading h1 { margin:0; font:var(--heading-2)/1.05 var(--display); letter-spacing:-.05em; }.shop-heading p { max-width:65ch; margin:14px auto 0; color:var(--muted); font-size:var(--text-lead); line-height:1.6; }
.woocommerce div.product { display:grid; grid-template-columns:1fr 1fr; gap:7%; padding:52px 0 100px; }.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none; width:auto; margin:0; }.woocommerce div.product div.images img { border-radius:25px; background:#fff; }.woocommerce div.product .product_title { font:var(--heading-2)/1.05 var(--display); letter-spacing:-.05em; }.woocommerce div.product p.price { color:var(--ink); font-size:clamp(1.5rem,1.35rem + .5vw,1.875rem); line-height:1.3; font-weight:800; }.woocommerce div.product .woocommerce-product-details__short-description,.woocommerce div.product .woocommerce-Tabs-panel { color:var(--muted); font-size:var(--text-base); line-height:1.65; }.woocommerce div.product form.cart { display:flex; gap:12px; align-items:center; }.woocommerce .quantity .qty { min-height:52px; width:72px; border:1px solid var(--line); border-radius:99px; background:#fff; font-size:1rem; }.woocommerce div.product .stock { color:#4b7d47; font-size:var(--text-sm); line-height:1.5; font-weight:700; }.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }.woocommerce div.product .woocommerce-tabs ul.tabs:before { border-color:var(--line); }.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color:var(--line); border-radius:13px 13px 0 0; background:#f2eadf; font-size:var(--text-sm); line-height:1.45; }.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:#fff; }.woocommerce span.onsale { min-height:unset; min-width:unset; padding:7px 11px; border-radius:99px; background:var(--sun); font-size:var(--text-xs); line-height:1.3; }.woocommerce form .form-row label,.woocommerce table.shop_table,.woocommerce .cart_totals,.woocommerce .woocommerce-MyAccount-content { font-size:1rem; line-height:1.6; }.woocommerce input.input-text,.woocommerce textarea,.woocommerce select { min-height:48px; font-size:1rem; }
@media (max-width:900px){ .primary-nav { display:none; }.category-grid { grid-template-columns:repeat(3,1fr); }.category-card { min-height:260px; }.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.feature-split{grid-template-columns:1fr}.feature-split .feature-image{min-height:360px}.footer-grid{grid-template-columns:repeat(2,1fr)}.woocommerce div.product{grid-template-columns:1fr;gap:30px}.hero{min-height:560px} }
@media (max-width:782px){ .admin-bar .sticky-header { top:46px; } }
@media (max-width:600px){ .container,.hero-content{width:min(100% - 32px,1180px)}.announcement{font-size:.75rem;padding:9px 14px}.header-row{min-height:68px}.menu-trigger{font-size:0}.menu-trigger:before{font-size:1.5rem}.header-icons{gap:2px}.header-icons a{width:40px;height:40px}.header-icons a:first-child{display:none}.brand{grid-template-columns:34px auto;gap:7px}.brand-mark{width:34px;height:34px}.brand-word{font-size:1.375rem}.brand small{font-size:.625rem;letter-spacing:.14em}.hero{min-height:610px}.hero:after{background:linear-gradient(90deg,rgba(38,29,22,.72),rgba(38,29,22,.14))}.hero-content{padding-bottom:96px}.hero h1{max-width:10ch;font-size:clamp(2.75rem,13vw,3.5rem);line-height:1}.hero p{max-width:34ch;font-size:1.0625rem;line-height:1.6}.section{padding:72px 0}.section-title{font-size:clamp(2.25rem,10vw,3rem)}.section-intro{font-size:1.0625rem}.category-grid{grid-template-columns:repeat(2,1fr);gap:12px}.category-card{min-height:225px;padding:10px}.category-card h3{font-size:1.25rem}.category-card:last-child{grid-column:span 2;min-height:240px}.product-grid,.woocommerce ul.products{gap:14px}.product-card,.woocommerce ul.products li.product{padding:12px;border-radius:17px}.product-photo,.woocommerce ul.products li.product a img{height:190px}.product-card h3,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.125rem}.product-card .add{padding:0 14px;font-size:.875rem}.promises{grid-template-columns:1fr;gap:32px}.newsletter{padding:70px 0}.newsletter form{margin-top:22px}.newsletter button{min-height:48px;padding:0 18px;font-size:.875rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span+span{display:block;margin-top:10px}.woocommerce div.product{padding:26px 0 68px}.woocommerce div.product .product_title{font-size:clamp(2.25rem,10vw,3rem)} }
@media (max-width:720px){body.bcl-native-checkout > main.container{width:min(100% - 32px,2000px);padding:22px 0 64px}body.bcl-native-checkout .bcl-checkout-logo{width:92px}.bcl-checkout-brand{grid-template-columns:28px auto;gap:6px}.bcl-checkout-brand .brand-mark{width:28px;height:28px}.bcl-checkout-brand .brand-word{font-size:1.1rem}.bcl-checkout-brand small{display:none}}
@media (max-width:420px){ .category-grid,.product-grid,.woocommerce ul.products{grid-template-columns:1fr}.category-card,.category-card:last-child{grid-column:auto;min-height:270px}.product-photo,.woocommerce ul.products li.product a img{height:260px}.newsletter form{display:grid;border-radius:24px}.newsletter input{min-height:52px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto} }
@media (max-width:600px){ .legal-page{width:min(100% - 32px,880px);padding-top:56px}.legal-card{padding:26px 22px}.legal-section{padding:24px 0}.legal-page .section-title{margin-bottom:22px} }

/* BabyLeo product page 2026 */
.single-product main.container { width:min(1280px,calc(100% - 48px)); }
.bl-product { padding:24px 0 88px; }
.bl-product-breadcrumb .woocommerce-breadcrumb { margin:0 0 24px; color:#87796d; font-size:.8125rem; }
.bl-product-breadcrumb .woocommerce-breadcrumb a:hover { color:#9b7950; }
.bl-product-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); gap:clamp(38px,5vw,72px); align-items:start; }
.bl-product-gallery { min-width:0; }
.bl-product .woocommerce-product-gallery { float:none!important; width:100%!important; margin:0!important; }
.bl-product .woocommerce-product-gallery__wrapper { margin:0; }
.bl-product .woocommerce-product-gallery__image:first-child { display:grid!important; place-items:center; min-height:600px; overflow:hidden; border:1px solid #eadfd3; border-radius:22px; background:#f6f2ed; }
.bl-product .woocommerce-product-gallery__image:first-child a { display:grid; width:100%; height:100%; place-items:center; }
.bl-product .woocommerce-product-gallery__image:first-child img { width:100%!important; height:600px!important; margin:0!important; object-fit:contain; border-radius:0!important; background:#fff!important; }
.bl-product .flex-control-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:14px 0 0!important; padding:0!important; list-style:none; }
.bl-product .flex-control-thumbs li { float:none!important; width:auto!important; margin:0!important; }
.bl-product .flex-control-thumbs img { width:100%!important; height:98px!important; padding:5px; object-fit:contain; border:1px solid transparent; border-radius:13px!important; background:#fff!important; opacity:.72; transition:border-color .2s ease,opacity .2s ease,transform .2s ease; }
.bl-product .flex-control-thumbs img:hover,.bl-product .flex-control-thumbs img.flex-active { border-color:#c89a55; opacity:1; transform:translateY(-1px); }
.bl-product .woocommerce-product-gallery__trigger { top:16px!important; right:16px!important; z-index:4!important; display:grid!important; place-items:center; width:46px!important; height:46px!important; border:1px solid #e2d4c3; border-radius:50%!important; background:#fff!important; box-shadow:0 8px 22px rgba(61,51,42,.09); }
.bl-product .woocommerce-product-gallery__trigger:before { top:13px!important; left:13px!important; border-color:var(--ink)!important; }
.bl-product .woocommerce-product-gallery__trigger:after { top:27px!important; left:28px!important; background:var(--ink)!important; }
.bl-buy-panel { position:sticky; top:190px; min-width:0; padding-top:4px; }
.admin-bar .bl-buy-panel { top:222px; }
.bl-product-brand { margin:0 0 8px; color:#9b7950; font-size:.8125rem; line-height:1.4; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bl-buy-panel .product_title { max-width:16ch; margin:0 0 18px; font:clamp(2rem,3.1vw,3.25rem)/1.05 var(--display); letter-spacing:-.05em; }
.bl-product-price { display:flex; align-items:baseline; gap:8px; margin-bottom:18px; color:var(--ink); font-size:clamp(1.55rem,2vw,2rem); line-height:1.2; font-weight:800; }
.bl-product-price .woocommerce-Price-amount { font:inherit; }
.bl-product-price small { color:var(--muted); font-size:.875rem; font-weight:700; }
.bl-availability { display:flex; align-items:center; gap:9px; margin-bottom:13px; font-size:.9375rem; font-weight:750; }
.bl-status-dot { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:#69b850; box-shadow:0 0 0 4px rgba(105,184,80,.12); }
.bl-availability.is-out-of-stock { color:#9b3d32; }
.bl-availability.is-out-of-stock .bl-status-dot { background:#b6574b; box-shadow:0 0 0 4px rgba(182,87,75,.12); }
.bl-purchase-facts { display:grid; gap:10px; padding-bottom:22px; border-bottom:1px solid #e9dfd4; }
.bl-purchase-facts>div { display:flex; align-items:flex-start; gap:10px; color:#554a41; font-size:.9375rem; line-height:1.45; }
.bl-purchase-facts svg,.bl-trust-row svg { width:22px; height:22px; flex:0 0 auto; fill:none; stroke:#ad7c38; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bl-linked-selector { margin-top:22px; }
.bl-selector-label { margin-bottom:9px; font-size:.9375rem; }
.bl-selector-options { display:flex; flex-wrap:wrap; gap:9px; }
.bl-selector-option { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:54px; min-height:46px; padding:8px 15px; border:1px solid #decebb; border-radius:11px; background:#fff; color:var(--ink); font-size:.9375rem; font-weight:750; transition:.18s ease; }
.bl-selector-option:hover { border-color:#a8793f; transform:translateY(-1px); }
.bl-selector-option:focus-visible { outline:3px solid rgba(229,168,63,.34); outline-offset:2px; }
.bl-selector-option.is-selected { border-color:var(--ink); background:var(--ink); color:#fff; box-shadow:0 0 0 2px #fff,0 0 0 4px #c99b57; }
.bl-selector-option.is-unavailable:after { position:absolute; inset:auto 7px 7px; height:1px; background:#a98f77; content:''; transform:rotate(-28deg); transform-origin:center; }
.bl-short-description { margin:20px 0 0; color:var(--muted); font-size:.9375rem; line-height:1.6; }
.bl-short-description p { margin:0; }
.bl-cart-wrap { margin-top:22px; }
.bl-cart-wrap form.cart { display:grid!important; grid-template-columns:140px minmax(0,1fr); gap:12px; margin:0!important; }
.bl-cart-wrap .quantity { display:grid!important; grid-template-columns:42px minmax(40px,1fr) 42px; align-items:center; min-height:56px; margin:0!important; overflow:hidden; border:1px solid #ddcebd; border-radius:13px; background:#fff; }
.bl-cart-wrap .quantity .qty { width:100%!important; min-height:54px!important; padding:0!important; border:0!important; border-radius:0!important; appearance:textfield; text-align:center; background:transparent!important; color:var(--ink); font-weight:800; }
.bl-cart-wrap .quantity .qty::-webkit-inner-spin-button,.bl-cart-wrap .quantity .qty::-webkit-outer-spin-button { appearance:none; margin:0; }
.bl-qty-button { display:grid; place-items:center; width:42px; height:54px; padding:0; border:0; background:transparent; color:var(--ink); font-size:1.25rem; cursor:pointer; }
.bl-qty-button:hover { background:var(--cream); }
.bl-qty-button:focus-visible { outline:2px solid var(--sun); outline-offset:-3px; }
.bl-cart-wrap .single_add_to_cart_button,.bl-cart-wrap .wc_bis_form__button { width:100%; min-height:56px!important; border-radius:13px!important; background:var(--ink)!important; color:#fff!important; font-size:1rem!important; }
.bl-cart-wrap .wc_bis_form { grid-column:1/-1; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.bl-cart-wrap .wc_bis_form__form { display:grid; gap:10px; }
.bl-cart-wrap .wc_bis_form__form input[type=email] { min-height:48px; padding:0 14px; border:1px solid var(--line); border-radius:10px; }
.bl-cart-wrap form.cart>.stock { display:none; }
.bl-trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid #e9dfd4; }
.bl-trust-row>div { display:flex; align-items:flex-start; gap:8px; min-width:0; }
.bl-trust-row span { display:flex; flex-direction:column; color:var(--muted); font-size:.72rem; line-height:1.4; }
.bl-trust-row strong { margin-bottom:2px; color:var(--ink); font-size:.75rem; }
.bl-product-content { margin-top:72px; overflow:hidden; border:1px solid #e7dccf; border-radius:20px; background:#fff; }
.bl-product-section { border-top:1px solid #eadfd4; }
.bl-product-section:first-child { border-top:0; }
.bl-product-section>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:78px; padding:20px 30px; cursor:pointer; list-style:none; font:clamp(1.15rem,1rem + .4vw,1.4rem)/1.25 var(--display); }
.bl-product-section>summary::-webkit-details-marker,.bl-faq-list summary::-webkit-details-marker { display:none; }
.bl-product-section>summary:focus-visible { outline:3px solid rgba(229,168,63,.32); outline-offset:-3px; }
.bl-chevron { width:11px; height:11px; flex:0 0 auto; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-3px); transition:transform .2s ease; }
.bl-product-section[open]>summary .bl-chevron { transform:rotate(225deg) translate(-2px,-1px); }
.bl-section-body { padding:0 30px 30px; color:var(--muted); font-size:1rem; line-height:1.7; }
.bl-prose>*:first-child,.bl-section-body>*:first-child { margin-top:0; }
.bl-prose>*:last-child,.bl-section-body>*:last-child { margin-bottom:0; }
.bl-prose ul { padding-left:1.25em; }
.bl-prose a,.bl-section-body a { color:#765526; font-weight:750; text-decoration:underline; text-decoration-color:#d8b57b; text-underline-offset:3px; }
.bl-spec-table { width:100%; border-collapse:collapse; color:var(--ink); }
.bl-spec-table tr { border-top:1px solid #eee5dc; }
.bl-spec-table tr:first-child { border-top:0; }
.bl-spec-table th,.bl-spec-table td { padding:11px 0; text-align:left; vertical-align:top; font-size:.9375rem; line-height:1.5; }
.bl-spec-table th { width:38%; padding-right:24px; color:var(--muted); font-weight:650; }
.bl-source-note { margin:20px 0 0; color:#8a7c70; font-size:.8125rem; }
.bl-document-list { margin:20px 0 0; padding-left:1.2em; }
.bl-faq-list { display:grid; gap:0; }
.bl-faq-list details { border-top:1px solid #eee5dc; }
.bl-faq-list details:first-child { border-top:0; }
.bl-faq-list summary { padding:15px 0; color:var(--ink); cursor:pointer; font-weight:750; }
.bl-faq-list p { margin:0 0 16px; }
.bl-related-products { margin-top:70px; }
.bl-related-products .related>h2 { margin:0 0 28px; font:clamp(1.8rem,2.5vw,2.5rem)/1.1 var(--display); letter-spacing:-.04em; }
.bl-related-products .woocommerce ul.products,.bl-related-products ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bl-sticky-buy { position:fixed; z-index:120; left:50%; bottom:18px; width:min(840px,calc(100% - 32px)); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 12px 10px 14px; border:1px solid #dfd1c0; border-radius:18px; background:rgba(255,255,255,.97); box-shadow:0 18px 55px rgba(47,35,25,.2); opacity:0; pointer-events:none; transform:translate(-50%,calc(100% + 40px)); transition:opacity .2s ease,transform .25s ease; backdrop-filter:blur(12px); }
.bl-sticky-buy.is-visible { opacity:1; pointer-events:auto; transform:translate(-50%,0); }
.bl-sticky-buy-visible .wjpc-reopen { bottom:104px!important; }
.bl-sticky-product { display:flex; align-items:center; gap:12px; min-width:0; }
.bl-sticky-product>img { width:54px; height:54px; flex:0 0 auto; object-fit:contain; border-radius:10px; background:#fff; }
.bl-sticky-product>span { display:flex; min-width:0; flex-direction:column; font-size:.8125rem; line-height:1.35; }
.bl-sticky-product strong { max-width:34ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.875rem; }
.bl-sticky-add { min-width:210px; border-radius:12px!important; }

@media (max-width:1020px) {
  .bl-product-hero { grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); gap:34px; }
  .bl-product .woocommerce-product-gallery__image:first-child,.bl-product .woocommerce-product-gallery__image:first-child img { min-height:500px; height:500px!important; }
  .bl-buy-panel { top:176px; }
  .bl-trust-row { grid-template-columns:1fr; }
}

@media (max-width:820px) {
  .single-product main.container { width:min(100% - 32px,1280px); }
  .bl-product { padding-top:18px; padding-bottom:68px; }
  .bl-product-breadcrumb { display:none; }
  .bl-product-hero { grid-template-columns:1fr; gap:28px; }
  .bl-buy-panel { position:static; padding:0; }
  .bl-buy-panel .product_title { max-width:24ch; font-size:clamp(2rem,7vw,3rem); }
  .bl-product .woocommerce-product-gallery__image:first-child,.bl-product .woocommerce-product-gallery__image:first-child img { min-height:0; height:min(86vw,610px)!important; }
  .bl-product .flex-control-thumbs { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .bl-product .flex-control-thumbs::-webkit-scrollbar { display:none; }
  .bl-product .flex-control-thumbs li { flex:0 0 84px; scroll-snap-align:start; }
  .bl-product .flex-control-thumbs img { height:84px!important; }
  .bl-short-description { font-size:1rem; }
  .bl-trust-row { grid-template-columns:repeat(3,1fr); }
  .bl-product-content { margin-top:48px; }
  .bl-related-products .woocommerce ul.products,.bl-related-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:600px) {
  .single-product .announcement { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bl-product { padding-top:12px; }
  .bl-product .woocommerce-product-gallery__image:first-child { border-radius:17px; }
  .bl-product .woocommerce-product-gallery__image:first-child,.bl-product .woocommerce-product-gallery__image:first-child img { height:calc(100vw - 32px)!important; max-height:520px; }
  .bl-product .flex-control-thumbs li { flex-basis:72px; }
  .bl-product .flex-control-thumbs img { height:72px!important; border-radius:10px!important; }
  .bl-buy-panel .product_title { margin-bottom:13px; font-size:clamp(1.85rem,9vw,2.45rem); }
  .bl-product-price { margin-bottom:15px; font-size:1.6rem; }
  .bl-product-price small { font-size:.8125rem; }
  .bl-purchase-facts>div { font-size:.9375rem; }
  .bl-selector-option { min-width:52px; min-height:46px; }
  .bl-cart-wrap form.cart { grid-template-columns:122px minmax(0,1fr); }
  .bl-cart-wrap .quantity { grid-template-columns:36px minmax(38px,1fr) 36px; }
  .bl-qty-button { width:36px; }
  .bl-cart-wrap .single_add_to_cart_button { padding:0 16px!important; }
  .bl-trust-row { grid-template-columns:1fr; gap:14px; }
  .bl-trust-row span { font-size:.8125rem; }
  .bl-trust-row strong { font-size:.875rem; }
  .bl-product-content { margin-right:-16px; margin-left:-16px; border-right:0; border-left:0; border-radius:0; }
  .bl-product-section>summary { min-height:68px; padding:16px 20px; }
  .bl-section-body { padding:0 20px 24px; }
  .bl-spec-table th,.bl-spec-table td { display:block; width:100%; padding:7px 0; }
  .bl-spec-table th { padding-bottom:0; }
  .bl-spec-table td { padding-top:2px; }
  .bl-related-products { margin-top:48px; }
  .bl-related-products .woocommerce ul.products,.bl-related-products ul.products { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .bl-related-products .woocommerce ul.products::-webkit-scrollbar,.bl-related-products ul.products::-webkit-scrollbar { display:none; }
  .bl-related-products .woocommerce ul.products li.product,.bl-related-products ul.products li.product { flex:0 0 74vw; scroll-snap-align:start; }
  .bl-sticky-buy { bottom:8px; gap:10px; padding:8px; border-radius:14px; }
  .bl-sticky-buy-visible .wjpc-reopen { bottom:90px!important; }
  .bl-sticky-product>img { width:46px; height:46px; }
  .bl-sticky-product strong { max-width:18ch; }
  .bl-sticky-product>span>span { font-size:.75rem; }
  .bl-sticky-add { min-width:148px; min-height:50px!important; padding:0 14px!important; font-size:.875rem!important; }
}

@media (max-width:390px) {
  .bl-cart-wrap form.cart { grid-template-columns:1fr; }
  .bl-cart-wrap .quantity { width:138px; }
  .bl-sticky-product strong { display:none; }
  .bl-sticky-product>span>span { font-weight:800; }
}

@media (prefers-reduced-motion:reduce) {
  .bl-sticky-buy,.bl-selector-option,.bl-product .flex-control-thumbs img { transition:none; }
}
