/* cito_v2: базовые токены и элементы (источник значений: ai/results/redesign-glavnaya-skoraya/figma-styleguide.md) */

:root {
    --c-primary: #00599C;
    --c-primary-bright: #014FC7;
    --c-dark: #022262;
    --c-sky: #5BB8D7;
    --c-red: #E10721;
    --c-gray: #8A8A8A;
    --c-line: #D9D9D9;
    --c-bg-soft: #EEF5FD;
    --c-bg-card: #DAE4F2;
    --c-white: #fff;

    --f-head: 'Involve', 'Geologica', Arial, sans-serif;
    --f-body: 'Geologica', Arial, sans-serif;
    --f-alt: 'Inter', Arial, sans-serif;

    --radius-lg: 26px;
    --radius-md: 12px;
    --radius-sm: 6px;

    --shadow-hover: 0 10px 24px rgba(2, 34, 98, .18);
    --trans: .2s ease;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: var(--f-body);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.25;
    color: var(--c-dark);
    background: var(--c-white);
}

img { max-width: 100%; height: auto; }

a, a:hover, a:focus, a:visited { text-decoration: none; }
a { color: var(--c-primary); transition: color var(--trans); }

h1, h2, h3, h4 { font-family: var(--f-head); font-weight: 700; color: var(--c-primary); margin: 0 0 .6em; }
h1 { font-size: 40px; line-height: 1.3; }
h2 { font-size: 32px; line-height: 1.3; }
h3 { font-size: 24px; line-height: 1.3; }

.container {
    max-width: 1392px;
    margin: 0 auto;
    padding: 0 16px;
}

.section { margin: 96px 0; }

.sec-title {
    font-family: var(--f-head);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--c-primary);
    margin: 0 0 28px;
}

.sec-title-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}
.sec-title-row .sec-title { margin-bottom: 0; }

/* Кнопки: состояния по main-description-1 / ambulance-description-1 */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 30px;
    border-radius: var(--radius-md);
    font-family: var(--f-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
    border: 1px solid transparent;
    transition: transform var(--trans), box-shadow var(--trans), background-color var(--trans), color var(--trans);
    text-decoration: none;
}
.btn:hover { text-decoration: none; }

.btn-red { background: var(--c-red); color: var(--c-white); }
.btn-red:hover { transform: scale(1.03); box-shadow: var(--shadow-hover); color: var(--c-white); }
.btn-red:active { transform: scale(.96); box-shadow: none; }

/* Контурная CTA (Отмена/перенос записи): hover — увеличение и тень */
.btn-outline-cta { background: var(--c-white); color: var(--c-primary); border-color: var(--c-primary); }
.btn-outline-cta:hover { transform: scale(1.03); box-shadow: var(--shadow-hover); color: var(--c-primary); }
.btn-outline-cta:active { transform: scale(.96); box-shadow: none; }

/* Контурная обычная (Подробнее, Пройти опрос): hover — синяя заливка */
.btn-outline { background: var(--c-white); color: var(--c-primary); border-color: var(--c-primary); }
.btn-outline:hover { background: var(--c-primary); color: var(--c-white); }
.btn-outline:active { transform: scale(.97); }

/* Текстовые ссылки и ссылки со стрелкой (main-description-4) */
.link-more { font-weight: 600; color: var(--c-primary); }
.link-more:hover { text-decoration: underline; }

.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--c-primary);
    white-space: nowrap;
}
.link-arrow:hover { text-decoration: none; }
.link-arrow .arr { display: inline-block; transition: transform var(--trans); }
.link-arrow:hover .arr { transform: translateX(5px); }

/* Карточки (main-description-5/8) */
.card {
    background: var(--c-white);
    border: 1px solid var(--c-bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: transform var(--trans), box-shadow var(--trans);
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }

/* Тост «Номер телефона скопирован» (main-description-7) */
.phone-toast {
    position: fixed;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%) translateY(20px);
    background: var(--c-dark);
    color: var(--c-white);
    font-size: 14px;
    padding: 12px 24px;
    border-radius: var(--radius-md);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    z-index: 10000;
}
.phone-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }

.js-copy-phone { cursor: pointer; }

/* Утилиты */
.text-gray { color: var(--c-gray); }
.hide-desktop { display: none !important; }

@media (max-width: 991px) {
    h1 { font-size: 28px; }
    h2 { font-size: 24px; }
    .sec-title { font-size: 20px; margin-bottom: 20px; }
    .section { margin: 40px 0; }
    .hide-mobile { display: none !important; }
    .hide-desktop { display: block !important; }
}
