[x-cloak]{display:none!important}

/* ============================================================
   PSOLAR — DARK VARIANT (default for partnersurya-template)
   Color tokens: orange-yellow solar gradient on navy bg
   ============================================================ */
.psolar-wrap{
    --ps-bg:#0f172a;
    --ps-panel:#1e293b;
    --ps-panel-2:#162033;
    --ps-border:#334155;
    --ps-border-soft:#1e2a44;
    --ps-text:#f1f5f9;
    --ps-text-muted:#94a3b8;
    --ps-text-dim:#64748b;
    --ps-accent:#f59e0b;
    --ps-accent-2:#ffc107;
    --ps-accent-warm:#ff6f00;
    --ps-success:#10b981;
    --ps-danger:#ef4444;
    --ps-radius:14px;

    max-width:1100px;
    margin:2rem auto;
    padding:1.75rem;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
    color:var(--ps-text);
    background:var(--ps-bg);
    border:1px solid var(--ps-border);
    border-radius:var(--ps-radius);
    box-shadow:0 20px 60px rgba(0,0,0,.35);
}

/* Light variant fallback */
.psolar-wrap.psolar-theme-light{
    --ps-bg:#ffffff;
    --ps-panel:#f9fafb;
    --ps-panel-2:#f3f4f6;
    --ps-border:#e5e7eb;
    --ps-border-soft:#f3f4f6;
    --ps-text:#1f2937;
    --ps-text-muted:#6b7280;
    --ps-text-dim:#9ca3af;
    box-shadow:0 4px 20px rgba(0,0,0,.06);
}

/* ── Header / Progress ── */
.psolar-progress{
    display:flex;align-items:center;gap:.4rem;margin-bottom:1.5rem;
}
.psolar-step-dot{
    flex:1;height:6px;border-radius:99px;background:var(--ps-border-soft);position:relative;
    transition:.3s ease;
}
.psolar-step-dot.active{background:linear-gradient(90deg,var(--ps-accent-warm),var(--ps-accent-2));}
.psolar-step-dot.current{box-shadow:0 0 0 3px rgba(245,158,11,.25);}
.psolar-step-dot span{display:none}

.psolar-step-label{
    font-size:.85rem;color:var(--ps-text-muted);margin-bottom:1rem;
    display:flex;justify-content:space-between;
}
.psolar-step-label strong{color:var(--ps-accent);}

/* ── 2-Column Layout ── */
.psolar-grid{
    display:grid;
    grid-template-columns:1fr 380px;
    gap:1.5rem;
    align-items:start;
}
@media(max-width:880px){
    .psolar-grid{grid-template-columns:1fr;}
}

.psolar-left{
    background:var(--ps-panel);
    border:1px solid var(--ps-border);
    border-radius:var(--ps-radius);
    padding:1.5rem;
    min-height:380px;
}

.psolar-right{
    position:sticky;top:1rem;
    background:linear-gradient(165deg,var(--ps-panel) 0%,var(--ps-panel-2) 100%);
    border:1px solid var(--ps-border);
    border-radius:var(--ps-radius);
    padding:1.5rem;
    box-shadow:0 8px 32px rgba(0,0,0,.25);
}

@media(max-width:880px){
    .psolar-right{position:static;}
}

/* ── Form fields ── */
.psolar-step h2{
    margin:0 0 .25rem;
    font-size:1.3rem;
    color:var(--ps-accent);
    font-weight:700;
}
.psolar-hint{
    color:var(--ps-text-muted);
    margin:0 0 1.25rem;
    font-size:.92rem;
}

.psolar-step label{
    display:block;
    margin-bottom:1.1rem;
    font-weight:600;
    font-size:.88rem;
    color:var(--ps-text);
    letter-spacing:.01em;
}

.psolar-step input[type="text"],
.psolar-step input[type="email"],
.psolar-step input[type="tel"],
.psolar-step input[type="number"],
.psolar-step select,
.psolar-step textarea,
.psolar-modal-box input[type="text"],
.psolar-modal-box input[type="email"],
.psolar-modal-box input[type="tel"],
.psolar-modal-box select,
.psolar-modal-box textarea{
    width:100%;
    padding:.7rem .85rem;
    margin-top:.4rem;
    border:1px solid var(--ps-border);
    border-radius:8px;
    font-size:.95rem;
    background:var(--ps-bg);
    color:var(--ps-text);
    transition:.15s ease;
    font-family:inherit;
}
.psolar-step input:focus,
.psolar-step select:focus,
.psolar-modal-box input:focus,
.psolar-modal-box select:focus{
    outline:none;
    border-color:var(--ps-accent);
    box-shadow:0 0 0 3px rgba(245,158,11,.18);
}

