/* ==========================================================================
   PRESTATIONS.CSS — Template pages prestations ARPA Trafic
   ========================================================================== */

/* ==========================================================================
   SECTION 1 : HERO
   ========================================================================== */
.at-presta-hero {
  position: relative;
  isolation: isolate;
  padding: calc(var(--at-header-h) + var(--at-reassurance-h) + 60px) 20px 100px;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Fond amélioré */
.at-presta-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    /* Grille de points plus dense */
    radial-gradient(rgba(0, 120, 200, 0.2) 1px, transparent 1px) 0 0 / 24px 24px,
    radial-gradient(rgba(0, 120, 200, 0.012) 1px, transparent 1px) 12px 12px / 24px 24px,
    /* Lignes diagonales subtiles */
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 100px,
      rgba(0, 120, 200, 0.08) 100px,
      rgba(0, 120, 200, 0.12) 101px
    ),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 100px,
      rgba(0, 120, 200, 0.12) 100px,
      rgba(0, 120, 200, 0.08) 101px
    ),
    /* Gradient principal */
    linear-gradient(160deg, rgba(0,120,200,0.38) 0%, rgba(0,120,200,0.16) 40%, rgba(0,120,200,0) 70%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.at-presta-hero-canvas {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.at-presta-hero-contrast {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(600px 400px at 25% 50%, rgba(255,255,255,.65) 0%, rgba(255,255,255,.30) 40%, transparent 70%);
}

.at-presta-hero-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, rgba(248,250,252,0.5) 50%, #f8fafc 100%);
}

@media (max-width: 991px) {
  .at-presta-hero-fade {
    height: 50px;
  }
}

.at-presta-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  align-items: center;
}

@media (min-width: 992px) {
  .at-presta-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
}

/* Colonne gauche - centrée */
.at-presta-hero-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.at-presta-hero-header {
}

/* Badges certifications */
.at-presta-hero-badges {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
  margin-bottom: 32px;
}

.at-presta-hero-badges img {
  height: 50px;
  width: auto;
  filter: grayscale(30%);
  opacity: .85;
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}

.at-presta-hero-badges img:hover {
  filter: none;
  opacity: 1;
  transform: scale(1.05);
}

.at-presta-hero-cta {
  display: flex;
  justify-content: center;
  gap: 12px;
}

/* Colonne droite */
.at-presta-hero-right {
  display: none;
}

@media (min-width: 992px) {
  .at-presta-hero-right {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

/* ==========================================================================
   RESPONSIVE HERO
   ========================================================================== */
@media (max-width: 991px) {
  .at-presta-hero {
    padding-top: calc(var(--at-header-h) + var(--at-reassurance-h) + 40px);
    padding-bottom: 60px;
    min-height: auto;
  }

  .at-presta-hero-badges img {
    height: 40px;
  }
}
/* ==========================================================================
   SECTION 2 : PAIN POINTS
   ========================================================================== */

.at-presta-pain {
  --pain-accent: var(--trafic-primary);
  position: relative;
  padding: 90px 20px;
  overflow: visible;
}

.at-presta-pain-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px) 0 0 / 20px 20px,
    radial-gradient(500px 400px at 85% 10%, color-mix(in srgb, var(--trafic-primary) 10%, transparent) 0%, transparent 60%),
    radial-gradient(400px 300px at 10% 90%, color-mix(in srgb, var(--trafic-cta) 8%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #fff 0%, #f8fafc 50%, #fff 100%);
}

/* Séparateurs */
.at-presta-pain-sep {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 900px);
  height: 1px;
  pointer-events: none;
}

.at-presta-pain-sep--top {
  top: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--trafic-primary) 25%, transparent) 30%, color-mix(in srgb, var(--trafic-cta) 20%, transparent) 70%, transparent);
}

.at-presta-pain-sep--bottom {
  bottom: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--trafic-cta) 20%, transparent) 30%, color-mix(in srgb, var(--trafic-primary) 25%, transparent) 70%, transparent);
}

/* Header */
.at-presta-pain-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 48px;
  padding: 0 20px;
}

/* Scroll wrapper */
.at-presta-pain-scroll-wrap {
  position: relative;
}

/* Container scrollable — DESKTOP = pas de scroll */
.at-presta-pain-scroll {
  overflow: visible;
}

/* Grid — 4 colonnes sur desktop */
.at-presta-pain-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 1100px;
  margin-inline: auto;
}

/* ===================== CARDS ===================== */
.at-presta-pain-card {
  position: relative;
  padding: 32px 24px 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 4px 24px rgba(0,0,0,.07);
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}

.at-presta-pain-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  opacity: .7;
  transition: width .3s ease, opacity .3s ease;
}

.at-presta-pain-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,.12);
}

.at-presta-pain-card:hover::before {
  width: 80%;
  opacity: 1;
}

/* Icône */
.at-presta-pain-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  font-size: 32px;
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-primary) 8%, #fff), color-mix(in srgb, var(--trafic-cta) 6%, #fff));
  border: 1px solid color-mix(in srgb, var(--trafic-primary) 12%, transparent);
  transition: transform .3s ease;
}

.at-presta-pain-card:hover .at-presta-pain-icon {
  transform: scale(1.1) rotate(-3deg);
}

/* Pulse */
.at-presta-pain-pulse {
  position: absolute;
  top: 32px;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: var(--trafic-primary);
  opacity: 0;
  z-index: -1;
  animation: at-pain-pulse 3s ease-in-out infinite;
}

@keyframes at-pain-pulse {
  0%, 100% { opacity: 0; transform: translateX(-50%) scale(1); }
  50% { opacity: .1; transform: translateX(-50%) scale(1.5); }
}

/* Titre */
.at-presta-pain-title {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--trafic-dark);
  transition: color .3s ease;
}

.at-presta-pain-card:hover .at-presta-pain-title {
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Description */
.at-presta-pain-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--trafic-dark);
  opacity: .75;
  margin: 0;
}

/* ===================== FLÈCHES ===================== */
.at-presta-pain-arrow {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  cursor: pointer;
  font-size: 18px;
  color: var(--trafic-dark);
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease;
}

.at-presta-pain-arrow:hover {
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
}

.at-presta-pain-arrow--prev { left: 10px; }
.at-presta-pain-arrow--next { right: 10px; }

.at-presta-pain-arrow:disabled {
  opacity: .3;
  cursor: not-allowed;
}

/* ===================== HINT SCROLL ===================== */
.at-presta-pain-scroll-hint {
  display: none;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
  gap: 8px;
  pointer-events: none;
}

.at-presta-pain-scroll-hint-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
  font-size: 14px;
  animation: at-pain-hint-nudge 1.5s ease-in-out infinite;
}

.at-presta-pain-scroll-hint-text {
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--trafic-dark);
  opacity: .5;
}

@keyframes at-pain-hint-nudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

/* ===================== RESPONSIVE ===================== */

/* Breakpoint 880-1199px : scroll horizontal avec flèches */
@media (min-width: 880px) and (max-width: 1199px) {
  .at-presta-pain {
    padding-left: 0;
    padding-right: 0;
  }

  .at-presta-pain-head {
    padding: 0 40px;
  }

  .at-presta-pain-scroll-wrap {
    padding: 0 50px;
  }

  .at-presta-pain-scroll {
    overflow-x: auto;
    overflow-y: clip;
    overscroll-behavior: contain none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .at-presta-pain-scroll::-webkit-scrollbar {
    display: none;
  }

  .at-presta-pain-grid {
    display: flex;
    gap: 20px;
    max-width: none;
    width: max-content;
    padding: 12px 0;
  }

  .at-presta-pain-card {
    flex: 0 0 280px;
    scroll-snap-align: start;
  }

  .at-presta-pain-arrow {
    display: flex;
  }

  .at-presta-pain-arrow--prev { left: 6px; }
  .at-presta-pain-arrow--next { right: 6px; }
}

/* Tablette 600-879px : scroll horizontal */
@media (min-width: 600px) and (max-width: 879px) {
  .at-presta-pain {
    padding-left: 0;
    padding-right: 0;
  }

  .at-presta-pain-head {
    padding: 0 20px;
  }

  .at-presta-pain-scroll {
    overflow-x: auto;
    overflow-y: clip;
    overscroll-behavior: contain none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .at-presta-pain-scroll::-webkit-scrollbar {
    display: none;
  }

  .at-presta-pain-grid {
    display: flex;
    gap: 16px;
    max-width: none;
    width: max-content;
    padding: 12px 20px;
  }

  .at-presta-pain-card {
    flex: 0 0 260px;
    scroll-snap-align: start;
  }
}

/* Mobile < 600px : scroll horizontal tactile */
@media (max-width: 599px) {
  .at-presta-pain {
    padding: 70px 0;
  }

  .at-presta-pain-head {
    padding: 0 20px;
    margin-bottom: 32px;
  }

  .at-presta-pain-scroll {
    overflow-x: auto;
    overflow-y: clip;
    overscroll-behavior: contain none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }

  .at-presta-pain-scroll::-webkit-scrollbar {
    display: none;
  }

  .at-presta-pain-grid {
    display: flex;
    gap: 14px;
    max-width: none;
    width: max-content;
    padding: 20px 20px 24px;
  }

  .at-presta-pain-card {
    flex: 0 0 calc(100vw - 60px);
    max-width: 300px;
    scroll-snap-align: center;
    padding: 28px 20px 24px;
  }

  .at-presta-pain-icon {
    width: 56px;
    height: 56px;
    font-size: 28px;
  }

  .at-presta-pain-pulse {
    width: 56px;
    height: 56px;
    top: 28px;
  }

  .at-presta-pain-title {
    font-size: 15px;
  }

  .at-presta-pain-desc {
    font-size: 13px;
  }

  /* Hint visible sur tactile */
  .at-presta-pain-scroll-hint {
    display: flex;
  }
}

/* Desktop > 1200px : grid normal, pas de scroll */
@media (min-width: 1200px) {
  .at-presta-pain-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }

  .at-presta-pain-arrow,
  .at-presta-pain-scroll-hint {
    display: none !important;
  }
}

/* Desktop : effets hover plus marqués */
@media (min-width: 1200px) and (hover: hover) {
  .at-presta-pain-card {
    box-shadow: 0 6px 28px rgba(0,0,0,.08);
  }

  .at-presta-pain-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 
      0 20px 50px rgba(0,0,0,.14),
      0 0 0 1px color-mix(in srgb, var(--trafic-primary) 15%, transparent);
  }

  .at-presta-pain-card:hover::before {
    width: 100%;
  }

  .at-presta-pain-card:hover .at-presta-pain-icon {
    transform: scale(1.15) rotate(-5deg);
    box-shadow: 0 8px 24px color-mix(in srgb, var(--trafic-primary) 25%, transparent);
  }
}

/* ===================== HOVER TACTILE DÉSACTIVÉ ===================== */
@media (hover: none) {
  .at-presta-pain-card:hover {
    transform: none;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
  }

  .at-presta-pain-card:hover::before {
    width: 50px;
    opacity: .7;
  }

  .at-presta-pain-card:hover .at-presta-pain-icon {
    transform: none;
  }

  .at-presta-pain-card:hover .at-presta-pain-title {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    color: var(--trafic-dark);
  }
}

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-pain-pulse,
  .at-presta-pain-scroll-hint-arrow {
    animation: none;
  }

  .at-presta-pain-card,
  .at-presta-pain-icon {
    transition: none;
  }

  .at-presta-pain-scroll {
    scroll-behavior: auto;
  }
}

/* ==========================================================================
   SECTION 3 : PROCESS / TIMELINE — VERSION PREMIUM
   ========================================================================== */
.at-presta-process {
  --timeline-accent: var(--trafic-primary);
  --timeline-accent-alt: var(--trafic-cta);
  
  position: relative;
  padding: 100px 20px;
  overflow: hidden;
  isolation: isolate;
}

/* Background amélioré */
.at-presta-process-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    /* Grille subtile */
    radial-gradient(circle at center, rgba(0,120,200,.03) 1px, transparent 1px) 0 0 / 32px 32px,
    /* Halos de couleur */
    radial-gradient(600px 400px at 10% 80%, color-mix(in srgb, var(--timeline-accent-alt) 8%, transparent) 0%, transparent 60%),
    radial-gradient(500px 350px at 90% 20%, color-mix(in srgb, var(--timeline-accent) 6%, transparent) 0%, transparent 60%),
    /* Base */
    linear-gradient(180deg, #fff 0%, #f8fafc 50%, #fff 100%);
}

/* Particules flottantes décoratives */
.at-presta-process-particles {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.at-presta-process-particle {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--timeline-accent), var(--timeline-accent-alt));
  opacity: .12;
  filter: blur(1px);
}

.at-presta-process-particle:nth-child(1) {
  width: 120px;
  height: 120px;
  top: 15%;
  left: 8%;
  animation: at-float 12s ease-in-out infinite;
}

.at-presta-process-particle:nth-child(2) {
  width: 80px;
  height: 80px;
  top: 60%;
  right: 5%;
  animation: at-float 10s ease-in-out infinite 2s;
}

.at-presta-process-particle:nth-child(3) {
  width: 60px;
  height: 60px;
  bottom: 20%;
  left: 15%;
  animation: at-float 14s ease-in-out infinite 4s;
}

@keyframes at-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(5deg); }
}

/* Header */
.at-presta-process-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 60px;
}

/* ==========================================================================
   TIMELINE CONTAINER
   ========================================================================== */
.at-presta-timeline {
  position: relative;
  max-width: 780px;
  margin: 0 auto;
  padding-left: 50px;
}

