/* =============================================================================
   UNIVERSITÉ D'ÉTÉ 2026 — Design éditorial v2
   Chargé uniquement sur /universite-ete-2026/
   Namespace : #ue2026-content (évite toute collision avec Divi)
   ============================================================================= */

:root {
  /* Fonds sombres */
  --bg:        #080808;
  --bg2:       #0b0b14;
  --bg3:       #100909;
  --bg-card:   #111111;
  /* Fonds clairs */
  --lt:        #f5f2ee;
  --lt2:       #ebe4da;
  --lt-card:   #ffffff;
  /* Texte sur fond sombre */
  --text:      #e8e5e0;
  --text-hi:   #ece7df;
  --muted:     #908b86;
  --white:     #f0ece5;
  /* Texte sur fond clair */
  --dk-text:   #1e1a16;
  --dk-muted:  #7a7268;
  /* Accent */
  --accent:    #b91c1c;
  --accent-h:  #991b1b;
  /* Séparateurs */
  --line:      #1c1c1c;
  --lt-line:   #d6cfc7;
  /* Typo */
  --font:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Override conteneurs Divi ────────────────────────────────────────────────
   Divi injecte des max-width sur #page-container et #main-content.
   On les réinitialise pour que notre page soit vraiment pleine largeur.        */

.ue2026-page #page-container,
.ue2026-page #main-content {
  max-width: none !important;
  width:     100%  !important;
  padding:   0     !important;
  margin:    0     !important;
}

.ue2026-page #main-content .et_pb_section,
.ue2026-page #main-content .et_pb_row {
  max-width: none !important;
  width:     100%  !important;
  padding:   0     !important;
  margin:    0     !important;
}

/* Supprime l'espace blanc sous le footer : zero le margin-bottom des rows du footer */
.ue2026-page .et-l--footer .et_pb_row,
.ue2026-page .et-l--footer .et_pb_section {
  margin-bottom: 0 !important;
}

/* ── Conteneur principal ─────────────────────────────────────────────────────*/

#ue2026-content {
  width:       100%;
  font-family: var(--font);
  font-size:   20px;
  line-height: 1.75;
  background:  var(--bg);
  color:       var(--text);
}

#ue2026-content * {
  box-sizing: border-box;
}

#ue2026-content img {
  max-width: 100%;
  display:   block;
}

#ue2026-content a {
  color:           inherit;
  text-decoration: none;
}

/* ── Typographie — fond sombre (défaut) ─────────────────────────────────────*/

#ue2026-content h1 {
  font-family:    var(--font) !important;
  font-size:      clamp(2.8rem, 7vw, 6.5rem);
  font-weight:    900;
  line-height:    1.0;
  letter-spacing: -0.025em;
  color:          var(--white) !important;
  margin:         0 0 2.5rem;
}

#ue2026-content h2 {
  font-family:    var(--font) !important;
  font-size:      clamp(2rem, 4vw, 3.2rem);
  font-weight:    900;
  line-height:    1.08;
  letter-spacing: -0.02em;
  color:          var(--white) !important;
  margin:         0 0 2.5rem;
}

#ue2026-content p {
  font-size:     1.35rem;
  line-height:   1.9;
  color:         var(--text);
  margin-bottom: 1.6em;
}

#ue2026-content p:last-child { margin-bottom: 0; }

#ue2026-content strong {
  color:       var(--text-hi);
  font-weight: 700;
}

/* ── Typographie — surcharge sections claires ───────────────────────────────*/

#ue2026-content .ue-s--light  h2,
#ue2026-content .ue-s--light2 h2 { color: var(--dk-text) !important; }

#ue2026-content .ue-s--light  p,
#ue2026-content .ue-s--light2 p  { color: var(--dk-muted); }

#ue2026-content .ue-s--light  strong,
#ue2026-content .ue-s--light2 strong { color: var(--dk-text); }

/* ── Conteneurs de mise en page ─────────────────────────────────────────────*/

/* Pleine largeur éditorial (sections avec image) */
#ue2026-content .ue-wrap {
  max-width:     min(1320px, 94vw);
  margin-left:   auto;
  margin-right:  auto;
  padding-left:  2rem;
  padding-right: 2rem;
  width:         100%;
}

/* Largeur lecture (sections texte, FAQ, offre) */
#ue2026-content .ue-wrapm {
  max-width:     min(1060px, 94vw);
  margin-left:   auto;
  margin-right:  auto;
  padding-left:  2rem;
  padding-right: 2rem;
  width:         100%;
}

/* ─────────────────────────────────────────────
   SECTIONS
───────────────────────────────────────────── */

