/* ═══════════════════════════════════════════════════════════════════
   Splurjj Shout — v3 additions (v1 file)
   plans + pricing, archetype page gallery, profile action buttons,
   plan chip, consent box, success upsell.
   Used by: shout.html, shout-profile.html, shout-spotlight.html
   NOTE: /css/* is cached immutable. Rename to shout-v3.v2.css on change.
═══════════════════════════════════════════════════════════════════ */

/* ── Profile page ───────────────────────────────────── */
.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.badges .arch-badge,.badges .plan-chip{margin:0}
.plan-chip{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));color:var(--on-accent)}
.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.actions a,.actions .pending{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:.84rem;padding:11px 18px;border-radius:999px;background:var(--ink);color:var(--bg);border:1px solid var(--ink)}
.actions a.alt{background:linear-gradient(90deg,var(--accent),var(--accent2));color:var(--on-accent);border-color:transparent}
.actions a.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.actions a:hover{filter:brightness(1.08)}
.actions .pending{background:transparent;color:var(--muted);border:1px dashed var(--line);font-weight:700}
.switcher button{display:inline-flex;align-items:center;gap:6px}
.switcher button i{color:var(--c,var(--accent))}
.switcher button[aria-pressed="true"] i{color:inherit}

/* ── Published-article banner (spotlight page) ──────── */
.pubbanner{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;background:rgba(45,212,191,.1);border:1px solid rgba(45,212,191,.4);border-radius:14px;padding:12px 16px;margin:0 0 18px;font-size:.9rem}
.pubbanner b{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#2dd4bf;margin-right:8px}
.pubbanner a{font-weight:800;text-decoration:none;color:var(--ink);border-bottom:2px solid #2dd4bf}

/* ── Pages that sit on the landing / article page ───── */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{display:flex;flex-direction:column;background:var(--bg2,var(--panel,#0f0f18));border:1px solid var(--line,#1b1b28);border-radius:24px;padding:28px;color:#fff}
.plan.legend{border:2px solid transparent;background:linear-gradient(var(--bg2,#0f0f18),var(--bg2,#0f0f18)) padding-box,linear-gradient(135deg,#8b5cf6,#e8117a,#ff9d5c) border-box}
.plan h3{margin:0;font-size:1.2rem}
.plan .price{margin:10px 0 2px;font-size:2.6rem;font-weight:900;letter-spacing:-.03em;line-height:1}
.plan .price small{font-size:.9rem;font-weight:600;color:#9a9ab0;letter-spacing:0;margin-left:4px}
.plan .inc-h{margin:18px 0 10px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a78bfa}
.plan ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px;flex:1}
.plan li{display:flex;gap:10px;font-size:.93rem;color:#d6d6e4}
.plan li i{color:#2dd4bf;margin-top:4px;font-size:.78rem}
.plan .btn{height:50px;width:100%;font-size:.95rem}
.btn-outline{background:transparent;color:#fff;border:2px solid #3a3a52}
.btn-outline:hover{background:#171722}
.fine-print{margin:18px 0 0;color:#7c7c92;font-size:.8rem;max-width:760px}
.upgrade{margin-top:30px;background:var(--bg2,#0f0f18);border:1px solid var(--line,#1b1b28);border-radius:20px;padding:22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.upgrade h3{margin:0 0 2px;font-size:1.05rem}
.upgrade p{margin:0;color:#a6a6ba;font-size:.88rem}
.upgrade form{display:flex;flex-wrap:wrap;gap:10px}
.upgrade input,.upgrade select{background:#f4f4f6;color:#0b0b12;border:2px solid transparent;border-radius:12px;padding:12px 14px;font:inherit;font-weight:600;min-width:0}
.upgrade .btn{height:46px;padding:0 20px;font-size:.88rem;border-radius:12px}
.upmsg{flex-basis:100%;margin:0;font-size:.9rem;min-height:20px;color:#9a9ab0}
.upmsg a{color:#fff;font-weight:700}

/* ── Archetype page gallery ─────────────────────────── */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gcard{display:block;text-decoration:none;color:inherit;background:var(--bg2,#0f0f18);border:1px solid var(--line,#1b1b28);border-radius:20px;padding:12px 12px 16px;transition:transform .15s,border-color .15s}
.gcard:hover{transform:translateY(-3px);border-color:var(--t-a)}
.thumb{display:flex;flex-direction:column;align-items:center;gap:6px;height:128px;border-radius:12px;background:var(--t-bg);padding:14px 12px 0;overflow:hidden;margin-bottom:12px}
.thumb i{display:block;flex:none}
.thumb .th-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--t-a),var(--t-b))}
.thumb .th-l1{width:56%;height:7px;border-radius:9px;background:var(--t-ink);opacity:.8}
.thumb .th-l2{width:38%;height:5px;border-radius:9px;background:var(--t-ink);opacity:.35}
.thumb .th-g{width:86%;height:16px;border-radius:7px;background:var(--t-panel);border-left:4px solid var(--t-a)}
.gcard b{display:flex;align-items:center;gap:8px;font-size:.98rem}
.gcard b i{color:var(--t-a)}
.gcard small{display:block;margin-top:2px;color:#a6a6ba;font-size:.8rem;line-height:1.35}

/* ── Wizard additions ───────────────────────────────── */
.opts.plans-pick{grid-template-columns:repeat(3,1fr)}
.opts.plans-pick .box b{font-size:.95rem}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:20px;font-size:.88rem;color:#2a2a3a;background:#f6f2ff;border-radius:14px;padding:14px 16px;cursor:pointer}
.consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:#8b5cf6}
.consent a{color:#5b34c9}
.consent.err{outline:2px solid #e8183a}

/* ── Success additions ──────────────────────────────── */
.pubnote{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.65);border-radius:14px;padding:12px 14px;margin:0 0 14px;font-size:.9rem;color:#1d1d2b}
.pubnote i{color:#0f9d58;margin-top:3px}
.pubnote.wait i{color:#b7791f}
.sh-links a[hidden]{display:none}
.upsell{margin-top:18px;background:#0b0b12;color:#fff;border-radius:16px;padding:16px 18px}
.upsell h4{margin:0 0 4px;font-size:.98rem}
.upsell p{margin:0 0 10px;color:#c9c9d8;font-size:.86rem}
.upsell .row{display:flex;flex-wrap:wrap;gap:8px}
.upsell a,.upsell button{font:inherit;font-weight:800;font-size:.82rem;text-decoration:none;cursor:pointer;border:0;border-radius:999px;padding:10px 16px;background:linear-gradient(90deg,#e8117a,#ff3d8f);color:#fff}
.upsell button.alt,.upsell a.alt{background:#fff;color:#0b0b12}
.upsell .msg{margin-top:8px;font-size:.84rem;color:#9ff3e1}

/* ── Plans on the article page (light, compact) ─────── */
.plans.compact .plan{padding:22px}
.plans.compact .price{font-size:2rem}
.plans.compact .btn{display:none}

/* Phones: a long link in the showcase card must not stretch the grid column
   (a plain 1fr column cannot shrink below its widest child). */
.showcase>*,.success>*{min-width:0}
.linkbar{max-width:100%}
@media (max-width:860px){
  .showcase,.success{grid-template-columns:minmax(0,1fr)}
  .showcase h2{overflow-wrap:anywhere}
}

@media (max-width:900px){
  .plans{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .opts.plans-pick{grid-template-columns:1fr}
}
