/* OPU shop: affiliate store pages. Uses the site variables from site.css. */
.shop-page{background:var(--cream)}
.aff-note{background:#f4ecd8;border:1px solid #e0cfa3;border-left:4px solid var(--gold);border-radius:10px;padding:12px 16px;font-size:.88rem;color:#4a4636;margin:0}
.pagehero .aff-note{background:rgba(255,253,248,.08);border:1px solid rgba(255,255,255,.22);border-left:4px solid var(--gold);color:#e9e6df;margin-top:22px;max-width:70ch}
.shop-crumb{font-size:.82rem;color:#b9c0d4;margin:0 0 10px}
.shop-crumb a{color:#e9e6df;border-bottom:1px solid rgba(255,255,255,.3)}
.shop-section{padding:44px 0 8px}
.shop-section h2{font-size:clamp(1.35rem,3vw,1.8rem);margin:0 0 6px}
.shop-section .lead{margin:6px 0 18px;max-width:70ch}
.howbox{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px;padding:20px 22px;margin:24px 0 8px}
.howbox h2{font-size:1.25rem;margin:0 0 8px}
.howbox ul{margin:0;padding-left:20px}
.howbox li{margin:6px 0}
.tier-head{display:flex;align-items:baseline;gap:12px;margin:34px 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.tier-head h2{margin:0;font-size:1.35rem}
.tier-head span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);font-weight:600}
.pgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(30,42,68,.04);transition:box-shadow .15s,transform .15s}
.pcard:hover{box-shadow:0 10px 26px rgba(30,42,68,.1);transform:translateY(-2px)}
.pcard .pmeta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.pcard .pbrand{color:var(--gold-d)}
.pcard .ptier{color:var(--muted);font-weight:500}
.pcard h3{font-size:1.1rem;margin:0 0 8px;overflow-wrap:anywhere}
.pcard p{margin:0 0 16px;font-size:.94rem;color:#3d4050;flex:1 1 auto}
.pcard .btn{align-self:flex-start;padding:10px 20px;font-size:.92rem}
.catgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.catcard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px 20px;color:var(--ink);transition:box-shadow .15s,transform .15s,border-color .15s}
.catcard:hover{box-shadow:0 12px 28px rgba(30,42,68,.12);transform:translateY(-2px);border-color:var(--gold)}
.catcard .ico{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#f4ecd8,#ecdcb4);font-size:2.2rem;margin-bottom:12px}
.catcard h3{font-size:1.1rem;margin:0 0 6px}
.catcard p{margin:0;font-size:.9rem;color:var(--muted)}
.teaser{border:2px dashed var(--gold);background:linear-gradient(145deg,#fffdf8,#f7efdc);border-radius:16px;padding:24px;text-align:center}
.teaser h3{margin:0 0 6px}
.shop-links{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.shop-faq{margin-top:10px}
.shop-prose{max-width:760px}
.shop-prose h2{margin-top:34px}
.shop-prose p,.shop-prose li{font-size:1.02rem}
.shop-cta{background:var(--navy);color:#fff;border-radius:16px;padding:26px 24px;margin:34px 0}
.shop-cta h2{color:#fff;margin-top:0}
.shop-cta p{color:#d7dbe8}
.shop-disc-foot{color:#aeb5cb;font-size:.82rem}
@media(max-width:480px){.pcard{padding:16px}.tier-head{flex-direction:column;gap:2px}}
.bf-banner{background:#7a1f2b;color:#fff;text-align:center;padding:12px 0;font-size:.95rem}
.bf-banner a{color:#fff;display:block;padding:0 4px}
.bf-banner a:hover{text-decoration:underline}
/* product illustrations (our own drawings, one per product type) + whole-card click target */
.pcard{position:relative;overflow:hidden}
.pcard .pimg{position:relative;z-index:2;display:block;margin:-20px -20px 14px;aspect-ratio:4/3;overflow:hidden;background:#1e2a44;border-bottom:1px solid var(--line)}
.pcard .pimg img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.pcard:hover .pimg img,.pcard:focus-within .pimg img{transform:scale(1.035)}
.pcard .shop-btn{position:static;z-index:2;align-self:stretch;text-align:center;padding:12px 20px;font-size:.95rem;box-shadow:0 6px 16px rgba(193,154,75,.35)}
.pcard .shop-btn::after{content:"";position:absolute;inset:0;z-index:1}
.pcard:hover{border-color:var(--gold)}
.pcard .ptype{color:var(--muted);font-weight:500;text-align:right}
.pcard .pmeta{flex-wrap:wrap}
.illus-note{margin:10px 0 0;font-size:.82rem;color:#c9cfdf;font-style:italic;max-width:70ch}
@media(max-width:480px){.pcard .pimg{margin:-16px -16px 12px}}
/* 2026-11-10 store layer: department nav, who-it's-for line, shop by need / budget, holiday strip, gift card */
.shop-nav{background:var(--paper);border-bottom:1px solid var(--line)}
.shop-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:10px 0;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.shop-nav li{flex:0 0 auto}
.shop-nav a{display:block;padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-size:.86rem;color:var(--ink);white-space:nowrap;background:#fff}
.shop-nav a:hover,.shop-nav a[aria-current]{border-color:var(--gold);background:#f4ecd8}
.tier-head h3{margin:0;font-size:1.3rem}
.pcard p.pfor{flex:0 0 auto;font-size:.86rem;background:#f7f1e3;border-radius:10px;padding:8px 12px;color:#3d4050;margin:-4px 0 16px}
.intl-note{margin:10px 0 0;font-size:.86rem;color:#e9e6df;max-width:70ch}
.needgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));margin-top:14px}
.needcard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);transition:box-shadow .15s,transform .15s,border-color .15s}
.needcard:hover{box-shadow:0 10px 24px rgba(30,42,68,.12);transform:translateY(-2px);border-color:var(--gold)}
.needcard img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#1e2a44}
.needcard h3{font-size:1rem;margin:10px 12px 4px}
.needcard p{font-size:.84rem;color:var(--muted);margin:0 12px 12px}
.budgetgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin:14px 0 8px}
.budgetcard{display:block;border-radius:14px;padding:18px 20px;border:1px solid var(--line);background:linear-gradient(145deg,#fffdf8,#f4ecd8);color:var(--ink);transition:border-color .15s,box-shadow .15s}
.budgetcard:hover{border-color:var(--gold);box-shadow:0 10px 24px rgba(30,42,68,.1)}
.budgetcard .lvl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);font-weight:600}
.budgetcard h3{margin:4px 0 6px;font-size:1.2rem}
.budgetcard p{margin:0;font-size:.9rem;color:#3d4050}
.holiday-strip{background:linear-gradient(135deg,#1e2a44,#2c3d63);color:#fff;border-radius:16px;padding:24px 22px;margin:30px 0 0}
.holiday-strip h2{color:#fff;margin:0 0 6px}
.holiday-strip p{color:#d7dbe8;margin:0}
.holrow{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));margin-top:16px}
.holrow a{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:600;font-size:.95rem}
.holrow a:hover{background:rgba(193,154,75,.25);border-color:var(--gold)}
.holrow a span{font-size:1.3rem}
.giftcard{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:var(--paper);border:2px solid var(--gold);border-radius:18px;padding:22px;color:var(--ink);margin:30px 0 0;box-shadow:0 10px 26px rgba(30,42,68,.08)}
.giftcard:hover{box-shadow:0 14px 32px rgba(30,42,68,.14)}
.giftcard .gc-art{width:96px;height:96px;border-radius:20px;display:grid;place-items:center;font-size:3rem;background:linear-gradient(145deg,#f4ecd8,#ecdcb4)}
.giftcard .gc-eyebrow{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);font-weight:600}
.giftcard h3{margin:4px 0 6px;font-size:1.3rem}
.giftcard p{margin:0 0 12px;color:#3d4050}
@media(max-width:560px){.giftcard{grid-template-columns:1fr;padding:18px}.giftcard .gc-art{width:64px;height:64px;font-size:2rem}}
.readnext{columns:2 260px;padding-left:20px;margin:8px 0 0}
.readnext li{margin:6px 0;break-inside:avoid}