/* Track (ligne verticale) */
.at-presta-timeline-track {
  position: absolute;
  left: 20px;
  top: 20px;
  bottom: 20px;
  width: 4px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--timeline-accent) 20%, transparent),
    color-mix(in srgb, var(--timeline-accent) 12%, transparent)
  );
  border-radius: 999px;
  overflow: visible;
}

/* Progress animé */
.at-presta-timeline-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: linear-gradient(180deg, var(--timeline-accent), var(--timeline-accent-alt));
  border-radius: 999px;
  will-change: height;
}

/* Glow qui suit la progression */
.at-presta-timeline-glow {
  position: absolute;
  left: 50%;
  top: 0;
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--timeline-accent);
  opacity: 0;
  filter: blur(8px);
  will-change: top, opacity;
  pointer-events: none;
}

.at-presta-timeline.is-in-view .at-presta-timeline-glow {
  opacity: .6;
}

/* ==========================================================================
   ÉTAPES
   ========================================================================== */
.at-presta-timeline-step {
  position: relative;
  padding: 0 0 50px 40px;
}

.at-presta-timeline-step:last-child {
  padding-bottom: 0;
}

/* État actif */
.at-presta-timeline-step.is-active .at-presta-timeline-marker {
  transform: scale(1.15);
  box-shadow: 
    0 0 0 6px color-mix(in srgb, var(--timeline-accent) 15%, transparent),
    0 8px 32px color-mix(in srgb, var(--timeline-accent) 40%, transparent);
}

.at-presta-timeline-step.is-active .at-presta-timeline-pulse {
  animation: at-pulse-ring 2s ease-out infinite;
}

.at-presta-timeline-step.is-active .at-presta-timeline-content {
  transform: translateX(8px);
  box-shadow: 
    0 20px 50px rgba(0,0,0,.12),
    0 0 0 1px color-mix(in srgb, var(--timeline-accent) 20%, transparent);
}

.at-presta-timeline-step.is-active .at-presta-timeline-content::before {
  opacity: 1;
}

/* ==========================================================================
   MARKER (PASTILLE)
   ========================================================================== */
.at-presta-timeline-marker {
  position: absolute;
  left: -50px;
  top: 8px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--timeline-accent), var(--timeline-accent-alt));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 
    0 4px 20px color-mix(in srgb, var(--timeline-accent) 35%, transparent),
    inset 0 1px 0 rgba(255,255,255,.3);
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), box-shadow .4s ease;
  z-index: 2;
}

/* Icône */
.at-presta-timeline-icon {
  font-size: 20px;
  line-height: 1;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.2));
}

/* Fallback numéro (si besoin via CSS) */
.at-presta-timeline-marker::after {
  content: attr(data-num);
  position: absolute;
  bottom: -6px;
  right: -6px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--trafic-dark);
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

/* Pulse ring */
.at-presta-timeline-pulse {
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 2px solid var(--timeline-accent);
  opacity: 0;
  pointer-events: none;
}

@keyframes at-pulse-ring {
  0% {
    transform: scale(1);
    opacity: .6;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

/* ==========================================================================
   CARTE CONTENU
   ========================================================================== */
.at-presta-timeline-content {
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.92),
    rgba(255,255,255,.98)
  );
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 20px;
  padding: 2px;
  box-shadow: 
    0 10px 40px rgba(0,0,0,.08),
    inset 0 0 0 1px rgba(255,255,255,.5);
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), box-shadow .4s ease;
  overflow: hidden;
}

/* Bordure dégradée (via pseudo) */
.at-presta-timeline-content::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: linear-gradient(135deg, var(--timeline-accent), var(--timeline-accent-alt));
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}

.at-presta-timeline-content:hover::before {
  opacity: 1;
}

.at-presta-timeline-content:hover {
  transform: translateX(6px);
  box-shadow: 
    0 16px 50px rgba(0,0,0,.12),
    0 0 0 1px color-mix(in srgb, var(--timeline-accent) 15%, transparent);
}

/* Inner (pour le padding sans casser le mask) */
.at-presta-timeline-content-inner {
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.98),
    rgba(248,250,252,.95)
  );
  border-radius: 18px;
  padding: 24px 28px;
     text-align: center;
}

/* Titre */
.at-presta-timeline-title {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--trafic-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

/* Description */
.at-presta-timeline-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--trafic-dark);
  opacity: .85;
  margin: 0 0 16px;
}

/* Tag livrable */
.at-presta-timeline-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--timeline-accent) 8%, #fff),
    color-mix(in srgb, var(--timeline-accent-alt) 5%, #fff)
  );
  border: 1px solid color-mix(in srgb, var(--timeline-accent) 15%, transparent);
  font-size: 12px;
  font-weight: normal;
  color: var(--trafic-dark);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
   margin: 0 auto;
}

.at-presta-timeline-tag-icon {
  font-size: 14px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767px) {
  .at-presta-process {
    padding: 70px 16px;
  }

  .at-presta-timeline {
    padding-left: 30px;
  }

  .at-presta-timeline-track {
    left: 14px;
    width: 3px;
  }

  .at-presta-timeline-marker {
    left: -30px;
    width: 33px;
    height: 33px;
  }

  .at-presta-timeline-icon {
    font-size: 14px;
  }

  .at-presta-timeline-marker::after {
    width: 18px;
    height: 18px;
    font-size: 10px;
    bottom: -5px;
    right: -5px;
  }

  .at-presta-timeline-step {
    padding-left: 28px;
    padding-bottom: 36px;
  }

  .at-presta-timeline-content-inner {
    padding: 20px;
  }

  .at-presta-timeline-title {
    font-size: 16px;
  }

  .at-presta-timeline-desc {
    font-size: 13px;
  }

  /* Pas de particules sur mobile */
  .at-presta-process-particles {
    display: none;
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-process-particle {
    animation: none;
  }

  .at-presta-timeline-pulse {
    animation: none !important;
  }

  .at-presta-timeline-progress,
  .at-presta-timeline-glow,
  .at-presta-timeline-content,
  .at-presta-timeline-marker {
    transition: none;
  }
}
/* ==========================================================================
   SECTION 4 : LIVRABLES
   ========================================================================== */

.at-presta-deliverables {
  position: relative;
  padding: 100px 20px;
  overflow: visible;
}

.at-presta-deliverables-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px) 0 0 / 18px 18px,
    radial-gradient(600px 400px at 80% 20%, color-mix(in srgb, var(--trafic-primary) 8%, transparent) 0%, transparent 60%),
    radial-gradient(400px 300px at 15% 85%, color-mix(in srgb, var(--trafic-cta) 6%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #f8fafc 0%, #fff 40%, #fff 60%, #f8fafc 100%);
}

/* Séparateurs */
.at-presta-deliverables-sep {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 900px);
  height: 1px;
  pointer-events: none;
}

.at-presta-deliverables-sep--top {
  top: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--trafic-cta) 20%, transparent) 30%, color-mix(in srgb, var(--trafic-primary) 25%, transparent) 70%, transparent);
}

.at-presta-deliverables-sep--bottom {
  bottom: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--trafic-primary) 20%, transparent) 30%, color-mix(in srgb, var(--trafic-cta) 25%, transparent) 70%, transparent);
}

/* Header */
.at-presta-deliverables-head {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 60px;
}

/* Wrapper scroll — masqué par défaut (desktop) */
.at-presta-deliverables-scroll {
  /* Rien sur desktop */
}

/* Hint masqué par défaut */
.at-presta-deliverables-hint {
  display: none;
}

/* Grid — 2 colonnes desktop */
.at-presta-deliverables-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 1100px;
  margin-inline: auto;
}

/* ===================== CARDS ===================== */
.at-presta-deliverable {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
  transition: transform .3s ease, box-shadow .3s ease;
}

/* Ligne décorative en haut */
.at-presta-deliverable::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: opacity .3s ease, transform .4s ease;
}

.at-presta-deliverable:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,.12);
}

.at-presta-deliverable:hover::before {
  opacity: 1;
  transform: scaleX(1);
}

/* ===================== HEADER (Icône + Titre inline) ===================== */
.at-presta-deliverable-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}

.at-presta-deliverable-icon-wrap {
  position: relative;
  flex: 0 0 auto;
}

.at-presta-deliverable-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  font-size: 24px;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-primary) 10%, #fff), color-mix(in srgb, var(--trafic-cta) 8%, #fff));
  border: 1px solid color-mix(in srgb, var(--trafic-primary) 12%, transparent);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--trafic-primary) 10%, transparent);
  transition: transform .3s ease, box-shadow .3s ease;
}

.at-presta-deliverable:hover .at-presta-deliverable-icon {
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--trafic-primary) 20%, transparent);
}

/* Numéro en bas à gauche */
.at-presta-deliverable-num {
  position: absolute;
  bottom: -8px;
  left: -8px;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  border-radius: 8px;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--trafic-primary) 35%, transparent);
}

/* Titre dans le header */
.at-presta-deliverable-title {
  flex: 1;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 17px;
  font-weight: 600;
  margin: 0;
  color: var(--trafic-dark);
  transition: color .3s ease;
}

.at-presta-deliverable:hover .at-presta-deliverable-title {
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ===================== CONTENU ===================== */
.at-presta-deliverable-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.at-presta-deliverable-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--trafic-dark);
  opacity: .8;
  margin: 0 0 14px;
}

/* ===================== LISTE DÉTAILS ===================== */
.at-presta-deliverable-details {
  list-style: none;
  margin: 0 0 16px;
  padding: 0 0 0 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left: 15%;
}

.at-presta-deliverable-details li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--trafic-dark);
  opacity: .75;
  text-align: left;
}

.at-presta-deliverable-details li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: .7;
}

/* ===================== FORMAT LIVRABLE ===================== */
.at-presta-deliverable-format {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--trafic-grey);
  font-size: 12px;
  font-weight: 600;
  color: var(--trafic-dark);
  margin-top: auto;
  align-self: center;
  transition: background .2s ease;
}

.at-presta-deliverable:hover .at-presta-deliverable-format {
  background: color-mix(in srgb, var(--trafic-primary) 10%, #fff);
}

.at-presta-deliverable-format-icon {
  font-size: 14px;
}

/* ===================== RESPONSIVE ===================== */

/* Tablette */
@media (max-width: 900px) {
  .at-presta-deliverables-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .at-presta-deliverable {
    padding: 24px;
  }
}

/* ===================== MOBILE — SCROLL HORIZONTAL ===================== */
@media (max-width: 599px) {
  .at-presta-deliverables {
    padding: 70px 0;
    overflow-x: clip;
  }

  .at-presta-deliverables-head {
    padding: 0 20px;
    margin-bottom: 40px;
  }

  /* Wrapper scroll actif */
  .at-presta-deliverables-scroll {
    display: block;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .at-presta-deliverables-scroll::-webkit-scrollbar {
    display: none;
  }

  /* Grid en flex nowrap */
  .at-presta-deliverables-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    max-width: none;
    padding: 20px 20px 28px;
    margin: 0;
  }

  /* Cards largeur fixe */
  .at-presta-deliverable {
    flex: 0 0 300px;
    width: 300px;
    min-width: 300px;
    scroll-snap-align: center;
    padding: 24px 20px;
  }

  .at-presta-deliverable-header {
    gap: 14px;
    margin-bottom: 12px;
  }

  .at-presta-deliverable-icon {
    width: 48px;
    height: 48px;
    font-size: 22px;
    border-radius: 12px;
  }

  .at-presta-deliverable-num {
    width: 24px;
    height: 24px;
    font-size: 11px;
    bottom: -6px;
    left: -6px;
  }

  .at-presta-deliverable-title {
    font-size: 15px;
  }

  .at-presta-deliverable-desc {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .at-presta-deliverable-details {
    padding-left: 4px;
    gap: 5px;
    margin-bottom: 14px;
  }

  .at-presta-deliverable-details li {
    font-size: 12px;
    padding-left: 16px;
  }

  .at-presta-deliverable-details li::before {
    width: 5px;
    height: 5px;
    top: 6px;
  }

  .at-presta-deliverable-format {
    padding: 6px 12px;
    font-size: 11px;
  }

  /* Hint scroll visible */
  .at-presta-deliverables-hint {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding-top: 8px;
     transition: opacity .3s ease;
  }

  .at-presta-deliverables-hint-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
    color: #fff;
    font-size: 14px;
    animation: at-deliverables-hint-nudge 1.5s ease-in-out infinite;
  }

  .at-presta-deliverables-hint-text {
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--trafic-dark);
    opacity: .5;
  }
}

@keyframes at-deliverables-hint-nudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

/* ===================== HOVER TACTILE DÉSACTIVÉ ===================== */
@media (hover: none) {
  .at-presta-deliverable:hover {
    transform: none;
    box-shadow: 0 4px 24px rgba(0,0,0,.06);
  }

  .at-presta-deliverable:hover::before {
    opacity: 0;
    transform: scaleX(0);
  }

  .at-presta-deliverable:hover .at-presta-deliverable-icon {
    transform: none;
  }

  .at-presta-deliverable:hover .at-presta-deliverable-title {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    color: var(--trafic-dark);
  }

  .at-presta-deliverable:hover .at-presta-deliverable-format {
    background: var(--trafic-grey);
  }
}

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-deliverable,
  .at-presta-deliverable::before,
  .at-presta-deliverable-icon,
  .at-presta-deliverable-format {
    transition: none;
  }

  .at-presta-deliverables-hint-arrow {
    animation: none;
  }
}
/* ==========================================================================
   SECTION 5 : STACK / OUTILS — WALL VERSION DARK
   ========================================================================== */
.at-presta-stack {
  position: relative;
  padding: 80px 20px;
  overflow: hidden;
  color: #fff;
}

