/* ==========================================================
   Chevrolet x Bakai
   Landing "Что делать при ДТП"
   Mobile First
   Version 1.0
==========================================================*/

/* ==========================================================
   RESET
==========================================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
}

body{

    font-family:"Manrope",sans-serif;

    background:#F7F9FC;
    background:radial-gradient(
            circle at top right,
            rgba(173, 216, 255, 0.7),
            transparent 45%
        ),
        linear-gradient(
            135deg,
            #f7fbff,
            #dceeff
        );

    color:#12233D;

    line-height:1.6;

    overflow-x:hidden;

    min-width:320px;

    -webkit-font-smoothing:antialiased;

}

img{
    display:block;
    max-width:100%;
    height:auto;
}

svg{
    display:block;
}

a{

    color:inherit;

    text-decoration:none;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font:inherit;

}

ul{
    list-style:none;
}

input,
button,
textarea,
select{
    font:inherit;
}

/* ==========================================================
   VARIABLES
==========================================================*/

:root{

    /* Corporate */

    --primary:#004B9A;

    --primary-dark:#003A7A;

    --orange:#00A651;

    --orange-hover:#008C44;

    --red:#D92D20;

    --red-hover:#B42318;

    --green:#12B76A;

    /* Neutral */

    --text:#12233D;

    --text-light:#667085;

    --border:#E4E7EC;

    --background:#F7F9FC;

    --card:#FFFFFF;

    /* Radius */

    --radius-xs:8px;

    --radius-sm:12px;

    --radius:18px;

    --radius-lg:24px;

    /* Shadow */

    --shadow-sm:
        0 2px 8px rgba(15,23,42,.05);

    --shadow:
        0 10px 30px rgba(15,23,42,.08);

    --shadow-lg:
        0 20px 60px rgba(15,23,42,.12);

    /* Layout */

    --container:1200px;

    --header-height:72px;

    --sticky-height:78px;

}

/* ==========================================================
   TYPOGRAPHY
==========================================================*/

h1{

    font-size:clamp(34px,7vw,64px);

    line-height:1.05;

    font-weight:800;

    letter-spacing:-1px;

}

h2{

    font-size:clamp(28px,5vw,42px);

    line-height:1.2;

    font-weight:800;

}

h3{

    font-size:22px;

    font-weight:700;

}

p{

    color:var(--text-light);

}

/* ==========================================================
   CONTAINER
==========================================================*/

.container{

    width:100%;

    max-width:var(--container);

    margin-inline:auto;

    padding-inline:20px;

}

/* ==========================================================
   SECTIONS
==========================================================*/

section{

    padding:56px 0;

}

.section-header{

    text-align:center;

    margin-bottom:32px;

}

.section-header p{

    margin-top:12px;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 16px;

    margin-bottom:18px;

    border-radius:100px;

    background:#EAF3FF;

    color:var(--primary);

    font-size:14px;

    font-weight:700;

}

.section-badge.danger{

    background:#FDECEC;

    color:var(--red);

}

/* ==========================================================
   HEADER
==========================================================*/

.header{

    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(14px);

    border-bottom:1px solid var(--border);

}

.header .container{

    height:var(--header-height);

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    display:flex;

    align-items:center;

    gap:16px;

}

.logo img{

    height:30px;

    width:auto;

}
/* ==========================================================
   HEADER ACTIONS
========================================================== */

.header-actions{

    display:flex;

    align-items:center;

    gap:12px;

}

/* ==========================================================
   LANGUAGE SWITCH
========================================================== */

.lang-switch{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:12px;

    background:#fff;

    border:1px solid var(--border);

    color:var(--primary);

    font-size:14px;

    font-weight:800;

    letter-spacing:.5px;

    transition:.25s;

    box-shadow:var(--shadow-sm);

}

.lang-switch:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-2px);

}

.lang-switch:active{

    transform:scale(.96);

}

.lang-switch.active{

    background:var(--primary);

    color:#fff;

}

.menu{

    display:none;

}

.menu-button{

    width:44px;

    height:44px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:5px;

}

.menu-button span{

    width:24px;

    height:2px;

    background:var(--primary);

    border-radius:10px;

}

