/*
Theme Name: Twenty Twenty-Four Child - Italia Lingua
Theme URI: https://www.italialingua-reims.fr/
Description: Theme enfant pour le site Italia Lingua Reims, optimisé pour l'éditeur de blocs WordPress (FSE) sans dépendance d'Elementor.
Author: Antigravity
Template: twentytwentyfour
Version: 1.0.0
Text Domain: twentytwentyfour-italialingua
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600;700&family=PT+Serif:ital,wght@0,400;0,700;1,400&display=swap');

/* Style additionnel pour forcer la même hauteur ET la pleine largeur
   sur les cartes de tarifs (remplace l'ancienne version qui ne fonctionnait
   pas à cause d'un height:100% inopérant sur un parent en hauteur auto) */
.equal-height-columns.wp-block-columns {
    align-items: stretch;
}

.equal-height-columns .wp-block-column {
    display: flex;
}

.equal-height-columns .wp-block-column > .wp-block-group {
    width: 100%;
    box-sizing: border-box;
}

/* Supprime l'espace vertical auto-injecté par WordPress entre le header/template-part
   et le premier bloc de contenu (blockGap hérité du thème parent Twenty Twenty-Four).
   Chaque section a déjà son propre padding, donc ce gap fait doublon. */
.wp-site-blocks > main {
    margin-top: 0 !important;
}

/* Sécurité anti-Elementor : neutralise tout margin résiduel (kit global Elementor)
   sur les colonnes et blocs internes de la section Tarifs, desktop et mobile. */
.equal-height-columns.wp-block-columns,
.equal-height-columns .wp-block-column,
.equal-height-columns .wp-block-column > .wp-block-group {
    margin: 0 !important;
}

@media (max-width: 781px) {
    /* En mobile les colonnes se replient : on impose un espacement vertical propre
       et régulier entre les 3 cartes de tarifs, sans margin parasite. */
    .equal-height-columns.wp-block-columns {
        row-gap: 24px !important;
    }
    .equal-height-columns .wp-block-column {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* Menu burger mobile : caché sur desktop, affiché sous 781px */
.il-menu-toggle {
    display: none;
}
.il-menu-burger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 20px;
    cursor: pointer;
    z-index: 100;
}
.il-menu-burger span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: var(--wp--preset--color--primary-dark);
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 781px) {
    .il-menu-burger {
        display: flex;
    }
    .il-header-row {
        position: relative !important;
    }
    .il-nav-links.wp-block-group {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        margin: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        background-color: var(--wp--preset--color--white);
        padding: 20px 5% !important;
        box-shadow: 0 8px 12px rgba(0,0,0,0.08);
        gap: 16px !important;
        z-index: 200 !important;
    }
    .il-menu-toggle:checked ~ .il-nav-links.wp-block-group {
        display: flex !important;
    }
    .il-menu-toggle:checked ~ .il-menu-burger span:nth-child(1) {
        transform: translateY(8.5px) rotate(45deg);
    }
    .il-menu-toggle:checked ~ .il-menu-burger span:nth-child(2) {
        opacity: 0;
    }
    .il-menu-toggle:checked ~ .il-menu-burger span:nth-child(3) {
        transform: translateY(-8.5px) rotate(-45deg);
    }
}

/* En-tête styles */
header.site-header {
    border-bottom: 1px solid #EFEFE0;
}
header.site-header a {
    text-decoration: none;
    transition: color 0.3s ease;
}
header.site-header a:hover {
    color: var(--wp--preset--color--accent-blue) !important;
}