.at-presta-stack-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(600px 400px at 15% 30%, color-mix(in srgb, var(--trafic-primary) 20%, transparent) 0%, transparent 60%),
    radial-gradient(500px 350px at 85% 70%, color-mix(in srgb, var(--trafic-cta) 15%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #1e2a3a 0%, #152030 100%);
}

.at-presta-stack-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 40px;
}

.at-presta-stack .at-kicker {
  color: var(--trafic-primary);
}

.at-presta-stack .at-h2-title {
  color: #fff;
}

.at-presta-stack .at-h2-title span {
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Wall de logos */
.at-presta-stack-wall {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 40px;
  list-style: none;
  margin: 0;
  padding: 32px 60px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.10));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 
    0 8px 32px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.05);
  max-width: 900px;
  margin-inline: auto;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.at-presta-stack-wall li {
  display: flex;
  align-items: center;
  justify-content: center;
}

.at-presta-stack-wall img {
  height: 60px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  filter: grayscale(100%) brightness(0) invert(1);
  opacity: .5;
  transition: filter .3s ease, opacity .3s ease, transform .3s ease;
}

.at-presta-stack-wall li:hover img {
  filter: none;
  opacity: 1;
  transform: scale(1.08);
}

/* Séparation bas de section */
.at-presta-stack::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 100%);
  pointer-events: none;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767px) {
  .at-presta-stack {
    padding: 60px 16px;
  }

  .at-presta-stack-wall {
    gap: 20px 45px;
    padding: 24px 20px;
  }

  .at-presta-stack-wall img {
    height: 45px;
    max-width: 100px;
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-stack-wall img {
    transition: none;
  }
}
/* ==========================================================================
   SECTION 6 : RÉSULTATS CONCRETS
   ========================================================================== */
.at-presta-results {
  position: relative;
  padding: 90px 20px;
  overflow: hidden;
}

/* --- FOND TEXTURÉ RENFORCÉ --- */
.at-presta-results-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    /* Grille plus visible */
    radial-gradient(circle at center, rgba(0,120,200,.15) 1.5px, transparent 1.5px) 0 0 / 28px 28px,
    /* Halos plus intenses */
    radial-gradient(600px 450px at 5% 85%, color-mix(in srgb, var(--trafic-cta) 18%, transparent) 0%, transparent 55%),
    radial-gradient(550px 400px at 95% 15%, color-mix(in srgb, var(--trafic-primary) 15%, transparent) 0%, transparent 55%),
    radial-gradient(400px 300px at 50% 50%, color-mix(in srgb, var(--trafic-primary) 6%, transparent) 0%, transparent 60%),
    /* Base avec plus de contraste */
    linear-gradient(180deg, #f8fafc 0%, #fff 30%, #fff 70%, #f4f7fa 100%);
}

.at-presta-results-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 50px;
}

.at-presta-results-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  max-width: 920px;
  margin: 0 auto;
  align-items: stretch;
}

/* ==========================================================================
   CASE STUDY CARD
   ========================================================================== */
.at-presta-results-case {
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.98));
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 20px;
  box-shadow: 0 16px 48px rgba(0,0,0,.07);
  display: flex;
  flex-direction: column;
}

.at-presta-results-case-header {
  padding: 22px 24px;
  border-bottom: 1px solid rgba(0,0,0,.05);
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-primary) 5%, #fff), color-mix(in srgb, var(--trafic-cta) 3%, #fff));
  border-radius: 20px 20px 0 0;
}

.at-presta-results-case-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 16px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

.at-presta-results-case-logo {
  max-height: 40px;
  max-width: 60px;
  object-fit: contain;
}

.at-presta-results-case-tags {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.at-presta-results-case-tags li {
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  border: 1px solid rgba(0,0,0,.06);
}

/* ==========================================================================
   COMPARAISON AVANT / APRES
   ========================================================================== */
.at-presta-results-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex: 1;
  border-radius: 0 0 20px 20px;
  overflow: hidden;
}

.at-presta-results-col {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
}

.at-presta-results-col--before {
  background: var(--trafic-grey);
}

.at-presta-results-col--after {
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-cta) 12%, #fff), color-mix(in srgb, var(--trafic-cta) 6%, #fff));
}

.at-presta-results-label {
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: 5px 14px;
  border-radius: 999px;
}

.at-presta-results-col--before .at-presta-results-label {
  background: rgba(0,0,0,.08);
  color: var(--trafic-dark);
}

.at-presta-results-col--after .at-presta-results-label {
  background: var(--trafic-cta);
  color: #fff;
}

.at-presta-results-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.at-presta-results-stat-value {
  font-family: 'Oswald', sans-serif;
  font-size: clamp(40px, 6vw, 56px);
  font-weight: 700;
  line-height: 1;
  color: var(--trafic-dark);
}

.at-presta-results-col--after .at-presta-results-stat-value {
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.at-presta-results-stat-label {
  font-size: 13px;
  color: var(--trafic-dark);
  opacity: .65;
}

.at-presta-results-badge {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--trafic-cta) 40%, transparent);
}

/* ==========================================================================
   TEMOIGNAGE
   ========================================================================== */
.at-presta-results-testimonial {
  margin: 0;
  display: flex;
}

.at-presta-results-testimonial-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.98));
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 16px 48px rgba(0,0,0,.07);
}

.at-presta-results-quote {
  margin: 0 0 auto;
  padding: 0;
  border: none;
}

.at-presta-results-quote p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--trafic-dark);
  font-style: italic;
  margin: 0 0 24px;
}

.at-presta-results-quote::before {
  content: "\201C\201C";
  display: block;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 12px;
  opacity: .15;
}

.at-presta-results-author {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,.06);
}

.at-presta-results-avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(0,0,0,.06);
}

.at-presta-results-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.at-presta-results-author-info strong {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
}

.at-presta-results-author-info span {
  font-size: 12px;
  color: var(--trafic-dark);
  opacity: .65;
}

.at-presta-results-google-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,.04);
  font-size: 12px;
  text-decoration: none;
  color: var(--trafic-dark);
  transition: background .2s ease;
}

.at-presta-results-google-link:hover {
  background: rgba(0,0,0,.08);
}

.at-presta-results-google-stars {
  color: #fbbc05;
  letter-spacing: 1px;
}

.at-presta-results-google-text {
  font-weight: 600;
  opacity: .8;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767px) {
  .at-presta-results {
    padding: 70px 16px;
  }

  .at-presta-results-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .at-presta-results-case-logo-wrap {
    width: 70px;
    height: 70px;
  }

  .at-presta-results-col {
    padding: 24px 20px;
  }

  .at-presta-results-testimonial-inner {
    padding: 24px 20px;
  }

  .at-presta-results-author {
    flex-wrap: wrap;
  }

  .at-presta-results-google-link {
    margin-left: 0;
  }
}

/* --- FOND TEXTURÉ (pattern CSS pur, pas de SVG) --- */
.at-presta-results-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: 
    radial-gradient(circle at center, rgba(0,120,200,.04) 1px, transparent 1px),
linear-gradient(90deg, transparent 48.5%, rgba(0,120,200,.03) 48.5%, rgba(0,120,200,.03) 51.5%, transparent 51.5%),
linear-gradient(0deg, transparent 48.5%, rgba(0,120,200,.03) 48.5%, rgba(0,120,200,.03) 51.5%, transparent 51.5%);
  background-size: 14px 14px, 56px 56px, 56px 56px;
  pointer-events: none;
  opacity: .7;
}

.at-presta-results-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(255,255,255,.85) 0%, transparent 60%),
    radial-gradient(ellipse 50% 30% at 50% 100%, rgba(255,255,255,.6) 0%, transparent 50%),
    radial-gradient(circle at 0% 50%, color-mix(in srgb, var(--trafic-primary) 8%, transparent) 0%, transparent 40%),
    radial-gradient(circle at 100% 50%, color-mix(in srgb, var(--trafic-cta) 8%, transparent) 0%, transparent 40%);
  pointer-events: none;
}

/* --- CASE STUDY CARD : hover premium --- */
.at-presta-results-case {
  transition: transform .3s ease, box-shadow .3s ease;
}

.at-presta-results-case::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
  z-index: -1;
}

.at-presta-results-case:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,.12);
}

.at-presta-results-case:hover::before {
  opacity: .6;
}

/* --- TEMOIGNAGE : hover subtil --- */
.at-presta-results-testimonial-inner {
  transition: transform .3s ease, box-shadow .3s ease;
}

.at-presta-results-testimonial-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,.10);
}

/* --- BADGE +247% : pulse animation --- */
.at-presta-results-badge {
  position: relative;
  animation: at-results-pulse 2.5s ease-in-out infinite;
}

@keyframes at-results-pulse {
  0%, 100% { 
    box-shadow: 0 4px 12px color-mix(in srgb, var(--trafic-cta) 40%, transparent);
  }
  50% { 
    box-shadow: 0 4px 20px color-mix(in srgb, var(--trafic-cta) 60%, transparent),
                0 0 0 8px color-mix(in srgb, var(--trafic-cta) 10%, transparent);
  }
}

/* --- CHIFFRES : shimmer au hover --- */
.at-presta-results-col--after .at-presta-results-stat-value {
  position: relative;
  overflow: hidden;
}

.at-presta-results-col--after .at-presta-results-stat-value::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.4),
    transparent
  );
  transition: none;
  pointer-events: none;
}

.at-presta-results-case:hover .at-presta-results-col--after .at-presta-results-stat-value::after {
  animation: at-shimmer-stat .8s ease-out;
}

@keyframes at-shimmer-stat {
  0% { left: -100%; }
  100% { left: 150%; }
}

/* --- GUILLEMETS stylisés --- */
.at-presta-results-quote::before {
  content: "";
  display: block;
  width: 40px;
  height: 30px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M0 20 L0 10 Q0 0 10 0 L15 0 L15 5 L10 5 Q5 5 5 10 L5 12 L15 12 L15 30 L0 30 L0 20Z M22 20 L22 10 Q22 0 32 0 L37 0 L37 5 L32 5 Q27 5 27 10 L27 12 L37 12 L37 30 L22 30 L22 20Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M0 20 L0 10 Q0 0 10 0 L15 0 L15 5 L10 5 Q5 5 5 10 L5 12 L15 12 L15 30 L0 30 L0 20Z M22 20 L22 10 Q22 0 32 0 L37 0 L37 5 L32 5 Q27 5 27 10 L27 12 L37 12 L37 30 L22 30 L22 20Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  opacity: .25;
}

/* --- TAGS : hover individuel --- */
.at-presta-results-case-tags li {
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.at-presta-results-case-tags li:hover {
  transform: translateY(-2px);
  background: #fff;
  border-color: var(--trafic-primary);
}

/* --- LIEN GOOGLE : hover amélioré --- */
.at-presta-results-google-link {
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.at-presta-results-google-link:hover {
  background: rgba(0,0,0,.08);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* --- SEPARATEUR BAS --- */
.at-presta-results::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(80%, 500px);
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--trafic-primary), var(--trafic-cta), transparent);
  opacity: .3;
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-results-case,
  .at-presta-results-case::before,
  .at-presta-results-testimonial-inner,
  .at-presta-results-case-tags li,
  .at-presta-results-google-link {
    transition: none;
  }
  
  .at-presta-results-badge {
    animation: none;
  }
  
  .at-presta-results-case:hover .at-presta-results-col--after .at-presta-results-stat-value::after {
    animation: none;
  }
}
/* ==========================================================================
   SECTION 7 : FAQ — VERSION PREMIUM
   ========================================================================== */
.at-presta-faq {
  position: relative;
  padding: 90px 20px;
  overflow: hidden;
}

/* --- BACKGROUND TEXTURÉ --- */
.at-presta-faq-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at center, rgba(0,120,200,.04) 1px, transparent 1px) 0 0 / 24px 24px,
    radial-gradient(600px 400px at 80% 20%, color-mix(in srgb, var(--trafic-primary) 10%, transparent) 0%, transparent 55%),
    radial-gradient(500px 350px at 20% 80%, color-mix(in srgb, var(--trafic-cta) 8%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #fff 50%, #f8fafc 100%);
}

.at-presta-faq-bg::before {
  content: "";
  position: absolute;
  inset: 0;
background-image: 
    linear-gradient(90deg, transparent 48.5%, rgba(0,120,200,.025) 48.5%, rgba(0,120,200,.025) 51.5%, transparent 51.5%),
    linear-gradient(0deg, transparent 48.5%, rgba(0,120,200,.025) 48.5%, rgba(0,120,200,.025) 51.5%, transparent 51.5%);
  background-size: 48px 48px;
  pointer-events: none;
}

/* Points d'interrogation décoratifs */
.at-presta-faq-bg::after {
  content: "?";
  position: absolute;
  top: 80px;
  left: 8%;
  font-family: 'Oswald', sans-serif;
  font-size: 180px;
  font-weight: 700;
  color: var(--trafic-primary);
  opacity: .07;
  transform: rotate(-15deg);
  pointer-events: none;
  user-select: none;
}

.at-presta-faq::after {
  content: "?";
  position: absolute;
  bottom: 90px;
  right: 3%;
  font-family: 'Oswald', sans-serif;
  font-size: 240px;
  font-weight: 700;
  color: var(--trafic-cta);
  opacity: .065;
  transform: rotate(12deg);
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

/* Séparateur haut */
.at-presta-faq::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(80%, 600px);
  height: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--trafic-primary) 30%, transparent), color-mix(in srgb, var(--trafic-cta) 25%, transparent), transparent);
}

.at-presta-faq-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 50px;
}

