@font-face {
    font-family: 'DM Sans';
    src: url('/assets/fonts/dm-sans-latin.v17.woff2') format('woff2');
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Fraunces';
    src: url('/assets/fonts/fraunces-latin-700.v38.woff2') format('woff2');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Global product search */
.site-search-layer[hidden] { display: none; }
.site-search-layer { position: fixed; inset: 0; z-index: 120; display: grid; place-items: start center; padding: 92px 20px 20px; }
.site-search-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(36, 30, 22, .55); backdrop-filter: blur(6px); cursor: default; }
.site-search-dialog { position: relative; z-index: 2; width: min(720px, 100%); padding: 34px; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: #FFFEFB; color: #2F231A; box-shadow: 0 28px 90px rgba(38,30,19,.3); }
.site-search-dialog > span,
.search-kicker { color: #6F7E3A; font-size: 11px; font-weight: 800; letter-spacing: 1.6px; }
.site-search-title { margin: 8px 45px 8px 0; font: 700 32px/1.16 'DM Sans',sans-serif; letter-spacing: -1px; }
.site-search-dialog > p { margin: 0 0 22px; color: #736B62; line-height: 1.55; }
.site-search-close { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid #E5DED2; border-radius: 50%; background: #fff; color: #2F231A; cursor: pointer; }
.site-search-close svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.site-search-dialog form { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 58px; padding: 6px 7px 6px 16px; border: 1px solid #D9D3C7; border-radius: 16px; background: #F8F6EF; }
.site-search-dialog form > svg { width: 22px; height: 22px; fill: none; stroke: #6F7E3A; stroke-width: 1.8; }
.site-search-dialog input { min-width: 0; height: 44px; padding: 0; border: 0; outline: 0; background: transparent; color: #2F231A; font-size: 16px; }
.site-search-dialog form button { min-height: 46px; padding: 0 22px; border: 0; border-radius: 12px; background: #5B692F; color: #fff; font-weight: 800; cursor: pointer; }
.site-search-shortcuts { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 16px; color: #736B62; font-size: 12px; }
.site-search-shortcuts a { padding: 7px 11px; border: 1px solid #E5DED2; border-radius: 999px; background: #fff; color: #4F5E25; font-weight: 700; }
body.site-search-open { overflow: hidden; }

/* Homepage discovery and promotional emphasis */
.home-page .promo-spotlight { position: relative; border-top: 4px solid #B86B3D; background: linear-gradient(180deg,#FFF9F3 0,#FFFEFB 24%); }
.home-page .promo-spotlight-head > div:first-child span { width: fit-content; padding: 7px 10px; border-radius: 999px; background: #B86B3D; color: #fff; font-size: 11px; letter-spacing: .8px; box-shadow: 0 7px 18px rgba(184,107,61,.2); }
.home-page .promo-spotlight-head small { margin-top: 4px; }
.home-page .home-collections .commerce-section-heading { max-width: 700px; }
.home-discovery-search { min-height: 64px; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 13px; margin: -5px 0 28px; padding: 7px 8px 7px 19px; border: 1px solid #DCD5C8; border-radius: 17px; background: #FFFEFB; box-shadow: 0 16px 38px rgba(72,59,41,.08); }
.home-discovery-search > svg { width: 23px; height: 23px; fill: none; stroke: #6F7E3A; stroke-width: 1.8; stroke-linecap: round; }
.home-discovery-search input { min-width: 24px; min-height: 48px; height: 48px; padding: 0; border: 0; outline: 0; background: transparent; color: #2F231A; font-size: 16px; }
.home-discovery-search button { min-width: 24px; min-height: 48px; padding: 0 23px; border: 0; border-radius: 12px; background: #5B692F; color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.collection-card { box-shadow: 0 12px 28px rgba(72,59,41,.05); transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.collection-card::before { content: ''; position: absolute; right: -52px; bottom: -64px; width: 180px; height: 180px; border: 1px solid rgba(111,126,58,.18); border-radius: 50%; box-shadow: 0 0 0 25px rgba(111,126,58,.04); }
.collection-card:hover,.collection-card:focus-visible { transform: translateY(-5px); border-color: rgba(111,126,58,.42); box-shadow: 0 20px 42px rgba(72,59,41,.11); outline: none; }
.collection-card b { display: inline-flex; align-items: center; min-height: 34px; padding: 0 13px; border: 1px solid rgba(79,94,37,.25); border-radius: 999px; background: rgba(255,255,255,.55); }
.popular-products-tools { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.popular-all-link { flex: 0 0 auto; min-height: 38px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 999px; background: #2F231A; color: #fff; font-size: 12px; font-weight: 800; }
.commerce-filter-empty { min-height: 220px; place-items: center; align-content: center; gap: 8px; margin-top: 18px; padding: 30px; border: 1px dashed #CFC8BA; border-radius: 18px; background: #F8F6EF; text-align: center; }
.commerce-filter-empty:not([hidden]) { display: grid; }
.commerce-filter-empty h3,.commerce-filter-empty p { margin: 0; }
.commerce-filter-empty p { color: #736B62; }
.commerce-filter-empty a { color: #4F5E25; font-weight: 800; }

/* Shared CLUB CARD */
.hzj-club-card { position: relative; z-index: 2; width: 390px; height: 236px; display: flex; flex-direction: column; overflow: hidden; padding: 28px 30px; border: 1px solid rgba(255,255,255,.72); border-radius: 22px; background: linear-gradient(135deg,#6F7E3A 0%,#87964F 58%,#9DAA68 100%); color: #fff; box-shadow: 0 28px 58px rgba(79,94,37,.24); }
.hzj-club-paw-pattern { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; color: #fff; fill: currentColor; opacity: .075; }
.hzj-club-card > *:not(.hzj-club-paw-pattern) { position: relative; z-index: 1; }
.hzj-club-card-head,.hzj-club-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.hzj-club-card-head span { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .8px; }
.hzj-club-card-head svg { width: 25px; height: 25px; fill: currentColor; }
.hzj-club-card-head small { color: rgba(255,255,255,.74); font-size: 9px; letter-spacing: 1.3px; }
.hzj-club-card > strong { margin-top: 42px; font: 700 34px/1 'DM Sans',sans-serif; letter-spacing: -.9px; }
.hzj-club-card > p { margin: 8px 0 0; color: rgba(255,255,255,.82); font-size: 14px; font-weight: 700; }
.hzj-club-card-foot { margin-top: auto; align-items: end; }
.hzj-club-card-foot span { font-size: 9px; letter-spacing: 1.2px; }
.hzj-club-card-foot b { max-width: 155px; text-align: right; font-size: 10px; line-height: 1.25; }
.club-page-hero { overflow: hidden; padding: 78px 0; background: #E6EAD8; color: #2F231A; }
.club-page-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(430px,.9fr); align-items: center; gap: 78px; }
.club-page-copy > span,.club-how header > span { color: #6F7E3A; font-size: 11px; font-weight: 800; letter-spacing: 1.7px; }
.club-page-copy h1 { margin: 12px 0 20px; font: 700 clamp(42px,5vw,64px)/1.05 'DM Sans',sans-serif; letter-spacing: -2.4px; }
.club-page-copy h1 em { color: #6F7E3A; font-style: normal; }
.club-page-copy > p { max-width: 640px; margin: 0; color: #625B52; font-size: 17px; line-height: 1.7; }
.club-page-actions { display: flex; gap: 11px; flex-wrap: wrap; margin: 28px 0 13px; }
.club-page-primary,.club-page-secondary { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid #6F7E3A; border-radius: 13px; font-size: 14px; font-weight: 800; }
.club-page-primary { background: #5B692F; color: #fff; }
.club-page-secondary { color: #4F5E25; }
.club-page-copy > small { color: #736B62; font-size: 12px; }
.club-page-hero .club-visual { min-height: 390px; }
.club-how { padding: 76px 0; background: #FFFEFB; }
.club-how header { max-width: 720px; margin: 0 auto 36px; text-align: center; }
.club-how h2 { margin: 8px 0 10px; color: #2F231A; font: 700 clamp(32px,4vw,46px)/1.12 'DM Sans',sans-serif; letter-spacing: -1.5px; }
.club-how header p { margin: 0; color: #736B62; }
.club-how-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.club-how-grid article { min-height: 210px; display: flex; gap: 18px; padding: 28px; border: 1px solid #E5DED2; border-radius: 20px; background: #F8F6EF; }
.club-how-grid article > b { flex: 0 0 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; background: #5B692F; color: #fff; }
.club-how-grid h3 { margin: 7px 0 9px; font-size: 19px; }
.club-how-grid p { margin: 0; color: #736B62; line-height: 1.65; }

/* Search result page */
.search-page-hero { padding: 68px 0; background: #E9EDD9; color: #2F231A; }
.search-page-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.search-page-hero h1 { margin: 10px 0 12px; font: 700 clamp(40px,5vw,58px)/1.08 'DM Sans',sans-serif; letter-spacing: -2px; }
.search-page-hero p { max-width: 570px; margin: 0; color: #625B52; font-size: 16px; line-height: 1.65; }
.catalog-search-form { padding: 20px; border: 1px solid rgba(111,126,58,.24); border-radius: 20px; background: #FFFEFB; box-shadow: 0 18px 42px rgba(72,59,41,.1); }
.catalog-search-form > label { display: block; margin-bottom: 8px; color: #2F231A; font-size: 13px; font-weight: 800; }
.catalog-search-form > div { display: grid; grid-template-columns: 23px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 56px; padding: 5px 6px 5px 15px; border: 1px solid #D8D1C5; border-radius: 14px; background: #F8F6EF; }
.catalog-search-form svg { width: 21px; height: 21px; fill: none; stroke: #6F7E3A; stroke-width: 1.8; }
.catalog-search-form input { min-width: 0; height: 44px; border: 0; outline: 0; background: transparent; font-size: 15px; }
.catalog-search-form button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 11px; background: #5B692F; color: #fff; font-weight: 800; cursor: pointer; }
.catalog-search-form > small { display: block; margin-top: 10px; color: #736B62; }
.catalog-search-form > small a { color: #4F5E25; font-weight: 700; text-decoration: underline; }
.search-results-section { min-height: 520px; padding: 68px 0 82px; background: #FFFEFB; }
.search-results-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.search-results-toolbar > div > span { color: #6F7E3A; font-size: 11px; font-weight: 800; letter-spacing: 1.5px; }
.search-results-toolbar h2 { margin: 7px 0 0; font: 700 36px/1.1 'DM Sans',sans-serif; letter-spacing: -1.2px; }
.search-results-toolbar form { display: flex; align-items: center; gap: 9px; }
.search-results-toolbar label { font-size: 12px; font-weight: 700; }
.search-results-toolbar select { min-height: 44px; padding: 0 38px 0 13px; border: 1px solid #D8D1C5; border-radius: 11px; background: #fff; }
.search-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 38px; }
.search-pagination a { min-height: 42px; display: inline-flex; align-items: center; padding: 0 15px; border: 1px solid #D8D1C5; border-radius: 11px; color: #4F5E25; font-weight: 800; }
.search-pagination span { color: #736B62; font-size: 13px; }
.search-empty-state { min-height: 380px; display: grid; place-items: center; align-content: center; gap: 10px; padding: 35px; border: 1px dashed #CCC4B7; border-radius: 22px; background: #F8F6EF; text-align: center; }
.search-empty-state svg { width: 64px; height: 64px; fill: none; stroke: #6F7E3A; stroke-width: 2; }
.search-empty-state h2,.search-empty-state p { margin: 0; }
.search-empty-state p { color: #736B62; }
.search-empty-state > div { display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; margin-top: 12px; }
.search-empty-state a { padding: 9px 13px; border: 1px solid #D8D1C5; border-radius: 999px; background: #fff; color: #4F5E25; font-weight: 700; }

/* Product cards and category UX */
.product { height: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #E5DED2; border-radius: 18px; background: #FFFEFB; transition: transform .18s ease,box-shadow .18s ease; }
.product:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(72,59,41,.1); }
.product-image-link { display: block; }
.product .product-visual { height: 225px; background: linear-gradient(145deg,#F3F0E8,#FFFEFB); }
.product .product-visual img { width: 100%; height: 100%; object-fit: contain; padding: 17px; }
.product .product-body { flex: 1; display: flex; flex-direction: column; padding: 17px; }
.product .product-body > small { color: #6F7E3A; font-size: 12px; font-weight: 800; letter-spacing: .8px; }
.product .product-body h3 { display: -webkit-box; min-height: 44px; margin: 8px 0 7px; overflow: hidden; color: #2F231A; font: 700 16px/1.38 'DM Sans',sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product .product-body > p { display: -webkit-box; min-height: 39px; margin: 8px 0; overflow: hidden; color: #736B62; font-size: 13px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product .rating { min-height: 20px; color: #2F231A; font-size: 12px; }
.product .rating > span { color: #B48A3A; }
.product .rating small,.product .rating.no-reviews { color: #80786F; }
.product .stock-line { margin: 9px 0 12px; font-size: 12px; }
.product .buyrow { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: auto; }
.product .buyrow b { color: #2F231A; font-size: 20px; }
.product .buyrow del { display: block; color: #9A9188; font-size: 11px; }
.product .add-cart-button,.commerce-product-card:not(.compact) .add-cart-button { width: auto !important; min-width: 92px !important; height: auto !important; min-height: 44px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto !important; padding: 0 13px !important; border-radius: 11px !important; background: #5B692F !important; color: #fff !important; font-size: 12px !important; }
.product .add-cart-button span,.commerce-product-card:not(.compact) .add-cart-button span { display: inline !important; }
.product .add-cart-button::after,.commerce-product-card .add-cart-button::after { content: none !important; }
.product .add-cart-button svg,.commerce-product-card .add-cart-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.commerce-product-card.compact .add-cart-button { width: 40px !important; min-width: 40px !important; height: 40px !important; padding: 0 !important; font-size: 0 !important; }
.commerce-product-card.compact .add-cart-button span { display: none !important; }
.product-card-view { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border-radius: 11px; background: #EEE9E1; color: #4F5E25; font-size: 12px; font-weight: 800; }
.shop-filter-disclosure > summary { display: none; }
.shop-filter-disclosure > form { margin: 0; }
.category-toolbar > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.category-toolbar > div:first-child small { color: #736B62; font-size: 12px; }
.view-switch button { width: 44px !important; height: 44px !important; display: grid; place-items: center; }
.view-switch button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-grid.list-view .product { grid-template-columns: 230px 1fr; }
.product-grid.list-view .product-image-link { min-height: 230px; }
.product-grid.list-view .product-visual { height: 100%; }

/* Product detail conversion and mobile stability */
.storefront-product.product-page { padding-bottom: 30px; }
.storefront-product .pro-copy h1 { color: #2F231A; }
.storefront-product .product-meta { gap: 10px 18px; color: #736B62; font-size: 13px; }
.storefront-product .product-meta .rating { color: #2F231A; }
.storefront-product .product-meta .rating b { color: #8A6A27; }
.storefront-product .detail-price { display: flex; align-items: baseline; gap: 11px; flex-wrap: wrap; margin: 20px 0; }
.storefront-product .detail-price .saving { padding: 6px 9px; border-radius: 999px; background: #E7EBD9; color: #4F5E25; font-size: 12px; font-weight: 800; }
.storefront-product .availability { display: grid; gap: 3px; margin-bottom: 17px; padding: 14px 16px; border-radius: 14px; }
.storefront-product .availability.available { background: #EEF3E8; color: #355B32; }
.storefront-product .availability.unavailable { background: #F6ECE8; color: #8B493B; }
.storefront-product .availability span { color: #625B52; font-size: 12px; line-height: 1.45; }
.storefront-product .product-add.add-cart-button { width: 100% !important; min-height: 52px !important; gap: 9px; font-size: 15px !important; }
.storefront-product .product-add.add-cart-button span { display: inline !important; }
.storefront-product .product-add.add-cart-button::after { content: none !important; }
.storefront-product .product-add svg { width: 21px; height: 21px; color: #fff !important; fill: none !important; stroke: #fff !important; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.purchase-confidence { margin: 10px 0 0; color: #736B62; font-size: 12px; text-align: center; }
.stock-unavailable-card { padding: 18px; border: 1px solid #E4CFC7; border-radius: 16px; background: #FFF8F5; }
.stock-unavailable-card strong { color: #2F231A; }
.stock-unavailable-card p { margin: 5px 0 11px; color: #736B62; font-size: 13px; }
.stock-unavailable-card a { color: #6F7E3A; font-weight: 800; }
.storefront-product .delivery-benefits article { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 12px; padding: 13px 0; }
.storefront-product .delivery-benefits svg { width: 30px; height: 30px; fill: none; stroke: #6F7E3A; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.related-products-section .section-head > div h2 { margin: 5px 0 0; }
.related-products-section .section-head > a { color: #4F5E25; font-weight: 800; }

/* Product information, delivery and FAQ */
.product-info-tabs { padding: 28px 0 26px; background: #F8F6EF; }
.product-tab-list { display: flex; align-items: stretch; gap: 4px; overflow-x: auto; padding: 6px; border: 1px solid #DDD6C9; border-radius: 17px; background: #FFFDF9; scrollbar-width: thin; }
.product-tab-list button { position: relative; flex: 1 0 auto; min-height: 52px; padding: 0 22px; border: 0; border-radius: 12px; background: transparent; color: #625B52; font: 800 13px/1.25 'DM Sans',sans-serif; cursor: pointer; white-space: nowrap; }
.product-tab-list button:hover { background: #F1EEE6; color: #2F231A; }
.product-tab-list button[aria-selected="true"] { background: #5B692F; color: #fff; box-shadow: 0 8px 20px rgba(79,94,37,.18); }
.product-tab-list button:focus-visible { outline: 3px solid #BFCB82; outline-offset: 2px; }
.product-tab-list button span { display: inline-grid; min-width: 22px; height: 22px; place-items: center; margin-left: 5px; padding: 0 5px; border-radius: 999px; background: rgba(0,0,0,.08); font-size: 11px; }
.product-tab-list button[aria-selected="true"] span { background: rgba(255,255,255,.2); }
.product-tab-panel { min-height: 360px; margin-top: 18px; padding: 36px; border: 1px solid #E0D9CC; border-radius: 22px; background: #FFFEFB; box-shadow: 0 14px 36px rgba(61,49,34,.055); }
.product-tab-panel[hidden] { display: none; }
.product-tab-panel .info-grid { align-items: start; }
.product-tab-panel .info-grid article > h2 { margin: 8px 0 15px; color: #2F231A; font-size: clamp(28px,3vw,39px); letter-spacing: -1.2px; }
.product-tab-panel .info-grid article > p { color: #5F574F; font-size: 16px; line-height: 1.8; }
.product-tab-panel .spec-card { padding: 27px; border: 1px solid #DFE4CB; background: #F1F4E7; }
.product-tab-panel .spec-card h3 { margin-top: 0; }
.product-tab-panel .spec-card dl { margin-bottom: 0; }
.product-delivery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.product-delivery-grid article { display: flex; gap: 16px; min-height: 190px; padding: 27px; border: 1px solid #E1DACD; border-radius: 18px; background: linear-gradient(145deg,#FCFAF4,#fff); }
.product-tab-icon { flex: 0 0 45px; width: 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; background: #E8ECD8; color: #5B692F; }
.product-tab-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-delivery-grid h2 { margin: 3px 0 10px; color: #2F231A; font-size: 19px; line-height: 1.3; }
.product-delivery-grid p { margin: 0; color: #6A625A; font-size: 14px; line-height: 1.65; }
.product-panel-heading { max-width: 720px; margin-bottom: 24px; }
.product-panel-heading h2 { margin: 7px 0 9px; color: #2F231A; font-size: clamp(28px,3.2vw,40px); letter-spacing: -1.2px; }
.product-panel-heading p { margin: 0; color: #6A625A; line-height: 1.6; }
.product-faq-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 10px 16px; }
.product-faq-list details { overflow: hidden; border: 1px solid #E2DCCF; border-radius: 14px; background: #FFFDF9; }
.product-faq-list summary { min-height: 56px; display: grid; grid-template-columns: minmax(0,1fr) 24px; align-items: center; gap: 14px; padding: 12px 16px; color: #2F231A; font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; }
.product-faq-list summary::-webkit-details-marker { display: none; }
.product-faq-list summary svg { width: 22px; height: 22px; fill: none; stroke: #5B692F; stroke-width: 2; transition: transform .18s ease; }
.product-faq-list details[open] summary svg { transform: rotate(180deg); }
.product-faq-list details[open] summary { background: #F1F4E7; }
.product-faq-list details p { margin: 0; padding: 0 16px 17px; color: #655D55; font-size: 14px; line-height: 1.7; }
.product-faq-list .faq-answer { padding: 0 16px 17px; color: #655D55; font-size: 14px; line-height: 1.7; }
.product-faq-list .faq-answer p { padding: 0; margin: 0 0 9px; }
.product-faq-list .faq-answer p:last-child { margin-bottom: 0; }

.faq-page { min-height: 60vh; background: #F8F6EF; color: #2F231A; }
.faq-hero { padding: clamp(56px,7vw,92px) 0 46px; text-align: center; background: linear-gradient(180deg,#F0F3E6 0%,#F8F6EF 100%); }
.faq-hero .wrap { max-width: 820px; }
.faq-hero h1 { margin: 8px 0 16px; font: 700 clamp(38px,6vw,64px)/1.06 Fraunces,serif; }
.faq-hero p { max-width: 700px; margin: 0 auto; color: #655D55; font-size: clamp(17px,2vw,20px); line-height: 1.65; }
.faq-content { max-width: 1120px; padding-top: 40px; padding-bottom: 90px; }
.faq-section-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; margin-bottom: 44px; }
.faq-topic-link,
.faq-section { --faq-accent: #687735; --faq-soft: #F0F3E4; --faq-border: #D7DEC0; }
.faq-topic-link[data-faq-topic="delivery"],.faq-section[data-faq-section="delivery"] { --faq-accent: #226B5B; --faq-soft: #E8F3EE; --faq-border: #C8E0D6; }
.faq-topic-link[data-faq-topic="payments"],.faq-section[data-faq-section="payments"] { --faq-accent: #925523; --faq-soft: #FBEEE1; --faq-border: #EACFB8; }
.faq-topic-link[data-faq-topic="products"],.faq-section[data-faq-section="products"] { --faq-accent: #315D84; --faq-soft: #EAF1F7; --faq-border: #C9DAE8; }
.faq-topic-link[data-faq-topic="returns"],.faq-section[data-faq-section="returns"] { --faq-accent: #91443B; --faq-soft: #F9EBE8; --faq-border: #E8C9C4; }
.faq-topic-link[data-faq-topic="general"],.faq-section[data-faq-section="general"] { --faq-accent: #655184; --faq-soft: #F0ECF6; --faq-border: #D9D0E6; }
.faq-topic-link { min-height: 82px; display: grid; grid-template-columns: 44px minmax(0,1fr) 20px; align-items: center; gap: 13px; padding: 13px 14px; border: 1px solid var(--faq-border); border-radius: 18px; background: #FFFDF9; color: #2F231A; box-shadow: 0 10px 28px rgb(47 35 26 / 5%); text-decoration: none; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.faq-topic-link:hover { border-color: var(--faq-accent); box-shadow: 0 14px 34px rgb(47 35 26 / 9%); transform: translateY(-2px); }
.faq-topic-link:focus-visible { outline: 3px solid var(--faq-border); outline-offset: 3px; }
.faq-topic-link[aria-current="location"] { border-color: var(--faq-accent); background: var(--faq-soft); box-shadow: 0 13px 32px rgb(47 35 26 / 9%); }
.faq-topic-link[aria-current="location"] .faq-topic-icon { background: #fff; }
.faq-topic-icon,.faq-section-icon { display: grid; place-items: center; color: var(--faq-accent); background: var(--faq-soft); border: 1px solid var(--faq-border); }
.faq-topic-icon { width: 44px; height: 44px; border-radius: 13px; }
.faq-topic-icon svg,.faq-section-icon svg,.faq-topic-arrow,.faq-section-hint svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.faq-topic-icon svg { width: 23px; height: 23px; }
.faq-topic-copy { min-width: 0; display: block; }
.faq-topic-copy strong,.faq-topic-copy small { display: block; }
.faq-topic-copy strong { font-size: 15px; line-height: 1.25; }
.faq-topic-copy small { margin-top: 4px; color: #746C63; font-size: 12px; font-weight: 650; }
.faq-topic-arrow { width: 18px; height: 18px; color: var(--faq-accent); }
.faq-section { scroll-margin-top: 100px; position: relative; display: grid; grid-template-columns: minmax(230px,280px) minmax(0,1fr); gap: clamp(28px,5vw,58px); padding: 30px 0 46px; border-top: 1px solid #E2DCCF; }
.faq-section:first-of-type { padding-top: 0; border-top: 0; }
.faq-section > header.faq-section-card { position: sticky; top: 100px; z-index: 2; align-self: start; min-height: 252px; display: flex; flex-direction: column; overflow: hidden; padding: 24px; color: #2F231A; background: linear-gradient(145deg,#FFFDF9 0%,var(--faq-soft) 100%); border: 1px solid var(--faq-border); border-radius: 22px; box-shadow: 0 16px 38px rgb(47 35 26 / 7%); backdrop-filter: none; }
.faq-section > header.faq-section-card::after { position: absolute; right: -42px; bottom: -52px; width: 150px; height: 150px; border: 28px solid rgb(255 255 255 / 42%); border-radius: 50%; content: ""; pointer-events: none; }
.faq-section-card > * { position: relative; z-index: 1; }
.faq-section-card-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.faq-section-icon { width: 50px; height: 50px; border-radius: 15px; background: rgb(255 255 255 / 72%); }
.faq-section-icon svg { width: 27px; height: 27px; }
.faq-section-count { display: inline-flex; align-items: baseline; gap: 5px; padding: 7px 10px; color: var(--faq-accent); background: rgb(255 255 255 / 72%); border: 1px solid var(--faq-border); border-radius: 999px; }
.faq-section-count strong { font-size: 18px; line-height: 1; }
.faq-section-count span { font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.faq-section > header.faq-section-card h2 { margin: 20px 0 7px; font: 800 clamp(29px,3.2vw,36px)/1.12 "Segoe UI",Arial,sans-serif; letter-spacing: -1px; }
.faq-section-card p { margin: 0; color: #625A52; font-size: 14px; line-height: 1.55; }
.faq-section-hint { display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; color: var(--faq-accent); font-size: 11px; font-weight: 800; line-height: 1.35; }
.faq-section-hint svg { flex: 0 0 17px; width: 17px; height: 17px; }
.faq-section:target > header.faq-section-card { border-color: var(--faq-accent); box-shadow: 0 18px 42px rgb(47 35 26 / 11%); }
.faq-accordion { display: grid; gap: 12px; }
.faq-accordion details { overflow: hidden; border: 1px solid #DDD7CA; border-radius: 17px; background: #FFFDF9; box-shadow: 0 10px 30px rgb(47 35 26 / 4%); }
.faq-accordion summary { min-height: 62px; display: grid; grid-template-columns: minmax(0,1fr) 24px; align-items: center; gap: 16px; padding: 14px 18px; list-style: none; cursor: pointer; color: #2F231A; font-size: 16px; font-weight: 850; }
.faq-accordion summary::-webkit-details-marker { display: none; }
.faq-accordion summary:hover { background: #FAF9F5; }
.faq-accordion summary:focus-visible { outline: 3px solid var(--faq-border); outline-offset: -3px; }
.faq-accordion summary svg { width: 22px; height: 22px; fill: none; stroke: var(--faq-accent); stroke-width: 2; transition: transform .18s ease; }
.faq-accordion details[open] { border-color: var(--faq-border); }
.faq-accordion details[open] summary { color: var(--faq-accent); background: var(--faq-soft); }
.faq-accordion details[open] summary svg { transform: rotate(180deg); }
.faq-accordion .faq-answer { padding: 13px 18px 20px; color: #655D55; border-top: 1px solid var(--faq-border); font-size: 16px; line-height: 1.75; }
.faq-accordion .faq-answer > :first-child { margin-top: 0; }
.faq-accordion .faq-answer > :last-child { margin-bottom: 0; }
.faq-empty { padding: 48px; border: 1px solid #DDD7CA; border-radius: 24px; background: #FFFDF9; text-align: center; }
/* Reviews remain visible below the information tabs instead of being hidden in a tab. */
.product-reviews-section { padding: 0 0 78px; background: #F8F6EF; }
.product-reviews-card { padding: clamp(26px,4vw,46px); border: 1px solid #E0D9CC; border-radius: 24px; background: #FFFEFB; box-shadow: 0 14px 36px rgba(61,49,34,.055); }
.product-reviews-heading { max-width: 720px; margin: 0 auto 27px; text-align: center; }
.product-reviews-heading h2 { margin: 7px 0 8px; color: #2F231A; font-size: clamp(28px,3.2vw,40px); letter-spacing: -1.2px; }
.product-reviews-heading p { margin: 0; color: #655D55; font-size: 15px; line-height: 1.6; }
.product-review-summary { display: grid; grid-template-columns: minmax(190px,.8fr) minmax(300px,1.2fr) minmax(210px,.8fr); align-items: center; min-height: 152px; overflow: hidden; border: 1px solid #E1DACD; border-radius: 18px; background: #FFFDF9; }
.product-review-average,.product-review-distribution,.product-review-policy { min-width: 0; padding: 25px 30px; }
.product-review-average { display: grid; justify-items: start; align-content: center; border-right: 1px solid #E5DED2; }
.product-review-stars { color: #167C78; font-size: 23px; line-height: 1; letter-spacing: 2px; }
.product-review-stars.is-empty { color: #77827B; }
.product-review-average strong { margin-top: 9px; color: #2F231A; font-size: 17px; }
.product-review-average span { margin-top: 4px; color: #655D55; font-size: 13px; line-height: 1.45; }
.product-review-distribution { display: grid; gap: 6px; border-right: 1px solid #E5DED2; }
.product-review-distribution-row { display: grid; grid-template-columns: 35px minmax(100px,1fr) 24px; align-items: center; gap: 11px; color: #52625A; font-size: 12px; font-weight: 750; }
.product-review-distribution-row > span:first-child { white-space: nowrap; }
.product-review-distribution-row small { color: #655D55; font-size: 11px; text-align: right; }
.product-review-meter { height: 11px; overflow: hidden; border-radius: 999px; background: #E8EAE7; }
.product-review-meter i { display: block; width: 0; height: 100%; border-radius: inherit; background: #349A98; }
.product-review-policy { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 13px; margin: 0; }
.product-review-policy svg { width: 42px; height: 42px; padding: 9px; border-radius: 12px; background: #E5F1EE; color: #247F7D; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-review-policy strong { display: block; color: #2F231A; font-size: 14px; }
.product-review-policy p { margin: 5px 0 0; color: #655D55; font-size: 12px; line-height: 1.5; }
.product-review-entry { margin-top: 24px; }
.product-review-form { display: grid; grid-template-columns: minmax(180px,.36fr) minmax(0,1fr); gap: 16px 20px; padding: 24px; border: 1px solid #D9E2D1; border-radius: 18px; background: #F6F9F2; }
.product-review-form-heading { grid-column: 1/-1; }
.product-review-form-heading > span { color: #5B692F; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.product-review-form-heading h3 { margin: 5px 0; color: #2F231A; font-size: 22px; }
.product-review-form-heading p { margin: 0; color: #655D55; font-size: 13px; }
.product-review-form label { display: grid; align-content: start; gap: 7px; color: #3E3B35; font-size: 12px; font-weight: 850; }
.product-review-form select,.product-review-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #CDD5C4; border-radius: 11px; background: #fff; color: #2F231A; font: 500 15px/1.5 'DM Sans',sans-serif; }
.product-review-form select { min-height: 48px; }
.product-review-form textarea { min-height: 122px; resize: vertical; }
.product-review-form select:focus-visible,.product-review-form textarea:focus-visible { outline: 3px solid #C9D5A9; outline-offset: 1px; border-color: #6F7E3A; }
.product-review-form .btn { grid-column: 2; justify-self: end; min-width: 180px; }
.product-review-access { display: grid; justify-items: start; gap: 7px; padding: 20px 22px; border: 1px solid #DDD7CA; border-radius: 16px; background: #FAF9F5; }
.product-review-access.is-complete { border-color: #CFE0D2; background: #F3F8F3; }
.product-review-access strong { color: #2F231A; font-size: 16px; }
.product-review-access p { max-width: 760px; margin: 0; color: #655D55; font-size: 13px; line-height: 1.6; }
.product-review-access > a:not(.btn) { color: #50602E; font-size: 13px; font-weight: 850; }
.product-review-access .btn { margin-top: 7px; }
.product-review-notice { display: grid; gap: 4px; margin-bottom: 14px; padding: 14px 17px; border: 1px solid #CDE0D0; border-radius: 13px; background: #F1F8F2; color: #2E5C3A; }
.product-review-notice.is-error { border-color: #E5C9C1; background: #FFF4F1; color: #7C382F; }
.product-review-notice span { font-size: 13px; line-height: 1.5; }
.product-review-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 28px; padding-top: 28px; border-top: 1px solid #E7E1D5; }
.product-review-list article { padding: 22px; border: 1px solid #E2DCCF; border-radius: 16px; background: #FFFDF9; }
.product-review-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.product-review-list article > div span { color: #8A6A27; letter-spacing: 2px; }
.product-review-list p { color: #5F574F; line-height: 1.68; }
.product-review-list time { color: #837A71; font-size: 12px; }
.product-reviews-empty { min-height: 170px; display: grid; place-items: center; align-content: center; gap: 8px; margin-top: 28px; padding: 30px; border: 1px dashed #CFC7BA; border-radius: 18px; text-align: center; }
.product-reviews-empty svg { width: 50px; height: 50px; fill: none; stroke: #6F7E3A; stroke-width: 1.7; }
.product-reviews-empty span { color: #716960; }

/* Inline social SVG controls */
.product-share { margin-top: 18px; padding-top: 16px; border-top: 1px solid #D8D1C5; }
.product-share h2 { margin: 0 0 13px; color: #2F231A; font-family: 'DM Sans',sans-serif; font-size: 17px; font-weight: 850; line-height: 1.35; letter-spacing: -.15px; }
.share-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.share-actions button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0; border: 1px solid #D9D2C6; border-radius: 50%; background: #fff; color: #4F5E25; cursor: pointer; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.share-actions button:hover { transform: translateY(-2px); border-color: #6F7E3A; background: #EEF1E2; }
.share-actions button:focus-visible { outline: 3px solid #C5D08C; outline-offset: 2px; }
.share-actions svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.share-actions [data-share="facebook"] svg path,.share-actions [data-share="linkedin"] svg rect,.share-actions [data-share="linkedin"] svg circle { fill: currentColor; stroke: currentColor; }
.share-actions .share-copy { width: auto; min-width: 130px; padding: 0 14px; border-radius: 999px; }
.share-actions .share-copy span { font-size: 12px; font-weight: 800; }
.share-toast { min-height: 19px; margin-top: 8px; color: #4F5E25; font-size: 12px; font-weight: 700; opacity: 0; transition: opacity .18s ease; }
.share-toast.show { opacity: 1; }

/* Lighthouse 2026: AA contrast, stable overlays and adequately sized controls */
:root { --hzj-aa-green: #5B692F; --hzj-aa-rust: #A85D35; --hzj-aa-muted: #6F675F; }
.topbar { background: var(--hzj-aa-green) !important; }
.site-header .brand-wordmark > span,
.site-search-dialog > span,
.search-kicker,
.commerce-section-heading > span,
.commerce-section-heading > div > span,
.promo-brand,
.commerce-product-brand,
.club-copy > span,
.b2b-copy > span { color: var(--hzj-aa-green) !important; }
.home-hero-cta,
.site-search-dialog form button,
.home-discovery-search button,
.commerce-primary-action,
.commerce-filters button.active,
.commerce-add,
.commerce-view,
.product .add-cart-button,
.commerce-product-card .add-cart-button { border-color: var(--hzj-aa-green) !important; background: var(--hzj-aa-green) !important; color: #fff !important; }
.home-page .promo-spotlight { border-top-color: var(--hzj-aa-rust); }
.home-page .promo-spotlight-head > div:first-child span,
.commerce-badge { background: var(--hzj-aa-rust) !important; color: #fff !important; }
.promo-discount,
.commerce-discount { background: var(--hzj-aa-green) !important; color: #fff !important; }
.promo-price-row del,
.commerce-price del,
.product .buyrow del,
.commerce-rating.empty,
.product .rating small { color: var(--hzj-aa-muted) !important; }
.collection-card p,
.club-copy > p { color: #5D554D !important; }
.commerce-rating > span { color: #8A6A27; }
.newsletter-card { background: #4F5E25; }
.newsletter-card > div > span,
.newsletter-card > div > p,
.newsletter-card form > label,
.newsletter-card form > small { color: #fff; }
.footnote { color: #B8C8C2; }
.mega-heading { display: block; margin: 0 0 12px; font-weight: 700; }
.site-header .mega { grid-template-columns: minmax(0,1fr) 230px !important; gap: 22px; padding: 22px !important; }
.mega-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-content: start; gap: 12px; }
.mega-category { min-width: 0; padding: 13px; border: 1px solid #E3E6D7; border-radius: 14px; background: #FBFAF5; }
.mega-category .mega-heading { min-height: 44px; display: grid !important; grid-template-columns: 30px minmax(0,1fr) 16px; align-items: center; gap: 9px; margin: 0 0 7px; padding: 0 4px 9px !important; color: #2F231A !important; border-bottom: 1px solid #E5E2D7; font-size: 14px !important; }
.mega-category .mega-heading > span { display: grid; place-items: center; width: 30px; height: 30px; color: #5B692F; background: #EEF2DF; border-radius: 9px; font-size: 14px; }
.mega-category .mega-heading svg { width: 16px; height: 16px; fill: none; stroke: #6F7E3A; stroke-width: 2; }
.mega-category-links { display: grid; gap: 1px; }
.site-header .mega-category-links a { min-height: 34px; display: flex !important; align-items: center; padding: 6px 7px !important; color: #655D55 !important; border-radius: 8px; font-size: 12px !important; line-height: 1.3; }
.site-header .mega-category-links a:hover,.site-header .mega-category-links a:focus-visible { color: #435022 !important; background: #EEF2DF; }
.mega-category-empty { display: block; padding: 6px 7px; color: #80786F; font-size: 11px; }
.site-header .mega > .mega-promo { min-height: 100%; align-self: stretch; }
.footer-heading { margin: 0 0 12px; color: #fff; font: inherit; font-size: 16px; font-weight: 700; letter-spacing: 0; }
.promo-media > a { display: block; width: 100%; height: 100%; }
.promo-controls button { width: 44px; height: 44px; }
.promo-dots { gap: 0; margin-top: 0; }
.promo-dots button,
.promo-dots button.active { position: relative; width: 44px; height: 44px; border-radius: 0; background: transparent; }
.promo-dots button::before { content: ''; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-radius: 999px; background: #8B8379; transform: translate(-50%,-50%); }
.promo-dots button.active::before { width: 24px; background: var(--hzj-aa-green); }
.commerce-filters button,
.commerce-add,
.commerce-view,
.popular-all-link,
.special-offer-body > div > a,
.commerce-text-action { min-height: 44px; }
.special-offer-body > div > a { display: inline-flex; align-items: center; }
.site-search-close { width: 44px; height: 44px; }
.footer-grid a,
.footer-grid .link-button { min-height: 44px; display: flex; align-items: center; margin: 0; }
.cookie-banner { bottom: 24px !important; opacity: 0; visibility: hidden; transform: translateY(calc(100% + 56px)); pointer-events: none; contain: layout paint; will-change: transform,opacity; transition: transform .35s ease,opacity .2s ease,visibility 0s linear .35s !important; }
.cookie-banner.show { bottom: 24px !important; opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; transition-delay: 0s !important; }
.home-commerce .commerce-section { content-visibility: auto; contain-intrinsic-size: auto 850px; }
.home-commerce .commerce-deals { contain-intrinsic-size: auto 920px; }
.home-commerce .popular-products { contain-intrinsic-size: auto 1100px; }
.home-commerce .newsletter-section { contain-intrinsic-size: auto 480px; }

/* Dedicated offer pages: every homepage offer has a useful destination */
.offer-detail { padding: 32px 0 88px; background: linear-gradient(180deg,#F8F6EF 0,#fff 50%,#F4F6EC 100%); color: #2F231A; }
.offer-detail-container { width: min(1180px,calc(100% - 40px)); margin: 0 auto; }
.offer-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; color: #756D64; font-size: 13px; }
.offer-breadcrumbs a { color: #59672F; font-weight: 750; }
.offer-detail-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); overflow: hidden; border: 1px solid #E1DACE; border-radius: 28px; background: #fff; box-shadow: 0 24px 60px rgba(62,50,34,.09); }
.offer-detail-media { position: relative; min-height: 500px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 70% 25%,rgba(255,255,255,.76),transparent 28%),linear-gradient(145deg,#E9EDD9,#CDD7A6); }
.offer-detail-media picture { display: block; width: 100%; height: 100%; align-self: stretch; }
.offer-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.offer-detail-type { position: absolute; z-index: 2; top: 24px; left: 24px; padding: 9px 14px; border-radius: 999px; background: #B86B3D; color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .65px; text-transform: uppercase; box-shadow: 0 9px 24px rgba(125,62,32,.22); }
.offer-detail-placeholder { width: min(330px,72%); fill: rgba(255,255,255,.58); stroke: #6F7E3A; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.offer-detail-copy { display: flex; flex-direction: column; justify-content: center; padding: 52px; }
.offer-detail-eyebrow,.offer-products header > span { color: #B05F35; font-size: 12px; font-weight: 900; letter-spacing: 1.15px; }
.offer-detail-copy h1 { max-width: 620px; margin: 12px 0 18px; font-size: clamp(38px,4.2vw,62px); line-height: 1.02; letter-spacing: -2.3px; }
.offer-detail-intro { margin: 0 0 24px; color: #5E574F; font-size: 17px; line-height: 1.65; }
.offer-detail-facts { display: grid; gap: 11px; margin-bottom: 28px; }
.offer-detail-facts span { display: flex; align-items: center; gap: 10px; color: #53602D; font-size: 14px; font-weight: 800; }
.offer-detail-facts svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.offer-detail-action { width: fit-content; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 21px; border-radius: 13px; background: #5B692F; color: #fff; font-weight: 900; box-shadow: 0 12px 28px rgba(111,126,58,.23); }
.offer-detail-action:hover { background: #59682D; transform: translateY(-1px); }
.offer-detail-copy > small { margin-top: 13px; color: #81796F; line-height: 1.45; }
.offer-conditions { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: 38px; margin: 30px 0 0; padding: 30px 34px; border: 1px solid #E2DACB; border-radius: 20px; background: #FFFDF8; }
.offer-conditions span { color: #B05F35; font-size: 11px; font-weight: 900; letter-spacing: 1px; }
.offer-conditions h2 { margin: 7px 0 0; font-size: 25px; }
.offer-conditions p { margin: 0; color: #5D554D; line-height: 1.75; }
.offer-products { padding-top: 68px; }
.offer-products > header { max-width: 680px; margin-bottom: 26px; }
.offer-products h2 { margin: 7px 0 9px; font-size: clamp(30px,3.2vw,44px); letter-spacing: -1.3px; }
.offer-products header p { margin: 0; color: #6E665E; line-height: 1.65; }
.offer-product-grid { margin-top: 28px; }
.offer-catalog-card { min-height: 150px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 22px; padding: 30px 34px; border: 1px solid #DDE3C7; border-radius: 20px; background: linear-gradient(135deg,#F0F3E3,#fff); color: #2F231A; }
.offer-catalog-card span { grid-column: 1; color: #777066; font-size: 13px; font-weight: 750; }
.offer-catalog-card strong { grid-column: 1; font-size: 23px; }
.offer-catalog-card svg { grid-column: 2; grid-row: 1 / 3; width: 38px; height: 38px; padding: 8px; border-radius: 50%; background: #5B692F; fill: none; stroke: #fff; stroke-width: 1.8; }

@media (max-width: 900px) {
    .site-header .mega { grid-template-columns: 1fr !important; }
    .mega-catalog { grid-template-columns: 1fr; }
    .site-header .mega > .mega-promo { min-height: 180px; }
    .faq-section { grid-template-columns: 1fr; gap: 18px; padding: 30px 0; }
    .faq-section > header.faq-section-card { position: relative; top: auto; min-height: 210px; }
    .offer-detail-hero { grid-template-columns: 1fr; }
    .offer-detail-media { min-height: 380px; }
    .offer-detail-copy { padding: 38px; }
    .club-page-layout,.search-page-hero-grid { grid-template-columns: 1fr; gap: 38px; }
    .club-page-hero .club-visual { order: -1; min-height: 310px; }
    .club-how-grid { grid-template-columns: 1fr; }
    .club-how-grid article { min-height: 0; }
    .shop-filter-disclosure > summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0 15px; border: 1px solid #D8D1C5; border-radius: 13px; background: #fff; cursor: pointer; list-style: none; }
    .shop-filter-disclosure > summary::-webkit-details-marker { display: none; }
    .shop-filter-disclosure > summary span { display: inline-flex; align-items: center; gap: 9px; font-weight: 800; }
    .shop-filter-disclosure > summary svg { width: 22px; height: 22px; fill: none; stroke: #6F7E3A; stroke-width: 1.8; }
    .shop-filter-disclosure > summary small { color: #736B62; }
    .shop-filter-disclosure[open] > summary { margin-bottom: 12px; }
    .shop-filters { position: static !important; }
    .category-shop-section { padding-top: 38px !important; }
    .product-tab-panel { padding: 26px; }
    .product-delivery-grid { grid-template-columns: 1fr; }
    .product-delivery-grid article { min-height: 0; }
    .product-faq-list,.product-review-list { grid-template-columns: 1fr; }
    .product-review-summary { grid-template-columns: minmax(180px,.75fr) minmax(280px,1.25fr); }
    .product-review-distribution { border-right: 0; }
    .product-review-policy { grid-column: 1 / -1; border-top: 1px solid #E5DED2; }
}

@media (pointer: coarse), (max-width: 900px) {
    .header-actions .header-icon,
    .header-actions button.header-icon,
    .site-header .nav-menu-toggle,
    .site-search-close { width: 48px !important; min-width: 48px !important; height: 48px !important; }
    .home-hero-cta,
    .commerce-primary-action,
    .commerce-secondary-action,
    .commerce-add,
    .commerce-view,
    .popular-all-link,
    .commerce-filters button,
    .special-offer-body > div > a,
    .commerce-text-action { min-height: 48px; }
    .promo-controls button { width: 48px; height: 48px; }
    .commerce-product-card.compact .add-cart-button { width: 48px !important; min-width: 48px !important; height: 48px !important; }
    .mega div:not(.mega-promo) a { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 600px) {
    .faq-content { padding-top: 22px; padding-bottom: 60px; }
    .faq-section-links { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(230px,82vw); justify-content: flex-start; overflow-x: auto; margin-right: -18px; padding: 3px 18px 10px 3px; overscroll-behavior-inline: contain; scrollbar-color: #B5BE8C transparent; scrollbar-width: thin; scroll-padding-left: 3px; scroll-snap-type: x proximity; }
    .faq-topic-link { min-height: 78px; scroll-snap-align: start; }
    .faq-section > header.faq-section-card { min-height: 0; padding: 20px; }
    .faq-section > header.faq-section-card h2 { margin-top: 17px; }
    .faq-section-hint { margin-top: 16px; }
    .faq-accordion summary { min-height: 56px; padding: 12px 14px; font-size: 15px; }
    .faq-accordion .faq-answer { padding: 3px 14px 17px; font-size: 15px; }
    .cookie-banner { left: 10px !important; right: 10px !important; bottom: 10px !important; width: auto; max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); gap: 18px; overflow: auto; padding: 22px 18px; border-radius: 19px; transform: translateY(calc(100% + 24px)); }
    .cookie-banner.show { bottom: 10px !important; transform: translateY(0); }
    .cookie-banner > div:first-child { width: 100%; min-width: 0; }
    .cookie-banner h2 { margin: 5px 0 8px; font-size: 25px; line-height: 1.1; letter-spacing: -1px; }
    .cookie-banner p { font-size: 14px; line-height: 1.55; }
    .cookie-actions { width: 100%; display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
    .cookie-actions .btn { width: 100%; min-width: 0; min-height: 48px; padding: 11px 9px; white-space: normal; line-height: 1.25; }
    .cookie-actions [data-cookie-accept] { grid-column: 1 / -1; }
    .shop-filter-disclosure > summary { min-width: 0; gap: 10px; }
    .shop-filter-disclosure > summary span { min-width: 0; }
    .shop-filter-disclosure > summary small { flex: 0 0 auto; }
    .offer-detail { padding: 20px 0 58px; }
    .offer-detail-container { width: min(100% - 24px,1180px); }
    .offer-detail-hero { border-radius: 20px; }
    .offer-detail-media { min-height: 280px; }
    .offer-detail-type { top: 14px; left: 14px; }
    .offer-detail-copy { padding: 26px 20px 28px; }
    .offer-detail-copy h1 { font-size: 36px; line-height: 1.07; letter-spacing: -1.4px; }
    .offer-detail-intro { font-size: 15px; }
    .offer-detail-action { width: 100%; }
    .offer-conditions { grid-template-columns: 1fr; gap: 15px; padding: 23px 20px; }
    .offer-products { padding-top: 50px; }
    .offer-catalog-card { min-height: 130px; padding: 22px 20px; }
    .offer-catalog-card strong { font-size: 19px; }
    .site-search-layer { padding: 56px 12px 12px; }
    .site-search-dialog { padding: 28px 20px 22px; border-radius: 19px; }
    .site-search-title { font-size: 27px; }
    .site-search-dialog form { grid-template-columns: 22px minmax(0,1fr); padding: 9px 12px; }
    .site-search-dialog form button { grid-column: 1 / -1; width: 100%; }
    .home-discovery-search { grid-template-columns: 22px minmax(0,1fr); margin-bottom: 22px; padding: 10px 13px; }
    .home-discovery-search button { grid-column: 1 / -1; width: 100%; }
    .popular-products-tools { width: 100%; justify-content: flex-start; }
    .popular-all-link { width: 100%; justify-content: center; }
    .collection-card b { min-height: 32px; padding-inline: 11px; }
    .hzj-club-card { width: min(330px,100%); height: 210px; padding: 24px; }
    .hzj-club-card > strong { margin-top: 32px; font-size: 30px; }
    .hzj-club-card-foot b { max-width: 130px; }
    .club-page-hero { padding: 52px 0; }
    .club-page-copy h1 { font-size: 38px; letter-spacing: -1.6px; }
    .club-page-copy > p { font-size: 15px; }
    .club-page-actions { flex-direction: column; }
    .club-page-primary,.club-page-secondary { width: 100%; }
    .club-how { padding: 54px 0; }
    .club-how header { text-align: left; }
    .club-how-grid article { padding: 21px; }
    .search-page-hero { padding: 48px 0; }
    .search-page-hero h1 { font-size: 36px; }
    .catalog-search-form { padding: 14px; }
    .catalog-search-form > div { grid-template-columns: 21px minmax(0,1fr); padding: 9px 12px; }
    .catalog-search-form button { grid-column: 1 / -1; width: 100%; }
    .search-results-section { padding: 48px 0 64px; }
    .search-results-toolbar { align-items: stretch; flex-direction: column; }
    .search-results-toolbar form { justify-content: space-between; }
    .search-results-toolbar select { flex: 1; min-width: 0; }
    .search-pagination { justify-content: space-between; gap: 8px; }
    .search-pagination span { text-align: center; }
    .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 11px !important; }
    .product .product-visual { height: 165px; }
    .product .product-visual img { padding: 10px; }
    .product .product-body { padding: 12px; }
    .product .product-body > small { font-size: 11px; letter-spacing: .35px; }
    .product .product-body h3 { min-height: 42px; font-size: 14px; }
    .product .product-body > p { display: none; }
    .product .rating { min-height: 34px; font-size: 11px; }
    .product .buyrow { align-items: stretch; flex-direction: column; }
    .product .add-cart-button,.product-card-view { width: 100% !important; min-height: 46px !important; }
    .commerce-product-card:not(.compact) .add-cart-button { width: 100% !important; min-height: 46px !important; }
    .storefront-product.product-page { padding: 28px 0 22px; }
    .storefront-product .breadcrumbs { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 0; font-size: 12px; }
    .storefront-product .product-detail.pro { padding-top: 18px; }
    .storefront-product .gallery-main { min-height: 0 !important; aspect-ratio: 1 / 1 !important; }
    .storefront-product .gallery-main img { width: 88% !important; height: 88% !important; max-height: none !important; padding: 8px !important; }
    .storefront-product .pro-copy h1 { margin-top: 8px; font-size: 32px; line-height: 1.12; letter-spacing: -1.1px; }
    .storefront-product .product-lead { font-size: 15px; line-height: 1.6; }
    .storefront-product .purchase-box { grid-template-columns: 1fr !important; padding: 14px; }
    .storefront-product .delivery-benefits article { grid-template-columns: 33px minmax(0,1fr); }
    .product-info-tabs { padding: 20px 0 20px !important; }
    .product-info-tabs > .wrap { width: min(100% - 24px,1180px); }
    .product-tab-list { justify-content: flex-start; border-radius: 14px; }
    .product-tab-list button { min-height: 48px; padding-inline: 16px; }
    .product-tab-panel { min-height: 0; margin-top: 12px; padding: 22px 18px; border-radius: 17px; }
    .product-info-tabs .info-grid { grid-template-columns: 1fr; gap: 18px; }
    .product-faq-list summary { min-height: 52px; padding-inline: 13px; }
    .product-faq-list details p { padding-inline: 13px; }
    .product-reviews-section { padding-bottom: 54px; }
    .product-reviews-section > .wrap { width: min(100% - 24px,1180px); }
    .product-reviews-card { padding: 23px 17px; border-radius: 18px; }
    .product-reviews-heading { margin-bottom: 20px; text-align: left; }
    .product-review-summary { grid-template-columns: 1fr; }
    .product-review-average,.product-review-distribution,.product-review-policy { padding: 22px 18px; }
    .product-review-average { border-right: 0; border-bottom: 1px solid #E5DED2; }
    .product-review-distribution { border-bottom: 1px solid #E5DED2; }
    .product-review-policy { grid-column: auto; border-top: 0; }
    .product-review-form { grid-template-columns: 1fr; padding: 19px 16px; }
    .product-review-form-heading,.product-review-form .btn { grid-column: auto; }
    .product-review-form .btn { width: 100%; justify-self: stretch; }
    .product-review-access { padding: 18px 16px; }
    .product-review-list { margin-top: 22px; padding-top: 22px; }
    .product-review-list article { padding: 18px; }
    .product-reviews-empty { min-height: 150px; margin-top: 22px; padding: 24px 18px; }
    .share-actions button { width: 48px; height: 48px; }
    .share-actions .share-copy { min-width: 144px; }
    .related-products-section .section-head { align-items: flex-start; }
    .home-commerce .commerce-deals { contain-intrinsic-size: auto 1450px; }
    .home-commerce .home-collections { contain-intrinsic-size: auto 1160px; }
    .home-commerce .popular-products { contain-intrinsic-size: auto 1900px; }
    .home-commerce .club-section,
    .home-commerce .b2b-section { contain-intrinsic-size: auto 720px; }
    .home-commerce .newsletter-section { contain-intrinsic-size: auto 560px; }
}

@media (prefers-reduced-motion: reduce) {
    .faq-topic-link,.faq-accordion summary svg { transition: none; }
    .faq-topic-link:hover { transform: none; }
}

@media (max-width: 360px) {
    .product-grid,.commerce-product-grid { grid-template-columns: 1fr !important; }
    .product .product-visual,.commerce-product-media { height: 220px; }
    .product .product-body > p,.commerce-product-body > p { display: -webkit-box; }
    .product .rating { min-height: 20px; }
}

/* Dynamic legal and customer-information pages. */
.cms-legal-page .article-page { padding: 68px 20px 96px; background: linear-gradient(180deg,#f6f4ec 0,#fbfaf6 220px,#fff 100%); }
.cms-legal-article .article-wrap { max-width: 980px; padding: clamp(28px,5vw,62px); border: 1px solid #e1e4d5; border-radius: 28px; background: #fff; box-shadow: 0 24px 70px rgba(47,35,26,.08); }
.cms-breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 28px; color: #697362; font-size: 14px; }
.cms-breadcrumb a { color: #56692e; font-weight: 750; }
.cms-legal-article .kicker { color: #6f7e3a; font-size: 13px; font-weight: 850; letter-spacing: 1.35px; }
.cms-legal-article .article-wrap h1 { max-width: 850px; margin: 12px 0 30px; color: #2f231a; font-size: clamp(38px,5.5vw,66px); letter-spacing: -1.5px; }
.cms-content { color: #3c443d; }
.cms-content > p:first-child { margin: 0 0 24px; padding: 12px 16px; border-left: 4px solid #879552; border-radius: 0 10px 10px 0; background: #f3f5e9; color: #53602f; }
.cms-content h2 { margin: 46px 0 14px; padding-top: 2px; color: #2f3927; font-size: clamp(23px,3vw,30px); line-height: 1.25; }
.cms-content h3 { margin-top: 30px; color: #38432f; }
.cms-content p,.cms-content li { font-size: 17px; line-height: 1.78; }
.cms-content ul,.cms-content ol { padding-left: 24px; }
.cms-content li + li { margin-top: 8px; }
.cms-content a { color: #526b24; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.cms-content blockquote { margin: 22px 0; padding: 20px 22px; border: 1px solid #dfe5ce; border-left: 5px solid #6f7e3a; border-radius: 14px; background: #fafbf6; }
.cms-content blockquote p { margin: 0; }
.cms-content table { display: block; width: 100%; margin: 22px 0 30px; overflow-x: auto; border: 1px solid #dfe5d9; border-radius: 15px; border-collapse: separate; border-spacing: 0; }
.cms-content thead { background: #edf1e2; color: #324020; }
.cms-content th,.cms-content td { min-width: 180px; padding: 15px 17px; border-bottom: 1px solid #e4e9df; vertical-align: top; font-size: 15px; line-height: 1.55; }
.cms-content th { font-weight: 850; }
.cms-content tr:last-child td { border-bottom: 0; }
.cms-content code { padding: 3px 6px; border-radius: 6px; background: #edf1ec; color: #274838; font-size: .9em; }
.cms-editor-content h2 { margin: 46px 0 14px; color: #2f3927; font-size: clamp(23px,3vw,30px); line-height: 1.25; }
.cms-editor-content h3 { margin: 30px 0 12px; color: #38432f; font-size: 23px; line-height: 1.3; }
.cms-editor-content h4,.cms-editor-content h5,.cms-editor-content h6 { margin: 28px 0 10px; color: #38432f; line-height: 1.35; }
.cms-editor-content h4 { font-size: 21px; }.cms-editor-content h5 { font-size: 18px; }.cms-editor-content h6 { font-size: 16px; letter-spacing: .04em; text-transform: uppercase; }
.cms-editor-content .content-lead { color: #4f5b47; font-size: 1.16em; line-height: 1.7; }
.cms-editor-content .content-callout,.cms-editor-content .content-callout-info,
.cms-editor-content .content-callout-warning,.cms-editor-content .content-callout-success { margin: 22px 0; padding: 19px 21px; border: 1px solid #dfe5ce; border-left: 5px solid #6f7e3a; border-radius: 14px; background: #fafbf6; }
.cms-editor-content blockquote { margin: 22px 0; padding: 19px 21px; border: 1px solid #dfe5ce; border-left: 5px solid #6f7e3a; border-radius: 14px; background: #fafbf6; }
.cms-editor-content .content-callout-warning { border-color: #ead7a6; border-left-color: #b7791f; background: #fff9e8; }
.cms-editor-content .content-callout-success { border-color: #bcdcc8; border-left-color: #2f855a; background: #edf9f1; }
.cms-editor-content figure { max-width: 760px; margin: 28px auto; text-align: center; }
.cms-editor-content figure.content-media-wide { max-width: 100%; }
.cms-editor-content figure img { display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: 16px; }
.cms-editor-content figcaption { margin-top: 9px; color: #736b62; font-size: 13px; line-height: 1.5; }
.cms-editor-content table { display: block; width: 100%; margin: 22px 0 30px; overflow-x: auto; border: 1px solid #dfe5d9; border-radius: 15px; border-collapse: separate; border-spacing: 0; }
.cms-editor-content caption { padding: 13px 16px; color: #324020; background: #e8eddd; font-weight: 850; text-align: left; }
.cms-editor-content thead { background: #edf1e2; color: #324020; }
.cms-editor-content th,.cms-editor-content td { min-width: 160px; padding: 15px 17px; border-bottom: 1px solid #e4e9df; text-align: left; vertical-align: top; font-size: 15px; line-height: 1.55; }
.cms-editor-content th { font-weight: 850; }
.cms-editor-content .content-table-striped tbody tr:nth-child(even) { background: #fafbf7; }
.cms-editor-content pre { overflow-x: auto; padding: 18px; color: #e5f1ec; background: #14271f; border-radius: 12px; font: 13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; white-space: pre-wrap; }
.cms-editor-content pre code { padding: 0; color: inherit; background: transparent; }
.cms-editor-content mark { padding: .08em .24em; background: #f2ef9f; border-radius: 3px; }
.cms-editor-content hr { height: 1px; margin: 34px 0; background: #dfe5d9; border: 0; }
.cms-editor-content .align-left { text-align: left; }.cms-editor-content .align-center { text-align: center; }.cms-editor-content .align-right { text-align: right; }
@media (max-width: 600px) {
    .cms-legal-page .article-page { padding: 28px 12px 60px; }
    .cms-legal-article .article-wrap { padding: 24px 18px; border-radius: 20px; }
    .cms-legal-article .article-wrap h1 { font-size: 36px; letter-spacing: -.8px; }
    .cms-content h2 { margin-top: 34px; }
    .cms-content p,.cms-content li { font-size: 16px; }
}

/* Product descriptions authored with the protected admin content editor. */
.product-rich-description { max-width: 820px; color: #5f574f; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.product-rich-description > :first-child { margin-top: 0; }
.product-rich-description > :last-child { margin-bottom: 0; }
.product-rich-description h2 { margin: 1.55em 0 .55em; color: #2f231a; font-size: clamp(25px,3vw,34px); line-height: 1.25; }
.product-rich-description h3 { margin: 1.45em 0 .5em; color: #38432f; font-size: 23px; line-height: 1.3; }
.product-rich-description h4,.product-rich-description h5,.product-rich-description h6 { margin: 1.35em 0 .45em; color: #38432f; line-height: 1.35; }
.product-rich-description p { margin: 0 0 1em; }
.product-rich-description ul,.product-rich-description ol { margin: 0 0 1.15em; padding-left: 1.65em; }
.product-rich-description li + li { margin-top: .4em; }
.product-rich-description a { color: #526b24; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.product-rich-description blockquote,
.product-rich-description .content-callout,
.product-rich-description .content-callout-info,
.product-rich-description .content-callout-warning,
.product-rich-description .content-callout-success { margin: 1.25em 0; padding: 18px 20px; border: 1px solid #dfe5ce; border-left: 5px solid #6f7e3a; border-radius: 14px; background: #fafbf6; }
.product-rich-description .content-callout-warning { border-color: #ead7a6; border-left-color: #b7791f; background: #fff9e8; }
.product-rich-description .content-callout-success { border-color: #bcdcc8; border-left-color: #2f855a; background: #edf9f1; }
.product-rich-description .content-lead { color: #4d5945; font-size: 1.16em; }
.product-rich-description figure { max-width: 760px; margin: 24px auto; text-align: center; }
.product-rich-description figure.content-media-wide { max-width: 100%; }
.product-rich-description img { max-width: 100%; height: auto; border-radius: 16px; }
.product-rich-description figcaption { margin-top: 8px; color: #736b62; font-size: 13px; }
.product-rich-description table { display: block; width: 100%; margin: 22px 0 30px; overflow-x: auto; border: 1px solid #dfe5d9; border-radius: 14px; border-collapse: separate; border-spacing: 0; }
.product-rich-description caption { padding: 13px 16px; color: #324020; background: #edf1e2; font-weight: 850; text-align: left; }
.product-rich-description th,.product-rich-description td { min-width: 150px; padding: 13px 15px; border-bottom: 1px solid #e4e9df; text-align: left; vertical-align: top; }
.product-rich-description th { color: #324020; background: #f2f5ea; font-weight: 850; }
.product-rich-description .content-table-striped tbody tr:nth-child(even) { background: #fafbf7; }
.product-rich-description pre { overflow-x: auto; padding: 18px; color: #e5f1ec; background: #14271f; border-radius: 12px; white-space: pre-wrap; }
.product-rich-description code { padding: .12em .35em; color: #743a31; background: #f6ece9; border-radius: 5px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; }
.product-rich-description pre code { padding: 0; color: inherit; background: transparent; }
.product-rich-description .align-left { text-align: left; }
.product-rich-description .align-center { text-align: center; }
.product-rich-description .align-right { text-align: right; }
@media (max-width: 600px) {
    .product-rich-description { font-size: 15px; line-height: 1.72; }
    .product-rich-description h2 { font-size: 26px; }
    .product-rich-description h3 { font-size: 21px; }
}

/* Store footer: explicit four-column layout and a calm brand presentation. */
body .site-footer { position: relative; overflow: hidden; padding: 0; color: #F8F6EF; background: #2F3420; border-top: 4px solid #7E8B49; }
body .site-footer::before { content: ""; position: absolute; right: -180px; top: -210px; width: 520px; height: 520px; opacity: .35; background: radial-gradient(circle at 50% 50%,rgba(200,208,140,.18) 0 8%,transparent 9% 21%,rgba(200,208,140,.1) 22% 29%,transparent 30%); border-radius: 50%; pointer-events: none; }
.site-footer .footer-main { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(280px,1.45fr) minmax(150px,.7fr) minmax(190px,.9fr) minmax(250px,1.05fr); align-items: start; gap: clamp(30px,4vw,64px); padding-top: clamp(52px,6vw,76px); padding-bottom: 48px; }
.footer-brand-area { max-width: 390px; }
.site-footer .footer-brand { min-height: 72px; display: inline-flex; align-items: center; gap: 16px; margin: 0; color: #E8ECCB; }
.footer-brand-logo,.footer-brand-fallback { flex: 0 0 72px; width: 72px; height: 72px; }
.footer-brand-logo { object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.2)); }
.footer-brand-fallback { display: grid; place-items: center; border-radius: 18px; background: rgba(255,255,255,.08); font-size: 32px; }
.footer-wordmark { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.footer-wordmark strong,.footer-wordmark strong span { color: #E8ECCB; font: 800 clamp(20px,2vw,25px)/1.05 "DM Sans",sans-serif; letter-spacing: -1px; white-space: nowrap; }
.footer-wordmark small { color: #C8D08C; font-size: 9px; font-weight: 800; letter-spacing: 1.35px; }
.site-footer .footer-tagline { max-width: 380px; margin: 22px 0 20px; color: #D2D9C0; font-size: 15px; line-height: 1.72; }
.footer-assurance { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-assurance span { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; color: #E5E9D3; background: rgba(255,255,255,.055); border: 1px solid rgba(232,236,203,.13); border-radius: 999px; font-size: 11px; font-weight: 750; }
.footer-assurance svg { width: 17px; height: 17px; fill: none; stroke: #C8D08C; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-footer .footer-heading { margin: 7px 0 16px; color: #F8F6EF; font-size: 15px; font-weight: 800; letter-spacing: .15px; }
.site-footer .footer-column > a,.site-footer .footer-column > .link-button { position: relative; width: fit-content; min-height: 44px; display: flex; align-items: center; margin: 0; padding: 3px 0; color: #D2D9C0; background: transparent; border: 0; font-size: 13px; line-height: 1.35; text-align: left; cursor: pointer; }
.site-footer .footer-column > a::after,.site-footer .footer-column > .link-button::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 6px; height: 1px; background: #C8D08C; transition: right .18s ease; }
.site-footer .footer-column > a:hover,.site-footer .footer-column > .link-button:hover { color: #F8F6EF; }
.site-footer .footer-column > a:hover::after,.site-footer .footer-column > .link-button:hover::after { right: 0; }
.site-footer a:focus-visible,.site-footer button:focus-visible { outline: 3px solid #C8D08C; outline-offset: 4px; border-radius: 4px; }
.footer-contact-list { display: grid; gap: 10px; margin: 0; font-style: normal; }
.site-footer .footer-contact-link { min-width: 0; min-height: 62px; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 11px; margin: 0; padding: 9px 11px; color: #F8F6EF; background: rgba(255,255,255,.055); border: 1px solid rgba(232,236,203,.13); border-radius: 13px; transition: background .18s ease,border-color .18s ease,transform .18s ease; }
.site-footer .footer-contact-link:hover { background: rgba(255,255,255,.09); border-color: rgba(200,208,140,.38); transform: translateY(-1px); }
.footer-contact-link > svg { width: 38px; height: 38px; padding: 9px; fill: none; stroke: #C8D08C; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; background: rgba(200,208,140,.08); border-radius: 10px; }
.footer-contact-link > span { min-width: 0; display: grid; gap: 3px; }
.footer-contact-link small { color: #AEB99A; font-size: 11px; font-weight: 700; letter-spacing: .55px; text-transform: uppercase; }
.footer-contact-link strong { color: #F8F6EF; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.site-footer .footer-contact-action { min-width: 0; min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr) 18px; align-items: center; gap: 10px; margin-top: 13px; padding: 9px 11px; color: #F8F6EF; background: rgba(200,208,140,.1); border: 1px solid rgba(200,208,140,.24); border-radius: 13px; transition: background .18s ease,border-color .18s ease,transform .18s ease; }
.site-footer .footer-contact-action:hover { color: #fff; background: rgba(200,208,140,.17); border-color: rgba(200,208,140,.42); transform: translateY(-1px); }
.site-footer .footer-contact-action > svg { width: 34px; height: 34px; padding: 7px; fill: none; stroke: #C8D08C; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; background: rgba(200,208,140,.08); border-radius: 9px; }
.site-footer .footer-contact-action > span { min-width: 0; display: grid; gap: 2px; }
.site-footer .footer-contact-action strong { font-size: 13px; line-height: 1.35; }
.site-footer .footer-contact-action small { color: #BFC8AE; font-size: 12px; line-height: 1.4; }
.site-footer .footer-contact-action > .footer-contact-action-arrow { width: 18px; height: 18px; padding: 0; background: transparent; }
.site-footer .footer-bottom { position: relative; z-index: 1; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 0; padding-top: 18px; padding-bottom: 18px; color: #BEC7AC; border-top: 1px solid rgba(255,255,255,.11); font-size: 12px; }
@media (max-width: 1050px) {
    .site-footer .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .footer-brand-area { max-width: none; grid-column: 1 / -1; }
    .site-footer .footer-tagline { max-width: 620px; }
    .site-footer .footer-contact-column { max-width: 560px; grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .site-footer .footer-main { grid-template-columns: 1fr; gap: 0; padding-top: 42px; padding-bottom: 26px; }
    .footer-brand-area { grid-column: auto; padding-bottom: 28px; }
    .site-footer .footer-contact-column { max-width: none; grid-column: auto; }
    .site-footer .footer-brand { align-items: center; }
    .footer-brand-logo,.footer-brand-fallback { flex-basis: 64px; width: 64px; height: 64px; }
    .footer-wordmark strong,.footer-wordmark strong span { font-size: 20px; white-space: normal; }
    .site-footer .footer-tagline { margin-top: 18px; font-size: 14px; }
    .site-footer .footer-column { padding: 20px 0; border-top: 1px solid rgba(255,255,255,.09); }
    .site-footer .footer-heading { margin-top: 0; }
    .site-footer .footer-column > a,.site-footer .footer-column > .link-button { width: 100%; min-height: 44px; }
    .footer-contact-list { max-width: 420px; }
    .site-footer .footer-bottom { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* About page: dynamic CMS content presented as an editorial storefront story. */
.cms-about-page main { background: #F8F6EF; }
.cms-about-article { position: relative; overflow: hidden; padding: clamp(54px,7vw,92px) 20px 110px; background: radial-gradient(circle at 88% 5%,rgba(153,166,91,.18),transparent 25%),linear-gradient(180deg,#EEF1E2 0,#F8F6EF 420px,#FFFDF8 100%); }
.cms-about-article::before { content: ""; position: absolute; left: -130px; top: 260px; width: 340px; height: 340px; opacity: .48; background: radial-gradient(circle at 50% 24%,#CAD2A1 0 8%,transparent 9%),radial-gradient(circle at 29% 43%,#CAD2A1 0 7%,transparent 8%),radial-gradient(circle at 71% 43%,#CAD2A1 0 7%,transparent 8%),radial-gradient(ellipse at 50% 69%,#CAD2A1 0 20%,transparent 21%); transform: rotate(-18deg); pointer-events: none; }
.cms-about-article .article-wrap { position: relative; z-index: 1; max-width: 1060px; }
.cms-about-article .cms-breadcrumb { margin-bottom: 34px; }
.cms-about-article .kicker { display: inline-flex; min-height: 32px; align-items: center; padding: 0 13px; color: #56632F; background: rgba(111,126,58,.1); border: 1px solid rgba(111,126,58,.2); border-radius: 999px; font-size: 10px; font-weight: 850; letter-spacing: 1.5px; }
.cms-about-article .article-wrap > h1 { max-width: 780px; margin: 18px 0 30px; color: #2F231A; font: 750 clamp(48px,7vw,76px)/1.02 "DM Sans",sans-serif; letter-spacing: -3.2px; }
.cms-about-article .cms-content { color: #514B43; }
.cms-about-article .cms-content > p:first-child { max-width: 920px; margin: 0 0 24px; padding: clamp(25px,4vw,40px); color: #2F3927; background: linear-gradient(135deg,#E5E9D2,#F8F6EF); border: 1px solid #D8DEC0; border-left: 7px solid #6F7E3A; border-radius: 22px; box-shadow: 0 16px 40px rgba(72,59,41,.07); font-size: clamp(20px,2.5vw,27px); line-height: 1.5; }
.cms-about-article .cms-content > p:nth-child(2) { max-width: 850px; margin-bottom: 54px; color: #625B52; font-size: 18px; line-height: 1.8; }
.cms-about-article .cms-editor-content > h2 { margin: 64px 0 18px; padding: 0; color: #2F231A; font: 750 clamp(30px,4vw,42px)/1.15 "DM Sans",sans-serif; letter-spacing: -1.4px; }
.cms-about-article .cms-editor-content > h2::before { content: ""; width: 36px; height: 4px; display: block; margin-bottom: 14px; background: #7E8B49; border-radius: 99px; }
.cms-about-article .cms-editor-content > p { max-width: 860px; color: #5E574F; font-size: 17px; line-height: 1.82; }
.cms-about-article .cms-editor-content > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin: 27px 0 40px; padding: 0; list-style: none; }
.cms-about-article .cms-editor-content > ul > li { min-height: 172px; display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 24px; color: #625B52; background: #FFFDF8; border: 1px solid #E0DBCF; border-radius: 18px; box-shadow: 0 12px 30px rgba(72,59,41,.045); font-size: 15px; line-height: 1.65; }
.cms-about-article .cms-editor-content > ul > li::before { content: "✓"; width: 31px; height: 31px; display: grid; place-items: center; margin-bottom: 13px; color: #FFF; background: #6F7E3A; border-radius: 10px; font-size: 14px; font-weight: 900; }
.cms-about-article .cms-editor-content > ul > li strong { display: block; margin-bottom: 7px; color: #2F231A; font-size: 17px; line-height: 1.35; }
.cms-about-article .cms-editor-content > ul > li a { min-height: 36px; display: inline-flex; align-items: center; margin-top: auto; padding-top: 12px; color: #56632F; font-size: 13px; font-weight: 850; }
.cms-about-article .cms-editor-content > blockquote { max-width: 900px; margin: 48px 0; padding: 27px 30px; color: #31583D; background: #EDF7EF; border: 1px solid #C9E0CE; border-left: 7px solid #3F7B52; border-radius: 19px; font-size: 17px; line-height: 1.7; }
.cms-about-article .cms-editor-content > blockquote strong { color: #254B32; font-size: 19px; }
.cms-about-article .cms-editor-content > .content-callout-info { max-width: 900px; margin: 40px 0 0; padding: 28px 30px; color: #F8F6EF; background: linear-gradient(135deg,#59672F,#768548); border: 0; border-radius: 20px; box-shadow: 0 18px 42px rgba(79,94,37,.2); }
.cms-about-article .cms-editor-content > .content-callout-info strong { color: #FFF; font-size: 20px; }
.cms-about-article .cms-editor-content > .content-callout-info a { min-height: 44px; display: inline-flex; align-items: center; margin: 13px 6px 0 0; padding: 0 17px; color: #3F4B22; background: #F1F4DF; border-radius: 11px; font-size: 14px; font-weight: 850; text-decoration: none; }
.cms-about-article a:focus-visible { outline: 3px solid #9DAA68; outline-offset: 3px; }
@media (max-width: 720px) {
    .cms-about-article { padding: 40px 12px 72px; }
    .cms-about-article .article-wrap > h1 { font-size: 46px; letter-spacing: -2px; }
    .cms-about-article .cms-content > p:first-child { padding: 23px 20px; border-radius: 17px; font-size: 20px; }
    .cms-about-article .cms-content > p:nth-child(2) { margin-bottom: 40px; font-size: 16px; }
    .cms-about-article .cms-editor-content > h2 { margin-top: 48px; font-size: 30px; }
    .cms-about-article .cms-editor-content > p { font-size: 16px; }
    .cms-about-article .cms-editor-content > ul { grid-template-columns: 1fr; }
    .cms-about-article .cms-editor-content > ul > li { min-height: 0; }
    .cms-about-article .cms-editor-content > blockquote,.cms-about-article .cms-editor-content > .content-callout-info { padding: 23px 20px; }
}

/* Canonical brand storefront */
.brand-breadcrumbs { padding-top: 22px; color: #746c63; font-size: 13px; }
.brand-breadcrumbs a { color: #53612d; font-weight: 750; }
.brand-storefront-hero { padding: 36px 0 68px; overflow: hidden; background: radial-gradient(circle at 18% 10%,#fff 0,#fff 17%,transparent 42%),linear-gradient(135deg,#f8f6ef,#eef2df); border-bottom: 1px solid #dfe4ca; }
.brand-storefront-hero-grid { display: grid; grid-template-columns: minmax(230px,340px) minmax(0,1fr); gap: clamp(34px,6vw,88px); align-items: center; }
.brand-storefront-logo { min-height: 220px; display: grid; place-items: center; overflow: hidden; padding: 28px; background: #fff; border: 1px solid #dfe4ca; border-radius: 24px; box-shadow: 0 22px 55px rgba(67,80,34,.10); }
.brand-storefront-logo picture { display: contents; }
.brand-storefront-logo img { display: block; width: 100%; height: 180px; object-fit: contain; }
.brand-storefront-logo > span { display: grid; place-items: center; width: 118px; height: 118px; color: #fff; background: #6f7e3a; border-radius: 28px; font-size: 54px; font-weight: 900; }
.brand-storefront-intro h1 { max-width: 820px; margin: 10px 0 16px; color: #2f231a; font: 800 clamp(40px,5.2vw,66px)/1.04 'DM Sans',sans-serif; letter-spacing: -.045em; }
.brand-storefront-intro > p { max-width: 780px; margin: 0; color: #5f5a52; font-size: clamp(17px,2vw,20px); line-height: 1.7; }
.brand-storefront-summary { display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap; margin-top: 25px; }
.brand-storefront-summary strong { color: #58672e; font-size: 26px; }
.brand-storefront-summary span { color: #655e55; }
.brand-storefront-summary a { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; margin-left: 8px; padding: 9px 15px; color: #425021; background: #fff; border: 1px solid #ccd5ab; border-radius: 12px; font-weight: 780; }
.brand-context-navigation { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin-top: 25px; padding-top: 20px; border-top: 1px solid #d3dab9; }
.brand-context-label { flex: 0 0 auto; color: #5e5a51; font-size: 14px; font-weight: 780; }
.brand-context-links { min-width: 0; display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.brand-context-links li { min-width: 0; margin: 0; }
.brand-context-links a { min-height: 48px; display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 14px 9px 16px; color: #39451f; background: rgba(255,255,255,.82); border: 1px solid #cbd4aa; border-radius: 999px; box-shadow: 0 4px 12px rgba(67,80,34,.055); font-size: 14px; font-weight: 820; }
.brand-context-links a svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.brand-context-links a:hover { color: #34401d; background: #f4f7e9; border-color: #97a568; }
.brand-context-links a:focus-visible { outline: 3px solid #526029; outline-offset: 3px; }
.brand-storefront-catalog { padding-top: 58px; }
.brand-category-facets { display: flex; gap: 9px; overflow-x: auto; margin: 0 0 30px; padding: 2px 2px 10px; scrollbar-width: thin; }
.brand-category-facets a { flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; color: #4e4a43; background: #fff; border: 1px solid #d9ddc9; border-radius: 999px; font-size: 14px; font-weight: 760; }
.brand-category-facets a span { min-width: 24px; padding: 2px 7px; color: #53612d; background: #edf1df; border-radius: 999px; text-align: center; font-size: 12px; }
.brand-category-facets a[aria-current="page"] { color: #fff; background: #667438; border-color: #667438; }
.brand-category-facets a[aria-current="page"] span { color: #fff; background: rgba(255,255,255,.16); }
.brand-catalog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 28px; }
.brand-catalog-toolbar h2 { margin: 6px 0 4px; color: #2f231a; font: 800 clamp(29px,4vw,43px)/1.12 'DM Sans',sans-serif; letter-spacing: -.035em; }
.brand-catalog-toolbar p { margin: 0; color: #726a61; }
.brand-catalog-toolbar form { display: grid; grid-template-columns: auto minmax(210px,1fr); align-items: center; gap: 10px; }
.brand-catalog-toolbar label { color: #625c54; font-size: 13px; font-weight: 750; }
.brand-catalog-toolbar select { min-height: 46px; padding: 9px 36px 9px 12px; background: #fff; border: 1px solid #d4d8c7; border-radius: 11px; }
.brand-product-grid .empty-state { grid-column: 1 / -1; }
.brand-pagination { margin-top: 32px; }
.section.brand-logo-carousel { padding: 5px 0; }
.brand-logo-carousel { overflow: hidden; color: #2f231a; background: linear-gradient(180deg,#fff 0,#f8f8f2 100%); border-top: 1px solid #e1e5d4; border-bottom: 1px solid #e1e5d4; }
.brand-logo-carousel-stage { position: relative; min-width: 0; }
.brand-logo-carousel-controls { position: absolute; inset: 0 -22px; z-index: 3; display: flex; align-items: center; justify-content: space-between; pointer-events: none; opacity: .34; transition: opacity .18s ease; }
.brand-logo-carousel-stage:hover .brand-logo-carousel-controls,.brand-logo-carousel-stage:focus-within .brand-logo-carousel-controls { opacity: 1; }
.brand-logo-carousel-controls[hidden] { display: none; }
.brand-logo-carousel-controls button { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; padding: 0; color: #4d5d29; background: rgba(255,255,255,.96); border: 1px solid #c5ceaa; border-radius: 50%; box-shadow: 0 5px 16px rgba(55,67,29,.16); cursor: pointer; pointer-events: auto; }
.brand-logo-carousel-controls button:hover:not(:disabled),.brand-logo-carousel-controls button:focus-visible { color: #fff; background: #667438; border-color: #667438; outline: none; }
.brand-logo-carousel-controls button:focus-visible { box-shadow: 0 0 0 4px rgba(111,126,58,.2); }
.brand-logo-carousel-controls button:disabled { pointer-events: none; opacity: 0; }
.brand-logo-carousel-controls svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.brand-logo-carousel-track { min-width: 0; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 70px)/6); gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; padding: 5px 2px; scroll-behavior: smooth; scroll-padding-inline: 2px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.brand-logo-carousel-track::-webkit-scrollbar { display: none; }
.brand-logo-carousel-track:focus-visible { outline: 3px solid rgba(82,96,41,.42); outline-offset: -3px; border-radius: 14px; }
.brand-logo-carousel-card { min-width: 0; height: 106px; display: grid; place-items: center; overflow: hidden; padding: 12px; color: #2f231a; background: transparent; border: 1px solid transparent; border-radius: 14px; box-shadow: none; scroll-snap-align: start; scroll-snap-stop: always; }
.brand-logo-carousel-card:hover,.brand-logo-carousel-card:focus-visible,.brand-logo-carousel-card:active { background: #fff; border-color: #d9dec8; box-shadow: 0 3px 10px rgba(61,72,35,.08); }
.brand-logo-carousel-card:focus-visible { outline: 3px solid #526029; outline-offset: -3px; }
.brand-logo-carousel-card picture { display: contents; }
.brand-logo-carousel-card img { width: 100%; height: 72px; display: block; object-fit: contain; filter: grayscale(1) saturate(.25); opacity: .52; transition: filter .18s ease,opacity .18s ease; }
.brand-logo-carousel-card:hover img,.brand-logo-carousel-card:focus-visible img,.brand-logo-carousel-card:focus img,.brand-logo-carousel-card:active img { filter: none; opacity: 1; }
.brand-editorial { background: #fff; }
.brand-editorial-grid { display: grid; grid-template-columns: minmax(230px,.58fr) minmax(0,1.42fr); gap: clamp(38px,7vw,100px); align-items: start; }
.brand-editorial header { position: sticky; top: 112px; }
.brand-editorial h2 { margin: 9px 0 0; color: #2f231a; font: 800 clamp(31px,4vw,46px)/1.12 'DM Sans',sans-serif; letter-spacing: -.035em; }
.brand-editorial .article-content { color: #4f4a43; font-size: 17px; line-height: 1.8; }
.brand-editorial .article-content > :first-child { margin-top: 0; }
.brand-editorial .article-content h2,.brand-editorial .article-content h3 { color: #35401f; font-family: 'DM Sans',sans-serif; letter-spacing: -.025em; }
.product-card-brand,.commerce-product-brand[href],.product-brand[href] { text-decoration: none; }
.product-card-brand:hover,.product-card-brand:focus-visible,.commerce-product-brand[href]:hover,.commerce-product-brand[href]:focus-visible { color: #39451f !important; text-decoration: underline; text-underline-offset: 3px; }
.product-brand[href] { width: fit-content; padding: 4px 7px 4px 4px; border-radius: 9px; }
.product-brand[href]:hover,.product-brand[href]:focus-visible { background: #eef2df; outline: none; }

@media (max-width: 780px) {
    .brand-storefront-hero { padding: 20px 0 48px; }
    .brand-storefront-hero-grid { grid-template-columns: 1fr; gap: 27px; }
    .brand-storefront-logo { width: min(100%,360px); min-height: 170px; padding: 20px; }
    .brand-storefront-logo img { height: 140px; }
    .brand-storefront-intro h1 { font-size: clamp(35px,11vw,50px); }
    .brand-storefront-summary a { width: 100%; margin-left: 0; justify-content: center; }
    .brand-context-navigation { align-items: stretch; }
    .brand-context-label { width: 100%; }
    .brand-context-links { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .brand-context-links a { width: 100%; }
    .brand-catalog-toolbar { align-items: stretch; flex-direction: column; }
    .brand-catalog-toolbar form { grid-template-columns: 1fr; }
    .brand-catalog-toolbar select { width: 100%; }
    .brand-editorial-grid { grid-template-columns: 1fr; gap: 24px; }
    .brand-editorial header { position: static; }
}

@media (max-width: 1020px) {
    .brand-logo-carousel-track { grid-auto-columns: calc((100% - 36px)/4); gap: 12px; }
}

@media (max-width: 640px) {
    .brand-logo-carousel-controls { display: none !important; }
    .brand-logo-carousel-track { grid-auto-columns: calc((100% - 10px)/2); gap: 10px; padding: 5px 2px; }
    .brand-logo-carousel-card { height: 96px; padding: 10px; border-radius: 12px; }
    .brand-logo-carousel-card img { height: 66px; }
}

@media (prefers-reduced-motion: reduce) {
    .brand-logo-carousel-track { scroll-behavior: auto; }
    .brand-logo-carousel-card,.brand-logo-carousel-card img,.brand-logo-carousel-controls { transition: none; }
}

/* Canonical, category-scoped brand facet. */
.shop-filters .brand-filter { min-width: 0; margin: 20px 0; padding: 0; border: 0; }
.shop-filters .brand-filter legend { margin: 0 0 10px; color: #30271f; font-size: 14px; font-weight: 850; }
.brand-filter-search { display: block; margin: 0 0 9px; }
.brand-filter-search input { width: 100%; min-height: 44px; padding: 10px 12px; color: #332b24; background: #fff; border: 1px solid #d8dccb; border-radius: 11px; font-size: 14px; }
.brand-filter-search input:focus-visible { outline: 3px solid rgba(111,126,58,.25); outline-offset: 1px; border-color: #6f7e3a; }
.brand-filter-list { max-height: 296px; display: grid; gap: 5px; overflow-y: auto; padding: 1px 5px 1px 1px; scrollbar-width: thin; scrollbar-color: #aab58a #edf0e4; }
.brand-filter-option { min-width: 0; min-height: 48px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 3px; padding: 4px 4px 4px 7px; background: #fff; border: 1px solid #e0e3d6; border-radius: 11px; }
.brand-filter-option[hidden] { display: none; }
.brand-filter-option:has(input:checked) { background: #f0f4e4; border-color: #aab87b; box-shadow: inset 3px 0 #6f7e3a; }
.brand-filter-option label { min-width: 0; min-height: 44px; display: grid; grid-template-columns: 18px 42px minmax(0,1fr) auto; align-items: center; gap: 8px; margin: 0; cursor: pointer; }
.brand-filter-option input { width: 18px; height: 18px; margin: 0; accent-color: #667438; }
.brand-filter-logo { width: 42px; height: 30px; display: grid; place-items: center; overflow: hidden; color: #52602d; background: #f4f5ef; border: 1px solid #e5e7dc; border-radius: 7px; }
.brand-filter-logo img { width: 38px; height: 26px; display: block; object-fit: contain; }
.brand-filter-logo b { font-size: 13px; }
.brand-filter-name { min-width: 0; overflow: hidden; color: #443d36; font-size: 13px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.brand-filter-option label small { min-width: 24px; color: #68734e; font-size: 11px; font-weight: 800; text-align: right; }
.brand-filter-option > a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 7px; color: #667438; border-radius: 8px; font-size: 0; font-weight: 800; }
.brand-filter-option > a::before { content: "↗"; font-size: 16px; }
.brand-filter-option > a:hover,.brand-filter-option > a:focus-visible { color: #fff; background: #667438; outline: none; }
.brand-filter-more { width: 100%; min-height: 44px; margin-top: 8px; color: #52602d; background: #f1f4e7; border: 1px solid #d7ddc0; border-radius: 10px; font-size: 13px; font-weight: 820; cursor: pointer; }
.brand-filter-more:hover,.brand-filter-more:focus-visible { background: #e7edd7; border-color: #aeba86; outline: none; }
.category-editorial-card { max-width: 1040px; padding: clamp(26px,4vw,54px); background: #fff; border: 1px solid #e2e4da; border-radius: 24px; box-shadow: 0 20px 50px rgba(65,61,50,.06); }
.category-editorial-card .article-content { color: #514b44; font-size: 17px; line-height: 1.82; }
.category-editorial-card .content-lead { color: #374322; font-size: clamp(18px,2.2vw,22px); line-height: 1.66; }
.category-editorial-card .article-content h2 { margin-top: 42px; color: #2f231a; font: 800 clamp(28px,3.5vw,38px)/1.2 'DM Sans',sans-serif; letter-spacing: -.025em; }
.category-editorial-card .article-content h3 { margin-top: 29px; color: #4b5928; font: 790 clamp(21px,2.7vw,27px)/1.25 'DM Sans',sans-serif; }
.category-editorial-card .article-content a { color: #56672e; font-weight: 780; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 720px) {
    .brand-filter-list { max-height: 270px; }
    .brand-filter-option label { grid-template-columns: 18px 38px minmax(0,1fr) auto; gap: 7px; }
    .brand-filter-logo { width: 38px; }
    .category-editorial-card { padding: 24px 20px; border-radius: 18px; }
    .category-editorial-card .article-content { font-size: 16px; }
}

@media (max-width: 430px) {
    .brand-context-links { grid-template-columns: 1fr; }
}

/* Optional category artwork. The legacy text-only hero is unchanged when no verified image is configured. */
.category-hero-with-media { padding: 18px 0; background: #f4f3eb; }
.category-hero-shell { position: relative; isolation: isolate; min-height: clamp(260px,22vw,300px); overflow: hidden; aspect-ratio: auto; background: #eee9dd; border: 1px solid #e1dccf; border-radius: 22px; box-shadow: 0 12px 34px rgba(70,60,45,.08); }
.category-hero-shell::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg,rgba(248,246,239,.98) 0%,rgba(248,246,239,.92) 32%,rgba(248,246,239,.7) 47%,rgba(248,246,239,.12) 67%,rgba(248,246,239,0) 77%); }
.category-hero-copy { position: relative; z-index: 2; width: min(48%,540px); display: flex; min-height: inherit; flex-direction: column; justify-content: center; padding: clamp(24px,3.2vw,42px); }
.category-hero-copy h1 { margin: 6px 0 10px; font-size: clamp(44px,4.7vw,56px); line-height: 1.04; }
.category-hero-copy p { max-width: 430px; margin: 0; color: #514b43; font-size: 16px; line-height: 1.5; }
.category-hero-media { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; }
.category-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.category-hero-with-media + .category-shop-section { padding-top: 44px; }

#categoryProductGrid > .category-empty-state { grid-column: 1 / -1; width: 100%; min-height: 340px; display: grid; place-items: center; align-content: center; gap: 11px; padding: clamp(30px,6vw,66px); color: #514b43; background: linear-gradient(145deg,#fff 0%,#f8f7f1 100%); border: 1px dashed #c9cdb8; border-radius: 22px; text-align: center; }
.category-empty-state > svg { width: 68px; height: 68px; margin-bottom: 5px; fill: none; stroke: #718044; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.category-empty-state h2 { margin: 0; color: #2f291f; font: 800 clamp(24px,3vw,32px)/1.2 'DM Sans',sans-serif; letter-spacing: -.025em; }
.category-empty-state p { max-width: 610px; margin: 0; color: #716a61; font-size: 16px; line-height: 1.65; }
.category-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.category-empty-actions .btn { width: auto !important; min-width: 158px; min-height: 48px; flex: 0 0 auto; padding: 12px 17px; white-space: nowrap; }
.category-empty-actions .category-empty-catalog { min-width: 220px; }
.category-empty-actions .btn.ghost { color: #4f5d2b; background: #fff; border-color: #cfd5b8; }
.category-empty-actions .btn.ghost:hover,.category-empty-actions .btn.ghost:focus-visible { color: #fff; background: #667438; border-color: #667438; outline: none; }

@media (max-width: 900px) {
    .category-hero-with-media + .category-shop-section { padding-top: 32px !important; }
}

@media (max-width: 720px) {
    .category-hero-with-media { padding: 14px 0; }
    .category-hero-shell { min-height: 0; display: flex; aspect-ratio: auto; flex-direction: column; border-radius: 18px; }
    .category-hero-shell::after { display: none; }
    .category-hero-copy { width: 100%; min-height: 0; padding: 18px 20px 16px; background: #f8f6ef; }
    .category-hero-copy h1 { margin: 5px 0 8px; font-size: clamp(32px,9vw,42px); line-height: 1.06; }
    .category-hero-copy p { font-size: 15px; line-height: 1.5; }
    .category-hero-media { position: relative; inset: auto; width: 100%; height: clamp(156px,40vw,220px); aspect-ratio: auto; }
    .category-hero-media img { object-position: center 44%; }
    .category-hero-with-media + .category-shop-section { padding-top: 26px !important; }
    #categoryProductGrid > .category-empty-state { min-height: 290px; padding: 34px 18px; border-radius: 18px; }
    .category-empty-state > svg { width: 58px; height: 58px; }
    .category-empty-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
    .category-empty-actions .btn,.category-empty-actions .category-empty-catalog { width: 100% !important; min-width: 0; white-space: normal; }
}
.checkout-account-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:15px 18px;border:1px solid #ddd7c8;border-radius:14px;background:#fff;color:#2f231a}.checkout-account-status>div{display:grid;gap:3px}.checkout-account-status span{color:#6b6258;font-size:.92rem}.checkout-account-status a{color:#526126;font-weight:800;text-underline-offset:3px}.checkout-account-status.is-authenticated{border-color:#c9d5a7;background:#f3f7e9}.checkout-consents .checkout-legal-check{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:12px;padding:14px 15px;border:1px solid #d8d1c3;border-radius:12px;background:#fbfaf6;font-weight:650;line-height:1.55}.checkout-consents .checkout-legal-check input{width:22px;height:22px;margin:1px 0 0;accent-color:#6f7e3a}.checkout-consents .checkout-legal-check a{color:#526126;text-decoration:underline;text-underline-offset:3px}.checkout-consents .checkout-legal-check b{color:#a3312a}.checkout-consent-version{margin:8px 0 14px 36px;color:#756b61;font-size:.83rem}.checkout-consents .checkout-marketing-check{background:#fff;border-style:dashed}.checkout-consents .checkout-marketing-check small{color:#756b61;font-weight:500}
@media(max-width:640px){.checkout-account-status{align-items:flex-start;flex-direction:column}.checkout-account-status>span{display:flex;gap:7px}.checkout-consent-version{margin-left:0}}

/* Back-in-stock: compact, explicit double-opt-in and accessible focus states. */
.stock-alert-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;margin:18px 0;padding:18px;background:linear-gradient(145deg,#f2f6e7,#fff);border:1px solid #cad6a7;border-radius:17px;box-shadow:0 12px 26px rgba(76,91,41,.08)}
.stock-alert-icon,.stock-alert-token-icon{display:grid;place-items:center;color:#fff;background:#6f7e3a;border-radius:14px}.stock-alert-icon{width:48px;height:48px}.stock-alert-icon svg,.stock-alert-token-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stock-alert-copy h2{margin:0 0 5px;color:#2f231a;font:800 20px/1.25 'DM Sans',sans-serif}.stock-alert-copy>p{margin:0 0 13px;color:#625b52;font-size:14px;line-height:1.55}.stock-alert-copy>small{display:block;margin-top:8px;color:#756e64;font-size:12px;line-height:1.45}
.stock-alert-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.stock-alert-form label{display:grid;gap:5px;margin:0;color:#463e35;font-size:13px;font-weight:750}.stock-alert-form input[type=email]{width:100%;min-height:48px;padding:11px 13px;color:#302920;background:#fff;border:1px solid #cfd6b8;border-radius:11px;font:500 16px/1.3 'DM Sans',sans-serif}.stock-alert-form input[type=email]:focus-visible{outline:3px solid rgba(111,126,58,.25);outline-offset:1px;border-color:#6f7e3a}.stock-alert-form .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;white-space:nowrap}.stock-alert-form .btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stock-alert-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.stock-alert-account-email{min-height:48px;display:grid;align-content:center;padding:8px 12px;background:#fff;border:1px solid #d8dec4;border-radius:11px}.stock-alert-account-email span{color:#756d63;font-size:11px}.stock-alert-account-email strong{overflow:hidden;color:#3f4d25;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.stock-alert-notice{display:grid;gap:2px;margin:0 0 11px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45}.stock-alert-notice.is-success{color:#27522d;background:#e8f5e8;border:1px solid #b9dbbb}.stock-alert-notice.is-info{color:#3e4d25;background:#eef3df;border:1px solid #d0dcae}.stock-alert-notice.is-warning{color:#74481d;background:#fff4df;border:1px solid #edcf98}.stock-alert-notice span{font-weight:500}
.stock-alert-token-page{min-height:62vh;display:grid;place-items:center;padding:clamp(42px,8vw,92px) 20px;background:linear-gradient(145deg,#f8f6ef,#edf2df)}.stock-alert-token-card{width:min(100%,610px);display:grid;justify-items:center;gap:15px;padding:clamp(27px,5vw,48px);background:#fff;border:1px solid #d8dec7;border-radius:24px;box-shadow:0 24px 65px rgba(67,73,46,.13);text-align:center}.stock-alert-token-icon{width:62px;height:62px;border-radius:20px}.stock-alert-token-card h1{margin:0;color:#2f231a;font:800 clamp(28px,5vw,40px)/1.12 'DM Sans',sans-serif}.stock-alert-token-card p{max-width:500px;margin:0;color:#625b52;font-size:16px;line-height:1.65}.stock-alert-token-card small{max-width:480px;color:#776f65;line-height:1.5}.stock-alert-token-card form{margin:2px 0}.stock-alert-token-card .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:11px 20px}.stock-alert-token-card .btn.ghost{color:#526126;background:#fff;border:1px solid #cbd4ae}
@media(max-width:640px){.stock-alert-card{grid-template-columns:40px minmax(0,1fr);padding:15px 14px}.stock-alert-icon{width:40px;height:40px;border-radius:12px}.stock-alert-form{grid-template-columns:1fr}.stock-alert-form .btn{width:100%;white-space:normal}.stock-alert-token-card{border-radius:19px}.stock-alert-token-page{padding-inline:14px}}

/* Shared compact CAPTCHA for contact and every public newsletter form. */
.public-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.compact-captcha{--captcha-ink:#3f392f;--captcha-muted:#6f695f;--captcha-border:#d9deca;--captcha-bg:#f8faf3;min-width:0;display:grid;gap:8px;margin:13px 0 10px;padding:10px 12px 9px;color:var(--captcha-ink);background:var(--captcha-bg);border:1px solid var(--captcha-border);border-radius:14px}
.compact-captcha legend{padding:0 6px;color:inherit;font-size:12px;font-weight:800}
.compact-captcha-main{min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-areas:"image answer" "image refresh";align-items:center;gap:6px 11px}
.compact-captcha-image{grid-area:image;width:112px;height:77px;display:block;overflow:hidden;background:#eef0e8;border:1px solid var(--captcha-border);border-radius:10px}
.compact-captcha-image img{width:100%;height:100%;display:block;object-fit:cover}
.compact-captcha-answer{grid-area:answer;min-width:0;display:grid!important;gap:4px;margin:0!important;color:inherit!important;font-size:12px!important;font-weight:750!important}
.compact-captcha-answer select{width:100%;min-height:42px;margin:0;padding:8px 34px 8px 11px;color:#332d25;background:#fff;border:1px solid #cfd5bc;border-radius:10px;font:650 14px/1.25 'DM Sans',sans-serif}
.compact-captcha-answer select:focus-visible,.compact-captcha-accessible input:focus-visible{outline:3px solid rgba(111,126,58,.28);outline-offset:1px;border-color:#6f7e3a}
.compact-captcha-refresh{grid-area:refresh;min-height:44px;display:inline-flex;align-items:center;justify-self:start;padding:8px 2px;color:#526126;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;font:750 12px/1.3 'DM Sans',sans-serif;cursor:pointer}
.compact-captcha-refresh:hover,.compact-captcha-refresh:focus-visible{color:#364019;outline:2px solid rgba(111,126,58,.3);outline-offset:3px}
.compact-captcha-refresh:disabled{opacity:.55;cursor:wait}
.compact-captcha-accessible{padding-top:7px;border-top:1px solid var(--captcha-border)}
.compact-captcha-accessible summary{width:max-content;max-width:100%;min-height:44px;display:flex;align-items:center;color:inherit;cursor:pointer;font-size:12px;font-weight:750}
.compact-captcha-accessible label{max-width:280px;display:grid!important;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:8px;margin:8px 0 2px!important;color:inherit!important;font-size:12px!important;font-weight:700!important}
.compact-captcha-accessible input,.newsletter-card .compact-captcha-accessible input{width:72px!important;min-height:40px!important;height:40px!important;margin:0!important;padding:7px 9px!important;color:#332d25!important;background:#fff!important;border:1px solid #cfd5bc!important;border-radius:9px!important;text-align:center}
.compact-captcha-note{margin:0;color:var(--captcha-muted);font-size:12px;line-height:1.4}
.compact-captcha-status{min-height:0;color:var(--captcha-muted);font-size:12px;line-height:1.4}
.compact-captcha-status:empty{display:none}
.compact-captcha[aria-busy=true]{opacity:.78}
.newsletter-card .compact-captcha{--captcha-ink:#fff;--captcha-muted:rgba(255,255,255,.7);--captcha-border:rgba(255,255,255,.25);--captcha-bg:rgba(255,255,255,.08)}
.newsletter-card .compact-captcha-answer select{border-color:rgba(255,255,255,.68)}
.newsletter-card .compact-captcha-refresh{width:auto;height:auto;min-height:44px;padding:8px 2px;color:#f4f7dc;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;font:750 12px/1.3 'DM Sans',sans-serif}
.newsletter-card .compact-captcha-accessible input{color:#332d25!important}
@media(max-width:430px){.compact-captcha-main{grid-template-columns:92px minmax(0,1fr);gap:6px 9px}.compact-captcha-image{width:92px;height:64px}.compact-captcha{padding:9px}.compact-captcha-answer select{min-height:44px;font-size:13px}.compact-captcha-accessible label{grid-template-columns:1fr}.compact-captcha-accessible input,.newsletter-card .compact-captcha-accessible input{width:100%!important;text-align:left}}
.pet-map-hero{padding:70px 0 48px;background:radial-gradient(circle at 85% 20%,#fff8 0 4%,transparent 4.2%),linear-gradient(135deg,#e9eddd,#f6f3e9)}
.pet-map-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.pet-map-hero-inner>div:first-child>span,.pet-map-canvas-head>div>span,.pet-place-list-head>div>span{color:#5b692f;font-size:12px;font-weight:900;letter-spacing:.13em}
.pet-map-hero h1{margin:8px 0;font:700 clamp(36px,6vw,64px)/1.05 'DM Sans',sans-serif}
.pet-map-hero p{max-width:760px;margin:0;color:#655e55;font-size:17px;line-height:1.65}
.pet-map-add-button{min-height:48px;display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:0 20px;border-radius:999px;background:#53632f;color:#fff;font-weight:850;text-decoration:none;box-shadow:0 12px 26px #3f4c2630}.pet-map-add-button span{font-size:19px;line-height:1}.pet-map-add-button:hover{background:#465527;transform:translateY(-1px)}.pet-map-add-button:focus-visible{outline:3px solid #253318;outline-offset:3px}
.pet-map-hero-stat{min-width:150px;padding:20px;border:1px solid #cbd5bd;border-radius:20px;background:#fff9;text-align:center;box-shadow:0 14px 30px #42502b14}
.pet-map-hero-stat strong{display:block;color:#465426;font:800 38px/1 'DM Sans',sans-serif}
.pet-map-hero-stat span{display:block;margin-top:7px;color:#655e55;font-size:12px;font-weight:800;letter-spacing:.04em}
.pet-map-layout{padding-block:34px 70px}
.pet-map-filters{display:flex;gap:9px;overflow-x:auto;margin-bottom:20px;padding:2px 2px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.pet-map-filters a{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid #d6ddca;border-radius:999px;background:#fff;white-space:nowrap;text-decoration:none}
.pet-map-filters a>span{min-width:24px;padding:3px 7px;border-radius:999px;background:#edf1e7;color:#4e5c32;font-size:11px;font-weight:900;text-align:center}
.pet-map-filters a[aria-current=page]{border-color:#5b692f;background:#5b692f;color:#fff}
.pet-map-filters a[aria-current=page]>span{background:#ffffff24;color:#fff}
.pet-map-filter-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-2px 0 22px;padding:15px 18px;border:1px solid #dce3d3;border-radius:16px;background:linear-gradient(105deg,#f7f9f3,#fff);box-shadow:0 8px 24px #43502e0d}.pet-map-filter-cta>div{display:grid;gap:3px}.pet-map-filter-cta strong{color:#35412d;font-size:14px}.pet-map-filter-cta>div>span{color:#6b6d64;font-size:12px}.pet-map-filter-cta>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;padding:0 17px;border-radius:12px;background:#5b692f;color:#fff;font-size:13px;font-weight:850;text-decoration:none;box-shadow:0 8px 18px #4d5c2b2b}.pet-map-filter-cta>a:hover{background:#4d5b28;transform:translateY(-1px)}
.pet-map-canvas{padding:24px;border:1px solid #d7decf;border-radius:22px;background:#eff3e7;box-shadow:0 20px 50px #41512712}
.pet-map-canvas-head,.pet-place-list-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.pet-map-canvas-head h2,.pet-place-list-head h2{margin:5px 0 0;font:700 clamp(25px,4vw,34px)/1.15 'DM Sans',sans-serif}
.pet-map-canvas-head p{max-width:430px;margin:0;color:#6b685e;line-height:1.55}
.pet-map-stage{position:relative}
.pet-map-leaflet{height:clamp(500px,58vw,680px);overflow:hidden;border:2px solid #fff;border-radius:18px;background:#dce5d4;box-shadow:0 16px 38px #34422520}
.pet-map-leaflet:focus-visible{outline:3px solid #384721;outline-offset:3px}
.pet-map-load-status{margin:10px 2px 0;color:#565d4b;font-size:12px;font-weight:700}
.pet-map-load-status.is-ready{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pet-map-load-status.is-error,.pet-map-fallback{padding:12px 14px;border:1px solid #d5bca9;border-radius:10px;background:#fff8f2;color:#754128}
.pet-map-leaflet.is-unavailable{min-height:220px;height:220px;background:linear-gradient(145deg,#e3e9d8,#f8f5ed)}
.pet-map-marker-shell{border:0;background:transparent}
.pet-map-marker{position:relative;width:34px;height:34px;display:grid;place-items:center;transform:rotate(-45deg);border:3px solid #fff;border-radius:50% 50% 50% 0;background:#5b692f;box-shadow:0 5px 15px #26311966}
.pet-map-marker>span{transform:rotate(45deg);color:#fff;font:900 15px/1 'DM Sans',sans-serif}
.pet-map-marker.type-veterinarian,.pet-map-legend i.type-veterinarian,.pet-place-type.type-veterinarian{background:#a74e42}
.pet-map-marker.type-groomer,.pet-map-legend i.type-groomer,.pet-place-type.type-groomer{background:#3d7081}
.pet-map-marker.type-pet_hotel,.pet-map-legend i.type-pet_hotel,.pet-place-type.type-pet_hotel{background:#9a7139}
.pet-map-marker.type-park,.pet-map-legend i.type-park,.pet-place-type.type-park{background:#5b692f}
.pet-map-marker-shell:focus .pet-map-marker,.pet-map-marker-shell:focus-visible .pet-map-marker{outline:3px solid #1f2715;outline-offset:3px}
.pet-map-leaflet .leaflet-control-zoom a{width:42px;height:42px;line-height:42px;font-size:22px}
.pet-map-leaflet .leaflet-control-attribution{font-size:10px}
.pet-map-leaflet .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 14px 34px #2631193d}
.pet-map-leaflet .leaflet-popup-content{margin:16px 18px}
.pet-map-popup-type{display:block;color:#5b692f;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.pet-map-popup-title{display:block;margin-top:4px;color:#30362b;font-size:16px;line-height:1.3}
.pet-map-popup-address{margin:7px 0 0;color:#615e56;font-size:13px;line-height:1.45}
.pet-map-popup-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.pet-map-popup-actions a{min-height:40px;display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #cbd4bd;border-radius:8px;background:#f6f8f1;color:#465426;font-size:11px;font-weight:800;text-decoration:none}
.pet-map-legend{position:absolute;right:16px;bottom:16px;z-index:650;display:flex;flex-wrap:wrap;gap:8px 14px;max-width:520px;padding:10px 13px;border:1px solid #d8decf;border-radius:12px;background:#fffffff0;backdrop-filter:blur(7px);box-shadow:0 8px 22px #39422a16}
.pet-map-legend span{display:inline-flex;align-items:center;gap:6px;color:#5e5b53;font-size:11px;font-weight:700}.pet-map-legend i{width:10px;height:10px;border-radius:50%}
.pet-place-list{margin-top:42px}
.pet-place-list-head>p{margin:0;color:#6d675f;font-weight:700}
.pet-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pet-place-card,.pet-map-empty{padding:21px;border:1px solid #ddd8cc;border-radius:18px;background:#fff;box-shadow:0 12px 30px #5b514412}
.pet-place-card{scroll-margin-top:120px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.pet-place-card:hover{transform:translateY(-2px);border-color:#c7d2b8;box-shadow:0 16px 34px #4b58351b}
.pet-place-card:target{border-color:#5b692f;box-shadow:0 0 0 4px #dfe8d2,0 18px 36px #42502b24}
.pet-place-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pet-place-type{display:inline-flex;min-height:26px;align-items:center;padding:4px 9px;border-radius:999px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.pet-place-verified{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e6edde;color:#4b5b2b;font-size:13px;font-weight:900}
.pet-place-card h3{margin:12px 0 13px;font:700 20px/1.22 'DM Sans',sans-serif}
.pet-place-address,.pet-place-phone{display:flex;align-items:flex-start;gap:9px;margin:0;color:#5e5a53;line-height:1.45}
.pet-place-address>span:first-child,.pet-place-phone>span:first-child{flex:0 0 20px;color:#5b692f;font-weight:900;text-align:center}
.pet-place-address strong{display:block;color:#373832;font-size:14px}.pet-place-address small{display:block;margin-top:2px;color:#777168;font-size:12px}
.pet-place-phone{margin-top:10px}.pet-place-phone a{min-height:28px;display:inline-flex;align-items:center;font-weight:700}
.pet-place-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pet-place-actions a,.pet-place-actions button{min-height:40px;display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border:1px solid #d8ddcf;border-radius:9px;background:#fafbf7;color:#4e5a35;font:800 12px/1.3 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.pet-place-actions a:hover,.pet-place-actions button:hover{border-color:#aebc9b;background:#f0f4e9}.pet-place-actions .pet-place-map-link{border-color:#5b692f;background:#5b692f;color:#fff}
.pet-place-actions button{border-color:#c7d2b8;background:#f1f5eb;color:#465426}
.pet-place-source{display:block;margin-top:15px;color:#746c63;font-size:11px;line-height:1.5}.pet-place-source a{font-weight:700}
.pet-map-empty{text-align:center}.pet-map-empty h3{margin-top:0}.pet-map-empty a{min-height:44px;display:inline-flex;align-items:center;margin-top:8px;padding:0 16px;border-radius:999px;background:#5b692f;color:#fff;font-weight:800;text-decoration:none}
.pet-map-suggestion{scroll-margin-top:110px;position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:clamp(30px,5vw,70px);align-items:start;margin-top:54px;padding:clamp(28px,5vw,58px);overflow:hidden;border:1px solid #d6deca;border-radius:28px;background:radial-gradient(circle at 8% 12%,#fff 0 4px,transparent 5px),radial-gradient(circle at 13% 17%,#fff 0 3px,transparent 4px),linear-gradient(135deg,#e8eddd 0,#f5f2e8 44%,#edf2e5 100%);box-shadow:0 24px 64px #43502e16}

@media(max-width:760px){.pet-map-filter-cta{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.pet-map-filter-cta>a{width:100%}}
.pet-map-suggestion:before{content:'🐾';position:absolute;right:-20px;top:-52px;color:#7280440d;font-size:190px;line-height:1;transform:rotate(-18deg);pointer-events:none}
.pet-map-suggestion-story,.pet-map-suggestion-card{position:relative;z-index:1;min-width:0}.pet-map-suggestion-story{position:sticky;top:110px;padding-top:12px}
.pet-map-suggestion-story>span,.pet-map-suggestion-card-head>span{color:#5b692f;font-size:11px;font-weight:900;letter-spacing:.15em}.pet-map-suggestion-story h2{max-width:620px;margin:10px 0 15px;font:700 clamp(30px,4vw,48px)/1.08 'DM Sans',sans-serif;color:#30372b}.pet-map-suggestion-lead{margin:0;color:#5f6158;font-size:16px;line-height:1.72}
.pet-map-suggestion-promise{margin-top:24px;padding:19px 20px;border-left:4px solid #f39a18;border-radius:0 16px 16px 0;background:#ffffffa6}.pet-map-suggestion-promise strong{display:block;color:#344324;font-size:15px;line-height:1.45}.pet-map-suggestion-promise p{margin:7px 0 0;color:#66645c;font-size:13px;line-height:1.6}
.pet-map-suggestion-story ol{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.pet-map-suggestion-story li{display:flex;align-items:center;gap:12px}.pet-map-suggestion-story li>b{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:#5b692f;color:#fff;font-size:12px}.pet-map-suggestion-story li>span{display:grid;gap:2px}.pet-map-suggestion-story li strong{color:#394331;font-size:13px}.pet-map-suggestion-story li small{color:#6c6a62;font-size:12px}
.pet-map-suggestion-card{padding:clamp(20px,3vw,32px);border:1px solid #d9ded0;border-radius:22px;background:#fff;box-shadow:0 18px 46px #3d493220}.pet-map-suggestion-card-head h3{margin:7px 0 7px;font:700 clamp(24px,3vw,32px)/1.15 'DM Sans',sans-serif}.pet-map-suggestion-card-head p{margin:0;color:#6d685f;font-size:13px;line-height:1.55}
.pet-map-suggestion-notice{margin-bottom:18px;padding:15px 17px;border:1px solid #cbdabf;border-radius:14px;background:#f2f8ec;color:#33492c}.pet-map-suggestion-notice.is-error{border-color:#e5c7c0;background:#fff4f1;color:#7c382f}.pet-map-suggestion-notice strong{display:block}.pet-map-suggestion-notice p{margin:5px 0 0;font-size:13px;line-height:1.55}
.pet-map-customer-identity{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid #cfdbc2;border-radius:13px;background:#f4f8ef;color:#39472e}.pet-map-customer-identity>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:50%;background:#5b692f;color:#fff;font-weight:900}.pet-map-customer-identity p{display:grid;gap:2px;margin:0;font-size:13px}.pet-map-customer-identity small{color:#6b7163}.pet-map-customer-gate{display:grid;justify-items:start;margin-top:22px;padding:24px;border:1px solid #d9dfcf;border-radius:18px;background:linear-gradient(145deg,#f7f9f3,#fff)}.pet-map-customer-gate-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:14px;border-radius:16px;background:#e7eddb;font-size:25px}.pet-map-customer-gate strong{color:#34412d;font-size:17px}.pet-map-customer-gate p{margin:8px 0 0;color:#66675f;font-size:13px;line-height:1.65}.pet-map-customer-gate-actions{width:100%;display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.pet-map-customer-gate-actions a{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;border:1px solid #cbd4bd;border-radius:11px;background:#fff;color:#4c5936;font-size:13px;font-weight:850;text-decoration:none}.pet-map-customer-gate-actions a.is-primary{border-color:#56672e;background:#56672e;color:#fff}.pet-map-customer-gate-actions a:focus-visible{outline:3px solid #2e3d20;outline-offset:2px}
.pet-map-suggestion-form{margin-top:22px}.pet-map-suggestion .contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.pet-map-suggestion-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pet-map-suggestion-fields label{min-width:0;display:grid;gap:6px;color:#3f403a;font-size:12px;font-weight:800}.pet-map-suggestion-fields input,.pet-map-suggestion-fields select,.pet-map-suggestion-fields textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d3d9ca;border-radius:11px;background:#fbfcf9;color:#302f2b;font:500 14px/1.35 'DM Sans',sans-serif}.pet-map-suggestion-fields textarea{min-height:104px;resize:vertical}.pet-map-suggestion-fields input:focus-visible,.pet-map-suggestion-fields select:focus-visible,.pet-map-suggestion-fields textarea:focus-visible{outline:3px solid #6f7e3a36;outline-offset:1px;border-color:#6f7e3a;background:#fff}.pet-map-suggestion-wide{grid-column:1/-1}.pet-map-suggestion-help{display:block;margin:-7px 1px 1px;color:#706d65;font-size:11px;line-height:1.5}
.pet-map-suggestion-form .compact-captcha{margin-top:17px}.pet-map-suggestion-consent{display:flex;align-items:flex-start;gap:10px;margin-top:13px;color:#5e5c55;font-size:12px;line-height:1.55;cursor:pointer}.pet-map-suggestion-consent input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;accent-color:#5b692f}.pet-map-suggestion-consent a{font-weight:800}.pet-map-suggestion-submit{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:11px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#56672e,#718044);color:#fff;font:850 14px/1.3 'DM Sans',sans-serif;box-shadow:0 11px 24px #4c5c2b34;cursor:pointer}.pet-map-suggestion-submit:hover{filter:brightness(.96);transform:translateY(-1px)}.pet-map-suggestion-submit:focus-visible{outline:3px solid #27351b;outline-offset:3px}.pet-map-suggestion-fineprint{margin:12px 0 0;color:#77736c;font-size:10px;line-height:1.5;text-align:center}
.pet-map-suggestion-consent input{width:24px;height:24px;flex-basis:24px;margin-top:0}
.pet-map-attribution{margin-top:24px;color:#6d675f;font-size:12px;line-height:1.6}
@media(max-width:1100px){.pet-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-map-leaflet{height:560px}.pet-map-suggestion{grid-template-columns:1fr;padding:34px}.pet-map-suggestion-story{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;padding:0}.pet-map-suggestion-story>span,.pet-map-suggestion-story h2,.pet-map-suggestion-lead{grid-column:1/-1}.pet-map-suggestion-promise{grid-column:1}.pet-map-suggestion-story ol{grid-column:2}}
@media(max-width:760px){.pet-map-hero{padding:46px 0 36px}.pet-map-hero-inner{display:block}.pet-map-hero-stat{width:max-content;min-width:132px;margin-top:22px;padding:15px 18px}.pet-map-hero-stat strong{font-size:30px}.pet-map-layout{padding-top:24px}.pet-map-canvas{padding:14px;border-radius:17px}.pet-map-canvas-head,.pet-place-list-head{display:block}.pet-map-canvas-head p{margin-top:9px}.pet-map-leaflet{height:460px;border-radius:13px}.pet-map-leaflet .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.pet-map-legend{position:static;margin-top:10px;padding:10px;background:#fff}.pet-place-list{margin-top:34px}.pet-place-list-head>p{margin-top:8px}.pet-place-grid{grid-template-columns:1fr}.pet-place-card,.pet-map-empty{padding:18px}.pet-place-actions a,.pet-place-actions button{min-height:44px}.pet-map-suggestion{display:block;margin-top:38px;padding:19px;border-radius:20px}.pet-map-suggestion-story{display:block}.pet-map-suggestion-story h2{font-size:31px}.pet-map-suggestion-story ol{margin-bottom:25px}.pet-map-suggestion-card{padding:18px;border-radius:17px}.pet-map-suggestion-fields{grid-template-columns:1fr}.pet-map-suggestion-wide{grid-column:auto}.pet-map-suggestion-fields input,.pet-map-suggestion-fields select,.pet-map-suggestion-fields textarea{font-size:16px}.pet-map-attribution{margin-top:20px}}
.home-personalized{padding:64px 0;background:#f0f3e8}.home-personalized header{max-width:720px;margin-bottom:24px}.home-personalized header>span{color:#5b692f;font-size:11px;font-weight:900;letter-spacing:.14em}.home-personalized h2{margin:8px 0;font:700 clamp(30px,4vw,44px)/1.1 'DM Sans',sans-serif}.home-personalized-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-personalized-grid a{display:grid;grid-template-rows:150px auto auto 1fr auto;gap:7px;padding:16px;border:1px solid #d8decd;border-radius:17px;background:#fff;color:#2f231a}.home-personalized-grid img{width:100%;height:150px;object-fit:contain}.home-personalized-grid span{color:#5b692f;font-size:11px;font-weight:900}.home-personalized-grid small{color:#70695f}.home-personalized-grid b{font-size:19px}.home-personalized-note{font-size:12px;color:#6f695f}@media(max-width:760px){.home-personalized-grid{grid-template-columns:1fr}}