/* ==========================================================
   HERO
==========================================================*/

.hero{

    padding-top:48px;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:#EAF3FF;

    color:var(--primary);

    padding:10px 18px;

    border-radius:100px;

    font-size:14px;

    font-weight:700;

}

.hero-description{

    margin-top:22px;

    font-size:18px;

    max-width:700px;

}

.hero-buttons{

    display:grid;

    gap:16px;

    margin-top:30px;

}

/* ==========================================================
   BUTTONS
==========================================================*/

.btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    width:100%;

    min-height:68px;

    padding:18px;

    border-radius:18px;

    color:#fff;

    transition:.25s;

    box-shadow:var(--shadow);

}

.btn:hover{

    transform:translateY(-2px);

}

.btn:active{

    transform:scale(.98);

}

.btn strong{

    display:block;

    font-size:18px;

}

.btn small{

    display:block;

    opacity:.9;

    margin-top:2px;

}

.btn-insurance{

    background:var(--orange);

}

.btn-insurance:hover{

    background:var(--orange-hover);

}

.btn-police{

    background:var(--red);

}

.btn-police:hover{

    background:var(--red-hover);

}

/* ==========================================================
   HERO ALERT
==========================================================*/

.hero-alert{

    margin-top:28px;

    display:flex;

    gap:14px;

    align-items:flex-start;

    padding:18px;

    background:#fff;

    border-left:5px solid var(--primary);

    border-radius:18px;

    box-shadow:var(--shadow-sm);

}

/* ==========================================================
   QUICK INFO
==========================================================*/

.quick-info{

    padding-top:0;

}

.quick-info .container{

    display:grid;

    gap:16px;

}

.quick-card{

    display:flex;

    gap:16px;

    align-items:center;

    padding:20px;

    background:#fff;

    border-radius:18px;

    box-shadow:var(--shadow-sm);

    transition:.25s;

}

.quick-card:hover{

    transform:translateY(-3px);

}

.quick-card span{

    font-size:30px;

}

.quick-card strong{

    display:block;

    font-size:17px;

}

.quick-card p{

    font-size:14px;

    margin-top:4px;

}

/* ==========================================================
   UTILITIES
==========================================================*/

.text-center{

    text-align:center;

}

.hidden{

    display:none;

}

.mt-24{

    margin-top:24px;

}

.mb-24{

    margin-bottom:24px;

}

/* ==========================================================
   STEPS
========================================================== */

.steps{

    position:relative;

}

.steps-list{

    display:flex;

    flex-direction:column;

    gap:24px;

}

/* карточка */

.step-card{

    position:relative;

    display:flex;

    align-items:flex-start;

    gap:18px;

    background:var(--card);

    border-radius:24px;

    padding:24px;

    box-shadow:var(--shadow-sm);

    border:1px solid var(--border);

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}

.step-card:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

/* синяя линия */

.step-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:6px;

    border-radius:24px 0 0 24px;

    background:var(--primary);

}

/* ==========================================================
   NUMBER
========================================================== */

.step-number{

    flex:0 0 52px;

    width:52px;

    height:52px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    font-weight:800;

}

/* ==========================================================
   CONTENT
========================================================== */

.step-content{

    flex:1;

}

.step-content h3{

    margin-bottom:10px;

}

.step-content p{

    margin-bottom:16px;

    color:var(--text-light);

}

/* ==========================================================
   ICON
========================================================== */

.step-icon{

    width:60px;

    height:60px;

    margin-bottom:18px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    background:#EEF5FF;

}

/* ==========================================================
   CHECK LIST
========================================================== */

.step-checklist{

    display:flex;

    flex-direction:column;

    gap:12px;

    margin-top:18px;

}

.step-checklist li{

    position:relative;

    padding-left:32px;

    color:var(--text);

}

.step-checklist li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:var(--green);

    font-weight:700;

    font-size:18px;

}

/* ==========================================================
   BUTTONS INSIDE CARD
========================================================== */

.step-actions{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:20px;

}

.btn-link{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:46px;

    padding:0 18px;

    border-radius:12px;

    font-size:14px;

    font-weight:700;

    color:#fff;

    transition:.25s;

}