/* --- LISTE FAQ --- */
.at-presta-faq-list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  counter-reset: faq-counter;
}

/* --- ITEM FAQ --- */
.at-presta-faq-item {
  position: relative;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.99));
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
  counter-increment: faq-counter;
}

/* Ligne dégradée en haut */
.at-presta-faq-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}

.at-presta-faq-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(0,0,0,.08);
}

.at-presta-faq-item:hover::before {
  transform: scaleX(1);
}

.at-presta-faq-item[open] {
  box-shadow: 0 14px 40px rgba(0,0,0,.10);
}

.at-presta-faq-item[open]::before {
  transform: scaleX(1);
}

/* --- QUESTION (SUMMARY) --- */
.at-presta-faq-question {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  cursor: pointer;
  list-style: none;
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .03em;
  color: var(--trafic-dark);
  transition: background .2s ease;
}

.at-presta-faq-question::-webkit-details-marker {
  display: none;
}

.at-presta-faq-question:hover {
  background: rgba(0,0,0,.015);
}

/* Numéro de question */
.at-presta-faq-question::before {
  content: counter(faq-counter, decimal-leading-zero);
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-primary) 10%, #fff), color-mix(in srgb, var(--trafic-cta) 8%, #fff));
  border: 1px solid color-mix(in srgb, var(--trafic-primary) 15%, transparent);
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--trafic-primary);
  transition: background .3s ease, color .3s ease, transform .3s ease;
}

.at-presta-faq-item[open] .at-presta-faq-question::before {
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
  transform: scale(1.05);
}

.at-presta-faq-question span:first-of-type {
  flex: 1;
}

/* --- ICONE +/- --- */
.at-presta-faq-icon {
  position: relative;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--trafic-grey);
  transition: background .3s ease, transform .3s ease;
}

.at-presta-faq-item:hover .at-presta-faq-icon {
  background: color-mix(in srgb, var(--trafic-primary) 12%, #fff);
}

.at-presta-faq-item[open] .at-presta-faq-icon {
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  transform: rotate(180deg);
}

.at-presta-faq-icon::before,
.at-presta-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background: var(--trafic-primary);
  border-radius: 999px;
  transition: transform .3s ease, background .3s ease;
}

.at-presta-faq-icon::before {
  transform: translate(-50%, -50%);
}

.at-presta-faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.at-presta-faq-item[open] .at-presta-faq-icon::before,
.at-presta-faq-item[open] .at-presta-faq-icon::after {
  background: #fff;
}

.at-presta-faq-item[open] .at-presta-faq-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* --- RÉPONSE --- */
.at-presta-faq-answer {
  padding: 0 24px 24px;
  padding-left: 76px; /* Aligné avec le texte de la question */
  animation: at-faq-slide-down .35s ease;
}

@keyframes at-faq-slide-down {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.at-presta-faq-answer p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--trafic-dark);
  opacity: .85;
  margin: 0;
}

.at-presta-faq-answer p + p {
  margin-top: 12px;
}

.at-presta-faq-answer a {
  color: var(--trafic-primary);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--trafic-primary) 30%, transparent);
  text-underline-offset: 3px;
  transition: text-decoration-color .2s ease;
}

.at-presta-faq-answer a:hover {
  text-decoration-color: var(--trafic-primary);
}

/* --- CTA EN BAS DE FAQ (optionnel) --- */
.at-presta-faq-cta {
  text-align: center;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(0,0,0,.06);
}

.at-presta-faq-cta-text {
  font-size: 15px;
  color: var(--trafic-dark);
  opacity: .8;
  margin: 0 0 16px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767px) {
  .at-presta-faq {
    padding: 70px 16px;
  }

  .at-presta-faq-list {
    gap: 12px;
  }

  .at-presta-faq-question {
    padding: 18px 18px;
    gap: 12px;
    font-size: 15px;
  }

  .at-presta-faq-question::before {
    width: 32px;
    height: 32px;
    font-size: 12px;
    border-radius: 8px;
  }

  .at-presta-faq-icon {
    width: 26px;
    height: 26px;
  }

  .at-presta-faq-answer {
    padding: 0 18px 20px;
    padding-left: 62px;
  }

  .at-presta-faq-answer p {
    font-size: 14px;
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-faq-item,
  .at-presta-faq-item::before,
  .at-presta-faq-question::before,
  .at-presta-faq-icon {
    transition: none;
  }

  .at-presta-faq-answer {
    animation: none;
  }
}


/* ==========================================================================
   SECTION 8 : EXPERTISE LOCALE
   ========================================================================== */
.at-presta-local {
  position: relative;
  padding: 90px 20px;
  overflow: hidden;
}

/* --- BACKGROUND INNOVANT --- */
.at-presta-local-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    /* Gros cercles décoratifs */
    radial-gradient(circle 400px at 5% 20%, color-mix(in srgb, var(--trafic-primary) 12%, transparent) 0%, transparent 70%),
    radial-gradient(circle 350px at 95% 80%, color-mix(in srgb, var(--trafic-cta) 10%, transparent) 0%, transparent 70%),
    /* Base */
    linear-gradient(180deg, #f0f4f8 0%, #fff 50%, #f0f4f8 100%);
}

/* Formes géométriques décoratives */
.at-presta-local-bg::before {
  content: "";
  position: absolute;
  top: 10%;
  left: -5%;
  width: 300px;
  height: 300px;
  border: 3px solid color-mix(in srgb, var(--trafic-primary) 15%, transparent);
  border-radius: 50%;
  transform: rotate(-15deg);
  pointer-events: none;
}

.at-presta-local-bg::after {
  content: "";
  position: absolute;
  bottom: 5%;
  right: -8%;
  width: 400px;
  height: 400px;
  border: 3px solid color-mix(in srgb, var(--trafic-cta) 12%, transparent);
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
  transform: rotate(20deg);
  pointer-events: none;
}

/* Pin décoratif géant */
.at-presta-local::after {
  content: "📍";
  position: absolute;
  top: 60px;
  right: 8%;
  font-size: 120px;
  opacity: .06;
  transform: rotate(15deg);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* Séparateur haut animé + épais */
.at-presta-local::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 5%,
    var(--trafic-primary) 30%,
    var(--trafic-cta) 70%,
    transparent 95%
  );
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}

.at-presta-local.is-inview::before {
  transform: scaleX(1);
}

/* --- HEADER CENTRÉ --- */
.at-presta-local-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 50px;
}

/* --- GRID 2 COLONNES DESKTOP --- */
.at-presta-local-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 50px;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

/* --- CONTENU GAUCHE (centré dans sa colonne) --- */
.at-presta-local-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
}

/* --- MINI-STATS --- */
.at-presta-local-stats {
  display: flex;
  justify-content: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.at-presta-local-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.99));
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

.at-presta-local-stat:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 36px rgba(0,0,0,.12);
}

.at-presta-local-stat-value {
  font-family: 'Oswald', sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.at-presta-local-stat-label {
  font-size: 12px;
  color: var(--trafic-dark);
  opacity: .7;
  text-align: center;
}

/* --- ADRESSE --- */
.at-presta-local-address {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 20px 28px;
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-primary) 8%, #fff), color-mix(in srgb, var(--trafic-cta) 5%, #fff));
  border: 1px solid color-mix(in srgb, var(--trafic-primary) 15%, transparent);
  font-style: normal;
  text-align: center;
}

.at-presta-local-address-main {
  display: flex;
  align-items: center;
  gap: 12px;
}

.at-presta-local-address-icon {
  font-size: 24px;
  line-height: 1;
}

.at-presta-local-address-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.at-presta-local-address-text strong {
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
}

.at-presta-local-address-text span {
  font-size: 14px;
  color: var(--trafic-dark);
  opacity: .8;
}

.at-presta-local-address-proximity {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  border: 1px dashed color-mix(in srgb, var(--trafic-cta) 30%, transparent);
  font-size: 13px;
  font-weight: 600;
  color: var(--trafic-dark);
}

/* --- CTAs --- */
.at-presta-local-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* --- MAP EMBED --- */
.at-presta-local-map {
  position: relative;
}

.at-presta-local-map-frame {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 
    0 24px 60px rgba(0,0,0,.15),
    0 0 0 1px rgba(0,0,0,.05);
  transition: transform .3s ease, box-shadow .3s ease;
}

.at-presta-local-map-frame:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 
    0 32px 70px rgba(0,0,0,.18),
    0 0 0 1px rgba(0,0,0,.08);
}

/* Bordure dégradée permanente (légère) + renforcée au hover */
.at-presta-local-map-frame::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 27px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: .3;
  transition: opacity .3s ease;
  pointer-events: none;
  z-index: -1;
}

.at-presta-local-map-frame:hover::before {
  opacity: .7;
}

.at-presta-local-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 900px) {
  .at-presta-local-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .at-presta-local-map-frame {
    aspect-ratio: 16 / 10;
  }

  /* Masquer les formes décoratives sur tablette */
  .at-presta-local-bg::before,
  .at-presta-local-bg::after {
    opacity: .5;
  }
}

@media (max-width: 599px) {
  .at-presta-local {
    padding: 70px 16px;
  }

  .at-presta-local-head {
    margin-bottom: 36px;
  }

  .at-presta-local-content {
    gap: 20px;
  }

  /* Stats côte à côte, chiffre AU-DESSUS du texte */
  .at-presta-local-stats {
    gap: 12px;
    width: 100%;
    max-width: 320px;
  }

  .at-presta-local-stat {
    flex: 1;
    padding: 16px 12px;
    min-width: 0;
  }

  .at-presta-local-stat-value {
    font-size: 28px;
  }

  .at-presta-local-stat-label {
    font-size: 11px;
  }

  .at-presta-local-address {
    padding: 16px 20px;
    max-width: 320px;
  }

  .at-presta-local-actions {
    max-width: 320px;
    width: 100%;
  }

  .at-presta-local-actions .at-button {
    flex: 1;
    justify-content: center;
    min-width: 0;
  }

  .at-presta-local-map {
    width: 100%;
  }

  .at-presta-local-map-frame {
    aspect-ratio: 4 / 3;
    border-radius: 20px;
  }

/* Formes décoratives réduites sur mobile */
.at-presta-local-bg::before {
  width: 150px;
  height: 150px;
  top: 5%;
  left: -15%;
  opacity: .6;
}

.at-presta-local-bg::after {
  width: 180px;
  height: 180px;
  bottom: 2%;
  right: -20%;
  opacity: .5;
}

.at-presta-local::after {
  font-size: 80px;
  top: 40px;
  right: 5%;
  opacity: .04;
}
   .at-presta-local-actions {
  flex-direction: column;
}

.at-presta-local-actions .at-button {
  width: 100%;
}
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-local::before {
    transition: none;
    transform: scaleX(1);
  }

  .at-presta-local-stat,
  .at-presta-local-map-frame,
  .at-presta-local-map-frame::before {
    transition: none;
  }
}
/* ==========================================================================
   SECTION 9 : CONTENU SEO
   ========================================================================== */
.at-presta-seo-content {
  position: relative;
  padding: 80px 20px;
  overflow: hidden;
}

.at-presta-seo-content-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    /* Lignes croisées subtiles */
linear-gradient(90deg, transparent 48.5%, rgba(0,120,200,.075) 48.5%, rgba(0,120,200,.075) 51.5%, transparent 51.5%) 0 0 / 60px 60px,
linear-gradient(0deg, transparent 48.5%, rgba(0,120,200,.075) 48.5%, rgba(0,120,200,.075) 51.5%, transparent 51.5%) 0 0 / 60px 60px,
    /* Halos doux */
    radial-gradient(500px 300px at 85% 15%, color-mix(in srgb, var(--trafic-cta) 6%, transparent) 0%, transparent 60%),
    radial-gradient(400px 250px at 10% 85%, color-mix(in srgb, var(--trafic-primary) 5%, transparent) 0%, transparent 60%),
    /* Base */
    linear-gradient(180deg, #f8fafc 0%, #fff 50%, #f8fafc 100%);
}

.at-presta-seo-article {
  max-width: 800px;
  margin: 0 auto;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.95));
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 16px 48px rgba(0,0,0,.06);
}

.at-presta-seo-header {
  text-align: center;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.at-presta-seo-body {
  color: var(--trafic-dark);
  font-size: 15px;
  line-height: 1.75;
}

/* --- TYPO HIÉRARCHIE --- */
.at-presta-seo-body h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  margin: 40px 0 16px;
  padding: 0;
}

.at-presta-seo-body h3::before {
  content: "";
  width: 4px;
  height: 1.1em;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--trafic-primary), var(--trafic-cta));
  flex-shrink: 0;
}

.at-presta-seo-body h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 32px 0 12px;
  color: var(--trafic-dark);
}

.at-presta-seo-body h5 {
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  font-weight: 600;
  margin: 24px 0 10px;
  color: var(--trafic-dark);
}

.at-presta-seo-body h6 {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 20px 0 8px;
  color: var(--trafic-primary);
}

.at-presta-seo-body p {
  margin: 0 0 16px;
}

.at-presta-seo-intro {
  font-size: 17px;
  line-height: 1.7;
  color: var(--trafic-dark);
  margin-bottom: 24px !important;
}

.at-presta-seo-body strong {
  font-weight: 700;
  color: var(--trafic-dark);
}

.at-presta-seo-body em,
.at-presta-seo-body i {
  font-style: italic;
}

.at-presta-seo-body a {
  color: var(--trafic-primary);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--trafic-primary) 30%, transparent);
  text-underline-offset: 3px;
  transition: text-decoration-color .15s ease;
}

.at-presta-seo-body a:hover {
  text-decoration-color: var(--trafic-primary);
}

