/* ============================================================
   GENNAN STARTER THEME — responsive.css
   Breakpoints : tablet (max 1024px), mobile (max 768px), petit (max 480px)
   ============================================================ */


/* ────────────────────────────────────────────────────────────
   TABLET — max 1024px
   ──────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {

    /* Variables ajustées */
    :root {
        --section-padding-y: 5rem;
        --font-size-5xl:     3rem;
        --font-size-4xl:     2.5rem;
        --font-size-3xl:     2rem;
    }

    /* Hero */
    .hero__inner {
        padding-block: 5rem 3rem;
    }

    .hero__title {
        font-size: 2.5rem;
    }

    /* Bio */
    .bio__inner {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    /* Services */
    .services__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Témoignages */
    .testimonials__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Location */
    .location__modes {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }

    /* Contact */
    .contact__inner {
        grid-template-columns: 1fr 1.5fr;
        gap: 3rem;
    }

    /* Footer */
    .site-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    .site-footer__contact {
        align-items: flex-start;
        grid-column: 1 / -1;
    }

    /* Blog */
    .posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ────────────────────────────────────────────────────────────
   MOBILE — max 768px
   ──────────────────────────────────────────────────────────── */

@media (max-width: 768px) {

    /* Variables */
    :root {
        --section-padding-y: 4rem;
        --container-px:      1.25rem;
    }

    /* Body offset — le header est moins haut */
    body {
        padding-top: 64px;
    }

    /* Header */
    .site-header__inner {
        height: 64px;
    }

    /* Navigation mobile — masquée par défaut */
    .site-header__cta {
        display: none;
    }

    .site-nav {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        position: fixed;
        top: 64px;
        left: 0;
        right: 0;
        bottom: 0;
        height: auto;
        background-color: var(--color-white);
        padding: 2rem 1.5rem;
        border-top: 1px solid var(--color-grey-200);
        z-index: 99;
        overflow-y: auto;

        /* Animation slide-down */
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        transition:
            opacity 280ms ease,
            transform 280ms ease,
            visibility 280ms;
        pointer-events: none;
    }

    .site-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .site-nav__list {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        width: 100%;
    }

    .site-nav__list li {
        width: 100%;
        border-bottom: 1px solid var(--color-grey-100);
    }

    .site-nav__list li a {
        display: block;
        padding: 1rem 0;
        font-size: 1.125rem;
    }

    .site-nav__list li a::after {
        display: none;
    }

    /* Afficher le burger */
    .site-header__burger {
        display: flex;
    }

    /* Hero */
    .hero {
        min-height: auto;
    }

    .hero__inner {
        padding-block: 3rem;
    }

    .hero__title {
        font-size: 2.4rem;
        max-width: 100%;
    }

    .hero__desc {
        margin-inline: auto;
    }

    .hero__actions {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero__trust {
        justify-content: center;
    }

    /* Bio */
    .bio__inner {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .bio__visual {
        max-width: 340px;
        margin-inline: auto;
    }

    .bio__deco {
        display: none;
    }

    /* Services */
    .services__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    /* Témoignages */
    .testimonials__grid {
        grid-template-columns: 1fr;
    }

    /* Location */
    .location__modes {
        grid-template-columns: 1fr;
        gap: 1rem;
        max-width: 400px;
        margin-inline: auto;
    }

    /* Instagram */
    .instagram__placeholder-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Contact */
    .contact__inner {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .contact__form {
        padding: 1.5rem;
    }

    /* Footer */
    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding-block: 3rem;
    }

    .site-footer__contact {
        align-items: flex-start;
    }

    .site-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .site-footer__legal {
        flex-wrap: wrap;
        gap: 1rem;
    }

    /* Blog */
    .posts-grid {
        grid-template-columns: 1fr;
    }

    /* Titres de sections */
    .section-title {
        font-size: 1.75rem;
    }
}


/* ────────────────────────────────────────────────────────────
   PETIT MOBILE — max 480px
   ──────────────────────────────────────────────────────────── */

@media (max-width: 480px) {

    /* Services — 1 colonne sur très petit écran */
    .services__grid {
        grid-template-columns: 1fr;
    }

    /* Cartes avec moins de padding */
    .card {
        padding: 1.5rem;
    }

    /* Hero */
    .hero__title {
        font-size: 1.875rem;
    }

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero__actions .btn {
        text-align: center;
        justify-content: center;
    }

    .hero__trust {
        flex-direction: column;
        gap: 1rem;
        align-items: center;
    }

    /* Instagram */
    .instagram__placeholder-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Section label */
    .section-header {
        margin-bottom: 2.5rem;
    }

    /* Contact form */
    .contact__form {
        padding: 1.25rem;
    }

    /* Boutons CF7 */
    .wpcf7 input[type="submit"] {
        width: 100%;
        text-align: center;
    }
}
