/* CANNES VOLONTAIRES — Actualités (carrousel) — Version 1.7.3 (2026-08-11) */
:root {
	--cv-bleu:#0B5FA5; --cv-bleu-nuit:#14304D; --cv-or:#F2B705; --cv-corail:#F26B5E;
	--cv-blanc:#F7F9FC; --cv-texte-clair:#FFFFFF;
	--cv-police:"Poppins",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--cv-radius:16px; --cv-ombre:0 10px 34px rgba(20,48,77,.22);
}

/* ---------- En-tête du module (titre + sous-titre) ---------- */
/* Le contenu vient de l'éditeur : sa mise en forme (couleur, taille, gras…)
   est prioritaire. On ne fixe ici que des valeurs de base agréables. */
.cv-entete-module { max-width:1200px; margin:0 auto 22px; }

.cv-titre-module { margin:0; line-height:1.2; font-family:var(--cv-police); font-weight:800; font-size:clamp(1.7rem,3vw,2.2rem); }
.cv-titre-module span { position:relative; display:inline-block; padding-bottom:12px; }
.cv-titre-module span::after { content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:70px; height:4px; border-radius:3px; background:var(--cv-or,#F2B705); }
/* si le titre est aligné à gauche/droite via l'éditeur, le liseré suit */
.cv-entete-module[style*="left"] .cv-titre-module span::after { left:0; transform:none; }
.cv-entete-module[style*="right"] .cv-titre-module span::after { left:auto; right:0; transform:none; }
/* neutralise les marges de paragraphes que l'éditeur pourrait injecter */
.cv-titre-module p { margin:0; display:inline; }

.cv-soustitre-module { margin:10px 0 0; line-height:1.45; font-family:var(--cv-police); color:#6b7684; font-size:1.05rem; }
.cv-soustitre-module p { margin:0; }

/* ---------- Carrousel ---------- */
.cv-carrousel { width:100%; max-width:1200px; margin:0 auto; border-radius:var(--cv-radius); overflow:hidden; box-shadow:var(--cv-ombre); font-family:var(--cv-police); border:3px solid var(--cv-bleu-nuit); }
.cv-carrousel .cv-slide { position:relative; height:var(--cv-h,450px); background-color:var(--cv-bleu-nuit); overflow:hidden; }
.cv-carrousel .cv-slide-fond { position:absolute; inset:0; background-size:cover; background-position:center; filter:blur(22px) brightness(.75); transform:scale(1.15); z-index:0; }
.cv-carrousel .cv-slide-img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; z-index:1; }
.cv-carrousel .cv-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, color-mix(in srgb, var(--cv-bleu-nuit) 78%, transparent) 0%, color-mix(in srgb, var(--cv-bleu-nuit) 30%, transparent) 40%, transparent 70%); pointer-events:none; z-index:2; }
.cv-carrousel .cv-texte { position:absolute; left:0; right:0; z-index:3; padding:30px 36px; display:flex; }
.cv-carrousel .cv-texte span { position:relative; color:var(--cv-texte-clair); font-family:var(--cv-police); font-size:clamp(1.25rem,2.6vw,2.1rem); font-weight:700; line-height:1.28; text-shadow:0 2px 10px rgba(0,0,0,.55); max-width:82%; padding-left:18px; }
.cv-carrousel .cv-texte span::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:5px; border-radius:4px; background:var(--cv-or); }
.cv-carrousel .cv-pos-bas { bottom:0; align-items:flex-end; }
.cv-carrousel .cv-pos-haut { top:0; align-items:flex-start; }
.cv-carrousel .cv-pos-centre { top:0; bottom:0; align-items:center; justify-content:center; text-align:center; }
.cv-carrousel .cv-pos-centre span { max-width:90%; padding-left:0; }
.cv-carrousel .cv-pos-centre span::before { display:none; }
.cv-carrousel .swiper-button-prev, .cv-carrousel .swiper-button-next { color:var(--cv-texte-clair); background:color-mix(in srgb, var(--cv-bleu) 55%, transparent); width:44px; height:44px; border-radius:50%; backdrop-filter:blur(2px); transition:background .2s ease; }
.cv-carrousel .swiper-button-prev:hover, .cv-carrousel .swiper-button-next:hover { background:var(--cv-bleu); }
.cv-carrousel .swiper-button-prev::after, .cv-carrousel .swiper-button-next::after { font-size:18px; font-weight:700; }
.cv-carrousel .swiper-pagination-bullet { background:var(--cv-blanc); opacity:.65; width:10px; height:10px; }
.cv-carrousel .swiper-pagination-bullet-active { background:var(--cv-or); opacity:1; }
@media (max-width:600px) { .cv-carrousel { border-radius:10px; border-width:2px; } .cv-carrousel .cv-texte { padding:18px 20px; } .cv-carrousel .swiper-button-prev, .cv-carrousel .swiper-button-next { display:none; } }