.at-presta-seo-body abbr {
  position: relative;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in srgb, var(--trafic-primary) 50%, transparent);
  cursor: help;
}

.at-presta-seo-body abbr::after {
  content: attr(title);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 10px;
  border-radius: 6px;
  background: var(--trafic-dark);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
  pointer-events: none;
  z-index: 10;
}

.at-presta-seo-body abbr:hover::after {
  opacity: 1;
  visibility: visible;
}

.at-presta-seo-body small {
  font-size: 13px;
  opacity: .7;
}

/* --- LISTES --- */
.at-presta-seo-body ul,
.at-presta-seo-body ol {
  margin: 20px 0;
  padding: 0 0 0 5%;
  list-style: none;
   text-align:left;
}

.at-presta-seo-body li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  font-size: 15px;
  line-height: 1.7;
}

.at-presta-seo-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
}

.at-presta-seo-body ol {
  counter-reset: ol-counter;
}

.at-presta-seo-body ol li {
  counter-increment: ol-counter;
}

.at-presta-seo-body ol li::before {
  content: counter(ol-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- BLOCKQUOTE --- */
.at-presta-seo-quote {
  margin: 28px 0;
  padding: 24px 28px;
  background: color-mix(in srgb, var(--trafic-primary) 6%, #fff);
  border-left: 4px solid var(--trafic-primary);
  border-radius: 0 12px 12px 0;
}

.at-presta-seo-quote p {
  font-size: 17px;
  font-style: italic;
  margin: 0 0 8px !important;
}

.at-presta-seo-quote cite {
  font-size: 13px;
  font-style: normal;
  opacity: .7;
}

/* --- FIGURE --- */
.at-presta-seo-figure {
  margin: 28px 0;
}

.at-presta-seo-figure img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.at-presta-seo-figure figcaption {
  margin-top: 10px;
  font-size: 13px;
  text-align: center;
  opacity: .7;
}

.at-presta-seo-callout p strong {
  white-space: nowrap;
}


/* --- CALLOUT --- */
.at-presta-seo-callout {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 28px auto;
  padding: 20px 24px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-cta) 8%, #fff), color-mix(in srgb, var(--trafic-primary) 5%, #fff));
  border: 1px solid color-mix(in srgb, var(--trafic-cta) 15%, transparent);
  border-radius: 12px;
  max-width: 500px;
  text-align: left;
}

.at-presta-seo-callout-icon {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
}

.at-presta-seo-callout-title {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  margin-bottom: 6px;
}

.at-presta-seo-callout p {
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.6;
  color: var(--trafic-dark);
  opacity: .85;
}

.at-presta-seo-callout p strong {
  font-weight: 700;
  white-space: nowrap;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767px) {
  .at-presta-seo-content {
    padding: 60px 16px;
  }

  .at-presta-seo-article {
    padding: 24px 20px;
    border-radius: 16px;
  }

  .at-presta-seo-body h3 {
    font-size: 18px;
    margin: 32px 0 14px;
  }

  .at-presta-seo-body h4 {
    font-size: 16px;
  }

  .at-presta-seo-body ul,
  .at-presta-seo-body ol {
    padding-left: 0;
  }

  .at-presta-seo-callout {
    margin-left: 0;
    max-width: none;
  }
}
/* ==========================================================================
   SECTION 10 : MAILLAGE INTERNE (DARK)
   ========================================================================== */
.at-presta-links {
  position: relative;
  padding: 80px 20px;
  overflow: hidden;
  color: #fff;
}

/* --- BACKGROUND DARK --- */
.at-presta-links-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    /* Halos colorés */
    radial-gradient(600px 400px at 10% 80%, color-mix(in srgb, var(--trafic-primary) 15%, transparent) 0%, transparent 60%),
    radial-gradient(500px 350px at 90% 20%, color-mix(in srgb, var(--trafic-cta) 12%, transparent) 0%, transparent 60%),
    /* Base dark */
    linear-gradient(180deg, #0a0d1a 0%, #12162a 100%);
}

/* Séparateur haut animé */
.at-presta-links::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--trafic-primary), var(--trafic-cta), transparent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}

.at-presta-links.is-inview::before {
  transform: scaleX(1);
}

/* --- HEADER --- */
.at-presta-links-head {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 50px;
}

.at-presta-links .at-h2-title {
  color: #fff;
}

.at-presta-links .at-h2-title span {
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.at-presta-links-intro {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,.7);
  margin-top: 16px;
}

/* --- BODY --- */
.at-presta-links-body {
  display: flex;
  flex-direction: column;
  gap: 36px;
  max-width: 900px;
  margin: 0 auto;
}

/* --- LABELS --- */
.at-presta-links-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.5);
  margin-bottom: 14px;
}

.at-presta-links-label-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  font-size: 12px;
}

/* --- PAGE MÈRE (CARD PREMIUM) --- */
.at-presta-links-parent {
  display: flex;
  flex-direction: column;
     align-items: center;
}

.at-presta-links-parent-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.1);
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  position: relative;
  overflow: hidden;
   max-width: 500px;
  width: 100%;
}

.at-presta-links-parent-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 17px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: 0;
  transition: opacity .3s ease;
  z-index: -1;
}

.at-presta-links-parent-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
  border-color: transparent;
}

.at-presta-links-parent-card:hover::before {
  opacity: .3;
}

.at-presta-links-parent-icon {
  font-size: 32px;
  flex-shrink: 0;
}

.at-presta-links-parent-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.at-presta-links-parent-content strong {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #fff;
}

.at-presta-links-parent-content span {
  font-size: 14px;
  color: rgba(255,255,255,.6);
}

.at-presta-links-arrow {
  font-size: 20px;
  color: rgba(255,255,255,.4);
  transition: transform .3s ease, color .3s ease;
}

.at-presta-links-parent-card:hover .at-presta-links-arrow {
  transform: translateX(4px);
  color: var(--trafic-cta);
}

/* --- GROUPES (SŒURS / FILLES) --- */
.at-presta-links-group {
  display: flex;
  flex-direction: column;
     align-items: center;
   gap:6px;
   margin-top: 6px;
}

.at-presta-links-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* --- CHIPS --- */
.at-presta-links-chip {
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  transition: all .25s ease;
}

.at-presta-links-chip:hover {
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  border-color: transparent;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,120,200,.3);
}

/* Variante pages filles (style légèrement différent) */
[data-links="children"] .at-presta-links-chip {
  background: rgba(255,255,255,.03);
  border-style: dashed;
}

[data-links="children"] .at-presta-links-chip:hover {
  background: linear-gradient(135deg, var(--trafic-cta), var(--trafic-primary));
  border-style: solid;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767px) {
  .at-presta-links {
    padding: 60px 16px;
  }

  .at-presta-links-head {
    margin-bottom: 40px;
  }

  .at-presta-links-body {
    gap: 28px;
  }

  .at-presta-links-parent-card {
    padding: 20px;
    gap: 16px;
  }

  .at-presta-links-parent-icon {
    font-size: 28px;
  }

  .at-presta-links-parent-content strong {
    font-size: 18px;
  }

  .at-presta-links-chip {
    padding: 10px 16px;
    font-size: 13px;
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-links::before {
    transition: none;
    transform: scaleX(1);
  }}

/* ==========================================================================
   SECTION 11 : TARIFICATION
   ========================================================================== */
.at-presta-pricing {
  position: relative;
  padding: 80px 20px;
  overflow: hidden;
}

/* --- BACKGROUND --- */
.at-presta-pricing-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    repeating-linear-gradient(
      135deg,
      transparent,
      transparent 35px,
      rgba(0,120,200,.06) 35px,
      rgba(0,120,200,.06) 36px
    ),
    radial-gradient(circle 2px at center, rgba(0,120,200,.08) 0%, transparent 100%) 0 0 / 30px 30px,
    radial-gradient(700px 500px at 15% 10%, color-mix(in srgb, var(--trafic-primary) 15%, transparent) 0%, transparent 60%),
    radial-gradient(600px 400px at 85% 90%, color-mix(in srgb, var(--trafic-cta) 12%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #eef2f7 0%, #fff 40%, #f4f7fa 100%);
}

/* Séparateur haut */
.at-presta-pricing::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--trafic-primary), var(--trafic-cta), transparent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}

.at-presta-pricing.is-inview::before {
  transform: scaleX(1);
}

/* --- HEADER --- */
.at-presta-pricing-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 48px;
}

/* --- SCROLL CONTAINER --- */
.at-presta-pricing-scroll {
  width: 100%;
}

/* --- GRID --- */
.at-presta-pricing-grid {
  display: flex;
  justify-content: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* --- CARD --- */
.at-presta-pricing-card {
  position: relative;
  flex: 0 0 320px;
  max-width: 320px;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.95));
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 36px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}

.at-presta-pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,.10);
}

/* Featured card */
.at-presta-pricing-card--featured {
  background: linear-gradient(180deg, var(--trafic-dark), color-mix(in srgb, var(--trafic-dark) 92%, var(--trafic-primary)));
  color: var(--trafic-white);
  border-color: transparent;
  transform: scale(1.04);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.at-presta-pricing-card--featured:hover {
  transform: scale(1.04) translateY(-6px);
}

/* Badge */
.at-presta-pricing-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--trafic-primary) 40%, transparent);
  white-space: nowrap;
}

/* Header */
.at-presta-pricing-header {
  text-align: center;
  margin-bottom: 20px;
}

.at-presta-pricing-icon {
  font-size: 36px;
  display: block;
  margin-bottom: 12px;
}

.at-presta-pricing-name {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 4px;
}

.at-presta-pricing-tagline {
  font-size: 13px;
  opacity: .7;
  margin: 0;
}

/* Price */
.at-presta-pricing-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
  padding: 20px 0;
  border-top: 1px solid rgba(128,128,128,.15);
  border-bottom: 1px solid rgba(128,128,128,.15);
  margin-bottom: 20px;
}

.at-presta-pricing-from {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .6;
}

.at-presta-pricing-amount {
  font-family: 'Oswald', sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
}

.at-presta-pricing-card--featured .at-presta-pricing-amount {
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.at-presta-pricing-period {
  font-size: 14px;
  opacity: .7;
}

/* --- FEATURES WRAP --- */
.at-presta-pricing-features-wrap {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.at-presta-pricing-features {
  list-style: none;
  margin: 0;
  padding: 0;
}

.at-presta-pricing-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  font-size: 14px;
  border-bottom: 1px solid rgba(128,128,128,.08);
}

.at-presta-pricing-features li:last-child {
  border-bottom: none;
}

.at-presta-pricing-features li span {
  color: var(--trafic-cta);
  font-weight: 700;
  flex-shrink: 0;
}

.at-presta-pricing-card--featured .at-presta-pricing-features li span {
  color: var(--trafic-cta);
}

.at-presta-pricing-features li.at-presta-pricing-feature--extra {
  display: none;
}

.at-presta-pricing-features-wrap.is-expanded li.at-presta-pricing-feature--extra {
  display: flex;
}

/* Bouton voir plus */
.at-presta-pricing-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  padding: 10px 16px;
  border: 1px dashed rgba(128,128,128,.25);
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--trafic-primary);
  transition: all .2s ease;
}

.at-presta-pricing-card--featured .at-presta-pricing-more {
  color: var(--trafic-cta);
  border-color: rgba(255,255,255,.2);
}

.at-presta-pricing-more:hover {
  background: color-mix(in srgb, var(--trafic-primary) 8%, transparent);
  border-style: solid;
}

.at-presta-pricing-card--featured .at-presta-pricing-more:hover {
  background: rgba(255,255,255,.1);
}

.at-presta-pricing-features-wrap.is-expanded .at-presta-pricing-more {
  display: none;
}

/* --- CTA BLOCK FINAL --- */
.at-presta-pricing-cta-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-top: 48px;
  padding: 28px 36px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.9));
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
  max-width: 800px;
  margin-inline: auto;
}

.at-presta-pricing-cta-content {
  flex: 1;
}

.at-presta-pricing-cta-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--trafic-dark);
}

.at-presta-pricing-cta-text strong {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-bottom: 4px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991px) {
  .at-presta-pricing-scroll {
    margin: 0 -20px;
    padding: 0 12px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .at-presta-pricing-scroll::-webkit-scrollbar {
    display: none;
  }

  .at-presta-pricing-grid {
    justify-content: flex-start;
    gap: 14px;
    padding: 8px 8px 16px;
    width: max-content;
  }

  .at-presta-pricing-card {
    flex: 0 0 300px;
    max-width: 300px;
    scroll-snap-align: center;
  }

  .at-presta-pricing-card--featured {
    transform: none;
  }

  .at-presta-pricing-card--featured:hover {
    transform: translateY(-6px);
  }

  .at-presta-pricing-cta-block {
    flex-direction: column;
    text-align: center;
    gap: 20px;
    padding: 24px 20px;
    margin-top: 32px;
  }
}

@media (max-width: 599px) {
  .at-presta-pricing {
    padding: 60px 12px;
  }

  .at-presta-pricing-scroll {
    margin: 0 -12px;
    padding: 0 8px;
  }

  .at-presta-pricing-grid {
    padding: 8px 4px 16px;
    gap: 12px;
  }

  .at-presta-pricing-card {
    flex: 0 0 290px;
    max-width: 290px;
    padding: 28px 24px;
       box-shadow: none;
  border: 1px solid rgba(0,0,0,.08);
  }

   .at-presta-pricing-card--featured {
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.1);
}

  .at-presta-pricing-name {
    font-size: 22px;
  }

  .at-presta-pricing-amount {
    font-size: 32px;
  }

  .at-presta-pricing-bg::before,
  .at-presta-pricing-bg::after {
    display: none;
  }
   .at-presta-pricing-card:hover {
  transform: none;
  box-shadow: 0 12px 36px rgba(0,0,0,.06);
}

.at-presta-pricing-card--featured:hover {
  transform: none;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-pricing::before {
    transition: none;
    transform: scaleX(1);
  }

  .at-presta-pricing-card,
  .at-presta-pricing-more {
    transition: none;
  }
}
/* ==========================================================================
   SECTION 12 : COMPARATIF
   ========================================================================== */
.at-presta-compare {
  position: relative;
  padding: 80px 20px;
  overflow: hidden;
}

.at-presta-compare-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, transparent 48.5%, rgba(0,120,200,.05) 48.5%, rgba(0,120,200,.05) 51.5%, transparent 51.5%) 0 0 / 80px 80px,
    linear-gradient(0deg, transparent 48.5%, rgba(0,120,200,.05) 48.5%, rgba(0,120,200,.05) 51.5%, transparent 51.5%) 0 0 / 80px 80px,
    radial-gradient(600px 400px at 10% 20%, color-mix(in srgb, var(--trafic-primary) 10%, transparent) 0%, transparent 60%),
    radial-gradient(500px 350px at 90% 80%, color-mix(in srgb, var(--trafic-cta) 8%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #f4f7fa 0%, #fff 50%, #f8fafc 100%);
}

/* Séparateur haut */
.at-presta-compare::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--trafic-primary), var(--trafic-cta), transparent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}

