/* ============================================================================
   Subscription access-gate modal (.sg-*)

   Ported verbatim from the approved static build (src/shared/subscribe-gate.html)
   so the modal keeps its signed-off look if it is ever opened. It is DORMANT by
   design: the approved behaviour sends every visitor straight to guest checkout,
   and openGate() is never called. Loaded only on the routes that render the modal
   (Home + My Account) — see inc/enqueue.php.
   ============================================================================ */
.sg-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;
  background:rgba(7,20,54,.62);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.sg-overlay[hidden]{display:none}
.sg-dialog{position:relative;background:#fff;border-radius:22px;max-width:452px;width:100%;
  padding:clamp(26px,4vw,40px);box-shadow:0 44px 100px rgba(0,0,0,.42);
  animation:sg-in .32s cubic-bezier(.22,.61,.36,1) both}
@keyframes sg-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.sg-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  display:grid;place-items:center;background:rgba(10,31,77,.06);color:#0A1F4D;transition:background .2s}
.sg-close:hover,.sg-close:focus-visible{background:rgba(10,31,77,.12)}
.sg-close svg{width:18px;height:18px}
.sg-eyebrow{font-family:'PlexMono',ui-monospace,monospace;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--red,#C8102E);margin:0 0 10px}
.sg-dialog h2{font-family:'Manrope',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;color:#0A1F4D;
  font-size:clamp(1.5rem,3vw,1.9rem);line-height:1.1;margin:0 0 10px}
.sg-dialog>p{margin:0 0 18px;color:#41526d;font-size:1rem;line-height:1.6}
.sg-plan{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:11px 14px;border-radius:12px;
  background:#eef3fb;border:1px solid rgba(10,31,77,.10);color:#0A1F4D;font-size:.94rem}
.sg-plan[hidden]{display:none}
.sg-plan b{font-weight:800}
.sg-actions{display:grid;gap:10px}
.sg-btn-primary,.sg-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 20px;border-radius:40px;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform .2s var(--e,ease),box-shadow .2s,background .2s,border-color .2s}
.sg-btn-primary{background:var(--red,#C8102E);color:#fff;box-shadow:0 14px 30px -12px rgba(200,16,46,.6)}
.sg-btn-primary:hover,.sg-btn-primary:focus-visible{transform:translateY(-2px);box-shadow:0 20px 38px -12px rgba(200,16,46,.7)}
.sg-btn-ghost{background:#fff;color:#0A1F4D;border-color:rgba(10,31,77,.22)}
.sg-btn-ghost:hover,.sg-btn-ghost:focus-visible{border-color:#0A1F4D;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.sg-dialog{animation:none}
  .sg-btn-primary:hover,.sg-btn-ghost:hover,.sg-btn-primary:focus-visible,.sg-btn-ghost:focus-visible{transform:none}}
