/* ============================================================
   WinningPC — store page (dealstore taxonomy).
   Everything is scoped under .wpc-store so Rehub styles stay out.
   Shared fonts come from chrome.css; JetBrains Mono 700 (codes,
   badges) is declared here because only this page uses it.
   ============================================================ */

@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrains-mono-700.woff2") format("woff2")}

.wpc-store{
  --ink:#16181d;--ink-soft:#5c6270;--ink-faint:#8b909c;
  --canvas:#fbfbf8;--surface:#ffffff;
  --line:#e5e4dd;--line-strong:#d6d5cc;
  --accent:#ff4d17;--accent-ink:#c5360b;--accent-wash:#fff0ea;
  --win:#77b21d;--win-ink:#4f7d12;--win-wash:#eef6e0;
  --radius:14px;
  --shadow-sm:0 1px 2px rgba(22,24,29,.045);
  --shadow-md:0 10px 26px rgba(22,24,29,.075);
  --maxw:1200px;
  --font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  background:var(--canvas);color:var(--ink);
  font-family:var(--font);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.wpc-store *,.wpc-store *::before,.wpc-store *::after{box-sizing:border-box}
.wpc-store a{color:inherit;text-decoration:none;box-shadow:none}
.wpc-store a:hover{text-decoration:none}
.wpc-store img{max-width:100%;display:block;height:auto}
.wpc-store .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.wpc-store h1,.wpc-store h2,.wpc-store h3,.wpc-store h4{font-family:var(--display);font-weight:700;line-height:1.08;margin:0;letter-spacing:-.02em;color:var(--ink)}
.wpc-store :focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ---- breadcrumb ---- */
.wpc-store .crumb{font-size:13px;color:var(--ink-faint);padding:18px 0 0}
.wpc-store .crumb a:hover{color:var(--accent-ink)}
.wpc-store .crumb b{color:var(--ink);font-weight:600}

/* ---- brand header ----
   Logo is top-aligned next to the eyebrow/H1 block (align-items:center
   made it float mid-height beside long descriptions). */
.wpc-store .brandhead{display:flex;gap:20px;align-items:flex-start;padding:22px 0 4px}
.wpc-store .bh-logo{width:84px;height:84px;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:13px;box-shadow:var(--shadow-sm);margin-top:4px}
.wpc-store .bh-logo img{max-width:100%;max-height:56px;width:auto}
.wpc-store .bh-info{min-width:0}
.wpc-store .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--ink-soft);margin:0 0 10px;flex-wrap:wrap}
.wpc-store .chip-v{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1.4;color:var(--win-ink);background:var(--win-wash);border:1px solid #cfe3a8;border-radius:6px;padding:2px 7px}
.wpc-store .chip-v svg{width:11px;height:11px}
.wpc-store h1{font-size:clamp(24px,2.9vw,34px)}
/* meta row under H1 (Verified chip + tagline + rating) */
.wpc-store .bh-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 0}
.wpc-store .bh-meta .store-rating{margin:0}
.wpc-store .bh-tagline{font-size:13px;color:var(--ink-soft)}
.wpc-store .store-rating{margin:10px 0 0;line-height:1}
.wpc-store .store-rating .kk-star-ratings{margin:0;display:inline-flex;align-items:center}
.wpc-store .store-rating .kksr-stars{display:inline-flex;flex:0 0 auto}
/* Star size itself comes from kk_star_ratings( size => 15 ) in
   wpc_store_rating_html(); here we only shrink the score/votes caption
   to sit flush with the 13px bh-meta row (same trick as post.css). */
.wpc-store .store-rating .kksr-legend{margin:0 0 0 6px;font-size:12.5px !important;font-weight:600;line-height:1.25;color:var(--ink-soft);white-space:nowrap}
.wpc-store .lede{font-size:16px;color:var(--ink-soft);max-width:none;margin:14px 0 0;line-height:1.6}
.wpc-store .lede p{margin:0 0 8px}
.wpc-store .lede p:last-child{margin-bottom:0}
.wpc-store .lede b,.wpc-store .lede strong{color:var(--ink);font-weight:600}

/* ---- featured ticket ----
   Light card like the homepage hero, but with a soft brand wash so the
   block stands out: lime tint for giveaways, orange tint for deals. */