#ue2026-content .ue-s {
  position:   relative;
  padding:    9rem 0;
  overflow:   hidden;
  border-top: 1px solid transparent;
}

#ue2026-content .ue-s--dark  { background: var(--bg);  border-color: var(--line); }
#ue2026-content .ue-s--dark2 { background: var(--bg2); border-color: var(--line); }
#ue2026-content .ue-s--dark3 { background: var(--bg3); border-color: var(--line); }
#ue2026-content .ue-s--light { background: var(--lt);  border-color: var(--lt-line); }
#ue2026-content .ue-s--light2{ background: var(--lt2); border-color: var(--lt-line); }

/* Numéro de section décoratif */
#ue2026-content .ue-snum {
  position:       absolute;
  top:            2rem;
  right:          3rem;
  font-size:      7rem;
  font-weight:    900;
  letter-spacing: -0.04em;
  line-height:    1;
  color:          rgba(255,255,255,0.03);
  pointer-events: none;
  user-select:    none;
  z-index:        1;
}

#ue2026-content .ue-s--light  .ue-snum,
#ue2026-content .ue-s--light2 .ue-snum { color: rgba(0,0,0,0.04); }

/* Étiquette de section */
#ue2026-content .ue-label {
  display:        block;
  font-size:      1.3rem;
  font-weight:    700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color:          var(--muted);
  margin-bottom:  2.5rem;
}

#ue2026-content .ue-s--light  .ue-label,
#ue2026-content .ue-s--light2 .ue-label { color: var(--dk-muted); }

/* ─────────────────────────────────────────────
   HERO
───────────────────────────────────────────── */

#ue2026-content .ue-hero {
  background: var(--bg);
  padding:    7rem 0 5rem;
  position:   relative;
  overflow:   hidden;
}

#ue2026-content .ue-hero-inner {
  max-width:             min(1260px, 94vw);
  margin:                0 auto;
  padding:               0 2rem;
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   4rem;
  align-items:           start;
}

@media (min-width: 860px) {
  #ue2026-content .ue-hero        { min-height: 90vh; }

  #ue2026-content .ue-hero-inner {
    grid-template-columns: 7fr 3fr;
    gap:                   4rem;
    align-items:           stretch;
    min-height:            calc(90vh - 12rem);
  }

  #ue2026-content .ue-hero-text   { align-self: start; }

  #ue2026-content .ue-hero-photo  {
    position:   sticky;
    top:        0;
    height:     100%;
    min-height: 500px;
  }

  #ue2026-content .ue-hero-photo .img-ph {
    aspect-ratio: unset;
    height:       100%;
    min-height:   500px;
  }
}

#ue2026-content .ue-eyebrow {
  display:        block;
  font-size:      1.5rem;
  font-weight:    700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color:          var(--accent);
  margin-bottom:  2.5rem;
}

#ue2026-content .ue-hero-sub {
  font-size:   1.65rem;
  color:       var(--text);
  line-height: 1.65;
  margin:      2rem 0 1rem;
  font-weight: 400;
}

#ue2026-content .ue-hero-date {
  font-size:      0.92rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--muted);
  margin:         0 0 3rem;
}

#ue2026-content .ue-hero-photo {
  position: sticky;
  top:      2rem;
}

/* ─────────────────────────────────────────────
   PULL QUOTE
───────────────────────────────────────────── */

#ue2026-content .ue-pull-wrap {
  background:    var(--bg2);
  padding:       5rem 2rem;
  border-top:    1px solid var(--line);
  border-bottom: 1px solid var(--line);
  position:      relative;
  overflow:      hidden;
}

#ue2026-content .ue-pull {
  max-width:      min(760px, 88vw);
  margin:         0 auto;
  font-size:      clamp(1.65rem, 3.5vw, 2.3rem);
  font-weight:    700;
  color:          var(--white);
  line-height:    1.38;
  letter-spacing: -0.015em;
  text-align:     center;
  border:         none;
  border-top:     1px solid rgba(185,28,28,0.4);
  border-bottom:  1px solid rgba(185,28,28,0.4);
  padding:        2.8rem 0;
}

/* ─────────────────────────────────────────────
   MISE EN PAGE EN DEUX COLONNES
   (sections 03 et 06 — texte + illustration)
───────────────────────────────────────────── */

#ue2026-content .ue-split {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   4rem;
  align-items:           start;
}