.at-presta-compare.is-inview::before {
  transform: scaleX(1);
}

/* --- HEADER --- */
.at-presta-compare-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 48px;
}

/* --- TABLE WRAPPER --- */
.at-presta-compare-wrapper {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- NUDGE INDICATOR --- */
.at-presta-compare-wrapper[data-nudge="right"]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 20;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="%230078C8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6l6 6-6 6"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  animation: at-compare-nudge 1.8s ease-in-out infinite;
}

@keyframes at-compare-nudge {
  0%, 100% { transform: translateY(-50%) translateX(0); opacity: .95; }
  50% { transform: translateY(-50%) translateX(4px); opacity: 1; }
}

/* --- SCROLL CONTAINER --- */
.at-presta-compare-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--trafic-primary) rgba(0,0,0,.05);
  padding-bottom: 8px;
}

.at-presta-compare-scroll::-webkit-scrollbar {
  height: 6px;
}

.at-presta-compare-scroll::-webkit-scrollbar-track {
  background: rgba(0,0,0,.05);
  border-radius: 3px;
}

.at-presta-compare-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  border-radius: 3px;
}

/* --- TABLE --- */
.at-presta-compare-table {
  width: 100%;
  min-width: 800px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,.08);
}

/* Border-radius sur les cellules des coins */
.at-presta-compare-table thead th:first-child {
  border-top-left-radius: 20px;
}

.at-presta-compare-table thead th:last-child {
  border-top-right-radius: 20px;
}

.at-presta-compare-table tbody tr:last-child th {
  border-bottom-left-radius: 20px;
}

.at-presta-compare-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 20px;
}

/* --- HEADER CELLS --- */
.at-presta-compare-table thead th {
  padding: 20px 16px;
  text-align: center;
  vertical-align: middle;
  background: var(--trafic-grey);
  border-bottom: 2px solid rgba(0,0,0,.06);
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  min-width: 120px;
}

.at-presta-compare-th-sticky {
  background: #e8ecf1 !important;
  color: var(--trafic-dark) !important;
  min-width: 140px !important;
  text-align: left !important;
  font-size: 12px !important;
  border-right: 2px solid rgba(0,0,0,.08);
}

/* Colonne featured (ARPA Trafic) */
.at-presta-compare-th-featured {
  background: linear-gradient(180deg, var(--trafic-dark), color-mix(in srgb, var(--trafic-dark) 90%, var(--trafic-primary))) !important;
  color: #fff !important;
  min-width: 150px !important;
  font-size: 15px !important;
  letter-spacing: .05em;
  background-image: linear-gradient(180deg, var(--trafic-dark), color-mix(in srgb, var(--trafic-dark) 85%, var(--trafic-primary))) !important;
}

/* --- BODY CELLS --- */
.at-presta-compare-table tbody th,
.at-presta-compare-table tbody td {
  padding: 14px 16px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0,0,0,.05);
  font-size: 14px;
  color: var(--trafic-dark);
  transition: background .2s ease;
}

.at-presta-compare-table tbody tr:hover th,
.at-presta-compare-table tbody tr:hover td {
  background: rgba(0,120,200,.03);
}

.at-presta-compare-table tbody th {
  background: #f0f3f7;
  text-align: left;
  font-weight: 600;
  font-size: 13px;
  min-width: 140px;
  border-right: 2px solid rgba(0,0,0,.06);
}

.at-presta-compare-table tbody tr:hover th {
  background: #e8ecf1;
}

/* Colonne featured (ARPA Trafic) */
.at-presta-compare-td-featured {
  background: color-mix(in srgb, var(--trafic-primary) 8%, #fff);
  border-left: 1px solid var(--trafic-primary);
}

.at-presta-compare-table tbody tr:hover .at-presta-compare-td-featured {
  background: color-mix(in srgb, var(--trafic-primary) 12%, #fff);
}

.at-presta-compare-td-note {
  display: block;
  font-size: 10px;
  color: var(--trafic-primary);
  font-weight: 600;
  margin-top: 4px;
}

/* Last row */
.at-presta-compare-table tbody tr:last-child th,
.at-presta-compare-table tbody tr:last-child td {
  border-bottom: none;
}

/* --- CHECKS & ICONS --- */
.at-presta-compare-check {
  font-weight: 700;
  letter-spacing: 2px;
}

.at-presta-compare-check--best {
  color: var(--trafic-cta);
}

.at-presta-compare-check--mid {
  color: var(--trafic-primary);
  opacity: .6;
}

.at-presta-compare-check--low {
  color: #bbb;
}

.at-presta-compare-yes {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-cta), color-mix(in srgb, var(--trafic-cta) 70%, var(--trafic-primary)));
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}

.at-presta-compare-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(0,0,0,.06);
  color: #999;
  font-weight: 700;
  font-size: 13px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991px) {
  .at-presta-compare-table thead th {
    padding: 16px 14px;
    min-width: 110px;
    font-size: 12px;
  }

  .at-presta-compare-th-sticky {
    min-width: 120px !important;
    max-width: 120px !important;
    font-size: 11px !important;
  }

  .at-presta-compare-th-featured {
    font-size: 13px !important;
  }

  .at-presta-compare-table tbody th,
  .at-presta-compare-table tbody td {
    padding: 12px 14px;
    font-size: 13px;
  }

  .at-presta-compare-table tbody th {
    min-width: 120px;
    max-width: 120px;
    font-size: 12px;
  }
}

@media (max-width: 599px) {
  .at-presta-compare {
    padding: 60px 12px;
  }

  .at-presta-compare-wrapper {
    margin: 0 -12px;
  }

  .at-presta-compare-scroll {
    padding: 0 12px 8px;
  }

  .at-presta-compare-table {
    border-radius: 16px;
    min-width: 700px;
  }

  .at-presta-compare-table thead th {
    padding: 14px 12px;
    font-size: 11px;
    min-width: 100px;
  }

  .at-presta-compare-th-sticky {
    min-width: 100px !important;
    max-width: 100px !important;
    font-size: 10px !important;
    padding: 14px 10px !important;
  }

  .at-presta-compare-th-featured {
    min-width: 120px !important;
    font-size: 12px !important;
  }

  .at-presta-compare-table tbody th,
  .at-presta-compare-table tbody td {
    padding: 10px 12px;
    font-size: 12px;
  }

  .at-presta-compare-table tbody th {
    min-width: 100px;
    max-width: 100px;
    font-size: 11px;
    padding: 10px 10px;
  }

  .at-presta-compare-td-note {
    font-size: 9px;
  }

 .at-presta-compare-bg {
  background:
    linear-gradient(90deg, transparent 49.5%, rgba(0,120,200,.08) 49.5%, rgba(0,120,200,.08) 50.5%, transparent 50.5%) 0 0 / 50px 50px,
    linear-gradient(0deg, transparent 49.5%, rgba(0,120,200,.08) 49.5%, rgba(0,120,200,.08) 50.5%, transparent 50.5%) 0 0 / 50px 50px,
    radial-gradient(300px 200px at 50% 50%, color-mix(in srgb, var(--trafic-primary) 6%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}
  /* Nudge repositionné */
  .at-presta-compare-wrapper[data-nudge="right"]::after {
    right: 4px;
    width: 32px;
    height: 32px;
    background-size: 16px 16px;
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-compare::before {
    transition: none;
    transform: scaleX(1);
  }

  .at-presta-compare-table tbody th,
  .at-presta-compare-table tbody td {
    transition: none;
  }

  .at-presta-compare-wrapper[data-nudge="right"]::after {
    animation: none;
  }
}
/* ==========================================================================
   SECTION 13 : ÉQUIPE DÉDIÉE
   ========================================================================== */
.at-presta-team {
  position: relative;
  padding: 90px 20px;
  overflow: hidden;
}

/* --- BACKGROUND DÉGRADÉ RENFORCÉ --- */
.at-presta-team-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    /* Fondu haut */
    linear-gradient(180deg, #fff 0%, transparent 100px),
    /* Halos plus marqués */
    radial-gradient(600px 450px at 0% 40%, color-mix(in srgb, var(--trafic-cta) 18%, transparent) 0%, transparent 60%),
    radial-gradient(550px 400px at 100% 60%, color-mix(in srgb, var(--trafic-primary) 15%, transparent) 0%, transparent 60%),
    radial-gradient(400px 300px at 50% 90%, color-mix(in srgb, var(--trafic-cta) 10%, transparent) 0%, transparent 50%),
    /* Base chaude */
    linear-gradient(180deg, #f8f6f3 0%, #fff 40%, #f9f7f4 100%);
}

/* --- LAYOUT 2 COLONNES --- */
.at-presta-team-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 50px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- COLONNE CONTENU --- */
.at-presta-team-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.at-presta-team-head {
  margin: 0;
}

.at-presta-team-intro {
  font-size: 16px;
  line-height: 1.7;
  color: var(--trafic-dark);
  opacity: .85;
  margin: 0;
}

/* --- KPIs ÉQUIPE --- */
.at-presta-team-stats {
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.at-presta-team-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 24px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  flex: 1;
  text-align: center;
  transition: transform .25s ease, box-shadow .25s ease;
}

.at-presta-team-stat:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0,0,0,.10);
}

.at-presta-team-stat-value {
  font-family: 'Oswald', sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.at-presta-team-stat-value small {
  font-size: 18px;
  font-weight: 500;
  margin-left: 2px;
}

.at-presta-team-stat-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  opacity: .6;
}

/* --- PERKS (alignés à gauche) --- */
.at-presta-team-perks {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.at-presta-team-perks li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.9));
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
  font-size: 14px;
  line-height: 1.5;
  color: var(--trafic-dark);
  text-align: left;
  transition: transform .2s ease, box-shadow .2s ease;
}

.at-presta-team-perks li:hover {
  transform: translateX(6px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.at-presta-team-perk-icon {
  font-size: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}

.at-presta-team-perks li strong {
  color: var(--trafic-dark);
}

/* --- CTA --- */
.at-presta-team-cta {
  padding-top: 8px;
}

/* --- COLONNE VISUALS --- */
.at-presta-team-visuals {
  position: relative;
  padding: 20px;
}

/* --- PHOTOS CONTAINER (GRILLE 2x2) --- */
.at-presta-team-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* --- PHOTO --- */
.at-presta-team-photo {
  position: relative;
  margin: 0;
}

/* Décalage en quinconce */
.at-presta-team-photo:nth-child(2) {
  margin-top: 30px;
}

.at-presta-team-photo:nth-child(3) {
  margin-top: -30px;
}

.at-presta-team-photo-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--trafic-grey);
  box-shadow: 0 12px 36px rgba(0,0,0,.10);
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}

/* Bordure dégradée */
.at-presta-team-photo-frame::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: 0;
  transition: opacity .3s ease;
  z-index: -1;
}

.at-presta-team-photo:hover .at-presta-team-photo-frame {
  transform: translateY(-4px) rotate(-1deg);
  box-shadow: 0 20px 50px rgba(0,0,0,.14);
}

.at-presta-team-photo:hover .at-presta-team-photo-frame::before {
  opacity: .4;
}

.at-presta-team-photo-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .5s ease;
}

.at-presta-team-photo:hover .at-presta-team-photo-frame img {
  transform: scale(1.03);
}

/* Caption compact */
.at-presta-team-photo-caption {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  font-size: 12px;
  font-weight: 600;
  color: var(--trafic-dark);
}

/* --- BADGE FLOTTANT --- */
.at-presta-team-badge {
  position: absolute;
  top: 5%;
  right: -20%;
  transform: translate(-50%, -50%) rotate(3deg);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--trafic-dark), color-mix(in srgb, var(--trafic-dark) 90%, var(--trafic-primary)));
  color: #fff;
  box-shadow: 0 12px 32px rgba(0,0,0,.3);
  z-index: 10;
  animation: at-team-badge-float 4s ease-in-out infinite;
  white-space: nowrap;
}

@keyframes at-team-badge-float {
  0%, 100% { transform: translate(-50%, -50%) rotate(3deg) translateY(0); }
  50% { transform: translate(-50%, -50%) rotate(3deg) translateY(-8px); }
}

