/* ─── Subscribe / Pricing Gate Page ─────────────────────────────────────── */
:root{--navy:#0b2545;--teal:#13808a;--teal-light:#1aa5b1;--border:#dce3ea;--text:#2a3a4a;--muted:#5a6a74}

body{background:#f5f7fa;min-height:100vh}

/* Wrapper */
.subscribe-wrap{max-width:900px;margin:0 auto;padding:3rem 1.5rem 4rem}

/* Header */
.subscribe-header{text-align:center;margin-bottom:2.5rem}
.subscribe-header h1{font-family:'Playfair Display',serif;font-size:2rem;color:var(--navy);margin:0 0 .75rem}
.subscribe-header p{color:var(--muted);font-size:1rem;max-width:560px;margin:0 auto;line-height:1.6}

/* Loading state */
.sub-loading{text-align:center;padding:3rem 0;color:var(--muted)}
.sub-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}
@keyframes spin{to{transform:rotate(360deg)}}

/* Already subscribed panel */
.sub-already{text-align:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:2.5rem;max-width:460px;margin:0 auto}
.already-icon{margin-bottom:1rem}
.sub-already h2{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--navy);margin:0 0 .5rem}
.sub-already p{color:var(--muted);font-size:.95rem;margin:0}

/* Plans grid */
.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}
@media(max-width:640px){.plans-grid{grid-template-columns:1fr}}

/* Plan card */
.plan-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:2rem 1.75rem;position:relative;display:flex;flex-direction:column;transition:box-shadow .2s}
.plan-card:hover{box-shadow:0 6px 24px rgba(19,128,138,.12)}
.plan-card--featured{border-color:var(--teal);box-shadow:0 4px 16px rgba(19,128,138,.15)}

/* Badge */
.plan-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);background:rgba(19,128,138,.08);border:1px solid rgba(19,128,138,.2);border-radius:20px;padding:.25rem .75rem;margin-bottom:1rem}
.plan-badge--featured{color:#fff;background:var(--teal);border-color:var(--teal)}

/* Plan name */
.plan-name{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--navy);margin:0 0 .75rem}

/* Price */
.plan-price{display:flex;align-items:flex-start;gap:.1rem;margin-bottom:.3rem}
.plan-currency{font-size:1.5rem;font-weight:700;color:var(--navy);line-height:1;margin-top:.4rem}
.plan-amount{font-size:3.25rem;font-weight:700;color:var(--navy);line-height:1}

/* Period */
.plan-period{font-size:.82rem;color:var(--muted);margin:0 0 1.25rem}

/* Features list */
.plan-features{list-style:none;padding:0;margin:0 0 1.75rem;flex:1;display:flex;flex-direction:column;gap:.6rem}
.plan-features li{display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--text)}
.plan-features .check{width:16px;height:16px;flex-shrink:0;color:var(--teal)}

/* CTA Buttons */
.btn-sub{display:block;text-align:center;padding:.85rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,transform .1s;cursor:pointer}
.btn-sub:active{transform:scale(.98)}
.btn-sub-primary{background:var(--teal);color:#fff}
.btn-sub-primary:hover{background:var(--teal-light)}
.btn-sub-featured{background:var(--navy);color:#fff}
.btn-sub-featured:hover{background:#0d2e5a}

/* Footer note */
.sub-footer{text-align:center;font-size:.82rem;color:var(--muted);line-height:1.7}
.sub-footer a{color:var(--teal);text-decoration:none}
.sub-footer a:hover{text-decoration:underline}