@media (min-width: 800px) {
  #ue2026-content .ue-split {
    grid-template-columns: 1fr 480px;
    gap:                   5rem;
    align-items:           center;
  }

  /* Illustration à gauche, texte à droite */
  #ue2026-content .ue-split--reverse {
    grid-template-columns: 480px 1fr;
  }

  #ue2026-content .ue-split--reverse .ue-split-text { order: 2; }
  #ue2026-content .ue-split--reverse .ue-split-img  { order: 1; }
}

#ue2026-content .ue-split-img {
  overflow:    hidden;
  border-radius: 30px;
  will-change: transform;
}

#ue2026-content .ue-hero-photo { will-change: transform; }

/* ─────────────────────────────────────────────
   PLACEHOLDERS IMAGE
───────────────────────────────────────────── */

#ue2026-content .img-ph {
  position:        relative;
  background:      #0c0c0c;
  border:          1px solid var(--line);
  border-radius:   3px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  overflow:        hidden;
}

#ue2026-content .ue-photo-real { border-radius: 30px; }

#ue2026-content .img-ph--light {
  background:   var(--lt-card);
  border-color: var(--lt-line);
}

#ue2026-content .ratio-3-4  { aspect-ratio: 3 / 4; }
#ue2026-content .ratio-9-16 { aspect-ratio: 9 / 16; }
#ue2026-content .ratio-4-3  { aspect-ratio: 4 / 3; }

#ue2026-content .img-ph-inner {
  text-align:     center;
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            0.6rem;
  padding:        2rem;
}

#ue2026-content .img-ph-letter {
  display:        block;
  font-size:      7rem;
  font-weight:    900;
  line-height:    1;
  color:          rgba(255,255,255,0.05);
  letter-spacing: -0.04em;
}

#ue2026-content .img-ph--light .img-ph-letter { color: rgba(0,0,0,0.06); }

#ue2026-content .img-ph-label {
  display:        block;
  font-size:      0.6rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #2a2a2a;
}

#ue2026-content .img-ph--light .img-ph-label { color: #aaa; }

#ue2026-content .img-ph-desc {
  display:     block;
  font-size:   0.68rem;
  color:       #222;
  line-height: 1.6;
  max-width:   280px;
}

#ue2026-content .img-ph--light .img-ph-desc { color: #bbb; }

/* Bande visuelle pleine largeur (entre sections 01 et 02) */
#ue2026-content .ue-visual-break {
  width:       100%;
  overflow:    hidden;
  line-height: 0;
}

#ue2026-content .ue-visual-break .img-ph {
  height:        400px;
  border-left:   none;
  border-right:  none;
  border-radius: 0;
}

/* ─────────────────────────────────────────────
   BOUTONS CTA
───────────────────────────────────────────── */

#ue2026-content .ue-btn,
#ue2026-content a.ue-btn {
  display:         inline-flex;
  align-items:     center;
  gap:             0;
  background:      var(--accent) !important;
  color:           #fff !important;
  font-family:     var(--font) !important;
  font-size:       1.1rem;
  font-weight:     700;
  letter-spacing:  0.2em;
  text-transform:  uppercase;
  padding:         1.5em 3.8em;
  border:          none;
  border-radius:   0;
  text-decoration: none !important;
  cursor:          pointer;
  transition:      background 0.18s, gap 0.22s ease, padding-right 0.22s ease;
  line-height:     1;
  min-width:       220px;
  text-align:      center;
  overflow:        hidden;
}

#ue2026-content .ue-btn::after,
#ue2026-content a.ue-btn::after {
  content:     '›';
  font-size:   1.3em;
  font-weight: 400;
  line-height: 1;
  opacity:     0;
  transform:   translateX(-6px);
  transition:  opacity 0.22s ease, transform 0.22s ease;
  margin-left: 0;
}

#ue2026-content .ue-btn:hover,
#ue2026-content a.ue-btn:hover {
  background:    var(--accent-h) !important;
  gap:           0.55em;
  padding-right: 3.2em;
}

#ue2026-content .ue-btn:hover::after,
#ue2026-content a.ue-btn:hover::after {
  opacity:   1;
  transform: translateX(0);
}

/* Variante sombre (pour sections claires) */
#ue2026-content .ue-btn--dark,
#ue2026-content a.ue-btn--dark {
  background: var(--dk-text) !important;
}

#ue2026-content .ue-btn--dark:hover,
#ue2026-content a.ue-btn--dark:hover { background: #000 !important; }

#ue2026-content .ue-btn-wrap      { margin-top: 3.5rem; }
#ue2026-content .ue-btn-wrap.centered { text-align: center; }

/* ─────────────────────────────────────────────
   LISTES AVEC FLÈCHES
───────────────────────────────────────────── */