.at-presta-team-badge-emoji {
  font-size: 20px;
}

.at-presta-team-badge-text {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
/* --- PARALLAX PHOTOS --- */
.at-presta-team-photo[data-depth] {
  will-change: transform;
  transition: transform .1s linear;
}

@media (prefers-reduced-motion: reduce), (hover: none) {
  .at-presta-team-photo[data-depth] {
    transform: none !important;
    transition: none;
  }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991px) {
  .at-presta-team-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .at-presta-team-visuals {
    order: -1;
    padding: 0;
  }

  .at-presta-team-photos {
    gap: 14px;
  }

  .at-presta-team-photo:nth-child(2) {
    margin-top: 24px;
  }

  .at-presta-team-photo:nth-child(3) {
    margin-top: -24px;
  }

  .at-presta-team-badge {
    padding: 12px 16px;
     top:50%;
     left:50%;
  }

  .at-presta-team-badge-text {
    font-size: 12px;
  }
}

@media (max-width: 599px) {
  .at-presta-team {
    padding: 70px 16px;
  }

  .at-presta-team-content {
    gap: 24px;
  }

  .at-presta-team-intro {
    font-size: 15px;
  }

  /* Stats compactes */
  .at-presta-team-stats {
    gap: 10px;
  }

  .at-presta-team-stat {
    padding: 16px 12px;
    min-width: 0;
  }

  .at-presta-team-stat-value {
    font-size: 26px;
  }

  .at-presta-team-stat-value small {
    font-size: 14px;
  }

  .at-presta-team-stat-label {
    font-size: 10px;
  }

  .at-presta-team-perks li {
    padding: 12px 14px;
    gap: 12px;
    font-size: 13px;
  }

  .at-presta-team-perk-icon {
    font-size: 18px;
  }

  /* --- PHOTOS EN SCROLL HORIZONTAL --- */
  .at-presta-team-visuals {
    margin: 0 -16px;
    padding: 0;
  }

  .at-presta-team-photos {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 30px 16px 10px;
  }

  .at-presta-team-photos::-webkit-scrollbar {
    display: none;
  }

  .at-presta-team-photo {
    flex: 0 0 65vw;
    max-width: 240px;
    scroll-snap-align: center;
  }

  .at-presta-team-photo:nth-child(2),
  .at-presta-team-photo:nth-child(3) {
    margin-top: 0;
  }

  .at-presta-team-photo-frame {
    border-radius: 14px;
  }

  .at-presta-team-photo-frame img {
    aspect-ratio: 4 / 5;
  }

  .at-presta-team-photo-caption {
    padding: 6px 10px;
    font-size: 11px;
  }

  /* Badge en superposition sur mobile */
  .at-presta-team-badge {
    position: absolute;
    top: 10px;
    left: auto;
    right: 16px;
    transform: rotate(3deg);
    padding: 10px 14px;
    border-radius: 12px;
  }

  @keyframes at-team-badge-float {
    0%, 100% { transform: rotate(3deg) translateY(0); }
    50% { transform: rotate(3deg) translateY(-6px); }
  }

  .at-presta-team-badge-emoji {
    font-size: 16px;
  }

  .at-presta-team-badge-text {
    font-size: 11px;
  }

  /* Background simplifié */
.at-presta-team-bg {
  background:
    linear-gradient(180deg, #fff 0%, transparent 60px),
    radial-gradient(350px 250px at 20% 30%, color-mix(in srgb, var(--trafic-cta) 14%, transparent) 0%, transparent 60%),
    radial-gradient(300px 200px at 80% 70%, color-mix(in srgb, var(--trafic-primary) 12%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #f8f6f3 0%, #fff 100%);
}
}

/* ==========================================================================
   HOVER TACTILE DÉSACTIVÉ
   ========================================================================== */
@media (hover: none) {
  .at-presta-team-stat:hover,
  .at-presta-team-perks li:hover {
    transform: none;
  }

  .at-presta-team-photo:hover .at-presta-team-photo-frame {
    transform: none;
  }

  .at-presta-team-photo:hover .at-presta-team-photo-frame img {
    transform: none;
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-team-stat,
  .at-presta-team-perks li,
  .at-presta-team-photo-frame,
  .at-presta-team-photo-frame img {
    transition: none;
  }

  .at-presta-team-badge {
    animation: none;
  }
}
/* ==========================================================================
   SECTION 14 : RESSOURCES LIÉES
   ========================================================================== */
.at-presta-resources {
  position: relative;
  padding: 90px 0;
  overflow: hidden;
}

/* --- BACKGROUND PREMIUM --- */
.at-presta-resources-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    /* Fondu haut */
    linear-gradient(180deg, #fff 0%, transparent 120px),
    /* Lignes diagonales subtiles */
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 40px,
      rgba(0,120,200,.04) 40px,
      rgba(0,120,200,.04) 41px
    ),
    /* Grille de points */
    radial-gradient(circle 1.5px at center, rgba(0,120,200,.07) 0%, transparent 100%) 0 0 / 24px 24px,
    /* Halos marqués */
    radial-gradient(800px 600px at -5% 70%, color-mix(in srgb, var(--trafic-primary) 18%, transparent) 0%, transparent 50%),
    radial-gradient(700px 500px at 105% 10%, color-mix(in srgb, var(--trafic-cta) 16%, transparent) 0%, transparent 50%),
    radial-gradient(500px 400px at 50% 110%, color-mix(in srgb, var(--trafic-primary) 12%, transparent) 0%, transparent 50%),
    /* Base contrastée */
    linear-gradient(180deg, #f0f4f8 0%, #fff 40%, #f8fafc 100%);
}

/* Cercle décoratif haut droit */
.at-presta-resources-bg::before {
  content: "";
  position: absolute;
  top: 10%;
  right: -120px;
  width: 350px;
  height: 350px;
  border: 3px solid color-mix(in srgb, var(--trafic-primary) 12%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

/* Forme organique bas gauche */
.at-presta-resources-bg::after {
  content: "";
  position: absolute;
  bottom: 5%;
  left: -100px;
  width: 280px;
  height: 280px;
  border: 3px solid color-mix(in srgb, var(--trafic-cta) 12%, transparent);
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
  transform: rotate(-20deg);
  pointer-events: none;
}

/* --- HEADER --- */
.at-presta-resources-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 50px;
  padding: 0 20px;
}

/* --- SCROLL CONTAINER --- */
.at-presta-resources-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--trafic-primary) rgba(0,0,0,.05);
  padding-bottom: 8px;
}

.at-presta-resources-scroll::-webkit-scrollbar {
  height: 5px;
}

.at-presta-resources-scroll::-webkit-scrollbar-track {
  background: rgba(0,0,0,.04);
  border-radius: 3px;
}

.at-presta-resources-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
  border-radius: 3px;
}

/* --- GRID --- */
.at-presta-resources-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 10px 20px 16px;
  width: fit-content;
  margin-inline: auto;
}

/* --- CARD --- */
.at-presta-resource {
  flex: 0 0 320px;
  max-width: 320px;
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.95));
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(0,0,0,.06);
  scroll-snap-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}

/* Bordure dégradée au hover */
.at-presta-resource::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: 0;
  transition: opacity .3s ease;
  z-index: -1;
}

.at-presta-resource:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}

.at-presta-resource:hover::before {
  opacity: 0.1;
}

/* --- LINK --- */
.at-presta-resource-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--trafic-dark);
  height: 100%;
  position: relative;
}

/* --- MEDIA --- */
.at-presta-resource-media {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.at-presta-resource-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.at-presta-resource:hover .at-presta-resource-media img {
  transform: scale(1.08);
}

/* Overlay gradient sur l'image */
.at-presta-resource-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.4) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
}

.at-presta-resource:hover .at-presta-resource-media::after {
  opacity: 1;
}

/* --- TAG --- */
.at-presta-resource-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  transition: transform .3s ease;
}

.at-presta-resource:hover .at-presta-resource-tag {
  transform: scale(1.05);
}

