/* --- AMFC Global Styles --- */
.amfc-container {
    --amfc-blue: #026a81;
    --amfc-light-blue: #e6f0f2;
    --amfc-text: #212529;
    --amfc-label: #6c757d;
    --amfc-bg: #fff;
    --amfc-input-bg: #f8f9fa;
    --amfc-border: #dee2e6;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: var(--amfc-bg);
    padding: 2rem;
    border-radius: 5px;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.05);
    max-width: 960px;
    margin: 2rem auto;
    box-sizing: border-box;
}

/* --- Styles for new HTML structure --- */
.card-main { padding: 1.5rem; border: 1px solid var(--amfc-border); border-radius: 5px; }
.section-title-main { font-size: 1.75rem; font-weight: 600; margin-bottom: 1.5rem; color: var(--amfc-text); margin-top:0; }
.grid-cols-2-main { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.form-group-main { display: flex; flex-direction: column; }
.form-label-main { font-size: 0.9rem; color: var(--amfc-label); margin-bottom: 0.5rem; display: flex; align-items: center; }
.form-control-main {
    background-color: var(--amfc-input-bg);
    border: 1px solid var(--amfc-input-bg);
    border-radius: 5px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}
.form-control-main:focus {
    outline: none;
    border-color: var(--amfc-blue);
    background-color: var(--amfc-bg);
    box-shadow: 0 0 0 3px rgba(2, 106, 129, 0.25);
}
.select-control-main { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 16px 12px; }

/* Tooltip Styles */
.tooltip-main { position: relative; display: inline-flex; align-items: center; margin-left: 8px; }
.tooltip-icon-main {
    display: inline-block; width: 16px; height: 16px;
    background-color: #343a40; color: #fff; border-radius: 50%;
    cursor: help;
}
.tooltip-icon-main::before { content: 'i'; font-size: 11px; font-weight: bold; font-style: normal; color: #fff; line-height: 16px; text-align: center; display: block; }
.tooltip-text-main {
    visibility: hidden; opacity: 0;
    position: absolute; bottom: 150%; left: 50%; transform: translateX(-50%);
    background-color: #343a40; color: #fff; padding: 0.75rem;
    border-radius: 5px;
    font-size: 0.8rem; line-height: 1.5; font-weight: normal; 
    transition: opacity 0.2s; z-index: 100;
    width: 220px;
    white-space: normal;
    text-align: left;
}
.tooltip-main:hover .tooltip-text-main { visibility: visible; opacity: 1; }

/* --- СТИЛИ ДЛЯ КНОПОК И ПЕРЕКЛЮЧАТЕЛЯ (ИЗМЕНЕНО) --- */
.controls-wrapper { margin-top: 1.5rem; }
.toggle-link-main {
    color: var(--amfc-blue) !important; /* ИЗМЕНЕНИЕ: Добавлен !important */
    cursor: pointer;
    font-weight: 500;
    background: none;
    border: none;
    padding: 0.5rem 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s;
    font-size: 1rem;
    line-height: 1.5;
    text-decoration: none;
}
.toggle-link-main:hover {
    color: #014d60 !important; /* ИЗМЕНЕНИЕ: Добавлен !important */
    text-decoration: none;
}
.toggle-link-main::before {
    content: '›';
    display: inline-block;
    margin-right: 0.5rem;
    font-size: 1.5rem;
    line-height: 1;
    transition: transform 0.2s ease-in-out;
}
.toggle-link-main.expanded::before { transform: rotate(90deg); }
.toggle-content-main { display: none; }
.toggle-content-main.expanded { display: block; }

.button-container-main { margin-top: 2.5rem; text-align: center; }
.btn-main { display: inline-block; text-align: center; vertical-align: middle; user-select: none; border: 1px solid transparent; padding: 0.8rem 2.5rem; font-size: 1rem; border-radius: 50px; transition: all .2s ease-in-out; cursor: pointer; }
.btn-primary-main {
    color: #fff;
    background-color: var(--amfc-blue);
    border-color: var(--amfc-blue);
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(2, 106, 129, 0.2);
}
.btn-primary-main:hover {
    background-color: #014d60;
    border-color: #014d60;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(2, 106, 129, 0.3);
}
.mt-4 { margin-top: 1rem; }

/* ИЗМЕНЕНИЕ: Правило для скрытия переноса строки по умолчанию */
.mobile-break { display: none; }

/* Styles for results structure */
.amfc-section { margin-top: 2.5rem; }
.amfc-results-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.amfc-result-card { background-color: var(--amfc-input-bg); border-radius: 5px; padding: 1.5rem; }
.amfc-result-card p { margin: 0 0 0.5rem 0; color: var(--amfc-label); font-size: 1rem; }
.amfc-result-card span { font-size: 1.75rem; font-weight: 700; color: var(--amfc-text); }
.amfc-recommendation-card { background-color: var(--amfc-light-blue); border-left: 5px solid var(--amfc-blue); border-radius: 5px; padding: 1.5rem; }
.amfc-recommendation-card h3 { margin-top: 0; }
.amfc-recommendation-card p { line-height: 1.6; margin-bottom: 0;}
.amfc-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.amfc-breakdown p { display: flex; justify-content: space-between; margin: 0 0 0.75rem 0; }
.amfc-breakdown p.total { font-weight: 600; margin-top: 1rem; border-top: 1px solid var(--amfc-border); padding-top: 0.75rem; }
.amfc-breakdown strong { font-weight: 600; }
.amfc-chart-wrapper { position: relative; height: 400px; }
.amfc-table-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.amfc-table { width: 100%; min-width: 800px; border-collapse: collapse; }
.amfc-table th, .amfc-table td { padding: 1rem; text-align: left; border-bottom: 1px solid var(--amfc-border); }
.amfc-table th { background-color: var(--amfc-blue); color: #fff; font-weight: 600; }
.amfc-table tr:nth-child(even) td { background-color: var(--amfc-input-bg); }
.amfc-traffic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.amfc-traffic-card { border-radius: 5px; padding: 1.5rem; }
.amfc-traffic-card h4 { margin: 0 0 0.5rem 0; font-size: 1.1rem; }
.amfc-traffic-card p { font-size: 0.9rem; color: var(--amfc-label); margin: 0 0 1rem 0; }
.amfc-traffic-card ul { list-style: none; padding: 0; margin: 0; line-height: 1.6; }
.amfc-traffic-card.low { background-color: #e7f1ff; border: 1px solid #b8d6fb; }
.amfc-traffic-card.medium { background-color: #e9f7ee; border: 1px solid #c3e6cb; }
.amfc-traffic-card.high { background-color: #fff8e8; border: 1px solid #ffeeba; }

@media (max-width: 768px) {
    /* ИЗМЕНЕНИЕ: Отступы для контейнера */
    .amfc-container { padding: 1.5rem 2px; }
    .card-main { border-left: none; border-right: none; border-radius: 0; }
    .grid-cols-2-main, .amfc-breakdown, .amfc-traffic-grid, .amfc-results-grid { grid-template-columns: 1fr; }
    /* ИЗМЕНЕНИЕ: Включаем перенос строки в кнопке */
    .mobile-break { display: block; }
    .btn-main { line-height: 1.3; padding: 0.8rem 1.5rem; }
}