/* FitnessPro — Premium Golden Theme + Email OTP Auth */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@600;700&family=DM+Sans:wght@400;500;600&display=swap');

/* ─────────────────────────── TOKENS ─────────────────────────── */
:root {
    --gold-1:   #f7d060;
    --gold-2:   #e8a020;
    --gold-3:   #c47c0a;
    --gold-g:   linear-gradient(135deg, #f7d060 0%, #e8a020 55%, #c47c0a 100%);
    --gold-gh:  linear-gradient(135deg, #ffe680 0%, #f0b030 55%, #d08c10 100%);
    --gold-glow:0 4px 24px rgba(232,160,32,.35);

    --dark:     #0d0d18;
    --card:     #ffffff;
    --border:   #e8e0cc;
    --text:     #1a1208;
    --muted:    #7a6940;
    --success:  #10b981;
    --danger:   #ef4444;
    --r:        16px;
}

/* ─────────────────────────── PACKAGES ─────────────────────────── */
.fitpro-packages-grid { display:grid; gap:26px; margin:36px 0; }
.fitpro-cols-3 { grid-template-columns:repeat(3,1fr); }
.fitpro-cols-2 { grid-template-columns:repeat(2,1fr); }
.fitpro-cols-1 { grid-template-columns:1fr; max-width:400px; margin:0 auto; }

.fitpro-package-card {
    background:var(--card);
    border-radius:var(--r);
    border:2px solid var(--border);
    overflow:hidden;
    position:relative;
    display:flex;
    flex-direction:column;
    transition:transform .22s ease, box-shadow .22s ease;
}
.fitpro-package-card:hover { transform:translateY(-8px); box-shadow:0 24px 60px rgba(196,124,10,.18); }
.fitpro-package-card.featured { border-color:#e8a020; box-shadow:0 0 0 2px #e8a020, var(--gold-glow); }

.fitpro-badge {
    position:absolute; top:18px; right:-6px;
    background:var(--gold-g) !important;
    color:#1a1208; font-size:10px; font-weight:800;
    padding:5px 14px 5px 10px; border-radius:3px 0 0 3px;
    text-transform:uppercase; letter-spacing:1.5px;
    box-shadow:2px 2px 8px rgba(0,0,0,.2); z-index:2;
    font-family:'DM Sans',sans-serif;
}
.fitpro-badge::after {
    content:''; position:absolute; right:-1px; bottom:-7px;
    border:3.5px solid transparent;
    border-top-color:#a06008; border-left-color:#a06008;
}

.fitpro-package-header {
    padding:30px 26px 22px;
    background:var(--gold-g);
    color:#1a1208; position:relative; overflow:hidden;
}
.fitpro-package-header::after {
    content:''; position:absolute; top:-40px; right:-40px;
    width:130px; height:130px; border-radius:50%;
    background:rgba(255,255,255,.12); pointer-events:none;
}
.fitpro-package-name { font-family:'Rajdhani',sans-serif; font-size:27px; font-weight:700; margin:0 0 4px; color:#1a1208; }
.fitpro-package-desc { font-size:13px; opacity:.75; margin:0 0 18px; font-family:'DM Sans',sans-serif; }
.fitpro-price-block  { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.fitpro-original-price { font-size:16px; text-decoration:line-through; opacity:.55; }
.fitpro-price  { font-family:'Rajdhani',sans-serif; font-size:40px; font-weight:700; line-height:1; color:#1a1208; }
.fitpro-duration { font-size:14px; opacity:.7; }

.fitpro-package-body { padding:22px 26px; flex:1; }
.fitpro-features     { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.fitpro-features li  { display:flex; align-items:flex-start; gap:10px; font-size:14px; font-family:'DM Sans',sans-serif; color:var(--text); }
.fitpro-check {
    flex-shrink:0; width:20px; height:20px; border-radius:50%;
    background:var(--gold-g); display:inline-flex; align-items:center;
    justify-content:center; font-size:11px; color:#1a1208; font-weight:700; margin-top:1px;
}

.fitpro-package-footer { padding:16px 26px 26px; }
.fitpro-buy-btn {
    display:block; width:100%; padding:15px;
    background:var(--gold-g); color:#1a1208; border:none; border-radius:11px;
    font-family:'Rajdhani',sans-serif; font-size:17px; font-weight:700;
    letter-spacing:.8px; cursor:pointer; text-transform:uppercase;
    transition:filter .18s, transform .12s, box-shadow .18s;
    box-shadow:var(--gold-glow);
}
.fitpro-buy-btn:hover { filter:brightness(1.08); transform:scale(1.025); box-shadow:0 8px 32px rgba(232,160,32,.45); }
.fitpro-buy-btn:active { transform:scale(.98); }

/* ─────────────────────────── MODAL BASE ─────────────────────────── */
.fitpro-modal {
    position:fixed; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:99999; padding:20px;
}
.fitpro-modal-overlay {
    position:absolute; inset:0;
    background:rgba(13,13,24,.76); backdrop-filter:blur(7px);
}
.fitpro-modal-box {
    position:relative; background:#fff; border-radius:22px; padding:34px;
    width:100%; max-width:460px; max-height:92vh; overflow-y:auto;
    box-shadow:0 30px 80px rgba(180,130,10,.22), 0 0 0 1.5px rgba(232,160,32,.25);
    animation:fp-in .28s cubic-bezier(.34,1.4,.64,1);
}
@keyframes fp-in { from { opacity:0; transform:translateY(30px) scale(.95); } to { opacity:1; transform:none; } }

.fitpro-modal-close {
    position:absolute; top:14px; right:14px;
    background:#f5f0e8; border:none; border-radius:50%;
    width:34px; height:34px; font-size:18px; cursor:pointer;
    color:#7a6940; display:flex; align-items:center; justify-content:center;
    transition:background .15s; z-index:3;
}
.fitpro-modal-close:hover { background:#e8dfc8; }

/* ─────────────────────────── AUTH MODAL ─────────────────────────── */
.fitpro-auth-modal .fitpro-modal-overlay { background:rgba(13,13,24,.82); }
.fitpro-auth-box  { max-width:460px; padding:28px 28px 32px; }

/* Progress indicator */
.fitpro-otp-progress {
    display:flex; align-items:center; justify-content:center;
    gap:0; margin-bottom:22px;
}
.fitpro-otp-step-dot {
    width:32px; height:32px; border-radius:50%;
    border:2px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700;
    color:var(--muted); background:#faf7f0;
    transition:all .3s;
    position:relative; z-index:1;
}
.fitpro-otp-step-dot.active {
    background:var(--gold-g); border-color:#e8a020;
    color:#1a1208; box-shadow:var(--gold-glow);
    transform:scale(1.12);
}
.fitpro-otp-step-dot.done {
    background:#d1fae5; border-color:var(--success); color:var(--success);
}
.fitpro-otp-step-dot.done span::before { content:'✓'; }
.fitpro-otp-step-dot.done span { font-size:0; }
.fitpro-otp-step-line {
    flex:1; max-width:60px; height:2px;
    background:var(--border); border-radius:2px;
}

/* Alert */
.fitpro-auth-alert {
    padding:11px 14px; border-radius:9px;
    font-size:13px; font-family:'DM Sans',sans-serif;
    font-weight:500; margin-bottom:16px;
}
.fitpro-auth-alert.success { background:#d1fae5; color:#065f46; border:1px solid #a7f3d0; }
.fitpro-auth-alert.error   { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.fitpro-auth-alert.info    { background:#fef9c3; color:#854d0e; border:1px solid #fde68a; }

/* Hero section */
.fitpro-auth-hero { text-align:center; margin-bottom:20px; }
.fitpro-auth-icon {
    font-size:48px; line-height:1; margin-bottom:8px;
    display:block;
}
.fitpro-icon-pulse { animation:fp-pulse 2s ease-in-out infinite; }
@keyframes fp-pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }
.fitpro-auth-hero h2 {
    font-family:'Rajdhani',sans-serif; font-size:24px; font-weight:700;
    margin:0 0 6px;
    background:var(--gold-g); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text;
}
.fitpro-auth-hero p { font-size:14px; color:var(--muted); margin:0; font-family:'DM Sans',sans-serif; line-height:1.5; }

/* Inputs */
.fitpro-auth-pane .fitpro-form-row { margin-bottom:14px; }
.fitpro-auth-pane .fitpro-form-row label {
    display:block; font-size:11px; font-weight:700; color:var(--muted);
    text-transform:uppercase; letter-spacing:.6px; margin-bottom:5px;
    font-family:'DM Sans',sans-serif;
}
.fitpro-input-wrap { position:relative; display:flex; align-items:center; }
.fitpro-input-icon { position:absolute; left:13px; font-size:15px; pointer-events:none; z-index:1; }
.fitpro-auth-input {
    width:100%; padding:12px 14px 12px 42px;
    border:1.5px solid var(--border); border-radius:10px;
    font-size:14px; font-family:'DM Sans',sans-serif;
    background:#faf7f0; color:var(--text); outline:none;
    transition:border-color .15s, box-shadow .15s;
    box-sizing:border-box;
}
.fitpro-auth-input:focus { border-color:var(--gold-2); background:#fff; box-shadow:0 0 0 3px rgba(232,160,32,.14); }
.fitpro-auth-pane .fitpro-form-cols { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.fitpro-auth-pane .fitpro-form-cols .fitpro-auth-input { padding-left:14px; }

/* Submit btn */
.fitpro-auth-submit-btn {
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:100%; padding:15px;
    background:var(--gold-g); color:#1a1208; border:none; border-radius:12px;
    font-family:'Rajdhani',sans-serif; font-size:17px; font-weight:700;
    letter-spacing:.6px; text-transform:uppercase;
    cursor:pointer; margin-top:6px;
    transition:filter .18s, transform .12s, box-shadow .18s;
    box-shadow:var(--gold-glow);
}
.fitpro-auth-submit-btn:hover { filter:brightness(1.08); transform:scale(1.02); box-shadow:0 8px 28px rgba(232,160,32,.4); }
.fitpro-auth-submit-btn:active { transform:scale(.98); }
.fitpro-auth-submit-btn:disabled { opacity:.65; cursor:not-allowed; transform:none; }
.fitpro-btn-icon { font-size:18px; line-height:1; }

/* Spinner */
.fitpro-spinner {
    width:16px; height:16px; border-radius:50%; flex-shrink:0;
    border:2.5px solid rgba(26,18,8,.25); border-top-color:#1a1208;
    animation:fp-spin .65s linear infinite;
}
@keyframes fp-spin { to { transform:rotate(360deg); } }

/* OTP note */
.fitpro-otp-note {
    text-align:center; font-size:12px; color:var(--muted);
    margin:12px 0 0; font-family:'DM Sans',sans-serif;
    line-height:1.5;
}

/* ── OTP boxes ── */
.fitpro-otp-boxes {
    display:flex; justify-content:center; gap:10px;
    margin:8px 0 20px;
}
.fitpro-otp-box {
    width:50px; height:58px;
    border:2px solid var(--border); border-radius:12px;
    font-family:'Rajdhani',sans-serif; font-size:26px; font-weight:700;
    text-align:center; color:var(--text); background:#faf7f0;
    outline:none; caret-color:transparent;
    transition:border-color .15s, box-shadow .15s, background .15s, transform .1s;
}
.fitpro-otp-box:focus {
    border-color:var(--gold-2); background:#fff;
    box-shadow:0 0 0 3px rgba(232,160,32,.18);
    transform:scale(1.06);
}
.fitpro-otp-box.filled {
    border-color:var(--gold-3); background:#fffbe8;
    box-shadow:0 2px 8px rgba(232,160,32,.2);
}

/* Shake animation on wrong OTP */
.fitpro-otp-boxes.shake { animation:fp-shake .45s ease; }
@keyframes fp-shake {
    0%,100% { transform:translateX(0); }
    20%      { transform:translateX(-8px); }
    40%      { transform:translateX(8px); }
    60%      { transform:translateX(-6px); }
    80%      { transform:translateX(6px); }
}

/* Resend row */
.fitpro-resend-row {
    display:flex; align-items:center; justify-content:center;
    gap:8px; margin-top:14px;
    font-size:13px; font-family:'DM Sans',sans-serif; color:var(--muted);
}
.fitpro-resend-btn {
    background:none; border:none; cursor:pointer;
    font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700;
    color:var(--gold-3); padding:0;
    transition:opacity .15s;
}
.fitpro-resend-btn:disabled { opacity:.45; cursor:default; color:var(--muted); }
.fitpro-resend-timer { font-weight:400; color:var(--muted); }

/* Change email / skip links */
.fitpro-change-email-row { text-align:center; margin-top:10px; }
.fitpro-link-btn {
    background:none; border:none; cursor:pointer;
    font-family:'DM Sans',sans-serif; font-size:13px; font-weight:600;
    color:var(--muted); padding:4px 0;
    text-decoration:underline; text-underline-offset:3px;
    transition:color .15s;
}
.fitpro-link-btn:hover { color:var(--gold-3); }

/* ── Auth success screen ── */
.fitpro-auth-success {
    text-align:center; padding:40px 20px;
}
.fitpro-success-anim {
    font-size:72px; animation:fp-pop .4s cubic-bezier(.34,1.56,.64,1);
    display:block; margin-bottom:16px;
}
@keyframes fp-pop { from { transform:scale(0); opacity:0; } to { transform:scale(1); opacity:1; } }
.fitpro-auth-success h2 {
    font-family:'Rajdhani',sans-serif; font-size:28px; font-weight:700;
    background:var(--gold-g); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text;
    margin:0 0 10px;
}
.fitpro-auth-success p { color:var(--muted); font-size:15px; margin:0; font-family:'DM Sans',sans-serif; }

/* ─────────────────────────── CHECKOUT MODAL ─────────────────────────── */
.fitpro-modal-box h2 {
    font-family:'Rajdhani',sans-serif; font-size:22px; font-weight:700;
    margin:0 0 20px;
    background:var(--gold-g); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text;
}
.fitpro-order-summary {
    background:#faf7f0; border:1px solid #e8dfc8;
    border-radius:12px; padding:16px; margin-bottom:16px;
}
.fitpro-order-pkg { margin:0 0 10px; font-family:'DM Sans',sans-serif; font-size:14px; }
.fitpro-price-summary,
.fitpro-discount-row,
.fitpro-total-row {
    display:flex; justify-content:space-between;
    font-size:14px; padding:4px 0;
    font-family:'DM Sans',sans-serif;
}
.fitpro-total-row { border-top:1px solid #e8dfc8; margin-top:8px; padding-top:10px; font-size:16px; }
#fitpro-modal-discount { color:var(--success); font-weight:700; }

.fitpro-coupon-section { margin-bottom:16px; }
.fitpro-coupon-row { display:flex; gap:8px; }
.fitpro-coupon-row input {
    flex:1; padding:11px 14px; border:1.5px solid #e8dfc8; border-radius:9px;
    font-size:14px; font-family:monospace; text-transform:uppercase;
    background:#faf7f0; color:var(--text); outline:none;
    transition:border-color .15s, box-shadow .15s;
}
.fitpro-coupon-row input:focus { border-color:var(--gold-2); box-shadow:0 0 0 3px rgba(232,160,32,.15); }
.fitpro-coupon-row button {
    padding:11px 18px; background:var(--dark); color:#f7d060;
    border:none; border-radius:9px; font-size:13px; font-weight:700;
    cursor:pointer; font-family:'DM Sans',sans-serif; transition:background .15s;
}
.fitpro-coupon-row button:hover { background:#1f1f30; }
.fitpro-coupon-msg { margin-top:6px; font-size:13px; font-family:'DM Sans',sans-serif; min-height:18px; }
.fitpro-coupon-msg.success { color:var(--success); font-weight:600; }
.fitpro-coupon-msg.error   { color:var(--danger); }

.fitpro-pay-btn {
    display:flex; align-items:center; justify-content:center; gap:10px;
    width:100%; padding:17px;
    background:linear-gradient(135deg,#1da1f2 0%,#0d6efd 100%);
    color:white; border:none; border-radius:13px;
    font-family:'DM Sans',sans-serif; font-size:16px; font-weight:700;
    cursor:pointer; box-shadow:0 4px 18px rgba(13,110,253,.3);
    transition:filter .15s, transform .1s;
}
.fitpro-pay-btn:hover { filter:brightness(1.09); }
.fitpro-pay-btn:active { transform:scale(.98); }
.fitpro-pay-btn:disabled { opacity:.6; cursor:not-allowed; }
.fitpro-pay-btn .fitpro-spinner { border-color:rgba(255,255,255,.35); border-top-color:white; }
.fitpro-secure-note { text-align:center; font-size:12px; color:var(--muted); margin:10px 0 0; font-family:'DM Sans',sans-serif; }
.fitpro-error-msg { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; padding:10px 14px; border-radius:9px; font-size:13px; margin-top:10px; }

/* ─────────────────────────── MY ACCOUNT ─────────────────────────── */
/* Auth prompt */
.fitpro-auth-prompt {
    text-align:center; padding:64px 24px;
    background:linear-gradient(135deg,#faf7f0,#fff8e8,#faf7f0);
    border:2px dashed #e8dfc8; border-radius:20px;
    font-family:'DM Sans',sans-serif;
}
.fitpro-auth-prompt-icon { font-size:64px; margin-bottom:16px; display:block; }
.fitpro-auth-prompt h3 {
    font-family:'Rajdhani',sans-serif; font-size:26px; font-weight:700;
    margin:0 0 8px;
    background:var(--gold-g); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text;
}
.fitpro-auth-prompt p { color:var(--muted); margin:0 0 24px; font-size:15px; }
.fitpro-auth-cta-btn {
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 32px; background:var(--gold-g); color:#1a1208;
    border:none; border-radius:12px;
    font-family:'Rajdhani',sans-serif; font-size:17px; font-weight:700;
    letter-spacing:.5px; text-transform:uppercase; cursor:pointer;
    box-shadow:var(--gold-glow); transition:filter .18s, transform .12s;
}
.fitpro-auth-cta-btn:hover { filter:brightness(1.1); transform:scale(1.03); }

/* Account sections */
.fitpro-account { font-family:'DM Sans',sans-serif; max-width:720px; }
.fitpro-active-sub {
    background:linear-gradient(135deg,#0d0d18 0%,#1c1608 60%,#0d0d18 100%);
    border:1px solid rgba(232,160,32,.3);
    box-shadow:inset 0 1px 0 rgba(247,208,96,.15), 0 8px 40px rgba(0,0,0,.25);
    border-radius:18px; padding:30px; margin-bottom:26px;
    position:relative; overflow:hidden; color:#f7e8b0;
}
.fitpro-active-sub::before {
    content:''; position:absolute; top:-60px; right:-60px;
    width:200px; height:200px; border-radius:50%;
    background:radial-gradient(circle,rgba(247,208,96,.12) 0%,transparent 70%);
    pointer-events:none;
}
.fitpro-active-sub h3 {
    font-family:'Rajdhani',sans-serif; font-size:20px; margin:0 0 18px;
    background:var(--gold-g); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text; display:inline-block;
}
.fitpro-sub-details { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.fitpro-sub-item {
    background:rgba(247,208,96,.08); border:1px solid rgba(232,160,32,.2);
    border-radius:11px; padding:13px;
}
.fitpro-sub-item span { display:block; font-size:10px; opacity:.6; text-transform:uppercase; letter-spacing:.6px; margin-bottom:5px; }
.fitpro-sub-item strong { font-size:16px; font-weight:700; color:#f7d060; }
.fitpro-active-features {
    list-style:none; margin:0; padding:16px 0 0;
    border-top:1px solid rgba(232,160,32,.2);
    display:flex; flex-wrap:wrap; gap:8px;
}
.fitpro-active-features li {
    background:rgba(247,208,96,.1); border:1px solid rgba(232,160,32,.2);
    padding:4px 12px; border-radius:20px; font-size:13px; color:#f7e8b0;
}
.fitpro-no-sub { background:#faf7f0; border:1px solid #e8dfc8; border-radius:14px; padding:30px; text-align:center; color:var(--muted); margin-bottom:24px; }

.fitpro-sub-history h3 {
    font-family:'Rajdhani',sans-serif; font-size:18px; margin-bottom:14px;
    background:var(--gold-g); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text; display:inline-block;
}
.fitpro-table { width:100%; border-collapse:collapse; font-size:14px; }
.fitpro-table th { background:#faf7f0; padding:11px 14px; text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); border-bottom:1px solid #e8dfc8; }
.fitpro-table td { padding:12px 14px; border-bottom:1px solid #f0e8d8; }
.fitpro-table tr:last-child td { border-bottom:0; }
.fitpro-table tr:hover td { background:#faf7f0; }

.fitpro-status { display:inline-flex; align-items:center; padding:3px 11px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; }
.fitpro-status--active    { background:#d1fae5; color:#065f46; }
.fitpro-status--expired   { background:#f3f4f6; color:#6b7280; }
.fitpro-status--pending   { background:#fef9c3; color:#854d0e; }
.fitpro-status--cancelled { background:#fee2e2; color:#991b1b; }
.fitpro-status--paused    { background:#e0e7ff; color:#3730a3; }

.fitpro-badge-active   { background:var(--gold-g); color:#1a1208; padding:4px 16px; border-radius:20px; font-size:13px; font-weight:700; display:inline-block; }
.fitpro-badge-inactive { background:#f3f4f6; color:#6b7280; padding:4px 16px; border-radius:20px; font-size:13px; display:inline-block; }

/* ─────────────────────────── FREE TRIAL STYLES ─────────────────────────── */
.fitpro-free-total {
    background: var(--gold-g);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 20px;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    letter-spacing: .5px;
}

.fitpro-free-badge {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: linear-gradient(135deg, #fffbe8 0%, #fff8d6 100%);
    border: 1.5px solid #e8a020;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
    animation: fp-in .3s ease;
}
.fitpro-free-badge-icon { font-size: 28px; flex-shrink: 0; line-height: 1; }
.fitpro-free-badge strong {
    display: block;
    font-family: 'Rajdhani', sans-serif;
    font-size: 16px;
    font-weight: 700;
    background: var(--gold-g);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 2px;
}
.fitpro-free-badge p {
    margin: 0;
    font-size: 13px;
    color: var(--muted);
    font-family: 'DM Sans', sans-serif;
    line-height: 1.4;
}

/* Free trial pay button variant */
.fitpro-pay-btn--free {
    background: var(--gold-g) !important;
    color: #1a1208 !important;
    box-shadow: var(--gold-glow) !important;
}
.fitpro-pay-btn--free:hover { filter: brightness(1.08); }
.fitpro-pay-btn--free .fitpro-spinner { border-color: rgba(26,18,8,.25); border-top-color: #1a1208; }

/* coupon info style */
.fitpro-coupon-msg.info { color: #065f46; font-weight: 600; }

/* ─────────────────────────── RESPONSIVE ─────────────────────────── */
@media (max-width:900px) {
    .fitpro-cols-3 { grid-template-columns:repeat(2,1fr); }
    .fitpro-sub-details { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
    .fitpro-cols-3,.fitpro-cols-2 { grid-template-columns:1fr; }
    .fitpro-auth-box { padding:20px 16px 24px; }
    .fitpro-otp-box { width:42px; height:50px; font-size:22px; }
    .fitpro-otp-boxes { gap:7px; }
    .fitpro-sub-details { grid-template-columns:1fr 1fr; }
    .fitpro-table { font-size:12px; }
    .fitpro-table th,.fitpro-table td { padding:8px 10px; }
    .fitpro-auth-pane .fitpro-form-cols { grid-template-columns:1fr; }
    .fitpro-modal-box { padding:24px 16px; }
}
