/**
 * Alizés Fret — habillage 2026
 * ---------------------------------------------------------------------------
 * Feuille autonome, chargée APRÈS main.css. Toutes les classes sont préfixées
 * `af26-` : aucune règle de l'ancien design n'est écrasée, et le retour arrière
 * consiste à retirer cet enqueue.
 *
 * Couvre : en-tête, hero diaporama, bandeau de réassurance, sections d'accueil,
 * boutons flottants sur mobile.
 */

:root {
  --af26-vert: #007A3D;
  --af26-vert-fonce: #004D2A;
  --af26-vert-vif: #14A85C;
  --af26-encre: #052D35;
  --af26-texte: #1B1B1B;
  --af26-gris: #5F6B66;
  --af26-clair: #F5F7F6;
  --af26-trait: rgba(5, 45, 53, .12);
  --af26-shell: 1200px;
  --af26-r: 16px;
  /* Rythme vertical unique : toutes les sections s'y accrochent. */
  --af26-sy: clamp(64px, 7vw, 112px);
}

/* Le thème injecte ses couleurs de marque via le Customizer : on s'y raccroche. */
:root {
  --af26-vert: var(--af-brand, #007A3D);
  --af26-vert-fonce: var(--af-brand-dark, #004D2A);
  --af26-vert-vif: var(--af-brand-light, #14A85C);
}

.af26 * { box-sizing: border-box; }
.af26-shell { max-width: var(--af26-shell); margin-inline: auto; padding-inline: 24px; }
.af26-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ===================== BOUTONS ===================== */
.af26-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 24px; border-radius: 999px; text-decoration: none;
  font-weight: 700; font-size: .95rem; line-height: 1.2;
  border: 1.5px solid transparent; cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.af26-btn--p { background: var(--af26-vert); color: #fff; }
.af26-btn--p:hover, .af26-btn--p:focus-visible { background: var(--af26-vert-fonce); color: #fff; }
.af26-btn--s { border-color: var(--af26-trait); color: var(--af26-texte); background: #fff; }
.af26-btn--s:hover { border-color: var(--af26-encre); }
.af26-btn--b { background: #fff; color: var(--af26-encre); }
.af26-btn--b:hover { background: var(--af26-clair); color: var(--af26-encre); }
.af26-btn--f { border-color: rgba(255, 255, 255, .45); color: #fff; }
.af26-btn--f:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }

/* ===================== EN-TÊTE ===================== */
.af26-hdr {
  position: sticky; top: 0; z-index: 80;
  background: #fff; border-bottom: 0;
}
/* Liseré de séparation entre le menu et le hero : dégradé encre -> vert -> encre.
   Rendu via ::after pour ne rien changer au balisage. */
.af26-hdr::after {
  content: ""; display: block; height: 3px;
  background: linear-gradient(90deg,
    var(--af26-encre) 0%,
    var(--af26-vert) 20%,
    var(--af26-vert-vif) 50%,
    var(--af26-vert) 80%,
    var(--af26-encre) 100%);
}
.af26-hdr__in {
  display: flex; align-items: center; gap: 26px; height: 80px;
  max-width: var(--af26-shell); margin-inline: auto; padding-inline: 24px;
}
.af26-brand { flex: 0 0 auto; display: block; text-decoration: none; line-height: 1; }
.af26-hdr .af-brand img { width: auto; height: auto; max-height: 58px; }

.af26-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.af26-nav ul { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.af26-nav li { position: relative; }
.af26-nav a {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  white-space: nowrap; padding: 9px 13px; text-decoration: none;
  font-weight: 600; font-size: .95rem; color: var(--af26-texte); border-radius: 8px;
}
.af26-nav a::after {
  content: ""; position: absolute; left: 13px; right: 13px; bottom: 2px; height: 2px;
  background: var(--af26-vert); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .18s ease;
}
.af26-nav a:hover::after,
.af26-nav .current-menu-item > a::after,
.af26-nav .current_page_item > a::after,
.af26-nav a[aria-current="page"]::after { transform: scaleX(1); }

/* Sous-menu en panneau deux colonnes */
.af26-nav .menu-item-has-children > a::after {
  content: ""; width: 9px; height: 9px; margin-left: 2px;
  background: currentColor; transition: transform .18s ease;
  clip-path: polygon(50% 78%, 4% 22%, 14% 12%, 50% 52%, 86% 12%, 96% 22%);
}
.af26-nav .menu-item-has-children[data-af26-open="true"] > a::after { transform: rotate(180deg); }
.af26-nav .sub-menu {
  position: absolute; top: calc(100% + 12px); left: 50%;
  transform: translate(-50%, -6px);
  width: min(640px, 88vw); list-style: none; margin: 0; padding: 10px;
  background: #fff; border: 1px solid var(--af26-trait); border-radius: var(--af26-r);
  box-shadow: 0 30px 60px -28px rgba(5, 45, 53, .35);
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
  opacity: 0; visibility: hidden; transition: opacity .16s ease, transform .16s ease;
}
.af26-nav .menu-item-has-children[data-af26-open="true"] > .sub-menu {
  opacity: 1; visibility: visible; transform: translate(-50%, 0);
}
.af26-nav .sub-menu li { position: static; }
.af26-nav .sub-menu a { display: block; padding: 13px 15px; border-radius: 10px; font-weight: 700; font-size: .94rem; }
.af26-nav .sub-menu a::after { display: none; }
.af26-nav .sub-menu a:hover { background: var(--af26-clair); }
.af26-nav .sub-menu .af26-desc { display: block; font-size: .82rem; font-weight: 400; color: var(--af26-gris); line-height: 1.45; margin-top: 2px; }

.af26-act { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.af26-tel {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 7px 18px 7px 8px; border: 1px solid var(--af26-trait); border-radius: 999px;
  background: #fff; text-decoration: none; color: inherit; line-height: 1.2;
  transition: border-color .16s ease, background .16s ease;
}
.af26-tel:hover { border-color: var(--af26-vert); background: #F1FAF4; }
.af26-tel__ic { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: #EAF6EF; color: var(--af26-vert); display: grid; place-items: center; }
.af26-tel__ic svg { width: 15px; height: 15px; }
.af26-tel small { display: block; font-size: .6rem; letter-spacing: .14em; font-weight: 700; color: var(--af26-gris); }
.af26-tel strong { display: block; font-size: 1rem; letter-spacing: -.02em; white-space: nowrap; }

.af26-burger {
  display: none; width: 44px; height: 44px; border: 1px solid var(--af26-trait);
  background: none; border-radius: 10px; cursor: pointer; padding: 0;
}
.af26-burger i, .af26-burger i::before, .af26-burger i::after {
  display: block; width: 18px; height: 1.6px; background: var(--af26-texte); margin-inline: auto; position: relative;
}
.af26-burger i::before { content: ""; position: absolute; top: -6px; }
.af26-burger i::after { content: ""; position: absolute; top: 6px; }

/* Panneau mobile */
.af26-mob { display: none; border-top: 1px solid var(--af26-trait); background: #fff; }
.af26-mob[hidden] { display: none !important; }
.af26-mob ul { list-style: none; margin: 0; padding: 12px 0; }
.af26-mob a { display: block; padding: 13px 24px; text-decoration: none; font-weight: 600; color: var(--af26-texte); }
.af26-mob .sub-menu { padding: 0 0 6px 16px; }
.af26-mob .sub-menu a { font-weight: 400; font-size: .93rem; color: var(--af26-gris); padding-block: 9px; }
.af26-mob__cta { padding: 8px 24px 22px; display: grid; gap: 10px; }

/* ===================== HERO DIAPORAMA ===================== */
.af26-hero {
  position: relative; min-height: min(680px, 86vh);
  display: flex; align-items: center; overflow: hidden; background: var(--af26-encre);
}
.af26-hero__pile { position: absolute; inset: 0; }
.af26-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: 0; transition: opacity 1.1s ease;
}
.af26-hero__img.is-on { opacity: 1; }
/* Voile directionnel : le titre reste lisible quelle que soit la photo affichée. */
.af26-hero__voile {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(96deg, rgba(5,45,53,.94) 0%, rgba(5,45,53,.86) 34%, rgba(5,45,53,.55) 58%, rgba(5,45,53,.12) 82%, rgba(5,45,53,0) 100%),
    linear-gradient(0deg, rgba(5,45,53,.55) 0%, rgba(5,45,53,0) 45%);
}
.af26-hero__in {
  position: relative; z-index: 2; width: 100%; color: #fff;
  padding: clamp(72px, 9vw, 120px) 0 clamp(150px, 14vw, 190px);
}
.af26-hero h1 {
  font-size: clamp(2.4rem, 5.4vw, 4.1rem); line-height: 1.08; letter-spacing: -.035em;
  font-weight: 800; margin: 0; max-width: 19ch; text-wrap: balance; color: #fff;
}
.af26-hero h1 span { color: inherit; }
.af26-hero__txt {
  max-width: 48ch; font-size: clamp(1.02rem, 1.5vw, 1.15rem);
  color: rgba(255, 255, 255, .86); margin: 20px 0 0; line-height: 1.6;
}
.af26-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.af26-hero__cta .af-button { /* CTA rendu par af_render_cta() */
  display: inline-flex; align-items: center; justify-content: center;
  padding: 13px 24px; border-radius: 999px; text-decoration: none;
  font-weight: 700; font-size: .95rem; background: #fff; color: var(--af26-encre); border: 1.5px solid transparent;
}
.af26-hero__cta .af-button:hover { background: var(--af26-clair); }

.af26-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: .86rem; font-weight: 600; color: #fff;
  background: rgba(255, 255, 255, .13); border: 1px solid rgba(255, 255, 255, .24);
  padding: 7px 15px; border-radius: 999px; margin-bottom: 22px;
}
.af26-eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--af26-vert-vif); animation: af26-blip 2.6s infinite; }
@keyframes af26-blip { 0%, 100% { opacity: 1 } 50% { opacity: .3 } }

/* Contrôles : barres de progression + compteur, sous les boutons. */
.af26-diapo { display: flex; gap: 8px; align-items: center; margin-top: 40px; }
.af26-diapo button {
  width: 44px; height: 4px; border: 0; padding: 0; border-radius: 999px;
  cursor: pointer; background: rgba(255, 255, 255, .32); position: relative; overflow: hidden;
}
.af26-diapo button::after {
  content: ""; position: absolute; inset: 0; background: #fff;
  transform: scaleX(0); transform-origin: left;
}
.af26-diapo button[aria-selected="true"]::after { transform: scaleX(1); transition: transform 5s linear; }
.af26-diapo span { font-size: .8rem; color: rgba(255, 255, 255, .6); margin-left: 8px; font-variant-numeric: tabular-nums; }

/* ===================== BANDEAU RÉASSURANCE ===================== */
.af26-reass { position: relative; z-index: 3; margin-top: clamp(-120px, -11vw, -90px); margin-bottom: var(--af26-sy); }
.af26-reass__in {
  background: #fff; border-radius: var(--af26-r);
  box-shadow: 0 24px 60px -30px rgba(5, 45, 53, .4);
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.af26-reass__c { padding: 28px 26px; border-right: 1px solid var(--af26-trait); }
.af26-reass__c:last-child { border-right: 0; }
.af26-reass__ic {
  width: 38px; height: 38px; border-radius: 10px; background: #EAF6EF;
  color: var(--af26-vert); display: grid; place-items: center; margin-bottom: 14px;
}
.af26-reass__ic svg { width: 19px; height: 19px; }
.af26-reass__c h3 { font-size: 1.12rem; font-weight: 700; letter-spacing: -.015em; margin: 0 0 6px; }
.af26-reass__c p { font-size: .9rem; color: var(--af26-gris); margin: 0; line-height: 1.5; }

/* ===================== SECTIONS ===================== */
.af26-sec { padding-block: var(--af26-sy); }
.af26-sec--clair { background: var(--af26-clair); }
.af26-sec--encre { background: var(--af26-encre); color: #fff; }
/* Les titres ne sont plus bridés à la largeur du texte courant : ils cassaient
   sur trois lignes alors que la moitié droite restait vide. */
.af26-tete { max-width: none; margin-bottom: clamp(32px, 4vw, 52px); }
/* Titres et chapôs occupent toute la largeur du conteneur : plus de retour
   à la ligne anticipé, la ligne se remplit avant de casser. */
.af26-tete h2 { max-width: none; }
.af26-tete p { max-width: none; }
.af26-tete .af26-kick { font-size: .85rem; font-weight: 700; color: var(--af26-vert); margin: 0 0 10px; }
.af26-sec--encre .af26-kick { color: var(--af26-vert-vif); }
.af26-tete h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.1; letter-spacing: -.025em; font-weight: 800; margin: 0; }
.af26-tete p { color: var(--af26-gris); font-size: 1.04rem; margin: 14px 0 0; }
.af26-sec--encre .af26-tete p { color: rgba(255, 255, 255, .76); }

/* Cartes services */
.af26-cartes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.af26-carte {
  background: #fff; border: 1px solid var(--af26-trait); border-radius: var(--af26-r);
  overflow: hidden; text-decoration: none; color: inherit;
  display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.af26-carte:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -26px rgba(5, 45, 53, .42); border-color: transparent; }
.af26-carte__img { position: relative; aspect-ratio: 4 / 3; background: var(--af26-clair); }
.af26-carte__img img { width: 100%; height: 100%; object-fit: cover; }
.af26-carte__tag {
  position: absolute; left: 12px; top: 12px; background: rgba(255, 255, 255, .94);
  font-size: .72rem; font-weight: 700; color: var(--af26-vert); padding: 5px 11px; border-radius: 999px;
}
.af26-carte__b { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.af26-carte__b h3 { font-size: 1.12rem; font-weight: 700; letter-spacing: -.015em; margin: 0; }
.af26-carte__b p { font-size: .92rem; color: var(--af26-gris); margin: 8px 0 16px; flex: 1; }
.af26-carte__l { font-size: .9rem; font-weight: 700; color: var(--af26-vert); display: inline-flex; gap: 7px; align-items: center; }
.af26-carte__l svg { width: 14px; height: 14px; transition: transform .18s ease; }
.af26-carte:hover .af26-carte__l svg { transform: translateX(3px); }

/* Informations pratiques */
.af26-infos { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 5vw, 64px); align-items: start; }
.af26-infos__l { display: grid; gap: 14px; }
.af26-info {
  display: flex; gap: 16px; padding: 20px;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .13); border-radius: 14px;
}
.af26-info__ic { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px; background: var(--af26-vert); display: grid; place-items: center; }
.af26-info__ic svg { width: 18px; height: 18px; color: #fff; }
.af26-info h3 { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 0 0 5px; }
.af26-info p { font-size: .9rem; margin: 0; color: rgba(255, 255, 255, .76); line-height: 1.5; }
.af26-puces { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px 0 28px; }
.af26-puce { border: 1px solid rgba(255, 255, 255, .24); border-radius: 999px; padding: 7px 15px; font-size: .86rem; color: rgba(255, 255, 255, .86); }

/* Destinations */
.af26-dest { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.af26-dcarte { position: relative; display: block; border-radius: var(--af26-r); overflow: hidden; aspect-ratio: 4 / 5; text-decoration: none; }
.af26-dcarte img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.af26-dcarte:hover img { transform: scale(1.05); }
.af26-dcarte__v { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,45,53,.9) 0%, rgba(5,45,53,.25) 48%, rgba(5,45,53,0) 75%); }
.af26-dcarte__t { position: absolute; left: 20px; right: 20px; bottom: 18px; color: #fff; }
.af26-dcarte__t b { display: block; font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.af26-dcarte__t span { font-size: .85rem; color: rgba(255, 255, 255, .78); }

/* Appel final */
.af26-final {
  background: var(--af26-vert); color: #fff; border-radius: var(--af26-r);
  padding: clamp(38px, 5vw, 60px);
  display: flex; gap: 32px; align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.af26-final h2 { max-width: 20ch; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.12; letter-spacing: -.025em; font-weight: 800; margin: 0; }
.af26-final p { color: rgba(255, 255, 255, .85); margin: 12px 0 0; max-width: 44ch; }
.af26-final__act { display: flex; gap: 12px; flex-wrap: wrap; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1000px) {
  .af26-reass__in { grid-template-columns: 1fr 1fr; }
  .af26-reass__c:nth-child(2) { border-right: 0; }
  .af26-reass__c:nth-child(-n+2) { border-bottom: 1px solid var(--af26-trait); }
  .af26-cartes, .af26-dest { grid-template-columns: 1fr 1fr; }
  .af26-infos { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .af26-nav, .af26-act .af26-tel, .af26-act > .af26-btn { display: none; }
  .af26-burger { display: block; }
  .af26-mob { display: block; }
}
@media (max-width: 760px) {
  .af26-hero { min-height: auto; }
  .af26-hero__in { padding-bottom: clamp(110px, 20vw, 140px); }
  .af26-reass { margin-top: -90px; }
  .af26-reass__in { grid-template-columns: 1fr; }
  .af26-reass__c { border-right: 0; border-bottom: 1px solid var(--af26-trait); }
  .af26-reass__c:last-child { border-bottom: 0; }
  .af26-cartes, .af26-dest { grid-template-columns: 1fr; }
  .af26-final { flex-direction: column; align-items: flex-start; }
  .af26-hdr__in { height: 68px; }
  .af26-hdr .af-brand img { max-height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .af26-hero__img, .af26-diapo button::after, .af26-carte, .af26-dcarte img { transition: none !important; }
  .af26-eyebrow i { animation: none !important; }
}

/* =========================================================================
   PAGES INTÉRIEURES — À propos, Nos services, Contact
   ========================================================================= */

/* Hero de page intérieure : même grammaire que l'accueil, en plus compact. */
.af26-phero {
  position: relative; overflow: hidden; background: var(--af26-encre);
  display: flex; align-items: center; min-height: min(460px, 62vh);
}
.af26-phero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.af26-phero__voile {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(96deg, rgba(5,45,53,.95) 0%, rgba(5,45,53,.88) 36%, rgba(5,45,53,.58) 62%, rgba(5,45,53,.15) 86%, rgba(5,45,53,0) 100%),
    linear-gradient(0deg, rgba(5,45,53,.45) 0%, rgba(5,45,53,0) 50%);
}
.af26-phero__in { position: relative; z-index: 2; width: 100%; color: #fff; padding: clamp(56px, 7vw, 92px) 0; }
.af26-phero h1 {
  font-size: clamp(2rem, 4.4vw, 3.3rem); line-height: 1.08; letter-spacing: -.03em;
  font-weight: 800; margin: 0; max-width: 23ch; color: #fff; text-wrap: balance;
}
.af26-phero__txt { max-width: 52ch; color: rgba(255, 255, 255, .84); margin: 18px 0 0; font-size: 1.05rem; line-height: 1.6; }
.af26-phero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

/* Fil d'Ariane */
.af26-fil { display: flex; align-items: center; gap: 9px; font-size: .86rem; margin-bottom: 18px; color: rgba(255, 255, 255, .66); }
.af26-fil a { color: rgba(255, 255, 255, .8); text-decoration: none; }
.af26-fil a:hover { color: #fff; text-decoration: underline; }
.af26-fil strong { color: #fff; font-weight: 600; }

/* Chiffres clés */
.af26-chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 4vw, 56px); }
.af26-chiffre b { display: block; font-size: clamp(2.2rem, 4.6vw, 3.4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1; color: var(--af26-vert); }
.af26-chiffre span { display: block; font-size: .95rem; color: var(--af26-gris); margin-top: 10px; }
.af26-chiffre small { display: block; font-size: .85rem; color: var(--af26-gris); opacity: .8; margin-top: 4px; }

/* Grille de valeurs : filets partagés plutôt que cartes flottantes */
/* En grille, cinq entrées dans quatre colonnes laissaient une case vide grise.
   En flex, la dernière ligne s'étire pour remplir toute la largeur. */
.af26-grille { display: flex; flex-wrap: wrap; gap: 1px; background: var(--af26-trait); border: 1px solid var(--af26-trait); border-radius: var(--af26-r); overflow: hidden; }
.af26-grille > div { background: #fff; padding: 28px 24px; flex: 1 1 290px; min-width: 0; }
.af26-sec--clair .af26-grille > div { background: var(--af26-clair); }
.af26-grille h3 { font-size: 1.08rem; font-weight: 700; letter-spacing: -.015em; margin: 0 0 8px; }
.af26-grille p { font-size: .92rem; color: var(--af26-gris); margin: 0; line-height: 1.55; }
.af26-grille__ic { width: 36px; height: 36px; border-radius: 10px; background: #EAF6EF; color: var(--af26-vert); display: grid; place-items: center; margin-bottom: 14px; }
.af26-grille__ic svg { width: 18px; height: 18px; }

/* Frise chronologique */
.af26-frise { border-left: 2px solid rgba(255, 255, 255, .2); padding-left: 28px; display: grid; gap: 30px; }
.af26-jalon { position: relative; }
.af26-jalon::before {
  content: ""; position: absolute; left: -35px; top: 9px; width: 11px; height: 11px;
  border-radius: 50%; background: var(--af26-vert-vif); border: 3px solid var(--af26-encre);
}
.af26-jalon b { font-size: .8rem; letter-spacing: .1em; color: var(--af26-vert-vif); font-weight: 700; }
.af26-jalon h3 { font-size: 1.12rem; font-weight: 700; color: #fff; margin: 6px 0; }
.af26-jalon p { font-size: .94rem; color: rgba(255, 255, 255, .74); margin: 0; }

/* Bandeau de logos / réseau */
.af26-reseau { display: flex; flex-wrap: wrap; gap: 12px; }
.af26-reseau span { border: 1px solid var(--af26-trait); border-radius: 999px; padding: 11px 22px; font-weight: 600; font-size: .95rem; background: #fff; }

/* Liste de services alignée (page Nos services) */
.af26-liste { border-top: 1px solid var(--af26-trait); }
.af26-item {
  display: grid; grid-template-columns: 200px 1fr auto; gap: clamp(18px, 3vw, 40px);
  align-items: center; padding: 26px 0; border-bottom: 1px solid var(--af26-trait);
  text-decoration: none; color: inherit; transition: background .18s ease;
}
.af26-item:hover { background: rgba(0, 122, 61, .04); }
.af26-item__img { border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--af26-clair); }
.af26-item__img img { width: 100%; height: 100%; object-fit: cover; }
.af26-item h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 800; letter-spacing: -.025em; margin: 0 0 8px; }
.af26-item p { font-size: .95rem; color: var(--af26-gris); margin: 0; max-width: 58ch; }
.af26-item ul { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.af26-item li { font-size: .84rem; color: var(--af26-gris); border: 1px solid var(--af26-trait); border-radius: 999px; padding: 4px 12px; }
.af26-item__fl { color: var(--af26-vert); display: grid; place-items: center; }
.af26-item__fl svg { width: 20px; height: 20px; transition: transform .18s ease; }
.af26-item:hover .af26-item__fl svg { transform: translateX(4px); }

/* Étapes numérotées : le contenu EST une séquence, la numérotation est justifiée */
.af26-etapes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--af26-r); overflow: hidden; }
.af26-etape { background: var(--af26-encre); padding: 26px 22px; }
.af26-etape b { font-size: .78rem; letter-spacing: .12em; color: var(--af26-vert-vif); font-weight: 700; }
.af26-etape h3 { font-size: 1.08rem; font-weight: 700; color: #fff; margin: 12px 0 8px; }
.af26-etape p { font-size: .9rem; color: rgba(255, 255, 255, .74); margin: 0; line-height: 1.55; }

/* Départs */
.af26-departs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.af26-depart { border: 1px solid var(--af26-trait); border-radius: var(--af26-r); padding: 26px; background: #fff; }
.af26-depart b { display: block; font-size: 1.6rem; font-weight: 800; letter-spacing: -.03em; margin-bottom: 8px; }
.af26-depart p { font-size: .95rem; color: var(--af26-gris); margin: 0; }

/* ---------- Contact ---------- */
.af26-contact { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.af26-form { background: #fff; border: 1px solid var(--af26-trait); border-radius: var(--af26-r); padding: clamp(24px, 3vw, 36px); }
.af26-zones { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.af26-zone { position: relative; display: block; border: 1.5px solid var(--af26-trait); border-radius: 14px; padding: 16px 18px; cursor: pointer; }
.af26-zone input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.af26-zone b { display: block; font-size: 1.02rem; }
.af26-zone small { display: block; font-size: .83rem; color: var(--af26-gris); margin-top: 3px; }
.af26-zone input:checked ~ b { color: var(--af26-vert); }
.af26-zone:has(input:checked) { border-color: var(--af26-vert); background: #F1FAF4; }
.af26-zone:has(input:focus-visible) { outline: 3px solid var(--af26-vert); outline-offset: 2px; }
.af26-agence { border-top: 1px solid var(--af26-trait); padding: 22px 0; }
.af26-agence:last-child { border-bottom: 1px solid var(--af26-trait); }
.af26-agence h3 { font-size: 1.08rem; font-weight: 700; margin: 0 0 4px; }
.af26-agence p { font-size: .94rem; color: var(--af26-gris); margin: 0 0 2px; }
.af26-agence a { color: var(--af26-vert); font-weight: 700; text-decoration: none; }
.af26-faq { display: grid; gap: 12px; }
.af26-faq details { border: 1px solid var(--af26-trait); border-radius: 12px; background: #fff; }
.af26-faq summary { cursor: pointer; padding: 18px 20px; font-weight: 700; font-size: 1rem; list-style: none; }
.af26-faq summary::-webkit-details-marker { display: none; }
.af26-faq summary::after { content: "+"; float: right; color: var(--af26-vert); font-weight: 800; }
.af26-faq details[open] summary::after { content: "–"; }
.af26-faq p { margin: 0; padding: 0 20px 18px; font-size: .94rem; color: var(--af26-gris); }

@media (max-width: 1000px) {
  .af26-contact { grid-template-columns: 1fr; }
  .af26-etapes { grid-template-columns: 1fr 1fr; }
  .af26-item { grid-template-columns: 150px 1fr auto; }
}
@media (max-width: 760px) {
  .af26-chiffres, .af26-etapes, .af26-departs, .af26-zones { grid-template-columns: 1fr; }
  .af26-item { grid-template-columns: 1fr; }
  .af26-item__img { max-width: 220px; }
  .af26-item__fl { display: none; }
  .af26-phero { min-height: auto; }
}


/* ---------- À propos : récit en deux colonnes ---------- */
.af26-recit { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(30px, 5vw, 72px); align-items: center; }
.af26-recit__txt h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 800; margin: 0 0 20px; max-width: none; }
.af26-recit__txt p { color: var(--af26-gris); font-size: 1.04rem; max-width: none; }
.af26-recit__img { border-radius: var(--af26-r); overflow: hidden; aspect-ratio: 4 / 3; }
.af26-recit__img img { width: 100%; height: 100%; object-fit: cover; }
.af26-chiffres--compact { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--af26-trait); gap: clamp(16px, 3vw, 36px); }
.af26-chiffres--compact .af26-chiffre b { font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.af26-chiffres--compact .af26-chiffre span { font-size: .88rem; margin-top: 6px; }

@media (max-width: 900px) {
  .af26-recit { grid-template-columns: 1fr; }
  .af26-recit__img { order: -1; }
}