#ue2026-content .ue-arrows {
  list-style: none;
  padding:    0;
  margin:     2rem 0;
}

#ue2026-content .ue-arrows li {
  display:               grid;
  grid-template-columns: 1.4rem 1fr;
  gap:                   0.6rem;
  padding:               1rem 0;
  border-bottom:         1px solid var(--line);
  font-size:             1.35rem;
  line-height:           1.75;
  color:                 var(--text);
}

#ue2026-content .ue-arrows li:first-child { border-top: 1px solid var(--line); }

#ue2026-content .ue-arrows li::before {
  content:     '→';
  color:       var(--accent);
  font-weight: 700;
  line-height: 1.65;
}
#ue2026-content .ue-arrows.green li::before {
  color: #207617;
}

/* Variante sur fond clair */
#ue2026-content .ue-arrows--light li {
  color:        var(--dk-muted);
  border-color: var(--lt-line);
}

#ue2026-content .ue-arrows--light li:first-child { border-color: var(--lt-line); }

/* ─────────────────────────────────────────────
   SECTION 02 — OPTIONS A / B
───────────────────────────────────────────── */

#ue2026-content .ue-options {
  margin:         3rem 0;
  display:        flex;
  flex-direction: column;
}

#ue2026-content .ue-option {
  display:               grid;
  grid-template-columns: 5.5rem 1fr;
  gap:                   1.5rem;
  align-items:           start;
  padding:               1.8rem 0;
  border-top:            1px solid var(--lt-line);
}

#ue2026-content .ue-option:last-child { border-bottom: 1px solid var(--lt-line); }

#ue2026-content .ue-option-tag {
  font-size:      0.88rem;
  font-weight:    700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color:          var(--dk-muted);
  padding-top:    0.3rem;
}

#ue2026-content .ue-option-tag--b { color: var(--accent); }

#ue2026-content .ue-option-text {
  font-size:   1.35rem;
  line-height: 1.7;
  color:       var(--dk-muted);
}

#ue2026-content .ue-option-text--b {
  color:       var(--dk-text);
  font-weight: 600;
}

/* ─────────────────────────────────────────────
   SECTION 04 — FORMAT HEBDOMADAIRE
───────────────────────────────────────────── */

#ue2026-content .ue-format { margin: 2.5rem 0; }

#ue2026-content .ue-format-row {
  display:               grid;
  grid-template-columns: 11rem 1fr;
  gap:                   2rem;
  padding:               2.2rem 0;
  border-top:            1px solid var(--lt-line);
  align-items:           start;
}

#ue2026-content .ue-format-row:last-child { border-bottom: 1px solid var(--lt-line); }

#ue2026-content .ue-format-day {
  font-size:      0.88rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--accent);
  padding-top:    0.2rem;
}

#ue2026-content .ue-format-title {
  font-size:     1.35rem;
  font-weight:   700;
  color:         var(--dk-text);
  margin-bottom: 0.6rem;
}

#ue2026-content .ue-format-desc {
  font-size:   1.3rem;
  color:       var(--dk-muted);
  line-height: 1.75;
  margin:      0;
}

/* Statistiques */
#ue2026-content .ue-stats {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  border:                1px solid var(--lt-line);
  margin:                3rem 0;
}

@media (min-width: 480px) {
  #ue2026-content .ue-stats { grid-template-columns: repeat(4, 1fr); }
}

#ue2026-content .ue-stat {
  padding:      2rem 1rem;
  border-right: 1px solid var(--lt-line);
  text-align:   center;
}

#ue2026-content .ue-stat:last-child { border-right: none; }

@media (max-width: 479px) {
  #ue2026-content .ue-stat:nth-child(even) { border-right: none; }
  #ue2026-content .ue-stat:nth-child(n+3) { border-top: 1px solid var(--lt-line); }
}

#ue2026-content .ue-stat-num {
  display:        block;
  font-size:      2.8rem;
  font-weight:    900;
  color:          var(--dk-text);
  line-height:    1;
  letter-spacing: -0.03em;
}

#ue2026-content .ue-stat-label {
  display:        block;
  font-size:      0.88rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color:          var(--dk-muted);
  margin-top:     0.7rem;
}

/* ─────────────────────────────────────────────
   SECTION 05 — POUR / PAS POUR TOI
───────────────────────────────────────────── */

#ue2026-content .ue-bifurc {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   3.5rem;
  margin-top:            3rem;
}

@media (min-width: 640px) {
  #ue2026-content .ue-bifurc {
    grid-template-columns: 1fr 1fr;
    gap:                   4rem;
  }
}