.psolar-step select option{background:var(--ps-bg);color:var(--ps-text);}

/* Range slider */
.psolar-range-row{display:flex;align-items:center;gap:.75rem;margin-top:.4rem;}
.psolar-step input[type="range"]{
    flex:1;
    -webkit-appearance:none;appearance:none;
    height:6px;background:var(--ps-border-soft);border-radius:99px;outline:none;
    padding:0;margin:0;border:none;
}
.psolar-step input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;
    width:20px;height:20px;border-radius:50%;
    background:linear-gradient(135deg,var(--ps-accent-warm),var(--ps-accent-2));
    cursor:pointer;border:2px solid var(--ps-bg);
    box-shadow:0 2px 8px rgba(245,158,11,.4);
}
.psolar-step input[type="range"]::-moz-range-thumb{
    width:20px;height:20px;border-radius:50%;
    background:linear-gradient(135deg,var(--ps-accent-warm),var(--ps-accent-2));
    cursor:pointer;border:2px solid var(--ps-bg);
}
.psolar-range-value{
    min-width:60px;text-align:right;font-weight:700;color:var(--ps-accent-2);font-size:.95rem;
}

/* Radio cards (Step 1) */
.psolar-options{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;
}
.psolar-option{
    display:block;padding:1.1rem;border:2px solid var(--ps-border);
    border-radius:10px;cursor:pointer;transition:.15s;background:var(--ps-bg);
    font-weight:500;
}
.psolar-option:hover{border-color:var(--ps-accent);}
.psolar-option.selected{
    border-color:var(--ps-accent);
    background:linear-gradient(135deg,rgba(255,111,0,.08),rgba(255,193,7,.05));
}
.psolar-option.disabled{opacity:.45;cursor:not-allowed;}
.psolar-option input{width:auto;margin-right:.5rem;accent-color:var(--ps-accent);}
.psolar-option strong{display:block;margin:.25rem 0;color:var(--ps-text);font-size:1rem;}
.psolar-option small{color:var(--ps-text-muted);font-weight:400;}

/* ── Buttons ── */
.psolar-nav{
    display:flex;justify-content:space-between;gap:1rem;
    margin-top:1.5rem;padding-top:1.25rem;
    border-top:1px solid var(--ps-border);
}
.psolar-btn{
    padding:.75rem 1.4rem;border:1px solid var(--ps-border);
    background:var(--ps-bg);color:var(--ps-text);
    border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem;
    transition:.15s;font-family:inherit;
}
.psolar-btn:hover{border-color:var(--ps-accent);color:var(--ps-accent-2);}
.psolar-btn-primary{
    background:linear-gradient(135deg,var(--ps-accent-warm) 0%,var(--ps-accent-2) 100%);
    color:#1a1a1a;border-color:transparent;
    box-shadow:0 4px 14px rgba(255,111,0,.35);
    margin-left:auto;
}
.psolar-btn-primary:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 20px rgba(255,111,0,.5);color:#000;
}
.psolar-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;}

/* ── Live Result Card (Right column) ── */
.psolar-result-head{
    display:flex;align-items:center;gap:.5rem;
    padding-bottom:1rem;border-bottom:1px solid var(--ps-border);
    margin-bottom:1rem;
}
.psolar-result-head .dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--ps-success);box-shadow:0 0 0 4px rgba(16,185,129,.2);
    animation:psolar-pulse 2s ease-in-out infinite;
}
@keyframes psolar-pulse{
    0%,100%{box-shadow:0 0 0 4px rgba(16,185,129,.2);}
    50%{box-shadow:0 0 0 8px rgba(16,185,129,.05);}
}
.psolar-result-head h3{
    margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;
    color:var(--ps-accent-2);font-weight:600;
}

