/**
 * BFCalc Pro - Frontend Styles (iOS-style)
 * Высокий приоритет для перекрытия стилей темы
 */

/* Base Variables */
.bfcalc {
    --bg: #fff;
    --muted: #667085;
    --text: #0F172A;
    --line: #E5E7EB;
    --accent: #FFD700;
    --accent2: #FFC107;
    --radius: 14px;
    --shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}

/* Reset all styles inside calculator */
.bfcalc,
.bfcalc * {
    box-sizing: border-box !important;
    font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, 'Helvetica Neue', sans-serif !important;
}

.bfcalc__container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 28px 18px !important;
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px !important;
}

/* Tabs - iOS style with gradient */
.bfcalc .tabs {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 14px !important;
}

.bfcalc .tab {
    border: 1px solid var(--line) !important;
    background: #f8fafc !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    color: #111 !important;
    transition: all 0.2s !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.bfcalc .tab:hover {
    background: #fff !important;
    border-color: var(--accent) !important;
}

.bfcalc .tab.is-active {
    background: linear-gradient(180deg, var(--accent2), var(--accent)) !important;
    color: #000000 !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(255, 215, 0, 0.24) !important;
}

/* Form Sections */
.bfcalc fieldset {
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    padding: 14px 14px 10px !important;
    margin-top: 14px !important;
    background: #fff !important;
    box-shadow: var(--shadow) !important;
}

.bfcalc legend {
    padding: 0 6px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
}

.bfcalc .radio {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 8px 12px 0 0 !important;
    cursor: pointer !important;
    font-size: 14px !important;
}

.bfcalc .grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 14px !important;
    margin-top: 14px !important;
}

.bfcalc .field {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.bfcalc .field--span2 {
    grid-column: 1 / -1 !important;
}

.bfcalc label {
    font-size: 12px !important;
    color: #111 !important;
    font-weight: 700 !important;
}

.bfcalc .hint {
    color: var(--muted) !important;
    font-size: 12px !important;
}

.bfcalc input[type="date"],
.bfcalc input[type="number"],
.bfcalc .field input {
    appearance: none !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    padding: 14px 12px !important;
    font-size: 16px !important;
    transition: all 0.2s !important;
    background: #fff !important;
    color: #0F172A !important;
}

.bfcalc input:focus {
    outline: none !important;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.1) !important;
}

.bfcalc .check {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 6px 14px 2px 0 !important;
    color: #111 !important;
    cursor: pointer !important;
    font-size: 14px !important;
}

.bfcalc .termWrap {
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--line) !important;
}

.bfcalc .actions {
    margin-top: 10px !important;
}

/* Auto-calculation Info Alert */
.bfcalc .bfcalc-auto-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
    padding: 14px 18px !important;
    background: linear-gradient(135deg, #E8F5E9 0%, #C8E6C9 100%) !important;
    border: 1px solid #A5D6A7 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.15) !important;
}

.bfcalc .bfcalc-auto-info__icon {
    font-size: 24px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.bfcalc .bfcalc-auto-info__text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.bfcalc .bfcalc-auto-info__text strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #2E7D32 !important;
}

.bfcalc .bfcalc-auto-info__text span {
    font-size: 12px !important;
    color: #4CAF50 !important;
    font-weight: 500 !important;
}

@media (max-width: 480px) {
    .bfcalc .bfcalc-auto-info {
        padding: 12px 14px !important;
        gap: 10px !important;
    }
    
    .bfcalc .bfcalc-auto-info__icon {
        font-size: 20px !important;
    }
    
    .bfcalc .bfcalc-auto-info__text strong {
        font-size: 13px !important;
    }
    
    .bfcalc .bfcalc-auto-info__text span {
        font-size: 11px !important;
    }
}

/* Buttons - iOS gradient style */
.bfcalc .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 14px 22px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    border: 1px solid transparent !important;
    transition: all 0.2s !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

.bfcalc .btn--primary {
    background: linear-gradient(180deg, var(--accent2), var(--accent)) !important;
    color: #000000 !important;
    box-shadow: 0 16px 44px rgba(255, 215, 0, 0.22) !important;
    width: 100% !important;
}

.bfcalc .btn--primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 20px 54px rgba(255, 215, 0, 0.30) !important;
}

.bfcalc .btn--cta {
    background: linear-gradient(180deg, var(--accent2), var(--accent)) !important;
    border-color: transparent !important;
    color: #000000 !important;
    margin-top: 8px !important;
    width: 100% !important;
    box-shadow: 0 6px 22px rgba(255, 215, 0, 0.25) !important;
}

.bfcalc .btn--cta:hover {
    background: linear-gradient(180deg, #FFB300, #FFC107) !important;
    box-shadow: 0 8px 28px rgba(255, 215, 0, 0.32) !important;
}

/* Results Panel */
.bfcalc .res {
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    background: #fff !important;
    padding: 18px !important;
    box-shadow: var(--shadow) !important;
    align-self: start !important;
    position: sticky !important;
    top: 12px !important;
}

.bfcalc .res__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.bfcalc .res__head h3 {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.bfcalc .res__live {
    font-size: 12px !important;
    color: #444 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bfcalc .res__live-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #bbb !important;
    display: inline-block !important;
}

.bfcalc .res__live--ok .res__live-dot {
    background: #22c55e !important;
}

.bfcalc .res__live--warn .res__live-dot {
    background: #FFD700 !important;
}

/* Result Cards */
.bfcalc .res__cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
    margin-top: 10px !important;
}

.bfcalc .card {
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    padding: 12px !important;
    background: #fff !important;
}

.bfcalc .card--primary {
    background: linear-gradient(135deg, #FFFEF0 0%, #FFF9E6 100%) !important;
}

.bfcalc .card .label {
    font-size: 12px !important;
    color: #777 !important;
    font-weight: 600 !important;
}

.bfcalc .card .value {
    font-size: 24px !important;
    font-weight: 900 !important;
    margin-top: 2px !important;
    color: #000000 !important;
}

.bfcalc .card .sub {
    font-size: 12px !important;
    color: #666 !important;
    margin-top: 4px !important;
    line-height: 1.4 !important;
}

/* Additional Info */
.bfcalc .res__line {
    margin: 12px 0 8px !important;
    color: #111 !important;
    font-size: 13px !important;
}

.bfcalc .res__need h4 {
    margin: 10px 0 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.bfcalc .res__need ul {
    margin: 0 0 8px 18px !important;
    padding: 0 !important;
}

.bfcalc .res__need li {
    margin: 4px 0 !important;
    font-size: 13px !important;
}

.bfcalc .res__note {
    margin: 10px 0 0 !important;
    color: #6b7280 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .bfcalc__container {
        grid-template-columns: 1fr !important;
    }
    
    .bfcalc .res {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 768px) {
    .bfcalc .grid {
        grid-template-columns: 1fr 1fr !important;
    }
    
    .bfcalc .res__cards {
        grid-template-columns: 1fr !important;
    }
    
    .bfcalc .tabs {
        gap: 6px !important;
    }
    
    .bfcalc .tab {
        padding: 8px 12px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 480px) {
    .bfcalc .grid {
        grid-template-columns: 1fr !important;
    }
    
    .bfcalc__container {
        padding: 18px 12px !important;
    }
    
    .bfcalc .radio {
        margin-right: 8px !important;
    }
}

/* Animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bfcalc .res__cards {
    animation: fadeIn 0.3s ease-out;
}