#ue2026-content .ue-for-label {
  display:        block;
  font-size:      0.88rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--muted);
  margin-bottom:  1.8rem;
  padding-bottom: 1rem;
  border-bottom:  1px solid var(--line);
}

#ue2026-content .ue-for-label--yes {
  color:        var(--accent);
  border-color: white;
}

#ue2026-content .phrase-yes{color: #207617;}
#ue2026-content .phrase-no{color: #BA1C1B;}

/* ─────────────────────────────────────────────
   SECTION 01 — PIVOT VISUEL
───────────────────────────────────────────── */

#ue2026-content .ue-s01-pivot {
  display:        flex;
  flex-direction: column;
  gap:            0.6rem;
  border-top:     1px solid var(--line);
  border-bottom:  1px solid var(--line);
  padding:        3.5rem 0;
  margin:         4rem 0;
}

#ue2026-content .ue-s01-intro {
  display:        block;
  font-size:      0.92rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--muted);
}

#ue2026-content .ue-s01-statement {
  display:        block;
  font-size:      clamp(2rem, 4vw, 3rem);
  font-weight:    900;
  line-height:    1.1;
  letter-spacing: -0.025em;
  color:          var(--white);
  margin:         0.8rem 0 0.6rem;
}

#ue2026-content .ue-s01-verdict {
  display:        block;
  font-size:      clamp(2rem, 4vw, 3rem);
  font-weight:    900;
  line-height:    1.1;
  letter-spacing: -0.025em;
  color:          var(--accent);
}

/* ─────────────────────────────────────────────
   SECTION 07 — TÉMOIGNAGES (carousel scroll-snap)
───────────────────────────────────────────── */

#ue2026-content .ue-carousel {
  --ue-car-slide-w:   clamp(360px, 58vw, 700px);
  --ue-car-gap:       clamp(16px, 2vw, 36px);
  --ue-car-ease:      cubic-bezier(0.22, 0.61, 0.36, 1);

  position:   relative;
  margin-top: 3.5rem;
  isolation:  isolate;
}

#ue2026-content .ue-carousel-viewport {
  position:   relative;
  width:      100%;
  padding:    1rem 0 1.25rem;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}

#ue2026-content .ue-carousel-track {
  display:            flex;
  align-items:        center;
  gap:                var(--ue-car-gap);
  list-style:         none;
  margin:             0;
  padding:            2.5rem calc(50% - var(--ue-car-slide-w) / 2);
  overflow-x:         auto;
  overflow-y:         hidden;
  scroll-snap-type:   x mandatory;
  scroll-behavior:    smooth;
  scrollbar-width:    none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  cursor:             grab;
  /* active le rendu 3D des enfants */
  perspective:        1400px;
  perspective-origin: center 55%;
}

#ue2026-content .ue-carousel-track::-webkit-scrollbar { display: none; }

#ue2026-content .ue-carousel-track.is-dragging,
#ue2026-content .ue-carousel-track.is-animating {
  scroll-behavior:  auto;
  scroll-snap-type: none;
}

#ue2026-content .ue-carousel-track.is-dragging { cursor: grabbing; }

#ue2026-content .ue-carousel-slide {
  flex:              0 0 var(--ue-car-slide-w);
  width:             var(--ue-car-slide-w);
  display:           flex;
  justify-content:   center;
  align-items:       center;
  scroll-snap-align: center;
  scroll-snap-stop:  always;
  /* preserve-3d retiré : il empêche overflow:hidden de contenir les vidéos
     (les éléments <video> s'échappent du stacking context 3D et couvrent les flèches) */
  will-change:       transform, opacity, filter;
  /* transform/opacity/filter sont pilotés en continu par le JS pendant le scroll —
     pas de transition CSS qui rentrerait en conflit. Fallback statique :        */
  transform:         scale(0.86);
  opacity:           0.55;
  filter:            saturate(0.85);
}

#ue2026-content .ue-carousel.is-ready .ue-carousel-slide {
  /* le JS pilote ; on enlève le fallback pour qu'il prenne la main */
  transform: none;
  opacity:   1;
  filter:    none;
}

#ue2026-content .ue-carousel-card {
  position:      relative;
  width:         100%;
  border-radius: 14px;
  overflow:      hidden;
  background:    var(--bg-card);
  box-shadow:    0 18px 40px -18px rgba(0, 0, 0, 0.55),
                 0 4px 14px -8px rgba(0, 0, 0, 0.4);
  border:        1px solid rgba(255, 255, 255, 0.06);
  transition:    box-shadow 0.6s var(--ue-car-ease);
}

