/* Created by TopStyle Trial - www.topstyle4.com */
/* ================================
   RESET
================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: Arial, sans-serif;
    background: #f5f7fb;
    color: #333;
    line-height: 1.6;
    overflow-x: hidden;
}

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

a {
    text-decoration: none;
    color: inherit;
}


/* ================================
   HEADER
================================ */

header {

    background: white;
    box-shadow: 0 2px 10px #ddd;
}

.navbar {

    width:min(1100px,100%);
    margin: auto;
    padding: 20px;

    display: flex;
    justify-content: space-between;
    align-items: center;

}


.logo {

    font-size: 28px;
    font-weight: bold;
    color: #222;

}


.logo span {

    color: #2563eb;

}


.nav-links {

    display: flex;
    gap: 25px;

}


.nav-links a {

    font-weight: bold;
    color: #333;

}


.nav-links a:hover {

    color: #2563eb;

}


/* ================================
   CONTACT
================================ */

.contact {

    padding: 60px 20px;

}


.contact-container {

    
    width:min(1100px,100%);
    margin: auto;

    display: grid;
    grid-template-columns: 1fr 1.5fr;

    gap: 40px;

}


/* INFORMATIONS */

.contact-info {

    background: #2563eb;
    color: white;

    padding: 35px;
    border-radius: 10px;

}


.contact-info h2 {

    margin-bottom: 20px;

}


.contact-info p {

    margin-bottom: 20px;

}


.info p {

    margin: 15px 0;

}


/* ================================
   FORMULAIRE
================================ */


.contact-form {

    background: white;

    padding: 35px;

    border-radius: 10px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.08);

}



.input-group {

    margin-bottom: 20px;

}


label {

    display: block;

    margin-bottom: 8px;

    font-weight: bold;

}


input,
select,
textarea {
    
    width: 100%;

    padding: 12px;

    border: 1px solid #ccc;

    border-radius: 6px;

    font-size: 15px;

}

input,
select,
textarea{
    transition:
        border-color .3s,
        box-shadow .3s;
}



input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.15);
}

textarea{
    resize:vertical;
}



/* BOUTON */

.btn-submit {

    width: 100%;

    padding: 14px;

    background: #2563eb;

    color: white;

    border: none;

    border-radius: 6px;

    font-size: 16px;

    font-weight: bold;

    cursor: pointer;

    transition: 0.3s;

}


.btn-submit:hover {

    background: #1d4ed8;

}

.btn-submit:active{
    transform:scale(.98);
}

/* MESSAGE */

.form-message {

    margin-top: 15px;

    text-align: center;

    font-weight: bold;

}



/* ================================
   FOOTER
================================ */


footer {

    background: #111827;

    color: white;

    text-align: center;

    padding: 25px;

}



/* ================================
   RESPONSIVE
================================ */

/* ---------- Grand écran (PC > 1200px) ---------- */
@media (min-width: 1200px) {

    .navbar,
    .contact-container {
        max-width: 1200px;
    }

}


/* ---------- Tablette (768px à 1024px) ---------- */
@media (max-width: 1024px) {

    .navbar {
        padding: 20px 30px;
    }

    .contact {
        padding: 50px 25px;
    }

    .contact-container {

        grid-template-columns: 1fr;
        gap: 30px;

    }

    .contact-info,
    .contact-form {

        padding: 30px;

    }

}


/* ---------- Smartphone (moins de 768px) ---------- */
@media (max-width: 767px) {

    .navbar {

        flex-direction: column;
        gap: 20px;
        padding: 20px;

    }

    .logo {

        font-size: 24px;

    }

    .nav-links {

        flex-direction: column;
        align-items: center;
        gap: 15px;

        width: 100%;

    }

    .nav-links a {

        display: block;
        width: 100%;
        text-align: center;

        padding: 10px;
       border-radius:5px;
    }
    

     .nav-links a:hover{
        background:#f0f4ff;
     }

    .contact {

        padding: 35px 15px;

    }

    .contact-container {

        grid-template-columns: 1fr;
        gap: 20px;

    }

    .contact-info,
    .contact-form {

        padding: 20px;

    }

    .contact-info h2 {

        font-size: 24px;

    }

    .contact-info p {

        font-size: 15px;

    }

    input,
    select,
    textarea {

        padding: 10px;
        font-size: 14px;

    }

    textarea {

        min-height: 140px;

    }

    .btn-submit {

        padding: 12px;
        font-size: 15px;

    }

    footer {

        padding: 20px 15px;
        font-size: 14px;

    }

}


/* ---------- Très petits smartphones (moins de 480px) ---------- */
@media (max-width: 480px) {

    .logo {

        font-size: 20px;

    }

    .contact-info h2 {

        font-size: 22px;

    }

    .contact-info,
    .contact-form {

        padding: 18px;

    }

    label {

        font-size: 14px;

    }

    input,
    select,
    textarea {

        font-size: 13px;

    }

    .btn-submit {

        font-size: 14px;

    }

}