/* Couleurs par type */
.at-presta-resource-tag[data-tag="guide"] {
  background: linear-gradient(135deg, #e0f2fe, #bae6fd);
  color: #0369a1;
}

.at-presta-resource-tag[data-tag="technique"] {
  background: linear-gradient(135deg, #f0fdf4, #bbf7d0);
  color: #15803d;
}

.at-presta-resource-tag[data-tag="etude"] {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  color: #b45309;
}

.at-presta-resource-tag[data-tag="cas"] {
  background: linear-gradient(135deg, #fce7f3, #fbcfe8);
  color: #be185d;
}

/* --- CONTENT --- */
.at-presta-resource-content {
  padding: 22px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.at-presta-resource-title {
  font-family: 'Oswald', sans-serif;
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 1.35;
  transition: color .3s ease;
}

.at-presta-resource:hover .at-presta-resource-title {
  color: var(--trafic-primary);
}

.at-presta-resource-excerpt {
  font-size: 14px;
  line-height: 1.6;
  opacity: .75;
  margin: 0 0 14px;
  flex: 1;
}

.at-presta-resource-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  opacity: .5;
  font-weight: 500;
}

.at-presta-resource-dot {
  opacity: .4;
}

/* --- ARROW --- */
.at-presta-resource-arrow {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--trafic-grey);
  font-size: 16px;
  color: var(--trafic-dark);
  opacity: 0;
  transform: translateX(-10px);
  transition: all .3s ease;
}

.at-presta-resource:hover .at-presta-resource-arrow {
  opacity: 1;
  transform: translateX(0);
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 599px) {
  .at-presta-resources {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .at-presta-resources-head {
    margin-bottom: 40px;
    padding: 0 16px;
  }

  .at-presta-resources-grid {
    gap: 16px;
    padding: 10px 16px 16px;
  }

  .at-presta-resource {
    flex: 0 0 280px;
    max-width: 280px;
    border-radius: 16px;
  }

  .at-presta-resource::before {
    border-radius: 18px;
  }

  .at-presta-resource-media {
    aspect-ratio: 16 / 9;
  }

  .at-presta-resource-tag {
    top: 12px;
    left: 12px;
    padding: 5px 10px;
    font-size: 10px;
  }

  .at-presta-resource-content {
    padding: 18px 16px;
  }

  .at-presta-resource-title {
    font-size: 15px;
  }

  .at-presta-resource-excerpt {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .at-presta-resource-arrow {
    width: 32px;
    height: 32px;
    bottom: 16px;
    right: 16px;
    font-size: 14px;
  }

  /* Formes décoratives masquées */
  .at-presta-resources-bg::before,
  .at-presta-resources-bg::after {
    display: none;
  }

  .at-presta-resources-bg {
    background:
      linear-gradient(180deg, #fff 0%, transparent 60px),
      repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 30px,
        rgba(0,120,200,.03) 30px,
        rgba(0,120,200,.03) 31px
      ),
      radial-gradient(circle 1px at center, rgba(0,120,200,.05) 0%, transparent 100%) 0 0 / 20px 20px,
      radial-gradient(350px 250px at 20% 80%, color-mix(in srgb, var(--trafic-primary) 12%, transparent) 0%, transparent 50%),
      radial-gradient(300px 200px at 80% 20%, color-mix(in srgb, var(--trafic-cta) 10%, transparent) 0%, transparent 50%),
      linear-gradient(180deg, #f0f4f8 0%, #fff 100%);
  }
}

/* ==========================================================================
   HOVER TACTILE DÉSACTIVÉ
   ========================================================================== */
@media (hover: none) {
  .at-presta-resource:hover {
    transform: none;
    box-shadow: 0 10px 32px rgba(0,0,0,.06);
  }

  .at-presta-resource:hover::before {
    opacity: 0;
  }

  .at-presta-resource:hover .at-presta-resource-media img {
    transform: none;
  }

  .at-presta-resource:hover .at-presta-resource-media::after {
    opacity: 0;
  }

  .at-presta-resource:hover .at-presta-resource-title {
    color: var(--trafic-dark);
  }

  .at-presta-resource-arrow {
    opacity: 1;
    transform: none;
    background: var(--trafic-grey);
    color: var(--trafic-dark);
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-resource,
  .at-presta-resource::before,
  .at-presta-resource-media img,
  .at-presta-resource-media::after,
  .at-presta-resource-tag,
  .at-presta-resource-title,
  .at-presta-resource-arrow {
    transition: none;
  }
}

/* ==========================================================================
   SECTION 15 : VIDÉO
   ========================================================================== */
.at-presta-video {
  position: relative;
  padding: 90px 20px;
  overflow: hidden;
}

/* --- BACKGROUND --- */
.at-presta-video-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, #fff 0%, transparent 100px),
    radial-gradient(600px 450px at 0% 50%, color-mix(in srgb, var(--trafic-primary) 12%, transparent) 0%, transparent 55%),
    radial-gradient(500px 400px at 100% 30%, color-mix(in srgb, var(--trafic-cta) 10%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #fff 50%, #f4f7fa 100%);
}

/* --- LAYOUT --- */
.at-presta-video-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- COLONNE CONTENU --- */
.at-presta-video-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.at-presta-video-head {
  margin: 0;
}

.at-presta-video-summary {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.at-presta-video-intro {
  font-size: 16px;
  line-height: 1.7;
  color: var(--trafic-dark);
  opacity: .85;
  margin: 0;
}

/* --- POINTS CLÉS --- */
.at-presta-video-points {
  display: flex;
  flex-direction: column;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0 0 0 8px;
}

.at-presta-video-points li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--trafic-dark);
  padding: 12px 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(255,255,255,.95));
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
  transition: transform .2s ease, box-shadow .2s ease;
}

.at-presta-video-points li:hover {
  transform: translateX(6px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.at-presta-video-point-bullet {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  position: relative;
}

.at-presta-video-point-bullet::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
}

.at-presta-video-point-icon {
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* --- CITATION --- */
.at-presta-video-quote {
  margin: 0;
  padding: 20px 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-primary) 6%, #fff), color-mix(in srgb, var(--trafic-cta) 4%, #fff));
  border-left: 4px solid var(--trafic-primary);
  position: relative;
}

.at-presta-video-quote::before {
  content: """;
  position: absolute;
  top: 10px;
  left: 16px;
  font-family: Georgia, serif;
  font-size: 48px;
  line-height: 1;
  color: var(--trafic-primary);
  opacity: .2;
}

.at-presta-video-quote p {
  margin: 0 0 10px;
  font-size: 15px;
  font-style: italic;
  line-height: 1.6;
  color: var(--trafic-dark);
  padding-left: 24px;
}

.at-presta-video-quote footer {
  font-size: 13px;
  font-weight: 600;
  color: var(--trafic-primary);
  padding-left: 24px;
}

/* --- CTA --- */
.at-presta-video-cta {
  padding-top: 8px;
  display: flex;
  align-self: center;
}

/* --- COLONNE VIDÉO --- */
.at-presta-video-player {
  display: flex;
  justify-content: center;
}

.at-presta-video-frame {
  position: relative;
  width: 100%;
  max-width: 350px;
}

/* Glow derrière la vidéo */
.at-presta-video-glow {
  position: absolute;
  inset: -20px;
  border-radius: 40px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  opacity: .15;
  filter: blur(30px);
  z-index: -1;
  animation: at-video-glow-pulse 4s ease-in-out infinite;
}

@keyframes at-video-glow-pulse {
  0%, 100% { opacity: .15; transform: scale(1); }
  50% { opacity: .25; transform: scale(1.03); }
}

/* Container vidéo */
.at-presta-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  border-radius: 24px;
  overflow: hidden;
  background: var(--trafic-dark);
  box-shadow: 
    0 20px 60px rgba(0,0,0,.20),
    0 8px 24px rgba(0,0,0,.12),
    inset 0 0 0 1px rgba(255,255,255,.1);
}

/* Bordure dégradée */
.at-presta-video-embed::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 26px;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  z-index: -1;
}

/* ==========================================================================
   VIDEO POSTER — Lazy-load YouTube
   ========================================================================== */
.at-presta-video-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.at-presta-video-poster {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  overflow: hidden;
  border-radius: inherit;
}

.at-presta-video-poster-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease, filter .4s ease;
}

.at-presta-video-poster:hover .at-presta-video-poster-img,
.at-presta-video-poster:focus .at-presta-video-poster-img {
  transform: scale(1.05);
  filter: brightness(0.85);
}

/* Bouton Play */
.at-presta-video-poster-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform .3s ease, opacity .3s ease;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.4));
}

.at-presta-video-poster:hover .at-presta-video-poster-play,
.at-presta-video-poster:focus .at-presta-video-poster-play {
  transform: translate(-50%, -50%) scale(1.1);
}

/* Fond rouge YouTube au hover */
.at-presta-video-poster:hover .at-presta-video-poster-play-bg,
.at-presta-video-poster:focus .at-presta-video-poster-play-bg {
  fill: #f00;
  fill-opacity: 1;
}

/* Focus visible keyboard */
html.mod-keyboard .at-presta-video-poster:focus {
  outline: 3px solid var(--trafic-primary);
  outline-offset: 3px;
}

/* Iframe injecté par JS */
.at-presta-video-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* --- BADGE DURÉE --- */
.at-presta-video-badge {
  position: absolute;
  top: -15px;
  left: 30%;
  width: 250px;
  transform: translateX(-50%) rotate(-5deg);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
  z-index: 10;
}

.at-presta-video-badge-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-primary), var(--trafic-cta));
  color: #fff;
  font-size: 10px;
}

.at-presta-video-badge-text {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991px) {
  .at-presta-video-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .at-presta-video-player {
    order: -1;
  }

  .at-presta-video-frame {
    max-width: 320px;
  }

  .at-presta-video-content {
    text-align: center;
  }

  .at-presta-video-points li {
    text-align: left;
  }

  .at-presta-video-quote {
    text-align: left;
  }

  .at-presta-video-cta {
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 599px) {
  .at-presta-video {
    padding: 70px 16px;
  }

  .at-presta-video-layout {
    gap: 40px;
  }

  .at-presta-video-frame {
    max-width: 300px;
  }

  .at-presta-video-embed {
    border-radius: 20px;
  }

  .at-presta-video-embed::before {
    border-radius: 22px;
  }

  .at-presta-video-glow {
    inset: -15px;
    border-radius: 30px;
  }

  .at-presta-video-intro {
    font-size: 15px;
  }

  .at-presta-video-points li {
    font-size: 13px;
    text-align: left;
  }

  .at-presta-video-quote {
    padding: 16px 18px;
  }

  .at-presta-video-quote::before {
    font-size: 36px;
    left: 12px;
  }

  .at-presta-video-quote p {
    font-size: 14px;
    padding-left: 18px;
  }

  .at-presta-video-quote footer {
    padding-left: 18px;
  }

  .at-presta-video-badge {
    padding: 8px 14px;
  }

  .at-presta-video-badge-icon {
    width: 20px;
    height: 20px;
    font-size: 8px;
  }

  .at-presta-video-badge-text {
    font-size: 12px;
  }

  .at-presta-video-bg {
    background:
      linear-gradient(180deg, #fff 0%, transparent 60px),
      radial-gradient(350px 250px at 50% 50%, color-mix(in srgb, var(--trafic-primary) 10%, transparent) 0%, transparent 60%),
      linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  }
}

/* ==========================================================================
   HOVER TACTILE DÉSACTIVÉ
   ========================================================================== */
@media (hover: none) {
  .at-presta-video-glow {
    animation: none;
    opacity: .15;
  }

  .at-presta-video-points li:hover {
    transform: none;
  }

  .at-presta-video-poster:hover .at-presta-video-poster-img,
  .at-presta-video-poster:focus .at-presta-video-poster-img {
    transform: none;
    filter: none;
  }

  .at-presta-video-poster:hover .at-presta-video-poster-play,
  .at-presta-video-poster:focus .at-presta-video-poster-play {
    transform: translate(-50%, -50%);
  }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .at-presta-video-glow {
    animation: none;
  }

  .at-presta-video-poster-img,
  .at-presta-video-poster-play {
    transition: none;
  }
}
/* ==========================================================================
   SECTION 16 : DEMANDE DE RAPPEL
   ========================================================================== */
.at-presta-callback {
  position: relative;
  padding: 100px 20px 90px;
  overflow: hidden;
}

/* --- BACKGROUND --- */
.at-presta-callback-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    /* Fondu haut */
    linear-gradient(180deg, #fff 0%, transparent 100px),
    /* Halos */
    radial-gradient(700px 500px at 0% 60%, color-mix(in srgb, var(--trafic-primary) 14%, transparent) 0%, transparent 55%),
    radial-gradient(600px 400px at 100% 30%, color-mix(in srgb, var(--trafic-cta) 12%, transparent) 0%, transparent 55%),
    radial-gradient(400px 300px at 50% 100%, color-mix(in srgb, var(--trafic-primary) 8%, transparent) 0%, transparent 50%),
    /* Points subtils */
    radial-gradient(circle 1.5px at center, rgba(0,120,200,.05) 0%, transparent 100%) 0 0 / 22px 22px,
    /* Base */
    linear-gradient(180deg, #f4f7fa 0%, #fff 40%, #f8fafc 100%);
}

/* --- LIGNE SÉPARATION EN HAUT --- */
.at-presta-callback::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 600px);
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--trafic-primary) 30%, var(--trafic-cta) 70%, transparent);
  opacity: .5;
}


/* --- LAYOUT --- */
.at-presta-callback-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1050px;
  margin: 0 auto;
}

/* --- COLONNE CONTENU --- */
.at-presta-callback-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.at-presta-callback-head {
  margin: 0;
}

.at-presta-callback-head .at-p-desc {
  margin-bottom: 0;
}

/* --- LISTE BÉNÉFICES --- */
.at-presta-callback-benefits {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
   margin-left:15%;
  padding: 0 0 0 8px;
}

.at-presta-callback-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--trafic-dark);
}

.at-presta-callback-benefit-check {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trafic-cta), color-mix(in srgb, var(--trafic-cta) 70%, var(--trafic-primary)));
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

/* --- TRUST --- */
.at-presta-callback-trust {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.95));
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
  width: fit-content;
       align-self: center;
}

.at-presta-callback-trust-stars {
  color: #fbbf24;
  font-size: 16px;
  letter-spacing: 2px;
}

.at-presta-callback-trust-text {
  font-size: 13px;
  font-weight: 600;
  color: var(--trafic-dark);
}

/* --- FORMULAIRE SHELL --- */
.at-presta-callback-form-wrap {
  display: flex;
  justify-content: center;
}

.at-presta-callback-form-shell {
  position: relative;
  width: 100%;
  max-width: 420px;
  padding: 32px 28px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.95));
  border: 1px solid rgba(0,0,0,.06);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.7),
    0 20px 60px rgba(0,0,0,.12);
}

/* Liseré dégradé en haut */
.at-presta-callback-form-shell::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 11px;
  right: 11px;
  height: 3px;
  border-radius: 4px 4px 0px 0px;
  background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));
}

/* --- OVERRIDE GRILLE FORM --- */
.at-presta-callback-fields {
  gap: 16px;
}

.at-presta-callback-form .at-wp-actions {
  flex-direction: column;
  margin-top: 18px;
}

.at-presta-callback-form .at-wp-actions .at-button {
  width: 100%;
  justify-content: center;
}
.at-wp-check .w-form-label, .at-wp-check .w-checkbox-label {
text-align:left;
}
/* ==========================================================================
   SUCCESS / FAIL MESSAGES
   ========================================================================== */
.at-presta-callback-done,
.at-presta-callback-fail {
  text-align: center;
  padding: 32px 24px;
  background: transparent;
}

/* --- SUCCESS --- */
.at-presta-callback-success {
  animation: at-callback-fade-in .5s ease forwards;
}

@keyframes at-callback-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

.at-presta-callback-success-icon {
  font-size: 36px;
  line-height: 1;
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--trafic-cta) 15%, #fff), color-mix(in srgb, var(--trafic-primary) 10%, #fff));
  border: 1px solid color-mix(in srgb, var(--trafic-cta) 25%, transparent);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--trafic-cta) 15%, transparent);
}

.at-presta-callback-success-title {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--trafic-dark);
  margin: 0 0 12px;
}

.at-presta-callback-success-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--trafic-dark);
  opacity: .85;
  margin: 0 0 20px;
}

.at-presta-callback-success-text strong {
  color: var(--trafic-primary);
}

.at-presta-callback-success-info {
  padding: 16px 20px;
  border-radius: 12px;
  background: var(--trafic-grey);
  margin-bottom: 20px;
}

.at-presta-callback-success-info p {
  font-size: 13px;
  color: var(--trafic-dark);
  opacity: .75;
  margin: 0 0 8px;
}

.at-presta-callback-success-phone {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--trafic-primary);
  text-decoration: none;
  transition: color .2s ease;
}

.at-presta-callback-success-phone:hover {
  color: var(--trafic-cta);
}

.at-presta-callback-success-cta {
  margin-top: 8px;
}

.at-presta-callback-success-cta .at-button {
  display: inline-flex;
}

/* --- FAIL --- */
.at-presta-callback-error {
  animation: at-callback-fade-in .5s ease forwards;
}

.at-presta-callback-error-icon {
  font-size: 32px;
  margin-bottom: 12px;
}

.at-presta-callback-error-text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--trafic-dark);
  margin: 0;
}

.at-presta-callback-error-text a {
  color: var(--trafic-primary);
  font-weight: 600;
  text-decoration: none;
}

.at-presta-callback-error-text a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991px) {
  .at-presta-callback-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .at-presta-callback-content {
    text-align: center;
    align-items: center;
  }

  .at-presta-callback-benefits {
    align-items: flex-start;
    padding-left: 0;
  }

  .at-presta-callback-benefits li {
    text-align: left;
  }

  .at-presta-callback-trust {
    margin: 0 auto;
  }
}

@media (max-width: 599px) {
  .at-presta-callback {
    padding: 80px 16px 70px;
  }

  .at-presta-callback-wave {
    height: 50px;
  }

  .at-presta-callback-grid {
    gap: 40px;
  }

  .at-presta-callback-form-shell {
    padding: 28px 20px;
    border-radius: 20px;
  }

  .at-presta-callback-form-shell::before {
    left: 16px;
    right: 16px;
  }

  .at-presta-callback-fields {
    grid-template-columns: 1fr;
  }

  .at-presta-callback-benefits li {
    font-size: 14px;
  }

  .at-presta-callback-trust {
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }

  .at-presta-callback-bg {
    background:
      radial-gradient(400px 300px at 50% 50%, color-mix(in srgb, var(--trafic-primary) 10%, transparent) 0%, transparent 60%),
      radial-gradient(circle 1px at center, rgba(0,120,200,.04) 0%, transparent 100%) 0 0 / 18px 18px,
      linear-gradient(180deg, #f4f7fa 0%, #fff 100%);
  }
}

/* ==========================================================================
   BOUTON SECONDARY (ajout global)
   ========================================================================== */
.at-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 999px;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  color: var(--trafic-dark);
  background: var(--trafic-grey);
  border: 1px solid rgba(0,0,0,.08);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.at-button-secondary:hover {
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