.psolar-kpi-list{display:flex;flex-direction:column;gap:.85rem;}
.psolar-kpi-row{
    display:flex;justify-content:space-between;align-items:baseline;
    padding:.6rem 0;border-bottom:1px dashed var(--ps-border-soft);
}
.psolar-kpi-row:last-child{border-bottom:none;}
.psolar-kpi-row .label{color:var(--ps-text-muted);font-size:.86rem;}
.psolar-kpi-row .value{
    color:var(--ps-text);font-weight:700;font-size:1.05rem;text-align:right;
}
.psolar-kpi-row.highlight .value{
    background:linear-gradient(135deg,var(--ps-accent-warm),var(--ps-accent-2));
    -webkit-background-clip:text;background-clip:text;color:transparent;
    font-size:1.15rem;
}

.psolar-empty-state{
    text-align:center;color:var(--ps-text-muted);
    padding:2rem 1rem;font-size:.9rem;line-height:1.6;
}
.psolar-empty-state .icon{font-size:2.5rem;display:block;margin-bottom:.5rem;opacity:.4;}

.psolar-cta-block{
    margin-top:1.25rem;padding-top:1.25rem;
    border-top:1px solid var(--ps-border);
}
.psolar-cta-block .psolar-btn-primary{
    width:100%;margin-left:0;justify-content:center;display:flex;align-items:center;gap:.5rem;
    padding:.9rem 1rem;font-size:1rem;
}

.psolar-disclaimer{
    font-size:.75rem;color:var(--ps-text-dim);margin-top:1rem;
    line-height:1.5;font-style:italic;
}

/* ── Detail (full table & chart) ── */
.psolar-detail{
    margin-top:1.5rem;padding:1.5rem;
    background:var(--ps-panel);border:1px solid var(--ps-border);
    border-radius:var(--ps-radius);
}
.psolar-detail h3{color:var(--ps-accent);margin-top:0;}
.psolar-table{width:100%;border-collapse:collapse;margin:1rem 0;}
.psolar-table td{padding:.6rem .8rem;border-bottom:1px solid var(--ps-border-soft);}
.psolar-table td:first-child{color:var(--ps-text-muted);}
.psolar-table td:last-child{text-align:right;color:var(--ps-text);font-weight:600;}

.psolar-chart-wrap{
    position:relative;height:280px;margin:1rem 0;
    background:var(--ps-panel-2);padding:1rem;border-radius:8px;
}

.psolar-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0;}
.psolar-package{
    padding:1.1rem;border:1px solid var(--ps-border);border-radius:10px;
    background:var(--ps-panel-2);transition:.15s;
}
.psolar-package:hover{border-color:var(--ps-accent);transform:translateY(-2px);}
.psolar-package strong{display:block;color:var(--ps-accent-2);margin-bottom:.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;}
.psolar-package .price{font-size:1.2rem;font-weight:700;color:var(--ps-text);margin:.3rem 0;}
.psolar-package .meta{font-size:.85rem;color:var(--ps-text-muted);}

/* ── Modal ── */
.psolar-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;backdrop-filter:blur(4px);}
.psolar-modal-box{
    background:var(--ps-panel);color:var(--ps-text);
    padding:2rem;border-radius:var(--ps-radius);
    max-width:480px;width:100%;max-height:90vh;overflow-y:auto;
    border:1px solid var(--ps-border);
    box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.psolar-modal-box h3{margin-top:0;color:var(--ps-accent);}
.psolar-consent{display:flex;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.88rem;color:var(--ps-text-muted);}
.psolar-consent input{width:auto;margin-top:.25rem;accent-color:var(--ps-accent);}
.psolar-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem;}
.psolar-lead-msg{margin-top:1rem;padding:.75rem;background:rgba(16,185,129,.15);color:#6ee7b7;border-radius:6px;font-size:.9rem;border:1px solid rgba(16,185,129,.3);}

.psolar-loading{text-align:center;padding:1.5rem;color:var(--ps-text-muted);font-size:.9rem;}
.psolar-loading::after{content:'';display:inline-block;width:14px;height:14px;border:2px solid var(--ps-accent);border-top-color:transparent;border-radius:50%;animation:psolar-spin .8s linear infinite;margin-left:.5rem;vertical-align:middle;}
@keyframes psolar-spin{to{transform:rotate(360deg);}}

@media(max-width:640px){
    .psolar-wrap{padding:1rem;margin:1rem auto;}
    .psolar-left,.psolar-right,.psolar-detail{padding:1.1rem;}
    .psolar-step h2{font-size:1.15rem;}
}