#ue2026-content .ue-carousel-slide.is-active .ue-carousel-card {
  box-shadow:    0 34px 80px -18px rgba(0, 0, 0, 0.85),
                 0 12px 30px -10px rgba(0, 0, 0, 0.6),
                 0 0 0 1px rgba(255, 255, 255, 0.08);
}

#ue2026-content .ue-carousel-card img {
  display:           block;
  width:             100%;
  height:            auto;
  max-height:        85vh;
  object-fit:        contain;
  background:        var(--bg-card);
  -webkit-user-drag: none;
  user-select:       none;
  will-change:       transform;
  transform-origin:  center center;
}

#ue2026-content .ue-carousel-card .ue-carousel-video {
  display:    block;
  width:      100%;
  height:     auto;
  max-height: 85vh;
  background: #000;
}

/* YouTube embed 16:9 */
#ue2026-content .ue-carousel-yt {
  position:       relative;
  width:          100%;
  padding-bottom: 56.25%; /* 16:9 */
  height:         0;
  overflow:       hidden;
  background:     #000;
  border-radius:  14px;
}
#ue2026-content .ue-carousel-yt iframe {
  position: absolute;
  inset:    0;
  width:    100%;
  height:   100%;
  border:   0;
}

/* Flèches */
#ue2026-content .ue-carousel-arrow {
  position:        absolute;
  top:             50%;
  transform:       translateY(-50%);
  z-index:         200; /* au-dessus des slides (z-index JS max = 100) */
  width:           54px;
  height:          54px;
  border-radius:   50%;
  border:          1px solid rgba(255, 255, 255, 0.12);
  background:      rgba(20, 20, 20, 0.7);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  color:           var(--text-hi);
  display:         flex;
  align-items:     center;
  justify-content: center;
  cursor:          pointer;
  z-index:         3;
  padding:         0;
  font-size:       0;
  transition:      background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

#ue2026-content .ue-carousel-arrow svg { width: 22px; height: 22px; }

#ue2026-content .ue-carousel-arrow:hover {
  background:   var(--accent);
  border-color: var(--accent);
  transform:    translateY(-50%) scale(1.06);
}

#ue2026-content .ue-carousel-arrow:active   { transform: translateY(-50%) scale(0.96); }
#ue2026-content .ue-carousel-arrow:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#ue2026-content .ue-carousel-arrow--prev { left:  clamp(0px, 2vw, 28px); }
#ue2026-content .ue-carousel-arrow--next { right: clamp(0px, 2vw, 28px); }

/* Dots */
#ue2026-content .ue-carousel-dots {
  display:         flex;
  justify-content: center;
  align-items:     center;
  gap:             10px;
  margin-top:      2rem;
  position:        relative;
  z-index:         200;
}

#ue2026-content .ue-carousel-dot {
  width:         8px;
  height:        8px;
  border-radius: 50%;
  border:        0;
  padding:       0;
  background:    rgba(255, 255, 255, 0.22);
  cursor:        pointer;
  font-size:     0;
  line-height:   0;
  color:         transparent;
  transition:    width 0.4s var(--ue-car-ease), background 0.3s ease;
}

#ue2026-content .ue-carousel-dot:hover         { background: rgba(255, 255, 255, 0.45); }
#ue2026-content .ue-carousel-dot.is-active     { background: var(--accent); width: 28px; border-radius: 999px; }
#ue2026-content .ue-carousel-dot:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* Cas un seul visuel */
#ue2026-content .ue-carousel.is-single .ue-carousel-viewport { -webkit-mask-image: none; mask-image: none; }
#ue2026-content .ue-carousel.is-single .ue-carousel-track    { overflow: visible; justify-content: center; cursor: default; }
#ue2026-content .ue-carousel.is-single .ue-carousel-slide    { transform: scale(1); opacity: 1; filter: none; }

@media (max-width: 720px) {
  #ue2026-content .ue-carousel {
    --ue-car-slide-w: 90vw;
    --ue-car-gap:     14px;
  }
  #ue2026-content .ue-carousel-arrow     { width: 44px; height: 44px; }
  #ue2026-content .ue-carousel-arrow svg { width: 18px; height: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  #ue2026-content .ue-carousel-track { scroll-behavior: auto; }
  #ue2026-content .ue-carousel-slide { transition: none; }
}

/* ─────────────────────────────────────────────
   SECTION 08 — L'OFFRE
───────────────────────────────────────────── */

#ue2026-content .ue-offer {
  border:     1px solid var(--lt-line);
  padding:    4rem 3.5rem;
  margin-top: 2.5rem;
  background: transparent;
}