.btn-link:hover{

    transform:translateY(-2px);

}

.btn-link.insurance{

    background:var(--orange);

}

.btn-link.police{

    background:var(--red);

}

/* ==========================================================
   STEP HIGHLIGHT
========================================================== */

.step-highlight{

    margin-top:20px;

    background:#F8FAFC;

    border:1px solid var(--border);

    border-radius:14px;

    padding:16px;

}

.step-highlight strong{

    display:block;

    margin-bottom:8px;

}

.step-highlight a{

    color: #ffffff;

    font-size:20px;

    font-weight:700;

}

/* ==========================================================
   SERVICE LIST
========================================================== */

.service-list{

    margin-top:20px;

    display:grid;

    gap:12px;

}

.service-item{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 16px;

    border-radius:14px;

    background:#F8FAFC;

    border:1px solid var(--border);

}

/* ==========================================================
   FORBIDDEN
========================================================== */

.forbidden{

    background:#fff;

}

.forbidden-grid{

    display:grid;

    gap:20px;

}

.danger-card{

    position:relative;

    background:#fff;

    border-radius:22px;

    padding:24px;

    border:1px solid #F2D5D5;

    box-shadow:var(--shadow-sm);

    transition:.25s;

}

.danger-card:hover{

    transform:translateY(-4px);

}

.danger-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:6px;

    background:var(--red);

    border-radius:22px 0 0 22px;

}

.danger-card.success::before{

    background:var(--orange);

}

.danger-icon{

    width:60px;

    height:60px;

    border-radius:18px;

    background:#FFF5F5;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:28px;

    margin-bottom:18px;

}

.danger-card h3{

    margin-bottom:10px;

}

.danger-card p{

    margin-bottom:20px;

}

.mini-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:48px;

    padding:0 20px;

    border-radius:12px;

    background:var(--orange);

    color:#fff;

    font-weight:700;

    transition:.25s;

}

.mini-button:hover{

    background:var(--orange-hover);

}

/* ==========================================================
   ADVANTAGES
========================================================== */

.advantages{

    background:#F7F9FC;

}

.advantages-grid{

    display:grid;

    gap:20px;

}

.advantage-card{

    padding:28px 24px;

    background:#fff;

    border-radius:24px;

    text-align:center;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:.25s;

}

.advantage-card:hover{

    transform:translateY(-5px);

}

.advantage-icon{

    width:72px;

    height:72px;

    margin:0 auto 18px;

    border-radius:20px;

    background:linear-gradient(
        180deg,
        var(--primary),
        var(--primary-dark)
    );

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:32px;

}

.advantage-card h3{

    margin-bottom:10px;

}

.advantage-card p{

    color:var(--text-light);

}

/* ==========================================================
   CTA
========================================================== */

.cta {

    padding-bottom: 40px;

}

.cta-card {

    background: linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    color: #fff;

    border-radius: 28px;

    padding: 32px 24px;

    text-align: center;

    box-shadow: var(--shadow-lg);

}

.cta-icon {

    width: 80px;
    height: 80px;

    margin: 0 auto 24px;

    border-radius: 24px;

    background: rgba(255,255,255,.15);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 38px;
}

.cta-content h2 {

    color: #fff;

    margin-bottom: 16px;
}

.cta-content p {

    color: rgba(255,255,255,.85);

    max-width: 700px;

    margin: 0 auto;
}

.cta-buttons {

    display: grid;

    gap: 14px;

    margin-top: 28px;
}

/* ==========================================================
   FAQ
========================================================== */

.faq-item {

    background: #fff;

    border: 1px solid var(--border);

    border-radius: 18px;

    margin-bottom: 16px;

    overflow: hidden;

    box-shadow: var(--shadow-sm);
}

.faq-item summary {

    position: relative;

    list-style: none;

    cursor: pointer;

    padding: 22px;

    font-weight: 700;

    color: var(--text);
}

.faq-item summary::-webkit-details-marker {

    display: none;
}

.faq-item summary::after {

    content: "+";

    position: absolute;

    right: 22px;
    top: 50%;

    transform: translateY(-50%);

    font-size: 28px;

    color: var(--primary);

    transition: .3s;
}

