/* ==========================================
   HERO
========================================== */

.appointment-hero{
    background: linear-gradient(
        135deg,
        #0d2c4a,
        #16466f
    );

    color:#fff;
    text-align:center;
    padding:100px 20px;
}

.appointment-hero h1{
    font-size:48px;
    margin-bottom:15px;
}

.appointment-hero p{
    max-width:700px;
    margin:auto;
    line-height:1.8;
    font-size:18px;
}

.appointment-hero .hero-buttons{
    margin-top:30px;
}

/* ==========================================
   HOW IT WORKS
========================================== */

.appointment-steps{
    padding:80px 0;
    background:#f5f7fa;
}

.appointment-steps h2{
    color:#0d2c4a;
    margin-bottom:50px;
}

.steps-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:25px;
}

.step-card{
    background:white;
    padding:30px;
    border-radius:12px;
    text-align:center;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.3s;
}

.step-card:hover{
    transform:translateY(-5px);
}

.step-card span{
    display:flex;
    align-items:center;
    justify-content:center;

    width:55px;
    height:55px;

    margin:auto auto 15px;

    background:#2ec4b6;
    color:white;

    border-radius:50%;

    font-weight:600;
    font-size:20px;
}

.step-card h3{
    color:#0d2c4a;
    margin-bottom:10px;
}

.step-card p{
    color:#666;
    line-height:1.7;
}

/* ==========================================
   FORM
========================================== */

.appointment-form-section{
    padding:80px 0;
}

.appointment-form-section h2{
    color:#0d2c4a;
    margin-bottom:40px;
}

.appointment-form-section form{
    background:white;

    padding:40px;

    border-radius:15px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.form-section-title{
    font-size:22px;
    font-weight:600;

    color:#0d2c4a;

    margin-top:20px;
    margin-bottom:20px;

    padding-bottom:10px;

    border-bottom:2px solid #2ec4b6;
}

.appointment-form-section input,
.appointment-form-section textarea{
    width:100%;
    padding:14px;

    border:1px solid #ddd;

    border-radius:8px;

    margin-bottom:15px;
}

.appointment-form-section input:focus,
.appointment-form-section textarea:focus{
    outline:none;

    border-color:#2ec4b6;
}

/* ==========================================
   SERVICES
========================================== */

.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:15px;

    margin-bottom:25px;
}

.services-grid label{
    background:#f5f7fa;

    padding:14px;

    border-radius:8px;

    cursor:pointer;

    transition:.3s;
}

.services-grid label:hover{
    background:#e9f9f7;
}

.services-grid input{
    width:auto;
    margin-right:8px;
}

/* ==========================================
   TERMS
========================================== */

.terms{
    display:block;
    margin-top:10px;
    margin-bottom:25px;
}

.terms input{
    width:auto;
    margin-right:8px;
}

/* ==========================================
   BUTTON
========================================== */

.submit-btn{
    background:#2ec4b6 !important;

    color:white;

    border:none;

    padding:16px;

    border-radius:8px;

    cursor:pointer;

    transition:.3s;
}

.submit-btn:hover{
    background:#22b3a5 !important;
}

/* ==========================================
   TRUST SECTION
========================================== */

.trust-section{
    padding:80px 0;
    background:#f5f7fa;
}

.trust-section h2{
    color:#0d2c4a;
    margin-bottom:50px;
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.trust-card{
    background:white;

    padding:30px;

    border-radius:12px;

    text-align:center;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.3s;
}

.trust-card:hover{
    transform:translateY(-5px);
}

.trust-card h3{
    color:#0d2c4a;
    margin-bottom:12px;
}

.trust-card p{
    color:#666;
    line-height:1.7;
}

/* ==========================================
   EMERGENCY
========================================== */

.emergency-banner{
    background:#0d2c4a;

    color:white;

    text-align:center;

    padding:80px 0;
}

.emergency-banner h2{
    margin-bottom:15px;
}

.emergency-banner p{
    margin-bottom:25px;
}

.emergency-banner .hero-buttons{
    margin-top:20px;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:768px){

    .appointment-hero{
        padding:80px 20px;
    }

    .appointment-hero h1{
        font-size:34px;
    }

    .appointment-hero p{
        font-size:16px;
    }

    .appointment-steps,
    .appointment-form-section,
    .trust-section,
    .emergency-banner{
        padding:60px 0;
    }

    .appointment-form-section form{
        padding:25px;
    }

    .form-section-title{
        font-size:18px;
    }
}