/*
|--------------------------------------------------------------------------
| Fichier     : contact.css
| Projet      : SkinZenitude Framework
| Description : Styles de la page Contact
| Auteur      : Rémy & ChatGPT
| Version     : 3.0.0
|--------------------------------------------------------------------------
*/


/* ==========================================================================
   PAGE
   ========================================================================== */

.sz-contact {

    width: 100%;
    margin: 0;
    padding: 0;

}


/* ==========================================================================
   CONTENEUR
   ========================================================================== */

.sz-container {

    width: min(760px, calc(100% - 40px));

    margin: 0 auto;

}


/* ==========================================================================
   HERO
   ========================================================================== */

.sz-hero {

    padding: 22px 0 18px;

}


.sz-hero-grid {

    display: grid;

    grid-template-columns: 38% 62%;

    gap: 18px;

    align-items: center;

}


.sz-hero-image {

    display: flex;

    justify-content: center;

}


.sz-hero-image img {

    width: 100%;

    max-width: 280px;

    display: block;

    border-radius: 14px;

    box-shadow:
        0 8px 20px rgba(0,0,0,.14);

}


.sz-hero-content {

    position: relative;

    overflow: hidden;

    isolation: isolate;

    padding: 18px;

    background: rgba(255,255,255,.14);

    border: 1px solid rgba(255,255,255,.30);

    border-radius: 14px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    box-shadow:
        0 8px 20px rgba(0,0,0,.08);

}


/* ==========================================================================
   FILIGRANE
   ========================================================================== */

.sz-hero-content::before {

    content: "";

    position: absolute;

    inset: 0;

    background: url("assets/logo.webp") no-repeat right 8px bottom 8px;

    background-size: 95px;

    opacity: .06;

    filter: blur(2px);

    pointer-events: none;

    z-index: 0;

}


.sz-hero-content > * {

    position: relative;

    z-index: 1;

}


.sz-hero-title {

    margin: 0 0 12px;

    font-size: 24px;

    line-height: 1.15;

    font-weight: 700;

}


.sz-hero-lead {

    margin-bottom: 12px;

    font-size: 14px;

    line-height: 1.6;

    font-weight: 500;

}


.sz-hero-description {

    margin-bottom: 16px;

    font-size: 13px;

    line-height: 1.7;

}


.sz-hero-content .sz-button {

    display: inline-flex;

}

/* ==========================================================================
   SECTION CONTACT
   ========================================================================== */

.sz-contact-section {

    padding: 22px 0;

}


.sz-contact-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;

    align-items: start;

}


/* ==========================================================================
   COLONNE GAUCHE
   ========================================================================== */

.sz-contact-left {

    display: flex;

    flex-direction: column;

    gap: 14px;

}


/* ==========================================================================
   CARTES
   ========================================================================== */

.sz-contact-intro,
.sz-contact-faq,
.sz-contact-form-wrapper {

    background: rgba(255,255,255,.14);

    border: 1px solid rgba(255,255,255,.30);

    border-radius: 14px;

    padding: 16px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    box-shadow:
        0 8px 20px rgba(0,0,0,.08);

}


/* ==========================================================================
   INTRODUCTION
   ========================================================================== */

.sz-contact-intro h2,
.sz-contact-faq h2 {

    margin: 0 0 10px;

    font-size: 18px;

    line-height: 1.2;

    font-weight: 600;

}


.sz-contact-intro p {

    margin: 0;

    font-size: 13px;

    line-height: 1.7;

}


/* ==========================================================================
   FAQ
   ========================================================================== */

.sz-faq {

    display: flex;

    flex-direction: column;

    gap: 12px;

}


.sz-faq-item {

    padding-bottom: 10px;

    border-bottom: 1px solid rgba(0,0,0,.06);

}

.sz-faq-item:last-child {

    padding-bottom: 0;

    border-bottom: none;

}


.sz-faq-item h3 {

    margin: 0 0 4px;

    font-size: 14px;

    font-weight: 600;

}