.faq-item[open] summary::after {

    transform: translateY(-50%) rotate(45deg);
}

.faq-item p {

    padding: 0 22px 22px;

    color: var(--text-light);
}

/* ==========================================================
   FOOTER
========================================================== */

.footer {

    background: #fff;

    padding: 40px 0 120px;

    border-top: 1px solid var(--border);
}

.footer-top {

    display: grid;

    gap: 24px;
}

.footer-logo {

    display: flex;

    align-items: center;

    gap: 18px;

    flex-wrap: wrap;
}

.footer-logo img {

    height: 34px;
}

.footer-contacts {

    display: flex;

    flex-direction: column;

    gap: 14px;
}

.footer-contacts a {

    font-weight: 600;
}

.footer-bottom {

    margin-top: 30px;

    padding-top: 20px;

    border-top: 1px solid var(--border);

    color: var(--text-light);

    font-size: 14px;
}

/* ==========================================================
   MOBILE MENU
========================================================== */

.mobile-navigation {

    position: fixed;

    inset: 0;

    background: rgba(18,35,61,.96);

    z-index: 1200;

    display: none;

    padding: 100px 24px 40px;
}

.mobile-navigation.active {

    display: block;
}

.mobile-navigation nav {

    display: flex;

    flex-direction: column;

    gap: 18px;
}

.mobile-navigation a {

    color: #fff;

    font-size: 24px;

    font-weight: 700;
}

/* ==========================================================
   STICKY BAR
========================================================== */

.sticky-bar {

    position: fixed;

    left: 0;
    right: 0;
    bottom: 0;

    z-index: 1500;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    padding:
        12px
        16px
        calc(12px + env(safe-area-inset-bottom));

    background: rgba(255,255,255,.96);

    backdrop-filter: blur(14px);

    border-top: 1px solid var(--border);
}

.sticky-btn {

    min-height: 60px;

    border-radius: 16px;

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    font-weight: 700;

    box-shadow: var(--shadow-sm);

    transition: .25s;
}

.sticky-btn:active {

    transform: scale(.97);
}

.sticky-btn.insurance {

    background: var(--orange);
}

.sticky-btn.police {

    background: var(--red);
}

.sticky-btn .icon {

    font-size: 22px;
}

/* ==========================================================
   ANIMATION
========================================================== */

@media (prefers-reduced-motion:no-preference){

    .step-card,
    .danger-card,
    .advantage-card,
    .quick-card {

        transition:
            transform .25s ease,
            box-shadow .25s ease;
    }
}

/* ==========================================================
   TABLET
========================================================== */

@media (min-width:768px){

    .container{

        padding-inline:32px;
    }

    .hero-buttons{

        grid-template-columns:1fr 1fr;
    }

    .quick-info .container{

        grid-template-columns:1fr 1fr;
    }

    .forbidden-grid{

        grid-template-columns:1fr 1fr;
    }

    .advantages-grid{

        grid-template-columns:1fr 1fr;
    }

    .footer-top{

        grid-template-columns:1fr auto;
        align-items:center;
    }
}

/* ==========================================================
   DESKTOP
========================================================== */

@media (min-width:1024px){

    .menu{

        display:flex;
        gap:32px;
    }

    .menu-button{

        display:none;
    }

    .quick-info .container{

        grid-template-columns:repeat(4,1fr);
    }

    .steps-list{

        gap:28px;
    }

    .forbidden-grid{

        grid-template-columns:repeat(3,1fr);
    }

    .advantages-grid{

        grid-template-columns:repeat(4,1fr);
    }

    .cta-card{

        padding:60px;
    }

    .sticky-bar{

        max-width:500px;

        left:50%;

        transform:translateX(-50%);

        bottom:20px;

        border-radius:24px;

        box-shadow:var(--shadow-lg);

        border:1px solid var(--border);
    }
}

/* ==========================================================
   LARGE DESKTOP
========================================================== */

@media (min-width:1280px){

    section{

        padding:80px 0;
    }

    .hero{

        padding-top:80px;
    }

    .container{

        padding-inline:40px;
    }
}