@media (max-width: 600px) {
  #ue2026-content .ue-offer { padding: 2rem 1.5rem; }
}

#ue2026-content .ue-offer-title {
  font-size:      1.15rem;
  font-weight:    700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color:          var(--dk-muted);
  margin-bottom:  2.5rem;
  padding-bottom: 1.5rem;
  border-bottom:  1px solid var(--lt-line);
}

#ue2026-content .ue-offer-list {
  list-style: none;
  padding:    0;
  margin:     0 0 2.5rem;
}

#ue2026-content .ue-offer-list li {
  display:               grid;
  grid-template-columns: 1.4rem 1fr;
  gap:                   0.5rem;
  padding:               0.9rem 0;
  border-bottom:         1px solid var(--lt-line);
  font-size:             1.35rem;
  line-height:           1.6;
  color:                 var(--dk-muted);
}

#ue2026-content .ue-offer-list li:first-child { border-top: 1px solid var(--lt-line); }

#ue2026-content .ue-offer-list li::before {
  content:     '→';
  color:       var(--accent);
  font-weight: 700;
}

#ue2026-content .ue-price-row {
  display:         flex;
  align-items:     baseline;
  justify-content: center;
  gap:             1rem;
  margin:          2.5rem 0 0.5rem;
}

#ue2026-content .ue-price-original {
  font-size:                 clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight:               600;
  color:                     var(--dk-muted);
  text-decoration:           line-through;
  text-decoration-thickness: 2px;
  letter-spacing:            -0.02em;
  opacity:                   0.6;
}

#ue2026-content .ue-price {
  font-size:      clamp(4rem, 10vw, 6rem);
  font-weight:    900;
  color:          #111111;
  line-height:    1;
  letter-spacing: -0.04em;
}

#ue2026-content .ue-early-bird {
  display:         inline-block;
  font-size:       0.82rem;
  font-weight:     700;
  letter-spacing:  0.18em;
  text-transform:  uppercase;
  color:           #92400e;
  background:      #fef3c7;
  border:          1px solid #fbbf24;
  border-radius:   4px;
  padding:         0.45em 1.1em;
  margin:          0 0 1.8rem;
}

#ue2026-content .ue-price-note {
  font-size:      0.95rem;
  color:          var(--dk-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom:  2.5rem;
}

#ue2026-content .ue-guarantee {
  margin-top:  2.5rem;
  padding-top: 2rem;
  border-top:  1px solid var(--lt-line);
  font-size:   1.2rem;
  color:       var(--dk-muted);
  line-height: 1.7;
}

#ue2026-content .ue-guarantee-label {
  display:        block;
  font-size:      0.88rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--dk-text);
  margin-bottom:  0.6rem;
}

/* — Offre : améliorations visuelles — */

#ue2026-content .ue-offer {
  background: var(--lt-card);
}

#ue2026-content .ue-offer-badge {
  display:        inline-block;
  font-size:      0.82rem;
  font-weight:    700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color:          var(--accent);
  border:         1px solid var(--accent);
  padding:        0.3em 0.85em;
  margin-bottom:  2rem;
}

#ue2026-content .ue-offer-summary {
  font-size:     1.2rem;
  color:         var(--dk-muted);
  font-style:    italic;
  line-height:   1.6;
  margin:        0;
  padding:       1.8rem 0 0;
  border-top:    1px solid var(--lt-line);
}

#ue2026-content .ue-offer-cta {
  padding:    2.5rem 0 0;
  text-align: center;
}

#ue2026-content .ue-offer-cta .ue-price-row { margin-top: 0; }
#ue2026-content .ue-offer-cta .ue-price-note     { margin-bottom: 2rem; }

#ue2026-content .ue-btn--full,
#ue2026-content a.ue-btn--full {
  display:         flex;
  width:           100%;
  justify-content: center;
}

#ue2026-content .ue-offer-deadline {
  font-size:     0.95rem;
  color:         var(--dk-muted);
  margin-top:    1.2rem;
  margin-bottom: 0.4rem;
  line-height:   1.5;
}

#ue2026-content .ue-offer-deadline strong {
  color:       var(--dk-text);
  font-weight: 700;
}

#ue2026-content .ue-offer-secure {
  font-size:      0.85rem;
  color:          var(--dk-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin:         0;
}

/* ─────────────────────────────────────────────
   SECTION 09 — FAQ
───────────────────────────────────────────── */

#ue2026-content .ue-faq { margin-top: 2rem; }

