/* Fast Memberships v1.3.1 */
.fm-levels{margin:0 0 30px}
.fm-group{margin:0 0 36px}
.fm-group-title{font-size:22px;margin:0 0 16px;padding-bottom:8px;position:relative}
.fm-group-title::after{content:"";position:absolute;left:0;bottom:0;width:120px;height:2px;background:var(--fp-primary,#9c2b2b)}
.fm-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.fm-plan{position:relative;background:var(--fp-card-bg,#fff);border:1px solid var(--fp-border,#e2e8f2);border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}
.fm-plan:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,40,70,.12)}
.fm-plan.is-featured{border-color:var(--fp-primary,#9c2b2b);box-shadow:0 0 0 2px var(--fp-primary,#9c2b2b) inset}
.fm-plan.is-current{background:#f0fdf4;border-color:#86efac}
.fm-plan-flag{position:absolute;top:-12px;left:20px;background:var(--fp-primary,#9c2b2b);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:20px}
.fm-plan h3{margin:0;font-size:18px}
.fm-plan-price{font-size:30px;font-weight:800;color:var(--fp-primary,#9c2b2b);line-height:1}
.fm-plan-price small{font-size:13px;font-weight:500;color:var(--fp-muted,#6b7280)}
.fm-plan-features{list-style:none;margin:0;padding:0;flex:1;font-size:14px;color:var(--fp-text,#16233a)}
.fm-plan-features li{padding:6px 0 6px 22px;position:relative;border-bottom:1px dashed #e5e7eb}
.fm-plan-features li::before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}
.fm-plan-features li:last-child{border-bottom:0}
.fm-plan-btn{width:100%}
.fm-note{color:var(--fp-muted,#6b7280);font-size:14px;text-align:center}
.fm-history h3{margin-top:0}
.fm-history-table{width:100%;border-collapse:collapse;font-size:14px}
.fm-history-table th,.fm-history-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb}

.fm-history-count{font-size:13px;font-weight:500;color:var(--fp-muted,#6b7280)}.fm-history-n{color:var(--fp-muted,#6b7280);font-size:12px;width:50px}.fm-history-date{white-space:nowrap;width:190px}.fm-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 6px}.fm-pager-btn{display:inline-block;padding:8px 16px;border:2px solid var(--fp-primary,#9c2b2b);border-radius:8px;color:var(--fp-primary,#9c2b2b);font-weight:700;font-size:13px;text-decoration:none}.fm-pager-btn:hover{background:var(--fp-primary,#9c2b2b);color:#fff}.fm-pager-btn.is-disabled{opacity:.35;pointer-events:none}.fm-pager-info{font-size:13px;color:var(--fp-muted,#6b7280)}

/* ---- 1.3.0 sales layer: tier cards, period toggle, compare table, check-before-you-buy, locked-file upsell ---- */
.fm-h2{font-size:22px;margin:34px 0 14px;padding-bottom:8px;position:relative}
.fm-h2::after{content:"";position:absolute;left:0;bottom:0;width:120px;height:2px;background:var(--fp-primary,#9c2b2b)}
.fm-check{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid var(--fp-border,#e2e8f2);border-radius:14px;padding:16px 18px;margin:0 0 22px}
.fm-check-text{display:flex;flex-direction:column;gap:2px;min-width:220px;flex:1}
.fm-check-text span{font-size:14px;color:var(--fp-muted,#6b7280)}
.fm-check-form{display:flex;flex:1 1 380px;gap:8px;min-width:0}
.fm-check-form input{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:8px;padding:11px 12px;font:inherit;font-size:14px;background:#fff}
.fm-period-toggle{display:inline-flex;gap:4px;background:#f1f5f9;border-radius:999px;padding:4px;margin:0 auto 24px;position:relative;left:50%;transform:translateX(-50%)}
.fm-period-btn{border:0;background:transparent;padding:9px 18px;border-radius:999px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:#334155;display:inline-flex;gap:8px;align-items:center}
.fm-period-btn.is-active{background:var(--fp-primary,#9c2b2b);color:#fff}
.fm-period-best{font-size:10px;text-transform:uppercase;letter-spacing:.4px;background:#fde68a;color:#78350f;border-radius:10px;padding:2px 7px}
.fm-period-btn.is-active .fm-period-best{background:#fff;color:#78350f}
.fm-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:stretch}
.fm-tier{position:relative;background:var(--fp-card-bg,#fff);border:1px solid var(--fp-border,#e2e8f2);border-radius:16px;padding:26px 22px 22px;display:flex;flex-direction:column;gap:12px;transition:transform .15s,box-shadow .15s}
.fm-tier:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,40,70,.12)}
.fm-tier.is-featured{border:2px solid #f59e0b;box-shadow:0 14px 34px rgba(245,158,11,.18);background:linear-gradient(180deg,#fffbeb 0%,#fff 38%)}
.fm-tiers-full .fm-tier.is-featured{transform:scale(1.04)}
.fm-tiers-full .fm-tier.is-featured:hover{transform:scale(1.04) translateY(-3px)}
.fm-tier.is-current{background:#f0fdf4;border-color:#86efac}
.fm-tier.is-jumped{box-shadow:0 0 0 4px rgba(245,158,11,.45)}
.fm-tier-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--fp-primary,#9c2b2b);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:5px 12px;border-radius:20px;white-space:nowrap}
.fm-tier.is-featured .fm-tier-flag{background:#f59e0b;color:#1f1300}
.fm-tier-head h3{margin:0;font-size:22px;text-transform:uppercase;letter-spacing:.5px}
.fm-tier-gold .fm-tier-head h3{color:#b45309}
.fm-tier-tag{margin:2px 0 0;font-size:14px;color:var(--fp-muted,#6b7280)}
.fm-price-big{font-size:34px;font-weight:800;color:var(--fp-primary,#9c2b2b);line-height:1.05}
.fm-tier.is-featured .fm-price-big{color:#b45309}
.fm-price-big small{font-size:14px;font-weight:600;color:var(--fp-muted,#6b7280)}
.fm-price-eq{font-size:13px;color:#166534;font-weight:700;margin-top:4px}
.fm-price-save{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;background:#dcfce7;color:#166534;border-radius:8px;padding:3px 8px}
.fm-tier-price .fm-tier-btn{margin-top:12px}
.fm-tier-features{list-style:none;margin:0;padding:0;flex:1;font-size:14px}
.fm-tier-features li{padding:7px 0 7px 24px;position:relative;border-bottom:1px dashed #e5e7eb}
.fm-tier-features li::before{content:"✓";position:absolute;left:0;top:7px;color:#16a34a;font-weight:800}
.fm-tier-features li:last-child{border-bottom:0}
.fm-tier-btn{width:100%;justify-content:center;text-align:center}
.fm-tier.is-featured .fm-tier-btn{background:#f59e0b;color:#1f1300!important}
.fm-tier-current{margin:0;font-size:13px;color:#166534;font-weight:700;text-align:center}
.fm-compare-wrap{overflow-x:auto;margin:0 0 26px}
.fm-compare{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.fm-compare th,.fm-compare td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:center}
.fm-compare tbody th{text-align:left;font-weight:600;color:#334155}
.fm-compare thead th{font-size:15px;text-transform:uppercase;letter-spacing:.4px}
.fm-compare thead th small{display:block;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--fp-muted,#6b7280)}
.fm-compare .is-featured{background:#fffbeb}
.fm-compare td[data-yes]{color:#16a34a;font-weight:800}
.fm-compare td[data-no]{color:#cbd5e1}
.fm-compare-price td{font-weight:700}
.fm-dongle{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#eef6ff;border:1px solid #bfdbfe;border-radius:12px;padding:14px 18px;margin:8px 0 20px;font-size:14px}
.fm-upsell{margin:14px 0 0;background:#0f2242;color:#fff;border-radius:16px;padding:22px 22px 20px}
.fm-upsell-head{display:flex;gap:14px;align-items:flex-start}
.fm-upsell-lock{flex:none;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fbbf24}
.fm-upsell h3{margin:0 0 4px;color:#fff;font-size:20px}
.fm-upsell-facts{margin:0;color:#b7c6de;font-size:14px}
.fm-upsell-rec{margin:6px 0 0;font-size:14px;color:#dbe4f3}
.fm-upsell-rec strong{color:#fbbf24}
.fm-upsell-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}
.fm-upsell-btn{background:#f59e0b;color:#1f1300!important;font-size:15px;padding:12px 22px}
.fm-upsell .ff-btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.fm-upsell .fm-tiers{gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.fm-upsell .fm-tier{padding:18px 16px 16px;color:#16233a;gap:8px}
.fm-upsell .fm-tier-head h3{font-size:17px;color:#16233a}
.fm-upsell .fm-tier-gold .fm-tier-head h3{color:#b45309}
.fm-upsell .fm-price-big{font-size:26px}
.fm-upsell .fm-tier-features{font-size:13px}
@media(max-width:700px){.fm-tiers-full .fm-tier.is-featured{transform:none}.fm-tiers-full .fm-tier.is-featured:hover{transform:translateY(-3px)}.fm-period-toggle{display:flex;justify-content:center;left:0;transform:none;width:100%;box-sizing:border-box}.fm-period-btn{flex:1;justify-content:center;padding:9px 6px;font-size:13px}}

/* ===== 1.4.0: refer a friend box ===== */
.fm-ref{background:var(--fp-card-bg,#fff);border:1px solid var(--fp-border,#e2e8f2);border-radius:14px;padding:22px 24px;margin:12px 0}
.fm-ref-title{margin:0 0 6px;font-size:22px}
.fm-ref-intro{margin:0 0 14px;color:var(--fp-muted,#64748b);line-height:1.55}
.fm-ref-linkrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fm-ref-link{flex:1 1 260px;min-width:0;padding:11px 12px;border:1px solid var(--fp-border,#cbd5e1);border-radius:8px;font:inherit;font-size:14px;background:var(--fp-body-bg,#f8fafc);color:var(--fp-text,#0f172a)}
.fm-ref-copy{flex:none;padding:11px 18px;border-radius:8px;background:var(--fp-primary,#2563eb);color:#fff!important;border:0;font-weight:700;cursor:pointer;font:inherit}
.fm-ref-share{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.fm-ref-share a{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;color:#fff!important}
.fm-ref-wa{background:#25d366}.fm-ref-tg{background:#2aabee}.fm-ref-fb{background:#1877f2}.fm-ref-mail{background:#64748b}
.fm-ref-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.fm-ref-stats div{background:var(--fp-body-bg,#f8fafc);border:1px solid var(--fp-border,#e2e8f2);border-radius:10px;padding:12px;text-align:center}
.fm-ref-stats strong{display:block;font-size:26px;color:var(--fp-primary,#2563eb)}.fm-ref-stats span{font-size:12px;color:var(--fp-muted,#64748b)}
.fm-ref-table{width:100%;border-collapse:collapse;font-size:14px}.fm-ref-table th,.fm-ref-table td{padding:8px 10px;border-bottom:1px solid var(--fp-border,#e2e8f2);text-align:left}

/* ===== 1.5.0: upsell box ===== */
.fm-offer{margin:14px 0;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,#0d2a6b,#0b1a3d);border:1px solid #2a56b3;color:#e8eefb}
.fm-offer h4{margin:0 0 6px;font-size:16px;color:#fff}.fm-offer p{margin:0 0 10px;color:#c9d8f5;line-height:1.5}
.fm-offer-btn,a.fm-offer-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:#f5b400;color:#0b1a3d!important;font-weight:800;text-decoration:none}
.fm-offer-expired{background:linear-gradient(135deg,#5b1111,#2b0b0b);border-color:#b32a2a}.fm-offer-expired .fm-offer-btn{background:#e0242b;color:#fff!important}

/* ===== 1.5.1: yearly anchor — was-price, SAVE pill, short-term link ===== */
.fm-price-was{font-size:13px;opacity:.75;margin-top:2px}.fm-price-was s{opacity:.9}
.fm-price-save{display:inline-block;margin:6px 0 2px;padding:3px 10px;border-radius:999px;background:#e0242b;color:#fff;font-weight:800;font-size:12px;letter-spacing:.3px}
.fm-price-short{display:block;margin:8px auto 0;background:none;border:0;color:inherit;opacity:.75;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.fm-upsell-auto{display:inline-block;margin-top:4px;font-size:13px;color:#ffd166;font-weight:600}

/* ===== 1.6.0: member reviews ===== */
.fm-stars{display:inline-flex;gap:2px;vertical-align:middle}
.fm-review .grt-review-stars,.fm-review-stars{margin-bottom:6px}
.fm-review-title{display:block;margin:0 0 6px;font-size:15px}
.fm-rating-summary{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 18px;font-size:15px}
.fm-rating-summary strong{font-size:17px}.fm-rating-summary span{opacity:.8}
.fm-review-form{max-width:620px;margin:32px auto;padding:28px;border-radius:16px;background:#0b1a3d;border:1px solid rgba(255,255,255,.12);color:#fff}
.fm-review-form h2{margin:0 0 8px;color:#fff}.fm-review-intro{opacity:.85;margin:0 0 18px}
.fm-review-form .fm-alert{margin:0 0 16px;padding:10px 14px;border-radius:8px;background:rgba(31,124,245,.18);border:1px solid rgba(31,124,245,.5)}
.fm-review-form .fm-alert-error{background:rgba(224,36,43,.18);border-color:rgba(224,36,43,.6)}
.fm-review-fields label{display:block;margin:0 0 14px;font-weight:600;font-size:14px}
.fm-review-fields input[type=text],.fm-review-fields textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#050b1e;color:#fff;font:inherit;box-sizing:border-box}
.fm-star-pick{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin:0 0 16px}
.fm-star-pick input{position:absolute;opacity:0;width:0;height:0}
.fm-star-pick .fm-star-lbl{cursor:pointer;margin:0;line-height:1}.fm-star-pick .fm-star-lbl span{font-size:42px!important;line-height:1;color:rgba(255,255,255,.22);transition:color .12s}
.fm-star-lbl:has(input:checked) span,.fm-star-lbl:has(input:checked)~.fm-star-lbl span,.fm-star-lbl:hover span,.fm-star-lbl:hover~.fm-star-lbl span{color:#f5b400}
.fm-review-done{text-align:center;padding:40px 24px}
.fm-review-done .fm-stars{margin:8px 0 12px}.fm-review-done .fm-muted{opacity:.75}
.fm-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:12px 0 28px}
.fm-reviews-grid .fm-review{margin:0;padding:20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.fm-reviews-grid .fm-review p{margin:0 0 10px}.fm-reviews-grid .fm-review footer{font-size:13px;opacity:.85}

/* ===== 1.7.2: box / dongle owners panel ===== */
.fm-dongle-v2{align-items:stretch;padding:22px 24px;background:rgba(31,124,245,.08);border-color:rgba(31,124,245,.4)}
.fm-dongle-v2 .fm-dongle-main{flex:1 1 420px;min-width:0}.fm-dongle-v2 h3{margin:0 0 6px;font-size:20px}.fm-dongle-v2 p{margin:0 0 10px;font-size:15px;line-height:1.5}
.fm-dongle-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.fm-dongle-chips span{padding:4px 12px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.5);font-size:13px;font-weight:700}
.fm-dongle-rules{margin:0;padding-left:18px;font-size:14px;line-height:1.55}.fm-dongle-rules li{margin:0 0 4px}
.fm-dongle-side{flex:0 0 260px;display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:center}.fm-dongle-side .ff-btn{justify-content:center;width:100%}.fm-dongle-side small{opacity:.75;font-size:12px}
@media(max-width:700px){.fm-dongle-side{flex-basis:100%}}
