/* FINAL FIXED — CLEAN, READABLE, PREMIUM DARK THEME */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

* { box-sizing: border-box; margin:0; padding:0; }
body {
    font-family: 'Inter', sans-serif;
    background: #000;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0a0a0a 0%, #111 100%);
}

/* LOGO — NOT MASSIVE ANYMORE */
.logo { height: 100px !important; }

/* ALL TEXT WHITE */
.card, .form-control, .form-select, label, p, h1,h2,h3,h4,h5,h6, small, li, td, th, span {
    color: #ffffff !important;
}
.form-control::placeholder { color: rgba(255,255,255,0.6) !important; }

/* INPUT FIELDS */
.form-control, .form-select {
    background: rgba(30,35,50,0.9) !important;
    border: 1px solid rgba(255,120,1,0.3) !important;
    border-radius: 14px;
    padding: 14px;
}
.form-control:focus, .form-select:focus {
    border-color: #ff7801 !important;
    box-shadow: 0 0 20px rgba(255,120,1,0.4) !important;
    background: rgba(40,45,60,0.95) !important;
}

/* CARDS */
.card {
    background: rgba(20,25,35,0.8) !important;
    border: 1px solid rgba(255,120,1,0.2) !important;
    border-radius: 18px;
    backdrop-filter: blur(14px);
    box-shadow: 0 10px 35px rgba(0,0,0,0.6);
    transition: all 0.4s ease;
}
.card:hover { transform: translateY(-8px); }

/* BUTTONS — FIXED: NO WHITE TEXT ON WHITE BG */
.btn-outline-light {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.4) !important;
}
.btn-outline-light:hover {
    background: rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    border-color: #ff7801 !important;
}

/* BRAND BUTTON */
.btn-brand {
    background: linear-gradient(45deg, #ff7801, #ff9a3d) !important;
    color: white !important;
    padding: 14px 36px;
    border-radius: 50px;
    font-weight: 600;
    box-shadow: 0 10px 30px rgba(255,120,1,0.4);
}
.btn-brand:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(255,120,1,0.6);
}
.text-muted{
    color: white;
}
/* RECOMMENDED BADGE — NOW PERFECT SIZE */
.recommended-badge {
    background: linear-gradient(45deg, #59afff, #7acaff);
    color: black !important;
    font-weight: 700;
    font-size: 0.85rem !important;     /* ← Smaller */
    padding: 5px 18px !important;     /* ← Smaller */
    border-radius: 50px;
    z-index: 10;
}

/* GENERIC TITLE — NOW WHITE, NOT RED */
.text-danger { color: #ffffff !important; }   /* ← Generic header is now white */

/* PRICE */
.price {
    font-size: 4.2rem;
    font-weight: 800;
    background: linear-gradient(45deg, #ff7801, #ffb74a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* PROGRESS BAR */
.progress { height: 6px; background: #222; border-radius: 3px; }
.progress-bar {
    background: linear-gradient(90deg, #ff7801, #ffa940);
    box-shadow: 0 0 25px rgba(255,120,1,0.6);
}

/* SELECTED CARD GLOW */
.film-card.selected {
    border: 2px solid #ff7801 !important;
    box-shadow: 0 0 40px rgba(255,120,1,0.4) !important;
}

/* ============================
   MOBILE RESPONSIVE
   ============================ */

@media (max-width: 767.98px) {
    .logo { height: 44px !important; }

    .price {
        font-size: 2.4rem;
    }

    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.25rem; }
    h3 { font-size: 1.1rem; }
    h4 { font-size: 1rem; }

    .lead { font-size: 0.95rem; }

    .btn-brand {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    .btn-lg {
        padding: 0.55rem 1.2rem !important;
        font-size: 0.9rem !important;
    }

    .card { border-radius: 14px; }
    .card:hover { transform: none; }
    .btn-brand:hover { transform: none; }

    .form-control, .form-select {
        padding: 10px !important;
        font-size: 0.9rem;
        border-radius: 10px;
    }

    .container { padding-left: 12px; padding-right: 12px; }

    .addon-page { padding: 0 4px; }
    .addon-card { padding: 1.25rem !important; border-radius: 16px; }
    .addon-btn { padding: 0.7rem 1.2rem; font-size: 0.95rem; }
    .addon-toggle { flex-direction: column; gap: 0.6rem; }
    .addon-price { font-size: 1.4rem; }

    .review-section { padding: 1rem; border-radius: 12px; }
    .review-row .label { font-size: 0.8rem; }
    .review-row .value,
    .review-row .price { font-size: 0.85rem; }
    .grand-total-box { padding: 0.8rem 1rem; border-radius: 12px; }

    .power-card { padding: 1.25rem !important; border-radius: 14px; }
    .power-image-thumb { max-width: 70px; height: 70px; border-radius: 8px; }

    .busbar-option { padding: 1.25rem !important; border-radius: 16px; }

    .wire-panel-v2 { padding: 16px; border-radius: 12px; }
    .glass-rep { height: 180px; }
    .zone-label { font-size: 0.85rem; letter-spacing: 1px; }
    .zone-desc { font-size: 0.65rem; }
    .zone-top, .zone-bottom { height: 50px; left: 10%; right: 10%; }
    .zone-left, .zone-right { width: 60px; height: 80px; }
    .selection-pill { padding: 6px 14px; font-size: 0.85rem; }

    .upgrade-card { padding: 1.25rem; border-radius: 18px; }
    .feature-item { padding: 0.8rem; border-radius: 12px; }
    .feature-item:hover { transform: none; }

    .pm-upsell-card { padding: 16px; border-radius: 14px; }

    .pricing-compare-strip { padding: 0.75rem !important; }
    .pricing-compare-strip .fs-3 { font-size: 1.25rem !important; }

    .potm-card { padding: 1.25rem !important; }

    .modal-content { margin: 0.5rem; border-radius: 16px; }
    .modal-body { padding: 1.5rem; }
}

@media (max-width: 575.98px) {
    .price { font-size: 2rem; }
    .logo { height: 36px !important; }
    .btn-lg {
        padding: 0.5rem 1rem !important;
        font-size: 0.85rem !important;
    }
    .addon-card { padding: 1rem !important; }
    .glass-rep { height: 160px; }
    .zone-top, .zone-bottom { height: 42px; }
    .zone-left, .zone-right { width: 50px; height: 65px; }
    .zone-label { font-size: 0.7rem; }
    .zone-desc { display: none; }
}