/* Category and collection pages (from the approved prototypes); shared parts live in site.css */
.crumb{padding:23px 0 0;font-size:10px;color:#818b82}
.crumb a:hover{color:var(--green);text-decoration:underline}
.crumb span{padding:0 8px;color:#b1aa9d}
.hero{padding:29px 0 27px}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.eyebrow{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--green);font-weight:800;display:flex;gap:8px;align-items:center}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:#5c9b7e;box-shadow:0 0 0 4px #5c9b7e20}
.hero h1{font-size:clamp(31px,4vw,45px);line-height:1.12;letter-spacing:-1.7px;margin:9px 0 7px;font-weight:800}
.subline{font-size:12px;color:var(--muted);margin:0}
.hero-icon{width:66px;height:66px;border-radius:17px;background:#fffdf8;border:1px solid var(--line);display:grid;place-items:center;color:var(--green);box-shadow:0 8px 20px #1b2b230a}
.hero-icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.5}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}
.fact{background:#fffdf8a8;border:1px solid var(--line);border-radius:10px;padding:12px 15px;min-height:68px}
.fact strong{display:block;font-size:19px;line-height:1.2;letter-spacing:-.5px}
.fact span{font-size:9px;color:var(--muted);font-weight:600}
.subcats{display:flex;gap:8px;overflow:auto;padding:17px 0 2px;scrollbar-width:none}
.subcats::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;border:1px solid #d9d1c3;background:#fffdf8;border-radius:30px;padding:8px 12px;font-size:10px;font-weight:700;color:#526057}
.chip b{color:var(--green);margin-left:5px}
.chip:hover,.chip.active{background:var(--green);color:#fff;border-color:var(--green)}
.chip:hover b,.chip.active b{color:#f2c77e}
.season{margin:4px 0 27px;background:#173f35;color:white;border-radius:12px;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;overflow:hidden}
.season:after{content:'27';position:absolute;right:22%;top:-27px;font-size:90px;font-weight:800;color:#ffffff0c;line-height:1}
.season-left{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
.season-mark{width:34px;height:34px;border-radius:9px;background:#ffffff18;display:grid;place-items:center;color:#f3bd65;font-weight:800}
.season strong{font-size:11px;display:block}
.season small{font-size:9px;color:#c4d8cf}
.season a{font-size:10px;font-weight:800;color:#f4c678;position:relative;z-index:1;white-space:nowrap}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:start}
.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.kicker{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:800}
.sectionhead h2{font-size:22px;letter-spacing:-.7px;margin:3px 0 0;line-height:1.2}
.sectionhead p{font-size:10px;color:var(--muted);margin:5px 0 0}
.link{font-size:10px;color:var(--green);font-weight:800;white-space:nowrap}
.topoffers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.coupon{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px;min-width:0;transition:.2s;position:relative}
.coupon:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c9d5c9}
.brandline{display:flex;align-items:center;gap:8px}
.brandlogo{width:31px;height:31px;flex-shrink:0;border-radius:8px;background:#f1eee6;display:grid;place-items:center;font-size:10px;font-weight:800;color:#52665a}
.brandname{font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag{margin-left:auto;background:var(--green50);color:var(--green);border-radius:20px;padding:3px 6px;font-size:7px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.tag.gold{background:var(--amber50);color:#936018}
.discount{font-size:27px;font-weight:800;letter-spacing:-1.3px;line-height:1;margin:17px 0 4px}
.coupon h3{font-size:10px;line-height:1.45;margin:0;min-height:30px}
.condition{font-size:8px;color:var(--muted);margin-top:5px;min-height:25px}
.couponfoot{border-top:1px dashed #d9d1c4;margin:13px -13px 0;padding:11px 13px 0;display:flex;align-items:center;justify-content:space-between;gap:5px}
.verified{font-size:8px;color:#648174;font-weight:700}
.get{border:0;background:var(--green);color:#fff;border-radius:6px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}
.get:hover{background:var(--green2)}
.topstores{margin-top:42px}
.storegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.store{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px;display:flex;align-items:center;gap:9px;min-width:0;transition:.2s}
.store:hover{border-color:#9eb6a5;box-shadow:0 7px 18px #1b2b230c}
.store .brandlogo{width:34px;height:34px}
.store b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store small{display:block;font-size:8px;color:var(--muted)}
.az{margin-top:39px}
.letters{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 15px}
.letters a{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line);background:#fffdf8;border-radius:5px;font-size:9px;font-weight:800;color:var(--green)}
.letters a:hover{background:var(--green);color:white}
.azgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 14px;background:#fffdf8a6;border:1px solid var(--line);border-radius:12px;padding:17px}
.lettergroup h3{font-size:11px;color:var(--green);margin:0 0 6px;border-bottom:1px solid var(--line);padding-bottom:5px}
.lettergroup a{display:block;font-size:9px;color:#526057;padding:3px 0}
.lettergroup a:hover{color:var(--green);text-decoration:underline}
.lettergroup a span{color:#929b92}
.filters{display:flex;gap:6px;overflow:auto;padding-bottom:5px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filter{border:1px solid var(--line);background:#fffdf8;border-radius:30px;padding:7px 11px;font-size:9px;font-weight:800;color:#68746b;white-space:nowrap;cursor:pointer}
.filter[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
.offerlist{display:grid;gap:8px;margin-top:13px}
.offerrow{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.offerrow .brandlogo{width:37px;height:37px}
.offerinfo{min-width:0;flex:1}
.offerinfo h3{font-size:10px;margin:0 0 2px}
.offerinfo p{font-size:8px;color:var(--muted);margin:0}
.offeraction{display:flex;align-items:center;gap:10px}
.peek{font-size:8px;letter-spacing:1px;color:#8c968e}
.more{display:block;margin:13px auto 0;border:1px solid #b9c8bd;background:transparent;color:var(--green);border-radius:7px;padding:9px 17px;font-size:9px;font-weight:800;cursor:pointer}
.more:hover{background:var(--green50)}
.sidecard{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:13px}
.sidecard h2{font-size:12px;margin:0 0 12px;letter-spacing:-.2px}
.sidecard p{font-size:9px;color:var(--muted);line-height:1.7;margin:0}
.indexbig{font-size:30px;font-weight:800;letter-spacing:-1.3px;color:var(--green);line-height:1.1}
.indexbig small{font-size:10px;letter-spacing:0;color:var(--muted);font-weight:600}
.bars{height:78px;display:flex;align-items:end;gap:6px;margin:15px 0 8px;border-bottom:1px solid var(--line);padding:0 4px}
.bar{flex:1;background:#a8c5b3;border-radius:4px 4px 0 0;min-height:12px;position:relative}
.bar:nth-child(3n){background:#477e67}
.bar span{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font-size:7px;color:#8a948b}
.sidefoot{margin-top:21px!important;font-size:8px!important}
.splitline{height:1px;background:var(--line);margin:12px 0}
.minirow{display:flex;justify-content:space-between;font-size:9px;margin:7px 0}
.minirow span{color:var(--muted)}
.guide{margin-top:40px;background:#e8eee5;border:1px solid #d7e1d4;border-radius:12px;padding:20px 22px}
.guide h2{font-size:17px;margin:0 0 8px;letter-spacing:-.4px}
.guide p{font-size:10px;line-height:1.8;color:#53645a;margin:0;max-width:900px}
.faq{margin-top:35px}
.faq h2{font-size:19px;margin:0 0 12px}
.faq details{border-top:1px solid var(--line);padding:12px 0}
.faq summary{font-size:10px;font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary:after{content:'+';font-size:15px;color:var(--green)}
.faq details[open] summary:after{content:'−'}
.faq details p{font-size:9px;color:var(--muted);max-width:780px;margin:8px 0 0}
.related{margin-top:34px;padding-bottom:55px}
.related h2{font-size:17px;margin:0 0 12px}
.relatedlinks{display:flex;flex-wrap:wrap;gap:8px}
.relatedlinks a{border:1px solid var(--line);background:#fffdf8;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:700;color:#56635a}
.relatedlinks a:hover{border-color:var(--green);color:var(--green)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.hero p{font-size:12px;color:var(--muted);max-width:650px;margin:0}
.event-panel{background:#173f35;color:white;border-radius:16px;padding:19px 21px;position:relative;overflow:hidden;min-height:146px}
.event-panel:after{content:"BLACK FRIDAY";position:absolute;right:-8px;bottom:-21px;font-size:35px;font-weight:800;letter-spacing:-2px;color:#ffffff0c;white-space:nowrap}
.event-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.event-top span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#c7dbd1;font-weight:800}
.event-state{background:#ffffff19;border:1px solid #ffffff25;padding:5px 8px;border-radius:30px;font-size:8px;font-weight:800;color:#f2c77e}
.event-date{font-size:23px;font-weight:800;letter-spacing:-.7px;margin:12px 0 1px;position:relative;z-index:1}
.event-sub{font-size:10px;color:#c8d9d0;position:relative;z-index:1}
.countdown{display:flex;gap:7px;margin-top:12px;position:relative;z-index:1}
.countdown b{font-size:12px;background:#ffffff15;border:1px solid #ffffff20;border-radius:6px;padding:5px 9px}
.countdown small{font-size:8px;color:#c8d9d0;font-weight:500;margin-left:3px}
.seasonnote{display:flex;align-items:center;gap:11px;background:#f9f1e4;border:1px solid #ead8b9;border-radius:9px;padding:10px 13px;margin:0 0 28px}
.seasonnote .spark{width:28px;height:28px;border-radius:8px;background:#f1dfbf;color:#9a641d;display:grid;place-items:center;font-weight:800}
.seasonnote p{font-size:10px;margin:0;color:#65543b}
.seasonnote b{color:#4d3b23}
.shortcuts{display:flex;gap:7px;overflow:auto;padding:1px 0 3px;margin:0 0 27px;scrollbar-width:none}
.shortcuts::-webkit-scrollbar{display:none}
.chip.active,.chip:hover{background:var(--green);color:white;border-color:var(--green)}
.chip.active b,.chip:hover b{color:#f2c77e}
.featured{display:grid;grid-template-columns:1fr 260px;gap:16px;background:#fffdf8;border:1px solid #d9c9aa;border-radius:14px;padding:18px;margin-bottom:28px;box-shadow:0 8px 25px #1b2b2308}
.feature-main{display:flex;gap:16px;align-items:center}
.feature-logo{width:60px;height:60px;border-radius:13px;background:#f0eee8;display:grid;place-items:center;font-size:18px;font-weight:800;color:#233c30;flex-shrink:0}
.feature-copy{min-width:0}
.feature-badges{display:flex;gap:6px;margin-bottom:6px}
.badge{font-size:7px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;padding:4px 7px;border-radius:20px;background:var(--green50);color:var(--green)}
.badge.gold{background:var(--amber50);color:#936018}
.feature-copy h3{font-size:18px;line-height:1.25;letter-spacing:-.5px;margin:0 0 5px}
.feature-copy p{font-size:9px;color:var(--muted);margin:0}
.feature-action{border-left:1px dashed #d8cbb8;padding-left:18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.feature-action strong{font-size:25px;letter-spacing:-1px;color:var(--green);line-height:1.1}
.feature-action small{font-size:8px;color:var(--muted);margin:4px 0 11px}
.offerrow[hidden]{display:none}
.statsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.statbox{background:#f7f3eb;border:1px solid var(--line);border-radius:8px;padding:11px}
.statbox strong{display:block;font-size:19px;letter-spacing:-.7px;color:var(--green)}
.statbox span{font-size:8px;color:var(--muted)}
.guide,.faq,.related{margin-top:36px}
.guide h2,.faq h2,.related h2{font-size:18px;letter-spacing:-.5px;margin:4px 0 8px}
@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 235px}.topoffers{grid-template-columns:repeat(2,1fr)}.storegrid{grid-template-columns:repeat(3,1fr)}.azgrid{grid-template-columns:repeat(3,1fr)}.sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sidecard{margin:0}}
@media(max-width:700px){.hero{padding:24px 0 18px}.hero h1{font-size:29px;letter-spacing:-1.2px}.hero-icon{width:49px;height:49px;border-radius:12px}.hero-icon svg{width:27px}.facts{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:17px}.fact{padding:10px 12px;min-height:59px}.fact strong{font-size:17px}.subcats{padding-top:13px}.season{margin:2px 0 23px;padding:11px 12px}.season small{display:block;max-width:220px}.season a{font-size:9px}.layout{display:block}.sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:30px}.sidecard{margin:0;padding:13px}.topoffers{grid-template-columns:1fr;gap:8px}.coupon{padding:12px}.coupon h3{min-height:0}.couponfoot{margin-top:10px}.sectionhead h2{font-size:19px}.storegrid{grid-template-columns:repeat(3,1fr);gap:6px}.store{padding:8px;gap:6px}.store .brandlogo{width:29px;height:29px}.store b{font-size:8px}.store small{font-size:7px}.azgrid{grid-template-columns:repeat(2,1fr);padding:13px;gap:14px 10px}.letters{gap:4px}.letters a{width:23px;height:23px}.offerrow{gap:8px;padding:10px}.offerrow .brandlogo{width:31px;height:31px}.offerinfo h3{font-size:9px}.offeraction{gap:5px}.peek{display:none}.get{padding:8px 9px}.guide{padding:16px;margin-top:30px}.guide h2{font-size:15px}.related{padding-bottom:35px}}
@media(max-width:380px){.storegrid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:26px}.season-left{gap:8px}.season-mark{width:29px;height:29px}.season strong{font-size:10px}}
@media(max-width:680px){.hero{padding-top:20px}.hero-grid{grid-template-columns:1fr;gap:15px}.hero h1{font-size:31px;letter-spacing:-1.1px}.event-panel{min-height:132px}.facts{grid-template-columns:repeat(2,1fr);gap:7px;margin:13px 0}.fact{padding:10px 11px;min-height:59px}.fact strong{font-size:17px}.seasonnote{align-items:flex-start}.featured{grid-template-columns:1fr;gap:13px;padding:14px}.feature-main{align-items:flex-start}.feature-logo{width:46px;height:46px}.feature-copy h3{font-size:15px}.feature-action{border-left:0;border-top:1px dashed #d8cbb8;padding:12px 0 0;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.feature-action small{margin:0 auto 0 0}.topoffers{grid-template-columns:1fr;gap:8px}.coupon{padding:12px}.discount{font-size:24px;margin:11px 0 3px}.coupon h3{min-height:0}.condition{min-height:0}.couponfoot{margin-top:10px}.layout{margin-top:30px}.storegrid{grid-template-columns:repeat(3,1fr);gap:7px}.store{padding:8px;gap:6px}.store .brandlogo{width:27px;height:27px}.store b{font-size:8px}.store small{font-size:7px}.sidebar{grid-template-columns:1fr}.offerrow{gap:8px;padding:9px}.offerrow .brandlogo{width:31px;height:31px}.offerinfo h3{font-size:9px}.offerinfo p{font-size:7px}.offeraction{gap:5px}.offeraction .get{padding:8px}.peek{display:none}.statsgrid{grid-template-columns:repeat(3,1fr)}.crumb{padding-top:15px}}
.offerrow[hidden],.store[hidden]{display:none}
