/* ============================================= */
/*       СТИЛИ СТРАНИЦЫ "ПОЛЕЗНЫЕ ВЫЧИСЛЕНИЯ"     */
/* ============================================= */

/* --- Общие стили страницы --- */
main.calculators-page {
    padding-top: 70px;
    padding-bottom: 40px;
}
.page-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.page-title-section {
    text-align: center;
    margin-bottom: 40px;
}
.page-title-section h1 {
    font-size: 2.8rem;
    font-weight: 700;
}
.page-title-section p {
    font-size: 1.1rem;
    color: #6c757d;
}

/* --- Сетка калькуляторов --- */
.calculators-grid {
    display: grid;
    /* По умолчанию 1 колонка для мобильных */
    grid-template-columns: 1fr;
    gap: 25px;
}

/* --- 2 колонки на планшетах --- */
@media (min-width: 768px) {
    .calculators-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- 3 колонки на десктопах --- */
@media (min-width: 1200px) {
    .calculators-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* --- Карточка калькулятора --- */
.calc-card {
    background-color: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.calc-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}
.calc-icon {
    font-size: 1.5rem;
    color: #0d6efd;
    width: 30px;
    text-align: center;
}
.calc-header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}

/* --- Поля ввода --- */
.calc-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.input-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.input-group label {
    font-size: 0.9rem;
    font-weight: 500;
    color: #495057;
}
.input-group input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    font-size: 1rem;
    border: 1px solid #ced4da;
    border-radius: 8px;
    background-color: #f8f9fa;
}
.input-group input[type="number"]:focus {
    outline: none;
    border-color: #0d6efd;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2);
}

/* --- Результат --- */
.calc-footer {
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
    font-size: 1.1rem;
}
.result-label {
    color: #6c757d;
}
.result-value {
    font-weight: 600;
    color: #0d6efd;
    display: block;
    margin-top: 5px;
    min-height: 1.5em;
}
/* Специфичный стиль для ИМТ */
.bmi-category {
    font-size: 0.9rem;
    font-style: italic;
    color: #6c757d;
}


/* ============================================= */
/*          АДАПТАЦИЯ ДЛЯ ТЕМНОЙ ТЕМЫ            */
/* ============================================= */
.dark-theme .page-title-section p { color: #a0a0a0; }
.dark-theme .calc-card {
    background-color: #2c2c2e;
    border-color: #444;
    box-shadow: none;
}
.dark-theme .calc-header { border-bottom-color: #444; }
.dark-theme .calc-icon { color: #58a6ff; }
.dark-theme .calc-header h3 { color: #f2f2f7; }
.dark-theme .input-group label { color: #a0a0a0; }
.dark-theme .input-group input[type="number"] {
    background-color: #1c1c1e;
    border-color: #555;
    color: #fff;
}
.dark-theme .input-group input[type="number"]:focus {
    background-color: #1c1c1e;
}
.dark-theme .calc-footer { border-top-color: #444; }
.dark-theme .result-label, .dark-theme .bmi-category { color: #a0a0a0; }
.dark-theme .result-value { color: #58a6ff; }


/* ============================================= */
/*             АДАПТИВНОСТЬ (MOBILE)             */
/* ============================================= */
@media (max-width: 576px) {
    .calculators-grid {
        grid-template-columns: 1fr;
    }
}