/* ===== Page Notre École / Ambiance — styles spécifiques (maquette V4) ===== */

/* HERO VIDÉO (widget vidéo natif Elementor, ratio 16:9) + tag flottant */
.hero-video { position: relative; width: 100%; overflow: hidden; }
.hero-video .elementor-widget-video, .hero-video .elementor-widget-wrap, .hero-video .elementor-element-populated { width: 100%; }
.floating-tag {
    position: absolute; z-index: 3; top: var(--space-lg); left: -10px;
    background: var(--orange); color: var(--blanc); font-family: var(--font-display);
    font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 1px;
    padding: var(--space-sm) var(--space-lg); border-radius: 0 var(--radius-md) var(--radius-md) 0;
    box-shadow: var(--shadow-medium); transform: rotate(-3deg); white-space: nowrap;
}

/* BLOC VIDÉO (sections .video-block hors hero) : présentation contenue, sans letterbox */
.video-block .elementor-widget-wrap { max-width: 840px; margin: 0 auto; }
.video-block .elementor-wrapper,
.video-block .elementor-custom-embed-image-overlay { border-radius: var(--radius-lg); overflow: hidden; }
.video-block .elementor-custom-embed-image-overlay { width: 100%; height: 100%; object-fit: cover; }

/* ===== BLOCS ALTERNÉS image/texte — COMPOSANTS ELEMENTOR NATIFS =====
   .alt-block = section (2 colonnes) ; .alt-block-text / .alt-block-image = colonnes ;
   à l'intérieur : widgets natifs Titre / Éditeur de texte / Image / Bouton. */
.alt-block { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.alt-block > .elementor-container { align-items: center; gap: var(--space-3xl); }
.alt-block.reverse > .elementor-container { flex-direction: row-reverse; }
/* colonne image (image arrondie, sans cercle décoratif : la maquette le masque via overflow) */
.alt-block-image .elementor-widget-image img {
    width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
    border-radius: var(--radius-xl); box-shadow: var(--shadow-medium);
}
/* colonne texte */
.alt-block-text .overline .elementor-heading-title { color: var(--orange); }
.alt-block-text > .elementor-widget-wrap > .elementor-widget { margin-bottom: var(--space-sm); }
.alt-block-text .elementor-widget-text-editor { color: var(--gris-fonce); margin-bottom: var(--space-lg); }
.alt-block-link .elementor-button {
    background: transparent; color: var(--orange); border: 2px solid var(--orange);
    border-radius: var(--radius-pill); font-weight: 700;
}
.alt-block-link .elementor-button:hover { background: var(--orange); color: var(--blanc); }

/* ===== BLOC IMAGE PLEINE LARGEUR — natif ===== */
.full-image-block .elementor-widget-image img {
    width: 100%; aspect-ratio: 21 / 9; object-fit: cover; display: block;
    border-radius: var(--radius-xl); box-shadow: var(--shadow-lifted);
}

/* ===== BLOC TEXTE CENTRÉ — natif ===== */
.text-block { text-align: center; }
.text-block .elementor-widget-text-editor { font-size: 18px; line-height: 1.8; color: var(--gris-fonce); }

/* CARTE CTA CENTRÉE */
.feature-card { max-width: 480px; margin: var(--space-3xl) auto var(--space-4xl); }
.feature-card .card-image { aspect-ratio: 16/10; }
.feature-card .card-image img { width: 100%; height: 100%; object-fit: cover; }
.feature-card .card-body { text-align: center; }

@media (max-width: 1024px) {
    .alt-block { grid-template-columns: 1fr; }
    .alt-block.reverse { direction: ltr; }
}
@media (max-width: 768px) {
    .hero-video { height: 320px; }
}