#ue2026-content .ue-faq-item { border-bottom: 1px solid var(--line); }
#ue2026-content .ue-faq-item:first-child { border-top: 1px solid var(--line); }

#ue2026-content .ue-faq-q {
  all:             unset;
  width:           100%;
  display:         flex;
  justify-content: space-between;
  align-items:     baseline;
  gap:             2rem;
  padding:         1.8rem 0;
  font-family:     var(--font);
  font-size:       1.35rem;
  font-weight:     600;
  color:           var(--text-hi);
  cursor:          pointer;
  box-sizing:      border-box;
}

#ue2026-content .ue-faq-q::after {
  content:     '+';
  font-size:   1.4rem;
  font-weight: 300;
  color:       var(--accent);
  flex-shrink: 0;
  transition:  transform 0.2s;
}

#ue2026-content .ue-faq-item.open .ue-faq-q::after { transform: rotate(45deg); }

#ue2026-content .ue-faq-a {
  max-height: 0;
  overflow:   hidden;
  transition: max-height 0.35s ease;
}

#ue2026-content .ue-faq-item.open .ue-faq-a { max-height: 600px; }

#ue2026-content .ue-faq-a p {
  padding-bottom: 1.8rem;
  font-size:      1.3rem;
  color:          var(--text);
  line-height:    1.9;
  margin:         0;
}

/* ─────────────────────────────────────────────
   CLOSING
───────────────────────────────────────────── */

#ue2026-content .ue-closing {
  background: var(--bg3);
  padding:    12rem 2rem;
  text-align: center;
  border-top: 1px solid var(--line);
  position:   relative;
  overflow:   hidden;
}

#ue2026-content .ue-closing h2    { margin-bottom: 2.5rem; }

#ue2026-content .ue-closing p {
  max-width:   540px;
  margin:      0 auto 1.5rem;
  font-size:   1.45rem;
  color:       var(--text);
  line-height: 1.8;
}

#ue2026-content .ue-closing .ue-btn-wrap { margin-top: 3.5rem; }

#ue2026-content .ue-closing-date {
  display:        block;
  margin-top:     2rem;
  font-size:      0.9rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          var(--muted);
}

/* ─────────────────────────────────────────────
   IMAGE DE FOND DE SECTION
───────────────────────────────────────────── */

#ue2026-content .ue-section-bg {
  position:        absolute;
  top:             50%;
  left:            0;
  transform:       translateY(-50%);
  width:           100%;
  height:          auto;
  opacity:         0.20;
  z-index:         0;
  display:         block;
  pointer-events:  none;
}

/* Tout contenu doit passer au-dessus du fond */
#ue2026-content .ue-wrap,
#ue2026-content .ue-wrapm,
#ue2026-content .ue-hero-inner,
#ue2026-content .ue-pull,
#ue2026-content .ue-closing-inner {
  position: relative;
  z-index:  1;
}

/* ─────────────────────────────────────────────
   ANIMATIONS SCROLL REVEAL
───────────────────────────────────────────── */

#ue2026-content [data-r] {
  opacity:    0;
  transform:  translateY(20px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

#ue2026-content [data-r="right"] { transform: translateX(28px); }
#ue2026-content [data-r="scale"] { transform: scale(0.96); }

#ue2026-content [data-r][data-d="1"] { transition-delay: 0.05s; }
#ue2026-content [data-r][data-d="2"] { transition-delay: 0.10s; }
#ue2026-content [data-r][data-d="3"] { transition-delay: 0.15s; }
#ue2026-content [data-r][data-d="4"] { transition-delay: 0.20s; }
#ue2026-content [data-r][data-d="5"] { transition-delay: 0.25s; }
#ue2026-content [data-r][data-d="6"] { transition-delay: 0.30s; }
#ue2026-content [data-r][data-d="7"] { transition-delay: 0.35s; }
#ue2026-content [data-r][data-d="8"] { transition-delay: 0.40s; }

#ue2026-content [data-r].on {
  opacity:   1;
  transform: none;
}

/* ─────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────── */

@media (max-width: 640px) {
  #ue2026-content .ue-s       { padding: 6rem 0; }
  #ue2026-content .ue-hero    { padding: 4rem 0 3.5rem; }
  #ue2026-content .ue-closing { padding: 8rem 2rem; }

  #ue2026-content .ue-snum {
    font-size: 4rem;
    right:     1.5rem;
    top:       1.5rem;
  }

  #ue2026-content .ue-format-row {
    grid-template-columns: 1fr;
    gap:                   0.5rem;
  }

  #ue2026-content .ue-pull-wrap { padding: 3rem 2rem; }
}
