/*
Theme Name: Shop Prototype
Description: A responsive, product-neutral WooCommerce storefront prototype.
Version: 1.4.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: shop-prototype
*/
:root { --shop-ink:#17221e; --shop-muted:#65716b; --shop-paper:#f7f8f4; --shop-white:#fff; --shop-green:#246b52; --shop-green-dark:#194d3b; --shop-line:#e2e7e1; --shop-radius:18px; --shop-width:1180px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--shop-ink); background:var(--shop-paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; }
img { max-width:100%; height:auto; }
.site-shell { min-height:100vh; display:flex; flex-direction:column; }
.site-main { flex:1; }
.wrap { width:min(calc(100% - 40px),var(--shop-width)); margin-inline:auto; }
.skip-link { position:absolute; left:-9999px; top:0; z-index:20; padding:12px; background:white; }
.skip-link:focus { left:12px; }
.announcement { padding:8px 16px; color:white; background:var(--shop-green-dark); text-align:center; font-size:.82rem; }
.site-header { position:relative; z-index:5; background:var(--shop-white); border-bottom:1px solid var(--shop-line); }
.header-row { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.site-brand { display:inline-flex; align-items:center; gap:10px; font-size:1.22rem; font-weight:750; letter-spacing:-.04em; text-decoration:none; }
.site-brand img { width:auto; max-height:42px; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; color:white; background:var(--shop-green); font-size:.9rem; }
.primary-nav ul { display:flex; gap:28px; margin:0; padding:0; list-style:none; }
.primary-nav a { font-size:.92rem; font-weight:600; text-decoration:none; }
.primary-nav a:hover,.header-action:hover { color:var(--shop-green); }
.header-actions { display:flex; gap:18px; align-items:center; }
.header-action { font-size:.9rem; font-weight:650; text-decoration:none; }
.hero { padding:60px 0 32px; }
.hero-panel { min-height:400px; position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; border-radius:28px; background:#e6eee6; }
.hero-copy { padding:clamp(32px,6vw,78px); }
.eyebrow { margin:0 0 14px; color:var(--shop-green); font-size:.78rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.hero h1 { max-width:600px; margin:0; font-size:clamp(2.5rem,5.5vw,4.8rem); line-height:.99; letter-spacing:-.065em; }
.hero-text { max-width:480px; margin:22px 0 28px; color:#4e5e55; font-size:1.05rem; }
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:0 22px; border:0; border-radius:999px; color:white; background:var(--shop-green); font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { color:white; background:var(--shop-green-dark); }
.hero-art { min-height:400px; display:grid; place-items:center; padding:30px; }
.art-card { width:min(75%,330px); aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(23,34,30,.08); border-radius:30px; background:rgba(255,255,255,.68); box-shadow:0 26px 60px rgba(30,64,48,.12); color:#6a806f; text-align:center; }
.art-card img { width:100%; height:100%; object-fit:cover; }
.art-placeholder { padding:25px; }
.art-placeholder span { display:block; margin-bottom:12px; font-size:3.5rem; line-height:1; }
.art-placeholder small { font-size:.8rem; }
.benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:20px 0 48px; }
.benefit { padding:20px; border:1px solid var(--shop-line); border-radius:var(--shop-radius); background:white; }
.benefit strong { display:block; margin-bottom:4px; }
.benefit span { color:var(--shop-muted); font-size:.9rem; }
.section { padding:24px 0 64px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.section-heading h2 { margin:0; font-size:clamp(1.7rem,3vw,2.5rem); letter-spacing:-.045em; }
.section-heading p { margin:5px 0 0; color:var(--shop-muted); }
.text-link { color:var(--shop-green); font-weight:700; text-decoration-thickness:1px; text-underline-offset:4px; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.category-card { min-height:170px; position:relative; display:flex; flex-direction:column; justify-content:end; overflow:hidden; padding:22px; border-radius:var(--shop-radius); background:#e7ede6; text-decoration:none; }
.category-card:nth-child(2n) { background:#e8ecef; }
.category-card strong { font-size:1.12rem; }
.category-card span { color:var(--shop-muted); font-size:.88rem; }
.category-icon { position:absolute; top:18px; right:20px; font-size:2rem; opacity:.75; }
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px!important; margin:0!important; padding:0!important; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none!important; content:none!important; }
.woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; padding:12px 12px 18px!important; overflow:hidden; border:1px solid var(--shop-line); border-radius:var(--shop-radius); background:white; }
.woocommerce ul.products li.product a img { width:100%; aspect-ratio:1; margin:0 0 14px!important; border-radius:12px; object-fit:cover; background:#edf1eb; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display:block; border-radius:12px; background:#edf1eb; }
.woocommerce ul.products li.product a img.woocommerce-placeholder { opacity:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 4px; color:var(--shop-ink); font-size:1rem; }
.woocommerce ul.products li.product .price { padding:0 4px; color:var(--shop-green); font-weight:750; }
.woocommerce ul.products li.product .button { margin:10px 4px 0; }
.empty-products { grid-column:1/-1; padding:36px; border:1px dashed #b9c7bb; border-radius:var(--shop-radius); color:var(--shop-muted); background:white; text-align:center; }
.site-footer { margin-top:54px; padding:42px 0 24px; color:#dce6df; background:#18251f; }
.footer-row { display:flex; justify-content:space-between; gap:32px; }
.site-footer .site-brand { color:white; }
.footer-note { max-width:400px; margin:10px 0 0; color:#aebdb2; font-size:.9rem; }
.footer-bottom { margin-top:34px; padding-top:18px; border-top:1px solid #36443c; color:#aebdb2; font-size:.82rem; }
.page-content { padding:40px 0 70px; }
.page-content h1 { letter-spacing:-.04em; }
.woocommerce .woocommerce-breadcrumb { color:var(--shop-muted); }
.woocommerce div.product .product_title { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.05em; }
.woocommerce div.product div.images img { border-radius:var(--shop-radius); }
.woocommerce div.product div.summary { padding:12px 20px; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--shop-green); }
.woocommerce table.shop_table { border-color:var(--shop-line); border-radius:12px; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { min-height:46px; padding:10px 12px; border:1px solid #cbd5cc; border-radius:8px; background:white; }
.woocommerce .shop-pack-quantity-wrap select.shop-pack-quantity { min-height:44px; min-width:150px; padding:9px 36px 9px 12px; border:1px solid #cbd5cc; border-radius:8px; color:var(--shop-ink); background:white; font:inherit; }
.shop-pack-total { display:flex; align-items:center; gap:10px; margin:12px 0; color:var(--shop-muted); }
.shop-pack-total strong { color:var(--shop-green); font-size:1.25rem; }
.woocommerce-info,.woocommerce-message { border-top-color:var(--shop-green); }
@media(max-width:850px) { .primary-nav ul{gap:15px}.hero-panel{grid-template-columns:1fr .75fr}.hero-art{min-height:320px}.category-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:620px) { .wrap{width:min(calc(100% - 28px),var(--shop-width))}.header-row{min-height:auto;flex-wrap:wrap;gap:12px;padding-block:14px}.primary-nav{order:3;width:100%;overflow-x:auto}.primary-nav ul{justify-content:space-between;gap:14px}.primary-nav a{white-space:nowrap;font-size:.85rem}.header-actions{margin-left:auto}.hero{padding-top:22px}.hero-panel{grid-template-columns:1fr;border-radius:20px}.hero-copy{padding:34px 26px 10px}.hero-art{min-height:230px;padding:12px 25px 28px}.art-card{width:min(62%,210px)}.benefits{grid-template-columns:1fr;padding-bottom:30px}.section-heading{align-items:start;flex-direction:column}.category-grid,.woocommerce ul.products{gap:12px!important}.category-card{min-height:138px;padding:16px}.footer-row{flex-direction:column} }

/* Editorial retail layout inspired by the reference store; all artwork is original SVG. */
.site-header { border-bottom:1px solid #e8e3da; box-shadow:0 5px 22px rgba(40,45,38,.035); }
.header-row { min-height:108px; display:grid; grid-template-columns:minmax(150px,1fr) minmax(360px,2fr) minmax(180px,1fr); gap:26px; }
.site-brand { color:#203a34; white-space:nowrap; }
.site-logo { width:42px; height:42px; object-fit:contain; }
.header-center { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; }
.header-promo { display:flex; flex-direction:column; align-items:center; gap:3px; color:#243d36; text-decoration:none; text-transform:uppercase; letter-spacing:.045em; line-height:1; }
.header-promo span { font-size:.78rem; font-weight:750; }
.header-promo strong { color:#bd563c; font-size:1rem; font-weight:850; }
.primary-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:5px clamp(9px,1vw,16px); }
.primary-nav > a { padding:3px 1px; color:#293d36; font-size:clamp(.68rem,.76vw,.78rem); font-weight:700; letter-spacing:-.02em; line-height:1.35; text-align:center; text-decoration:none; white-space:nowrap; }
.primary-nav > a:hover,.primary-nav > a[aria-current="page"] { color:#bd563c; }
.primary-nav > a[aria-current="page"] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
.header-actions { justify-content:flex-end; gap:18px; }
.header-search { position:relative; display:flex; align-items:center; }
.header-search input[type="search"] { width:0; height:36px; padding:0; border:0; border-bottom:1px solid transparent; outline:0; opacity:0; transition:width .2s ease,opacity .2s ease,padding .2s ease; }
.header-search:focus-within input[type="search"],.header-search:hover input[type="search"] { width:128px; padding:0 8px; border-bottom-color:#d8d8cc; opacity:1; }
.header-search button,.icon-action { width:34px; height:38px; position:relative; display:grid; place-items:center; padding:0; border:0; color:#253d36; background:transparent; cursor:pointer; text-decoration:none; }
.header-search svg,.icon-action svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cart-count { position:absolute; top:0; right:-3px; min-width:17px; height:17px; display:grid; place-items:center; border-radius:50%; color:white; background:#bd563c; font-size:.65rem; }
.banner-carousel { width:min(calc(100% - 40px),1440px); position:relative; margin:24px auto 0; overflow:hidden; border-radius:22px; background:#e8e3d8; }
.banner-slide { height:clamp(240px,47vw,680px); min-height:0; position:relative; display:none; overflow:hidden; background:#f4f0e5; }
.banner-slide[data-banner-index="0"] { background:#101116; }
.banner-slide.is-active { display:block; animation:banner-appear .45s ease both; }
.banner-slide > img { position:relative; display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.banner-copy { width:min(54%,620px); position:relative; z-index:1; padding:clamp(28px,6vw,82px); color:#203a34; }
.banner-copy > span { font-size:.77rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.banner-copy h1 { margin:16px 0 25px; font-size:clamp(2.1rem,5vw,4.9rem); line-height:.98; letter-spacing:-.06em; }
.banner-copy p { max-width:470px; color:#53665d; font-size:.95rem; line-height:1.65; }
.banner-button { min-height:46px; display:inline-flex; align-items:center; gap:20px; padding:0 20px; border-radius:999px; color:white; background:#203a34; font-size:.86rem; font-weight:700; text-decoration:none; }
.banner-controls { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:8px 12px; background:#fff; }
.banner-controls > button,.carousel-arrows button { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(32,58,52,.25); border-radius:50%; color:#203a34; background:rgba(255,255,255,.8); font-size:1.4rem; line-height:1; cursor:pointer; }
.banner-controls > button:hover,.carousel-arrows button:hover:not(:disabled) { color:white; background:#203a34; }
.banner-dots { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.banner-dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#87958b; cursor:pointer; }
.banner-dots button[aria-current="true"] { width:23px; border-radius:5px; background:#203a34; }
.home-section { padding-top:68px; padding-bottom:12px; }
.section-heading { align-items:center; margin-bottom:22px; }
.section-heading h2,.faq-intro h2,.brand-story h2 { color:#203a34; }
.section-heading .eyebrow { margin-bottom:7px; }
.section-heading p:not(.eyebrow) { color:var(--shop-muted); font-size:.9rem; }
.carousel-arrows { display:flex; gap:9px; }
.carousel-arrows button:disabled { opacity:.35; cursor:default; }
.carousel-viewport { overflow:hidden; }
.carousel-track { display:flex; width:100%; transition:transform .42s cubic-bezier(.2,.75,.25,1); }
.carousel-page { flex:0 0 100%; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,1fr); gap:19px!important; margin:0!important; padding:0!important; list-style:none; }
.woocommerce ul.products li.product { float:none!important; clear:none!important; grid-column:auto!important; width:auto!important; margin:0!important; padding:11px 11px 16px!important; border:1px solid #ece9e2; border-radius:15px; box-shadow:0 7px 20px rgba(36,46,39,.035); transition:transform .2s ease,box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(36,46,39,.09); }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { overflow:hidden; border-radius:10px; background:#f0eee7; }
.woocommerce ul.products li.product a img { width:100%; aspect-ratio:1/1; margin:0 0 12px!important; border-radius:10px; object-fit:cover; background:#f0eee7; }
.woocommerce ul.products li.product a img.woocommerce-placeholder { opacity:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:2.8em; padding:0 3px; color:#263b35; font-size:.92rem; line-height:1.4; }
.woocommerce ul.products li.product .price { padding:0 3px; color:#b8533c; font-size:.92rem; font-weight:750; }
.woocommerce ul.products li.product .price del { color:#999; font-weight:450; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.woocommerce span.onsale { min-height:auto; top:17px; left:17px; right:auto; padding:7px 10px; border-radius:5px; color:white; background:#bd563c; font-size:.72rem; line-height:1.2; }
.woocommerce ul.products li.product .button { min-height:37px; margin:10px 3px 0; padding:0 15px; font-size:.78rem; }
.sale-section { padding-top:72px; }
.sale-section .woocommerce ul.products li.product { border-color:#f0dfd7; }
.brand-story { position:relative; margin-top:88px; overflow:hidden; background:#e8eee7; }
.brand-story-inner { min-height:300px; position:relative; display:flex; align-items:center; gap:36px; padding-block:54px; }
.brand-story-mark { width:100px; height:100px; flex:0 0 100px; display:grid; place-items:center; border-radius:28px; background:#203a34; }
.brand-story-mark img { width:64px; height:64px; }
.brand-story-copy { max-width:620px; position:relative; z-index:1; }
.brand-story-copy h2 { margin:5px 0 13px; font-size:clamp(1.7rem,3.5vw,2.7rem); line-height:1.08; letter-spacing:-.045em; }
.brand-story-copy > p:not(.eyebrow) { color:#53665d; }
.brand-story-decoration { position:absolute; right:0; bottom:-90px; width:360px; height:330px; }
.brand-story-decoration span { position:absolute; display:block; border-radius:50%; background:#d1a47f; opacity:.38; }
.brand-story-decoration span:nth-child(1) { width:250px;height:250px;right:10px;top:0; }
.brand-story-decoration span:nth-child(2) { width:170px;height:170px;right:190px;top:80px;background:#b75a41; }
.brand-story-decoration span:nth-child(3) { width:120px;height:120px;right:0;top:180px;background:#637d68; }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; padding-top:80px; padding-bottom:84px; }
.faq-intro h2 { margin:0 0 12px; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.05; }
.faq-intro > p:not(.eyebrow) { color:var(--shop-muted); }
.faq-list details { border-bottom:1px solid var(--shop-line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 2px; color:#273d36; font-weight:700; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#bd563c; font-size:1.3rem; transition:transform .2s ease; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { margin:0; padding:0 28px 18px 2px; color:var(--shop-muted); }
.site-footer { margin-top:0; padding:55px 0 22px; color:#e4e9e3; background:#1e3732; }
.footer-columns { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:40px; }
.site-footer .site-brand { color:white; }
.footer-about p { max-width:270px; color:#b8c5bd; font-size:.9rem; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-column h2 { margin:0 0 5px; color:white; font-size:.92rem; letter-spacing:.03em; }
.footer-column a { color:#c4d0c8; font-size:.88rem; text-decoration:none; }
.footer-column a:hover { color:white; text-decoration:underline; }
.footer-social-link { display:inline-flex; align-items:center; gap:9px; }
.footer-social-link svg { display:block; width:22px; height:22px; }
.footer-social-link.is-unconfigured { color:#c4d0c8; font-size:.88rem; }
.floating-contact { position:fixed; right:20px; bottom:20px; z-index:50; display:flex; flex-direction:column; gap:11px; }
.floating-contact a,.floating-contact span { width:50px; height:50px; display:grid; place-items:center; border:1px solid #e4e9e4; border-radius:50%; color:#203a34; background:white; box-shadow:0 5px 18px rgba(15,35,28,.2); text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.floating-contact a:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,35,28,.28); }
.floating-contact span.is-unconfigured { opacity:.82; }
.floating-contact svg { display:block; width:28px; height:28px; }
.footer-bottom { margin-top:36px; padding-top:18px; border-top:1px solid #405650; color:#b8c5bd; font-size:.8rem; }
.category-landing { padding-top:22px; padding-bottom:72px; }
.category-breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:14px; color:var(--shop-muted); font-size:.84rem; }
.category-breadcrumb a { color:inherit; text-decoration:none; }
.category-breadcrumb a:hover { color:var(--shop-green); text-decoration:underline; }
.category-hero { height:clamp(260px,47vw,680px); overflow:hidden; border-radius:22px; background:#f4f0e5; }
.category-hero img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.category-page-heading { padding:38px 0 8px; }
.category-page-heading .eyebrow { margin-bottom:8px; }
.category-page-heading h1 { margin:0; color:#203a34; font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.045em; }
.image-catalog { padding-top:8px; }
.image-catalog-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:14px 0 22px; }
.image-catalog-heading h2 { margin:0; color:#203a34; font-size:clamp(1.45rem,2.5vw,2rem); letter-spacing:-.035em; }
.image-catalog-heading .eyebrow { margin:0 0 5px; }
.catalog-filters { display:flex; flex-wrap:wrap; align-items:end; justify-content:flex-end; gap:10px; }
.catalog-filters label { display:grid; gap:4px; color:var(--shop-muted); font-size:.74rem; font-weight:650; }
.catalog-filters select { min-height:39px; max-width:180px; padding:7px 28px 7px 10px; border:1px solid var(--shop-line); border-radius:8px; color:var(--shop-ink); background:white; font:inherit; }
.catalog-filter-reset { min-height:39px; padding:7px 12px; border:1px solid var(--shop-line); border-radius:8px; color:#344a40; background:white; font:inherit; font-size:.78rem; cursor:pointer; }
.catalog-filter-reset:hover { border-color:#bd563c; color:#a8442e; }
.image-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.image-catalog-card { min-width:0; margin:0; padding:10px; overflow:hidden; border:1px solid #ece9e2; border-radius:15px; background:white; box-shadow:0 7px 20px rgba(36,46,39,.035); }
.image-catalog-card[hidden] { display:none!important; }
.image-catalog-card img { display:block; width:100%; height:auto; aspect-ratio:1.95/1; border-radius:9px; object-fit:contain; background:#f4f2ed; }
.image-catalog-card figcaption { padding:10px 3px 2px; color:#344a40; font-size:.84rem; font-weight:650; }
.category-page-products { padding-top:12px; }
.category-page-products > h2 { margin:0 0 20px; color:#203a34; font-size:1.5rem; }
.category-page-products .empty-products { margin:0; }
@keyframes banner-appear { from { opacity:.55; } to { opacity:1; } }
@media(max-width:900px) {
	.header-row { grid-template-columns:auto 1fr auto; gap:14px; }
	.header-center { min-width:0; gap:7px; }
	.primary-nav { display:flex; flex-wrap:wrap; gap:7px 13px; width:100%; }
	.primary-nav > a { flex:1 1 28%; font-size:.7rem; white-space:normal; }
	.image-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
	.image-catalog-heading { align-items:flex-start; flex-direction:column; }
	.catalog-filters { justify-content:flex-start; }
	.carousel-page { gap:12px!important; }
	.footer-columns { grid-template-columns:repeat(2,1fr); }
	.faq-section { gap:32px; }
}
@media(max-width:640px) {
	.header-row { grid-template-columns:1fr auto; min-height:0; padding-block:13px; }
	.site-brand { font-size:1rem; }
	.site-logo { width:34px;height:34px; }
	.header-center { grid-column:1/-1; grid-row:2; gap:11px; }
	.header-promo span { font-size:.72rem; }
	.header-promo strong { font-size:.9rem; }
	.primary-nav { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; gap:7px 12px; overflow:visible; }
	.primary-nav > a { min-height:32px; display:flex; align-items:center; justify-content:center; font-size:.72rem; white-space:normal; }
	.header-actions { grid-column:2;grid-row:1;gap:9px; }
	.floating-contact { right:13px; bottom:15px; gap:9px; }
	.floating-contact a,.floating-contact span { width:44px;height:44px; }
	.header-search:focus-within input[type="search"],.header-search:hover input[type="search"] { width:80px; }
	.header-search button,.icon-action { width:29px; }
	.header-search svg,.icon-action svg { width:20px;height:20px; }
	.banner-carousel { width:calc(100% - 24px); margin-top:13px; border-radius:15px; }
	.category-landing { padding-top:15px; padding-bottom:50px; }
	.category-hero { height:240px; border-radius:15px; }
	.category-page-heading { padding-top:28px; }
	.image-catalog-heading { margin-bottom:16px; }
	.image-catalog-grid { grid-template-columns:1fr; gap:12px; }
	.image-catalog-card { padding:8px; }
	.catalog-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
	.catalog-filters label,.catalog-filters select { width:100%; max-width:none; }
	.catalog-filter-reset { grid-column:1/-1; }
	.banner-slide { height:240px; }
	.banner-controls { gap:7px; min-height:48px; padding:7px 8px; }
	.banner-controls > button { width:30px;height:30px; }
	.banner-dots { gap:4px; }
	.banner-dots button { width:6px;height:6px; }
	.banner-dots button[aria-current="true"] { width:15px; }
	.home-section { padding-top:48px; }
	.section-heading { align-items:center; flex-direction:row; }
	.section-heading h2 { font-size:1.65rem; }
	.carousel-arrows { gap:6px; }
	.carousel-arrows button { width:32px;height:32px; }
	.carousel-page { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,1fr); gap:10px!important; }
	.woocommerce ul.products li.product { padding:7px 7px 10px!important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.82rem; }
	.woocommerce ul.products li.product .button { min-height:32px;padding:0 10px;font-size:.7rem; }
	.brand-story { margin-top:58px; }
	.brand-story-inner { min-height:0; align-items:flex-start; gap:18px; padding-block:38px; }
	.brand-story-mark { width:58px;height:58px;flex-basis:58px;border-radius:17px; }
	.brand-story-mark img { width:40px;height:40px; }
	.brand-story-copy h2 { font-size:1.55rem; }
	.brand-story-decoration { opacity:.55;right:-150px; }
	.faq-section { grid-template-columns:1fr; gap:18px; padding-top:58px;padding-bottom:60px; }
	.footer-columns { grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px; }
	.footer-about { grid-column:1/-1; }
}
