/* Store page styles (from the approved prototype); shared parts live in site.css */
.crumbs{padding:21px 0 13px;color:#7c867e;font-size:10px}
.crumbs a:hover{color:var(--green);text-decoration:underline}
.crumbs span{padding:0 8px;color:#b3aa9b}
.brandhead{display:grid;grid-template-columns:82px 1fr auto;gap:20px;align-items:center;padding:12px 0 22px}
.brandmark{width:82px;height:82px;border-radius:18px;background:#fff;display:grid;place-items:center;border:1px solid var(--line);box-shadow:0 7px 20px #1b2b230b;font-size:25px;font-weight:800;letter-spacing:-2px;color:#102f28}
.brandtitle h1{font-size:clamp(27px,3vw,36px);letter-spacing:-1.3px;line-height:1.15;margin:0 0 6px;font-weight:800}
.brandtitle p{font-size:11px;color:var(--muted);margin:0}
.visit{border:1px solid #c9d6cc;color:var(--green);padding:11px 15px;border-radius:8px;font-size:10px;font-weight:800;background:#ffffff80;white-space:nowrap}
.visit:hover{background:#fff}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fffdf9;border-radius:12px;overflow:hidden;margin:0 0 13px}
.fact{padding:15px 19px;border-right:1px solid var(--line)}
.fact:last-child{border:0}
.fact strong{display:block;font-size:19px;letter-spacing:-.6px;line-height:1.25}
.fact span{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.fact .green{color:var(--green)}
.trustline{display:flex;gap:8px;align-items:center;color:#63736a;font-size:10px;padding:0 2px 25px}
.trustline svg{width:15px;stroke:var(--green);fill:none;stroke-width:2;flex-shrink:0}
.trustline a{color:var(--green);font-weight:800;text-decoration:underline;text-decoration-color:#b9cfc2;text-underline-offset:3px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}
.maincol{min-width:0}
.sectionlabel{display:flex;align-items:center;gap:10px;margin:0 0 13px}
.sectionlabel h2{font-size:17px;letter-spacing:-.5px;margin:0;font-weight:800}
.sectionlabel .rule{height:1px;background:var(--line);flex:1}
.sectionlabel small{font-size:9px;color:var(--muted)}
.featured{background:#fffdf9;border:1px solid #d9c9a9;border-radius:14px;padding:19px 21px 16px;box-shadow:0 9px 28px #1b2b2308;position:relative;overflow:hidden}
.featured:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--amber)}
.feat-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand-mini{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800}
.brand-mini .mini{width:30px;height:30px;border:1px solid var(--line);background:#f6f2e9;border-radius:7px;display:grid;place-items:center;font-size:10px}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pill{font-size:8px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;padding:5px 8px;border-radius:20px}
.pill.ex{background:var(--amber50);color:#956017}
.pill.ver{background:var(--green50);color:var(--green)}
.featured h3{font-size:25px;letter-spacing:-1px;line-height:1.2;margin:16px 0 5px}
.featured .sub{font-size:11px;color:var(--muted);margin:0}
.featured .conditions{margin-top:13px;padding:11px 12px;background:#f7f3eb;border-radius:8px;font-size:10px;color:#5f6b63}
.featured .conditions b{color:var(--ink)}
.offerfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px}
.offer-meta{font-size:9px;color:var(--muted)}
.offer-meta b{color:var(--ink)}
.get{border:0;background:var(--green);color:white;border-radius:8px;padding:12px 19px;font-size:10px;font-weight:800;box-shadow:0 3px 0 #092e24;transition:.15s}
.get:hover{background:#0b3d2f;transform:translateY(-1px)}
.get.deal{background:#f0b85f;color:#342716;box-shadow:0 3px 0 #c68a36}
.codepeek{font-size:9px;letter-spacing:2px;color:#829087;margin-right:12px}
.listhead{display:flex;align-items:center;justify-content:space-between;margin:29px 0 12px}
.listhead h2{font-size:17px;margin:0;letter-spacing:-.5px}
.resultcount{font-size:9px;color:var(--muted)}
.filters{display:flex;gap:7px;overflow-x:auto;padding:0 0 13px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filter{white-space:nowrap;border:1px solid var(--line);border-radius:30px;background:#fffdf8;color:#5f6d64;padding:7px 13px;font-size:9px;font-weight:800}
.filter[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.offerlist{display:grid;gap:10px}
.offer{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 16px;background:#fffdf9;border:1px solid var(--line);border-radius:11px;transition:.18s}
.offer:hover{border-color:#bdcfc2;box-shadow:0 8px 22px #1b2b2309;transform:translateY(-1px)}
.offerlogo{width:42px;height:42px;border-radius:9px;background:#f4f0e8;border:1px solid #e9e2d6;display:grid;place-items:center;font-size:12px;font-weight:800;color:#183b30}
.offercontent{min-width:0}
.offercontent h3{font-size:12px;line-height:1.4;margin:0 0 4px;font-weight:800}
.offercontent p{font-size:9px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.offerbadges{display:flex;gap:5px;margin-top:6px}
.offerbadges .pill{padding:3px 6px;font-size:7px}
.offeraction{display:flex;align-items:center;gap:8px}
.offeraction .get{padding:10px 13px;font-size:9px;white-space:nowrap}
.aside{display:grid;gap:14px}
.sidecard{background:#fffdf9;border:1px solid var(--line);border-radius:12px;padding:17px}
.sidecard h2{font-size:12px;margin:0 0 13px;letter-spacing:-.2px}
.factslist{display:grid;gap:11px}
.factsrow{display:flex;justify-content:space-between;gap:12px;font-size:9px;border-bottom:1px solid #eee8dd;padding-bottom:9px}
.factsrow:last-child{border:0;padding:0}
.factsrow span{color:var(--muted)}
.factsrow b{text-align:right;font-weight:800}
.calendar-intro{font-size:9px;color:var(--muted);margin:-5px 0 12px}
.months{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.month{border-radius:5px;background:#e9eee7;text-align:center;padding:8px 2px;font-size:8px;color:#5e6b61}
.month.mid{background:#bdd4c5}
.month.high{background:#6e9d7f;color:#fff}
.month.peak{background:var(--green);color:white}
.calendar-note{font-size:9px;color:var(--muted);line-height:1.6;margin:11px 0 0}
.how{margin-top:31px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.step{padding:14px;background:#fffdf9;border:1px solid var(--line);border-radius:10px}
.stepnum{width:23px;height:23px;border-radius:7px;background:var(--green50);color:var(--green);display:grid;place-items:center;font-size:9px;font-weight:800;margin-bottom:8px}
.step b{display:block;font-size:10px;margin-bottom:4px}
.step p{font-size:9px;color:var(--muted);margin:0;line-height:1.55}
.below{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.panel{background:#fffdf9;border:1px solid var(--line);border-radius:12px;padding:18px}
.panel h2{font-size:14px;margin:0 0 12px}
.faq details{border-top:1px solid #eee8dd;padding:10px 0}
.faq summary{font-size:10px;font-weight:800;cursor:pointer}
.faq details p{font-size:9px;color:var(--muted);margin:8px 0 0}
.expired{margin-top:28px}
.expired summary{font-size:11px;font-weight:800;cursor:pointer;color:#69766e}
.expired-list{display:grid;gap:7px;margin-top:12px}
.expired-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e7e1d7;border-radius:8px;color:#89918b;background:#f8f5ef;font-size:9px}
.expired-row b{font-weight:700}
.related{margin-top:32px}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.related-tile{display:flex;align-items:center;gap:9px;padding:11px;background:#fffdf9;border:1px solid var(--line);border-radius:9px}
.related-tile:hover{border-color:#a8c3b2}
.related-logo{width:30px;height:30px;border-radius:7px;background:#f2eee4;display:grid;place-items:center;font-size:9px;font-weight:800}
.related-tile b{display:block;font-size:9px}
.related-tile small{display:block;font-size:8px;color:var(--muted)}
.categorylinks{margin:23px 0 55px;font-size:10px;color:var(--muted)}
.categorylinks a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.layout{grid-template-columns:1fr}.aside{grid-template-columns:1fr 1fr}.brandhead{grid-template-columns:70px 1fr auto}.brandmark{width:70px;height:70px}.visit{font-size:9px;padding:10px}}
@media(max-width:600px){.crumbs{padding:14px 0 8px;font-size:9px}.brandhead{grid-template-columns:58px 1fr;gap:12px;padding:9px 0 16px}.brandmark{width:58px;height:58px;border-radius:13px;font-size:19px}.brandtitle h1{font-size:23px;letter-spacing:-.8px;margin-bottom:4px}.brandtitle p{font-size:9px;line-height:1.45}.visit{grid-column:2;justify-self:start;margin-top:-4px;padding:7px 10px;font-size:8px}.facts{grid-template-columns:1fr 1fr;margin-bottom:10px}.fact{padding:10px 13px;border-bottom:1px solid var(--line)}.fact:nth-child(2){border-right:0}.fact:nth-child(3),.fact:nth-child(4){border-bottom:0}.fact strong{font-size:16px}.fact span{font-size:8px}.trustline{font-size:8px;line-height:1.5;padding-bottom:17px;align-items:flex-start}.trustline svg{margin-top:1px}.layout{gap:20px}.sectionlabel h2,.listhead h2{font-size:15px}.featured{padding:15px 15px 13px}.featured h3{font-size:21px;margin-top:13px}.featured .sub{font-size:9px}.featured .conditions{font-size:9px;padding:9px}.offerfoot{margin-top:12px}.get{padding:11px 13px}.listhead{margin-top:23px}.offer{grid-template-columns:34px minmax(0,1fr) auto;gap:9px;padding:11px 10px}.offerlogo{width:34px;height:34px;font-size:10px}.offercontent h3{font-size:10px}.offercontent p{font-size:8px}.offerbadges{margin-top:4px}.offeraction{display:block}.offeraction .get{padding:9px 9px;font-size:8px}.offeraction .codepeek{display:none}.aside{grid-template-columns:1fr 1fr;gap:9px}.sidecard{padding:13px}.sidecard h2{font-size:10px}.factsrow{font-size:8px}.calendar-intro,.calendar-note{font-size:8px}.month{font-size:7px;padding:7px 1px}.steps{gap:7px}.step{padding:10px}.step b{font-size:9px}.step p{font-size:8px}.below{grid-template-columns:1fr;gap:10px}.related-grid{grid-template-columns:repeat(2,1fr)}.related-tile{padding:9px}.categorylinks{margin-bottom:35px}}
@media(max-width:370px){.brandtitle h1{font-size:20px}.offer{grid-template-columns:30px minmax(0,1fr) auto;gap:7px}.offerlogo{width:30px;height:30px}.offeraction .get{padding:8px 7px}}