.sz-faq-item p {

    margin: 0;

    font-size: 13px;

    line-height: 1.6;

}

/* ==========================================================================
   FORMULAIRE
   ========================================================================== */

.sz-contact-form {

    display: flex;

    flex-direction: column;

    gap: 12px;

    margin: 0;

}


.sz-form-group {

    display: flex;

    flex-direction: column;

}


.sz-form-group label {

    margin-bottom: 4px;

    font-size: 13px;

    font-weight: 600;

    color: #444;

}


.sz-form-group input,
.sz-form-group textarea {

    width: 100%;

    padding: 8px 10px;

    border: 1px solid #d7d7d7;

    border-radius: 8px;

    background: #ffffff;

    font-size: 13px;

    font-family: inherit;

    box-sizing: border-box;

    transition:
        border-color .20s ease,
        box-shadow .20s ease;

}


.sz-form-group input:focus,
.sz-form-group textarea:focus {

    outline: none;

    border-color: #4f7d64;

    box-shadow:
        0 0 0 2px rgba(79,125,100,.12);

}


.sz-form-group textarea {

    resize: vertical;

    min-height: 90px;

}


/* ==========================================================================
   BOUTONS
   ========================================================================== */

.sz-button {

    display: inline-flex;

    justify-content: center;

    align-items: center;

    padding: 8px 16px;

    border: none;

    border-radius: 8px;

    cursor: pointer;

    font-size: 13px;

    font-weight: 500;

    text-decoration: none;

    text-transform: none;

    letter-spacing: 0;

    transition:
        background .20s ease,
        color .20s ease,
        transform .20s ease,
        box-shadow .20s ease;

}


.sz-button-primary {

    background: #4f7d64;

    color: #ffffff;

    box-shadow:
        0 4px 12px rgba(79,125,100,.18);

}


.sz-button-primary:hover {

    background: #406652;

    color: #000000;

    transform: translateY(-1px);

    box-shadow:
        0 6px 16px rgba(79,125,100,.24);

}


.sz-contact a.sz-button,
.sz-contact button.sz-button {

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

}


.sz-contact a.sz-button:hover,
.sz-contact button.sz-button:hover {

    color: #000000;

}


button.sz-button {

    appearance: none;

    -webkit-appearance: none;

    font: inherit;

    border: none;

}

/* ==========================================================================
   MENTION LÉGALE
   ========================================================================== */

.sz-contact-legal {

    padding: 24px 0 40px;

    text-align: center;

}


.sz-contact-legal p {

    max-width: 760px;

    margin: 0 auto;

    font-size: 12px;

    line-height: 1.6;

    color: #666;

}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {

    .sz-container {

        width: calc(100% - 30px);

    }

    .sz-hero-grid {

        grid-template-columns: 1fr;

        gap: 18px;

    }

    .sz-contact-grid {

        grid-template-columns: 1fr;

        gap: 18px;

    }

    .sz-hero-image {

        order: 1;

    }

    .sz-hero-content {

        order: 2;

    }

    .sz-hero-image img {

        max-width: 240px;

    }

}


@media (max-width: 640px) {

    .sz-hero {

        padding: 18px 0;

    }

    .sz-hero-content,
    .sz-contact-intro,
    .sz-contact-faq,
    .sz-contact-form-wrapper {

        padding: 14px;

    }

    .sz-hero-title {

        font-size: 20px;

    }

    .sz-hero-lead {

        font-size: 13px;

    }

    .sz-hero-description,
    .sz-contact-intro p,
    .sz-faq-item p {

        font-size: 12px;

    }

    .sz-contact-intro h2,
    .sz-contact-faq h2 {

        font-size: 16px;

    }

    .sz-button {

        width: 100%;

        padding: 10px 14px;

    }

}

/* ==========================================================================
   Messages du formulaire
   ========================================================================== */

.sz-contact-message {

    margin-bottom: 24px;
    padding: 16px;
    border-radius: 8px;
    font-weight: 600;

}

.sz-success {

    color: #155724;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;

}

.sz-error {

    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;

}