/* Reusable pieces: pills, article cards, product cards, topic tiles */
.pill{display:inline-block;border-radius:99px;padding:3px 11px;font-size:11px;font-weight:700;background:var(--c,var(--ink));color:#fff;line-height:1.6}
.pill.free{background:var(--free);color:var(--free-t)}.pill.mem{background:var(--ink);color:var(--gold)}.pill.paid{background:var(--gold);color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.meta{font-size:12px;color:var(--muted)}
.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.kicker{color:var(--accent);margin-bottom:8px}.eyebrow{color:var(--gold)}
.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.sec{padding:60px 0}.sec.alt{background:var(--bg-2)}.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.sec-head .btn-line{color:var(--ink)}.sec-head .btn-line:hover{background:#fff}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.cover,.ph,.thumb,.lead,.tile{position:relative;overflow:hidden;background:var(--c)}
.tile:after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:34px solid rgba(255,255,255,.14);pointer-events:none}

.acard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);transition:transform .2s}.acard:hover{transform:translateY(-4px)}
.ph{display:flex;align-items:flex-end;aspect-ratio:16/10;border-radius:calc(var(--radius) - 8px);padding:18px;color:#fff;font-weight:800;font-size:22px;letter-spacing:-.02em}
.ab{padding:16px 10px 10px;display:grid;gap:10px}.ab p{font-size:14px;color:var(--muted)}.ab h3 a:hover{text-decoration:underline}
.row{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.row:last-child{border:0}.row:hover strong{text-decoration:underline}
.thumb{width:76px;height:76px;border-radius:22px}.rb{display:grid;gap:5px}.rb strong{font-size:15px;line-height:1.3;letter-spacing:-.01em}.rb small{color:var(--muted);font-size:12px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s}.pcard:hover{transform:translateY(-4px)}
.cover{display:flex;flex-direction:column;justify-content:space-between;height:210px;padding:22px;color:#fff;border-radius:0 0 56px 0}
.cover small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.92;position:relative;z-index:1}.cover strong{font-size:22px;line-height:1.1;letter-spacing:-.03em;max-width:88%;position:relative;z-index:1}
.pb{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}.pb p{font-size:14px;color:var(--muted);flex:1}.pb h3 a:hover{text-decoration:underline}
.pf{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}.price{font-size:36px;font-weight:800;letter-spacing:-.02em}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.tile{color:#fff;border-radius:var(--radius);padding:22px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;transition:transform .2s;box-shadow:var(--shadow)}.tile:hover{transform:translateY(-4px)}
.tile b{font-size:22px;letter-spacing:-.03em;position:relative}.tile span{font-size:12px;opacity:.88;position:relative}.tile i{position:absolute;top:18px;right:22px;font-style:normal;font-size:20px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.filters button{border:1.5px solid var(--ink);background:#fff;color:var(--ink);border-radius:99px;padding:9px 18px;font:700 13px var(--font);cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:#fff}

/* BUY NOW button (navy, rounded, subtle hover). Edit colours in theme.css. */
.btn-buy{background:var(--ink);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.btn-buy:hover{background:var(--ink-2);transform:translateY(-2px);box-shadow:0 8px 18px rgba(12,26,43,.28)}
.buy-btn:active{transform:translateY(0)}.buy-btn.is-busy{opacity:.6;pointer-events:none}
.buy-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:99px;font:600 13px var(--font);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:90vw;text-align:center}
.buy-toast.show{opacity:1;transform:translate(-50%,0)}