.wpc-store .ticket-zone{padding:20px 0 4px}
.wpc-store .ticket{position:relative;background:linear-gradient(150deg,#f2f8e3 0%,#ffffff 58%);color:var(--ink);border-radius:18px;display:grid;grid-template-columns:1fr auto;overflow:hidden;border:1px solid #d8e8b8;box-shadow:var(--shadow-sm)}
.wpc-store .ticket.is-deal{background:linear-gradient(150deg,#fff1ea 0%,#ffffff 58%);border-color:#ffd9c9}
.wpc-store .t-main{padding:22px 26px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.wpc-store .t-main .t-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--accent-ink);background:#fff;border:1px solid #ffd6c7;border-radius:8px;padding:4px 10px;margin:0 0 12px;text-transform:uppercase}
.wpc-store .t-main .t-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.wpc-store .t-main h2{color:var(--ink);font-weight:700;font-size:clamp(20px,2.4vw,25px);line-height:1.12;max-width:26ch}
.wpc-store .t-main p{color:var(--ink-soft);font-size:13.5px;margin:9px 0 0;max-width:58ch;line-height:1.55}
.wpc-store .t-main p b{color:var(--ink)}
.wpc-store .t-main p.t-eyebrow{margin:0 0 12px}
.wpc-store .t-side{border-left:2px dashed var(--line-strong);padding:18px 26px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;text-align:center;min-width:250px;background:rgba(255,255,255,.6)}
.wpc-store .t-shot{height:112px;display:flex;justify-content:center;align-items:center}
.wpc-store .t-shot img{max-height:112px;max-width:180px;width:auto;object-fit:contain}
.wpc-store .t-meta{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.wpc-store .t-meta .t-terms{margin:0}
.wpc-store .t-price{display:flex;align-items:baseline;gap:9px}
.wpc-store .t-free{font-family:var(--display);font-weight:800;font-size:24px;color:var(--win-ink);letter-spacing:-.01em}
.wpc-store .t-off{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.03em;color:var(--win-ink);background:var(--win-wash);border:1px solid #cfe3a8;border-radius:6px;padding:3px 8px;align-self:center}
.wpc-store .ticket.is-deal .t-off{color:var(--accent-ink);background:var(--accent-wash);border-color:#ffd6c7}
.wpc-store .t-now{font-family:var(--display);font-weight:800;font-size:22px;color:var(--ink);letter-spacing:-.01em}
.wpc-store .t-was{color:var(--ink-faint);text-decoration:line-through;font-size:13.5px}
.wpc-store .t-ends{font-size:12px;color:var(--ink-soft);margin:0;background:var(--win-wash);border:1px dashed #cfe3a8;border-radius:8px;padding:5px 11px}
.wpc-store .t-ends b{color:var(--win-ink)}
.wpc-store .ticket.is-deal .t-ends{background:var(--accent-wash);border-color:#ffd6c7}
.wpc-store .ticket.is-deal .t-ends b{color:var(--accent-ink)}
.wpc-store .t-claim{display:block;width:100%;background:var(--accent);color:#fff;font-weight:700;font-size:14.5px;padding:12px 16px;border-radius:10px;text-align:center;box-shadow:0 1px 2px rgba(20,24,31,.12)}
.wpc-store .t-claim:hover{background:var(--accent-ink);color:#fff}
.wpc-store .t-terms{font-size:11.5px;color:var(--ink-faint);margin:0}
.wpc-store .ticket-fallback{background:var(--surface);border:1.5px dashed var(--line-strong);border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap}
.wpc-store .ticket-fallback p{margin:0;font-size:14px;color:var(--ink-soft)}
.wpc-store .ticket-fallback b{color:var(--ink)}
.wpc-store .ticket-fallback form{display:flex;gap:7px;flex:1;min-width:240px;max-width:360px}
.wpc-store .ticket-fallback input{flex:1;min-width:0;border:1px solid var(--line-strong);border-radius:9px;padding:10px 12px;font-size:13.5px;font-family:inherit;background:var(--canvas);color:var(--ink)}
.wpc-store .ticket-fallback button{background:var(--win-ink);color:#fff;border:0;border-radius:9px;padding:0 16px;font-weight:600;font-size:13.5px;cursor:pointer;font-family:inherit}
.wpc-store .ticket-fallback button:hover{background:#3f6d0c}

/* ---- checkout trust strip ---- */
.wpc-store .checkbar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 2px}
.wpc-store .ck{display:flex;gap:11px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow-sm)}
.wpc-store .ck svg{width:20px;height:20px;color:var(--win-ink);flex:none;margin-top:1px}
.wpc-store .ck b{display:block;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:-.01em;margin-bottom:2px;color:var(--ink)}
.wpc-store .ck span{font-size:11.5px;color:var(--ink-soft);line-height:1.4}

/* ---- layout + sidebar ---- */
.wpc-store .layout{display:grid;grid-template-columns:1fr 322px;gap:34px;align-items:start;padding:20px 0}
.wpc-store .main{min-width:0}
.wpc-store .side{display:grid;gap:16px}
.wpc-store .side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}
.wpc-store .side-card h4{font-family:var(--display);font-size:15px;font-weight:700;margin:0 0 10px}
.wpc-store .side-card p.small{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.55}
.wpc-store .visit{display:block;text-align:center;background:var(--accent);color:#fff;font-weight:600;font-size:14px;padding:12px;border-radius:10px;margin-top:14px}
.wpc-store .visit:hover{background:var(--accent-ink);color:#fff}
.wpc-store .facts{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.wpc-store .facts li{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;gap:10px;margin:0}
.wpc-store .facts .k{color:var(--ink-soft)}
.wpc-store .facts .v{font-weight:600;text-align:right;color:var(--ink)}
.wpc-store .facts .v.save{color:var(--accent-ink);font-family:var(--display)}
.wpc-store .facts .v.free{color:var(--win-ink);font-family:var(--display)}
.wpc-store .verify-note{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--line);margin-top:14px;padding-top:13px}
.wpc-store .verify-note .av{width:34px;height:34px;border-radius:50%;background:var(--win-ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:12px;flex:none}
.wpc-store .verify-note p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.5}
.wpc-store .verify-note b{color:var(--ink)}
.wpc-store .alert form{display:flex;gap:7px;margin-top:12px}
.wpc-store .alert input{flex:1;min-width:0;border:1px solid var(--line-strong);border-radius:9px;padding:10px 12px;font-size:13.5px;font-family:inherit;background:var(--canvas);color:var(--ink)}
/* Soft focus on the subscribe / notify inputs (no harsh orange outline). */
.wpc-store .alert input:focus,.wpc-store .alert input:focus-visible,
.wpc-store .ticket-fallback input:focus,.wpc-store .ticket-fallback input:focus-visible{outline:none;border-color:var(--win-ink);box-shadow:0 0 0 3px rgba(119,178,29,.18)}
.wpc-store .alert button{background:var(--win-ink);color:#fff;border:0;border-radius:9px;padding:0 14px;font-weight:600;font-size:13.5px;cursor:pointer;font-family:inherit;white-space:nowrap}
.wpc-store .alert button:hover{background:#3f6d0c}
.wpc-store .mission{background:var(--win-wash);border-color:#cfe3a8}
.wpc-store .side-widgets{display:grid;gap:16px}
/* Widgets dropped into dealstore-sidebar: Rehub's parent registration wraps
   them in .widget (not .side-card), so dress those up to match the cards. */
.wpc-store .side-widgets .widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);margin:0}
.wpc-store .side-widgets .widget .widget-title,
.wpc-store .side-widgets .widget .widgettitle,
.wpc-store .side-widgets .widget>h3,
.wpc-store .side-widgets .widget>h4{font-family:var(--display);font-size:15px;font-weight:700;margin:0 0 10px;color:var(--ink);text-transform:none;letter-spacing:-.01em;line-height:1.2}
.wpc-store .side-widgets .widget ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px}
.wpc-store .side-widgets .widget ul li{margin:0}
.wpc-store .side-widgets .widget a{color:var(--ink-soft)}
.wpc-store .side-widgets .widget a:hover{color:var(--accent-ink)}
.wpc-store .side-widgets .widget p{font-size:13px;color:var(--ink-soft);margin:0 0 8px;line-height:1.55}
.wpc-store .side-widgets .widget p:last-child{margin-bottom:0}

/* ---- vendor contact ---- */
.wpc-store .contact{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.wpc-store .contact li{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:0}
.wpc-store .contact svg{width:15px;height:15px;color:var(--ink-faint);flex:none;margin-top:2px}
.wpc-store .contact .k{display:block;font-size:10.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px}
.wpc-store .contact a{color:var(--accent-ink);font-weight:600;word-break:break-word}
.wpc-store .contact a:hover{text-decoration:underline}
.wpc-store .contact .plain{color:var(--ink);font-weight:600}

/* ---- sections ---- */
.wpc-store section{padding:26px 0}
.wpc-store .sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.wpc-store .sec-head h2{font-family:var(--display);font-weight:600;font-size:clamp(22px,3vw,30px)}
.wpc-store .sec-head .meta{font-size:13px;color:var(--ink-faint)}
.wpc-store #offers{padding-top:8px}
.wpc-store .empty-state{color:var(--ink-soft);font-size:14.5px;background:var(--surface);border:1.5px dashed var(--line-strong);border-radius:12px;padding:22px;margin:0}

/* ---- toolbar ----
   Two filter rows, two visual languages so they read as different
   controls: type tabs = segmented control on a panel background,
   category chips = light rounded pills with a row label. */
.wpc-store .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.wpc-store .tabs{display:inline-flex;gap:4px;flex-wrap:wrap;background:#f0efe9;border:1px solid var(--line);border-radius:12px;padding:4px}
.wpc-store .tab{border:0;background:transparent;color:var(--ink-soft);border-radius:9px;padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:color .14s,background .14s,box-shadow .14s}
.wpc-store .tab:hover{color:var(--ink)}
.wpc-store .tab[aria-pressed="true"]{background:var(--ink);color:#fff;font-weight:700;box-shadow:0 1px 3px rgba(22,24,29,.18)}
.wpc-store .tab .c{opacity:.55;margin-left:5px;font-family:var(--mono);font-size:11px}
.wpc-store .sortsel{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:7px;white-space:nowrap}
.wpc-store .sortsel select{font-family:inherit;font-size:13px;border:1px solid var(--line-strong);border-radius:8px;padding:7px 9px;background:var(--surface);color:var(--ink)}
/* Softer focus on the Sort select (no harsh orange outline ring). */
.wpc-store .sortsel select:focus,
.wpc-store .sortsel select:focus-visible{outline:none;border-color:var(--ink-faint);box-shadow:0 0 0 3px rgba(22,24,29,.07)}

/* category chips: their own scrollable row under the toolbar, so they
   never fight the type tabs + sort select for one line */
/* Slim custom scrollbar, styled the same on macOS + Windows so the drag
   bar looks consistent (native bars differ per-OS). */
.wpc-store .cat-row{display:flex;gap:8px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;margin:-2px 0 14px;padding-bottom:9px}
.wpc-store .cat-row::-webkit-scrollbar{height:7px}
.wpc-store .cat-row::-webkit-scrollbar-track{background:var(--line);border-radius:999px}
.wpc-store .cat-row::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}
.wpc-store .cat-row::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}
.wpc-store .cat-label{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px}
.wpc-store .cat-chip{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .14s,color .14s,background .14s;white-space:nowrap}
.wpc-store .cat-chip:hover{border-color:var(--line-strong);color:var(--ink)}
.wpc-store .cat-chip[aria-pressed="true"]{background:var(--accent-wash);border-color:#ffd6c7;color:var(--accent-ink)}
.wpc-store .cat-chip .c{opacity:.6;margin-left:4px;font-family:var(--mono);font-size:10.5px}

/* ---- product offer boxes ---- */
.wpc-store .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wpc-store .pbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s}
.wpc-store .pbox:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.wpc-store .pbox-shot{position:relative;height:166px;background:transparent;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden}
.wpc-store .pbox-shot img{max-height:150px;max-width:150px;width:auto;object-fit:contain}
.wpc-store .mono-mark{font-family:var(--display);font-weight:800;font-size:40px;color:var(--ink-faint)}
.wpc-store .pbox-off{position:absolute;top:10px;left:10px;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.03em;color:#fff;background:var(--accent);border-radius:6px;padding:3px 8px}
.wpc-store .pbox-off.give{background:var(--win-ink)}
.wpc-store .pbox-off.exp{background:var(--ink-faint)}
.wpc-store .pbox-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px}
.wpc-store .pbox-cat{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}
.wpc-store .pbox-verif{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--ink-faint)}
.wpc-store .pbox-verif svg{width:11px;height:11px}
.wpc-store .pbox-name{font-family:var(--display);font-weight:700;font-size:16px;line-height:1.2;margin:0 0 10px;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.wpc-store .pbox-name a:hover{color:var(--accent-ink)}
.wpc-store .pbox-price{display:flex;align-items:baseline;gap:9px;margin-top:auto}
.wpc-store .pbox-now{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--ink)}
.wpc-store .pbox-now.free{color:var(--win-ink)}
.wpc-store .pbox-was{color:var(--ink-faint);text-decoration:line-through;font-size:13.5px}
/* card footer: freshness text left, Rehub view/comment counters right */
.wpc-store .pbox-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.wpc-store .pbox-fresh{font-size:12px;color:var(--ink-faint);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wpc-store .pbox-stats{display:inline-flex;align-items:center;gap:11px;flex:none}
.wpc-store .pbox-stats .stat{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-faint)}
.wpc-store .pbox-stats .stat svg{width:14px;height:14px}
.wpc-store .pbox-stats a.stat:hover{color:var(--accent-ink)}
.wpc-store .pbox.expired{display:none;filter:grayscale(1);opacity:.72}

/* ---- show more (batched grid) ---- */
.wpc-store .showmore{display:block;margin:18px auto 0;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);
  border-radius:10px;padding:11px 22px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .14s,color .14s}
.wpc-store .showmore:hover{border-color:var(--ink)}
.wpc-store .showmore .c{opacity:.55;margin-left:4px;font-family:var(--mono);font-size:12px}
.wpc-store .showmore[hidden]{display:none}

/* ---- codes strip ---- */
.wpc-store .codes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wpc-store .codebox{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm)}
.wpc-store .codebox .p{font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink)}
.wpc-store .codebox .s{font-size:12px;color:var(--ink-soft);margin-top:2px}
.wpc-store .getbtn{display:flex;align-items:stretch;border-radius:9px;overflow:hidden;border:1.5px solid var(--accent);margin-top:auto}
.wpc-store .code-face{background:repeating-linear-gradient(90deg,#fff,#fff 6px,#fff7f3 6px,#fff7f3 12px);color:var(--accent-ink);font-family:var(--mono);font-weight:700;font-size:13px;padding:13px 9px;display:flex;align-items:center;justify-content:center;flex:1;border-right:1.5px dashed var(--accent)}
.wpc-store .reveal{background:var(--accent);color:#fff;border:0;font-family:inherit;font-weight:600;font-size:12.5px;padding:0 14px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.wpc-store .reveal:hover{background:var(--accent-ink);color:#fff}

/* ---- highlight note (education discount etc.) ---- */
.wpc-store .edu-note{display:flex;align-items:center;gap:14px;margin-top:14px;background:var(--win-wash);border:1px solid #cfe3a8;border-radius:12px;padding:14px 18px;flex-wrap:wrap}
.wpc-store .edu-note svg{width:22px;height:22px;color:var(--win-ink);flex:none}
.wpc-store .edu-note p{margin:0;font-size:13.5px;color:var(--ink-soft);flex:1;min-width:240px;line-height:1.5}
.wpc-store .edu-note b{color:var(--ink)}
.wpc-store .edu-note a{font-weight:700;color:var(--win-ink);white-space:nowrap}
.wpc-store .edu-note a:hover{text-decoration:underline}

/* ---- bottom description (prose + embedded blocks) ---- */
.wpc-store .store-bottom>h2,.wpc-store .store-bottom>h3,.wpc-store .store-bottom>p,.wpc-store .store-bottom>ul,.wpc-store .store-bottom>ol,.wpc-store .store-bottom>blockquote{max-width:70ch}
.wpc-store .store-bottom h2{font-family:var(--display);font-weight:600;font-size:clamp(22px,3vw,30px);margin:24px 0 14px}
.wpc-store .store-bottom h2:first-child{margin-top:0}
.wpc-store .store-bottom h3{font-family:var(--display);font-weight:600;font-size:19px;margin:24px 0 10px}
.wpc-store .store-bottom p{margin:0 0 14px;color:var(--ink-soft);font-size:16px;line-height:1.65}
.wpc-store .store-bottom b,.wpc-store .store-bottom strong{color:var(--ink)}
.wpc-store .store-bottom ul,.wpc-store .store-bottom ol{color:var(--ink-soft);margin:0 0 14px;padding-left:22px}
.wpc-store .store-bottom blockquote{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.4;color:var(--ink);letter-spacing:-.01em;margin:22px 0;padding-left:16px;border-left:2px solid var(--accent)}
.wpc-store .store-bottom blockquote p{color:inherit;font:inherit;margin:0}
.wpc-store .store-block{padding:12px 0 4px}

/* ---- FAQ block ---- */
.wpc-store .qa{display:grid;grid-template-columns:1fr 1fr;gap:24px 36px}
.wpc-store .qa .q{font-family:var(--display);font-weight:600;font-size:16px;margin:0 0 6px;color:var(--ink)}
.wpc-store .qa .a{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.55}

/* ---- sale calendar block ---- */
.wpc-store .cal{display:grid;gap:10px}
.wpc-store .calrow{display:grid;grid-template-columns:148px 1fr;gap:16px;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;box-shadow:var(--shadow-sm)}
.wpc-store .calrow .when{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent-ink);letter-spacing:.02em}
.wpc-store .calrow .ev{font-family:var(--display);font-weight:700;font-size:14.5px;margin:0 0 3px;color:var(--ink)}
.wpc-store .calrow p{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.5}

/* ---- trust / how we test ---- */
.wpc-store .trust{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;box-shadow:var(--shadow-sm)}
.wpc-store .trust .av{width:50px;height:50px;border-radius:50%;background:var(--win-ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:17px}
.wpc-store .trust h3{font-family:var(--display);font-weight:600;font-size:16.5px;margin-bottom:4px}
.wpc-store .trust .role{font-size:12.5px;color:var(--ink-faint);margin-bottom:12px}
.wpc-store .trust p{font-size:14px;color:var(--ink-soft);margin:0;max-width:70ch;line-height:1.6}

/* ---- affiliate disclosure (standalone, below the trust box) ---- */
.wpc-store .store-disclosure{font-size:12.5px;color:var(--ink-faint);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;line-height:1.55;margin:0 0 26px}

/* ---- responsive ---- */
@media(max-width:1080px){.wpc-store .pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){
  .wpc-store .layout{grid-template-columns:1fr}
  .wpc-store .side{position:static;grid-template-columns:1fr 1fr}
  .wpc-store .side .store-card{grid-column:1/-1}
}
@media(max-width:860px){
  .wpc-store .ticket{grid-template-columns:1fr}
  .wpc-store .t-side{border-left:0;border-top:2px dashed var(--line-strong)}
  .wpc-store .qa{grid-template-columns:1fr}
  .wpc-store .trust{grid-template-columns:1fr}
  .wpc-store .codes{grid-template-columns:1fr}
  .wpc-store .checkbar{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .wpc-store .side{grid-template-columns:1fr}
  .wpc-store .brandhead{gap:16px}
  .wpc-store .bh-logo{width:78px;height:78px;padding:12px}
  .wpc-store .bh-logo img{max-height:50px}
  .wpc-store .pgrid{grid-template-columns:1fr 1fr;gap:12px}
  .wpc-store .pbox-shot{height:130px}
  .wpc-store .pbox-shot img{max-height:112px;max-width:112px}
}
@media(max-width:560px){.wpc-store .calrow{grid-template-columns:1fr;gap:4px}}
@media(max-width:480px){.wpc-store .checkbar{grid-template-columns:1fr}}
@media(max-width:430px){.wpc-store .pgrid{grid-template-columns:1fr}}
/* Very narrow phones (<=360px): kill the last few px of horizontal overflow.
   The grid track can expand to content width before the children clamp, so
   switch this single-column layout to block flow and pin the content rail. */
@media(max-width:360px){
  .wpc-store .wrap{padding:0 14px}
  .wpc-store .layout{display:block}
  .wpc-store .layout>.main,
  .wpc-store .side,
  .wpc-store .side-card,
  .wpc-store .side-widgets .widget,
  .wpc-store .store-card,
  .wpc-store #offers,
  .wpc-store .toolbar,
  .wpc-store .pgrid{width:100%;max-width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){.wpc-store *{transition:none!important}}
