/* ===========================================
   ROI CALCULATOR - FIXED VERSION (April 2026)
   File: css/roi.css
   FIX: display:block prevents Astra theme inheritance
   =========================================== */

/* ── WRAPPER ─────────────────────────────────────── */
.roi-calc-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 10px 0 40px !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    color: #2d3748 !important;
}
.roi-calc-wrapper * {
    box-sizing: border-box !important;
}

/* ── Card box ─────────────────────────────────────────── */
.roi-calc-box {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 1px solid #ddd !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.10) !important;
    overflow: hidden !important;
}

/* ── Header band ─────────────────────────────────────── */
.roi-header-bg {
    background: linear-gradient(135deg, #1a365d, #2c5282) !important;
    color: #fff !important;
    padding: 22px 28px !important;
    text-align: center !important;
}
.roi-header-bg h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
    color: #fff !important;
}
.roi-header-bg p {
    font-size: 0.85rem !important;
    margin: 0 !important;
    opacity: 0.9 !important;
}

/* ── Language toggle ─────────────────────────────────── */
.roi-lang-toggle {
    text-align: right !important;
    margin-bottom: 14px !important;
}
.roi-lang-btn {
    background: #1a365d !important;
    color: #fff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 6px 16px !important;
    font-size: 0.82rem !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.roi-lang-btn:hover { background: #2c5282 !important; }

/* ── 2-COLUMN GRID ─────────────────────────────── */
.roi-main-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    width: 100% !important;
}

/* CRITICAL FIX: Display block prevents Astra theme inheritance */
.roi-input-col {
    display: block !important;
    padding: 24px 20px 24px 24px !important;
    border-right: 1px solid #e2e8f0 !important;
}

/* CRITICAL FIX: First field (price) spans full width */
.roi-input-col > .roi-field-group:first-child {
    display: block !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
}

.roi-result-col {
    padding: 24px 24px 24px 20px !important;
    background: #f8fafc !important;
}

/* ── Form fields ─────────────────────────────────────── */
.roi-field-group {
    margin-bottom: 14px !important;
}
.roi-field-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}
.roi-label {
    display: block !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #4a5568 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 5px !important;
}
.roi-input,
.roi-select {
    width: 100% !important;
    padding: 8px 10px !important;
    border: 1px solid #cbd5e0 !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    color: #2d3748 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s !important;
}
.roi-input:focus,
.roi-select:focus {
    outline: none !important;
    border-color: #4299e1 !important;
    box-shadow: 0 0 0 2px rgba(66,153,225,0.2) !important;
}
.roi-highlight {
    background: #f0f4ff !important;
    border: 1px solid #c3dafe !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-bottom: 14px !important;
}
.roi-sub-label {
    display: block !important;
    font-size: 0.75rem !important;
    color: #718096 !important;
    margin-bottom: 4px !important;
}
.roi-sub-input {
    width: 100% !important;
    padding: 6px 8px !important;
    border: 1px solid #cbd5e0 !important;
    border-radius: 5px !important;
    font-size: 0.88rem !important;
    box-sizing: border-box !important;
}
.roi-note {
    color: #718096 !important;
    font-size: 0.75rem !important;
    margin-top: 4px !important;
    display: block !important;
    line-height: 1.4 !important;
}

/* ── Sliders ─────────────────────────────────────────── */
.roi-slider-group {
    margin-bottom: 18px !important;
}
.roi-slider-label {
    display: block !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #4a5568 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 6px !important;
}
.roi-range {
    width: 100% !important;
    accent-color: #2c5282 !important;
    cursor: pointer !important;
    margin-bottom: 4px !important;
}
.roi-slider-val {
    display: block !important;
    text-align: right !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #2c5282 !important;
}

/* ── Calculate button ────────────────────────────────── */
.roi-calc-btn {
    width: 100% !important;
    padding: 13px !important;
    background: linear-gradient(135deg, #c9a227, #b8891a) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    margin: 6px 0 18px !important;
    transition: opacity 0.2s, transform 0.1s !important;
}
.roi-calc-btn:hover { opacity: 0.92 !important; }
.roi-calc-btn:active { transform: scale(0.99) !important; }

/* ── Results area ────────────────────────────────────── */
.roi-results-box {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 16px !important;
    margin-top: 4px !important;
}
.roi-result-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid #f0f4f8 !important;
    gap: 10px !important;
}
.roi-result-item:last-child { border-bottom: none !important; }
.roi-result-label {
    font-size: 0.8rem !important;
    color: #718096 !important;
    line-height: 1.4 !important;
    flex: 1 !important;
}
.roi-result-val {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    text-align: right !important;
    white-space: nowrap !important;
}
.roi-result-val.positive { color: #276749 !important; }
.roi-result-val.highlight { color: #c9a227 !important; font-size: 1.05rem !important; }

/* ── Cost breakdown header ───────────────────────────── */
.roi-cost-breakdown-hdr {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #a0aec0 !important;
    padding: 12px 0 4px !important;
    border-top: 2px solid #edf2f7 !important;
    margin-top: 8px !important;
}

/* ── CTA box ─────────────────────────────────────────── */
.roi-cta-box {
    text-align: center !important;
    padding: 28px 20px 10px !important;
}
.roi-cta-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #2d3748 !important;
    margin-bottom: 12px !important;
}
.roi-cta-btn {
    display: inline-block !important;
    background: #25d366 !important;
    color: #fff !important;
    padding: 12px 28px !important;
    border-radius: 30px !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    transition: opacity 0.2s !important;
}
.roi-cta-btn:hover { opacity: 0.88 !important; }

/* ── Mobile (STACK on small screens) ─────────────── */
@media (max-width: 620px) {
    .roi-main-grid { grid-template-columns: 1fr !important; }
    .roi-input-col { border-right: none !important; border-bottom: 1px solid #e2e8f0 !important; }
    .roi-field-row { grid-template-columns: 1fr !important; }
}