/* ============================================================
   Allymonews Paywall v2 — 3-Tier Styles
   ============================================================ */

/* Preview fade */
.ally-preview-content { position:relative;max-height:300px;overflow:hidden; }
.ally-preview-content::after { content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent,#fff); }

/* Paywall wall */
.ally-paywall-wall { margin:32px 0;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.07); }
.ally-paywall-inner { padding:40px 32px;text-align:center; }
.ally-paywall-icon { font-size:44px;margin-bottom:12px; }
.ally-paywall-title { font-size:22px;font-weight:700;margin:0 0 10px;color:#111827; }
.ally-paywall-desc { color:#6b7280;font-size:15px;max-width:440px;margin:0 auto 24px; }
.ally-paywall-upgrade-note { background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:8px 16px;font-size:13px;color:#92400e;margin-bottom:20px;display:inline-block; }

/* Paywall plan chips */
.ally-paywall-plans { display:flex;justify-content:center;gap:14px;margin-bottom:24px;flex-wrap:wrap; }
.ally-plan { border:2px solid #e5e7eb;border-radius:10px;padding:14px 20px;min-width:120px;position:relative;text-align:center; }
.ally-plan-featured { border-color:var(--tc,#4f46e5); }
.ally-plan-badge { position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--tc,#4f46e5);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;white-space:nowrap; }
.ally-plan-icon { display:block;font-size:22px;margin-bottom:4px; }
.ally-plan-name { display:block;font-size:12px;color:#6b7280;margin-bottom:4px; }
.ally-plan-price { font-size:20px;font-weight:700;color:#111827; }
.ally-plan-price small { font-size:12px;font-weight:400;color:#9ca3af; }
.ally-plan-yearly { display:block;font-size:11px;color:#9ca3af;margin-top:2px; }
.ally-paywall-btn { display:inline-block;background:#1F3864;color:#fff!important;font-size:15px;font-weight:600;padding:13px 32px;border-radius:8px;text-decoration:none!important;transition:background .2s;margin-top:8px; }
.ally-paywall-btn:hover { background:#162454; }
.ally-paywall-login { margin-top:14px;color:#9ca3af;font-size:13px; }
.ally-paywall-login a { color:#4f46e5; }

/* ── Subscribe Page ── */
.ally-subscribe-page { max-width:900px;margin:0 auto;padding:20px 0 40px; }
.ally-subscribe-header { text-align:center;margin-bottom:32px; }
.ally-subscribe-header h2 { font-size:30px;font-weight:700;color:#111827;margin-bottom:8px; }
.ally-subscribe-header p { color:#6b7280;font-size:16px; }

/* Tier cards */
.ally-tier-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px; }
@media(max-width:700px) { .ally-tier-cards { grid-template-columns:1fr; } }

.ally-tier-card { border:2px solid #e5e7eb;border-radius:14px;padding:28px 20px;text-align:center;position:relative;transition:transform .2s,box-shadow .2s;background:#fff; }
.ally-tier-card:hover { transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1); }
.ally-tier-featured { border-color:var(--tc);box-shadow:0 4px 20px rgba(0,0,0,.1); }
.ally-tier-badge-top { position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--tc,#F59E0B);color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:20px;white-space:nowrap; }
.ally-tier-icon { font-size:40px;margin-bottom:10px; }
.ally-tier-name { font-size:20px;font-weight:700;margin-bottom:12px; }
.ally-tier-price-row { display:flex;align-items:baseline;justify-content:center;gap:4px; }
.ally-tier-price { font-size:32px;font-weight:700;color:#111827; }
.ally-tier-period { font-size:14px;color:#9ca3af; }
.ally-tier-yearly { font-size:12px;color:#9ca3af;margin:4px 0 16px; }
.ally-tier-perks { list-style:none;padding:0;margin:0 0 20px;text-align:left; }
.ally-tier-perks li { font-size:13px;color:#374151;padding:4px 0;border-bottom:1px solid #f3f4f6; }
.ally-tier-perks li:last-child { border:none; }
.ally-select-tier-btn { width:100%;padding:12px;border:2px solid var(--bc,var(--tc));background:#fff;color:var(--bc,var(--tc));font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s; }
.ally-select-tier-btn:hover,.ally-btn-featured { background:var(--tc);color:#fff!important;border-color:var(--tc); }
.ally-btn-featured { background:var(--tc)!important; }

/* Billing toggle */
.ally-billing-toggle { display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 28px;font-size:14px;font-weight:600;color:#374151; }
.ally-toggle-switch { position:relative;display:inline-block;width:48px;height:26px; }
.ally-toggle-switch input { opacity:0;width:0;height:0; }
.ally-toggle-slider { position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#d1d5db;border-radius:26px;transition:.3s; }
.ally-toggle-slider:before { position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s; }
input:checked + .ally-toggle-slider { background:#4f46e5; }
input:checked + .ally-toggle-slider:before { transform:translateX(22px); }
.ally-save-badge { background:#dcfce7;color:#166534;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;margin-left:4px; }

/* Form */
.ally-subscribe-form-wrap { background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:28px;max-width:480px;margin:0 auto; }
.ally-subscribe-form-wrap h3 { margin:0 0 20px;font-size:20px;color:#111827; }
.ally-form-group { margin-bottom:16px; }
.ally-form-group label { display:block;font-weight:600;font-size:14px;color:#374151;margin-bottom:6px; }
.ally-form-group input { width:100%;padding:11px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;box-sizing:border-box; }
.ally-form-group input:focus { outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1); }
.ally-stripe-element { background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px;margin-bottom:16px;min-height:44px; }
.ally-subscribe-submit { width:100%;background:#1F3864;color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:4px; }
.ally-subscribe-submit:hover { background:#162454; }
.ally-subscribe-submit:disabled { background:#9ca3af;cursor:not-allowed; }
.ally-form-note { text-align:center;font-size:12px;color:#9ca3af;margin-top:10px; }
.ally-back-btn { background:none;border:none;color:#6b7280;cursor:pointer;font-size:13px;margin-top:10px;text-decoration:underline; }
#ally-subscribe-msg { font-size:14px;border-radius:6px;margin-bottom:8px; }
#ally-subscribe-msg.success { background:#dcfce7;color:#166534;padding:10px;border:1px solid #bbf7d0; }
#ally-subscribe-msg.error   { background:#fee2e2;color:#991b1b;padding:10px;border:1px solid #fecaca; }
.ally-already-subscribed { background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;padding:16px 20px;color:#166534; }

/* Account page */
.ally-account-page { max-width:520px; }
.ally-account-status { padding:12px 18px;border-radius:8px;font-weight:600;margin-bottom:20px;font-size:15px; }
.ally-status-active    { background:#dcfce7;color:#166534;border:1px solid #bbf7d0; }
.ally-status-cancelled { background:#fee2e2;color:#991b1b;border:1px solid #fecaca; }
.ally-account-table { width:100%;border-collapse:collapse;margin-bottom:20px; }
.ally-account-table th,.ally-account-table td { padding:10px 14px;border-bottom:1px solid #f3f4f6;font-size:14px; }
.ally-account-table th { color:#6b7280;font-weight:600;width:120px;text-align:left; }
.ally-cancel-btn { background:#fff;border:1px solid #d1d5db;color:#374151;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;margin-top:8px; }
.ally-cancel-btn:hover { border-color:#dc2626;color:#dc2626; }

@media(max-width:540px) {
    .ally-paywall-inner { padding:24px 16px; }
    .ally-paywall-plans { flex-direction:column;align-items:center; }
}
