/* MaxiaBat : couche « verre » du site (fonds generes, translucidite, ombres, animations, theme clair/sombre).
   Chargee apres page.css. Le PDF n'utilise pas ce fichier. Clair par defaut, sombre via [data-theme="dark"]. */
:root {
  --sf-fond: #f4f1ea;
  --sf-image: url("/maxiabat/maxiabat-fond-site-clair.jpg");
  --sf-voile: rgba(250, 247, 240, .35);
  --sf-verre: rgba(255, 255, 255, .58);
  --sf-verre-fort: rgba(255, 255, 255, .78);
  --sf-bord: rgba(255, 255, 255, .75);
  --sf-ombre: 0 18px 50px -18px rgba(15, 35, 64, .28), 0 2px 6px rgba(15, 35, 64, .06);
  --sf-ombre-haut: 0 30px 70px -20px rgba(15, 35, 64, .38);
  --sf-halo-1: rgba(242, 140, 40, .22);
  --sf-halo-2: rgba(79, 179, 224, .20);
  --sf-champ: rgba(255, 255, 255, .85);
  color-scheme: light;
}
:root[data-theme="dark"] {
  --encre: #eef2f7;
  --encre-2: #c9d4e2;
  --ardoise: #aab6c6;
  --gris: #8793a3;
  --trait: rgba(255, 255, 255, .12);
  --sf-fond: #0b1017;
  --sf-image: url("/maxiabat/maxiabat-fond-site.jpg");
  --sf-voile: rgba(8, 12, 18, .35);
  --sf-verre: rgba(22, 29, 40, .55);
  --sf-verre-fort: rgba(22, 29, 40, .78);
  --sf-bord: rgba(255, 255, 255, .10);
  --sf-ombre: 0 18px 50px -18px rgba(0, 0, 0, .7), 0 2px 6px rgba(0, 0, 0, .3);
  --sf-ombre-haut: 0 30px 70px -20px rgba(0, 0, 0, .85);
  --sf-halo-1: rgba(242, 140, 40, .16);
  --sf-halo-2: rgba(79, 179, 224, .14);
  --sf-champ: rgba(10, 15, 22, .7);
  color-scheme: dark;
}

/* Fond fixe + halos animes */
body { background: var(--sf-fond); color: var(--encre); transition: background-color .4s, color .4s; }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -2;
  background: linear-gradient(var(--sf-voile), var(--sf-voile)), var(--sf-image) center / cover no-repeat;
  transition: opacity .4s;
}
body::after {
  content: ""; position: fixed; inset: -20%; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle at 20% 30%, var(--sf-halo-1), transparent 38%),
    radial-gradient(circle at 80% 70%, var(--sf-halo-2), transparent 40%);
  animation: halos 22s ease-in-out infinite alternate;
}
@keyframes halos {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(4%, -3%, 0) scale(1.08); }
  100% { transform: translate3d(-4%, 3%, 0) scale(1); }
}

/* Sections transparentes : le fond genere apparait partout */
.parcours-section, .fonctions-section, .journee-section, .eco-section, .avis, .faq, #probleme { background: transparent; }

/* Verre depoli */
.douleur, .module, .eco-liste li, form, .faq details, .note-sous, .colonne, .kpi-bande-grille,
.parcours, .tete-section-verre {
  background: var(--sf-verre);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid var(--sf-bord);
  box-shadow: var(--sf-ombre);
}
.colonne.avant { background: linear-gradient(135deg, rgba(242,140,40,.16), var(--sf-verre)); }
.colonne.apres { background: linear-gradient(135deg, rgba(79,179,224,.18), var(--sf-verre)); }
.parcours { border-radius: 20px; padding: 28px 16px 22px; }
.parcours::before { top: 50px; }
.etape .rond { background: var(--sf-verre-fort); box-shadow: 0 6px 16px -6px rgba(15,35,64,.35); }

/* Reflet qui suit la souris + elevation */
.module, .douleur, .eco-liste li, .engagement { position: relative; overflow: hidden; transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
.module::after, .douleur::after, .eco-liste li::after, .engagement::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .3s;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255,255,255,.35), transparent 45%);
}
:root[data-theme="dark"] .module::after, :root[data-theme="dark"] .douleur::after,
:root[data-theme="dark"] .eco-liste li::after, :root[data-theme="dark"] .engagement::after {
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(242,140,40,.16), transparent 45%);
}
.module:hover, .douleur:hover, .eco-liste li:hover, .engagement:hover { transform: translateY(-6px); box-shadow: var(--sf-ombre-haut); }
.module:hover::after, .douleur:hover::after, .eco-liste li:hover::after, .engagement:hover::after { opacity: 1; }

/* Bandeau chiffres en verre sombre sur fond clair, en verre tout court en sombre */
.kpi-bande { background: transparent; padding: 56px 0 8px; color: inherit; }
.kpi-bande-grille { border-radius: 22px; padding: 30px 34px; }
.kpi-bande .kpi strong { color: var(--encre); background: linear-gradient(120deg, var(--encre) 30%, var(--orange) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.kpi-bande .kpi span, .kpi-bande .kpi-source { color: var(--ardoise); }

/* Sections sombres fixes (photos, principes, pied) : couleurs litterales, independantes du theme */
.plan { background-color: #0f2340; }
.engagements-section { background: linear-gradient(135deg, rgba(15,35,64,.92), rgba(11,17,23,.92)); }
.engagement { background: rgba(255,255,255,.07); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 16px 40px -20px rgba(0,0,0,.6); }
.engagement h3 { color: #fff; }
.hero-photo, .sur-mesure-photo, .sortie-photo, .engagements-section, .pied { color: #fff; }
.hero-photo h1, .sur-mesure-photo h2, .sortie-photo h2, .engagements-section h2 { color: #fff; }
.pied { background-color: rgba(11, 17, 23, .92); }

/* Boutons et pastilles sur orange : texte toujours bleu nuit */
.bouton.plein, .nav-liens a.cta-nav, .bandeau-dev, .sur-mesure-icone, .promesses li::before { color: #0f2340; }
.bouton.plein { background: linear-gradient(135deg, #f7a24a, #f28c28 55%, #e07b1a); position: relative; overflow: hidden; }
.bouton.plein::after {
  content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-20deg); animation: reflet 4.5s ease-in-out infinite;
}
@keyframes reflet { 0%, 60% { left: -60%; } 100% { left: 130%; } }
.bandeau-dev { background: linear-gradient(90deg, #f28c28, #f7a24a, #f28c28); background-size: 200% 100%; animation: glisse 8s linear infinite; }
@keyframes glisse { to { background-position: 200% 0; } }

/* Titre du hero : degrade anime sur l'accent */
.hero h1 em {
  background: linear-gradient(90deg, #f28c28, #ffc27a, #f28c28); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: glisse 6s linear infinite;
}

/* En-tete en verre */
.entete { background: rgba(15, 35, 64, .72); -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); box-shadow: 0 10px 30px -18px rgba(0,0,0,.6); }
@media (max-width: 860px) { .nav-liens { background: rgba(15, 35, 64, .96); } }

/* Selecteur de theme */
.theme-bascule {
  display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.1); color: #fff; margin-left: 12px;
  transition: transform .3s, background .3s;
}
.theme-bascule:hover { transform: rotate(20deg) scale(1.06); background: rgba(255,255,255,.2); }
.theme-bascule svg { width: 20px; height: 20px; }
.theme-bascule .lune { display: none; }
:root[data-theme="dark"] .theme-bascule .soleil { display: none; }
:root[data-theme="dark"] .theme-bascule .lune { display: block; }
.entete-droite { display: flex; align-items: center; }

/* Formulaire */
input[type=text], input[type=email], input[type=tel], select, textarea { background: var(--sf-champ); border-color: var(--sf-bord); color: var(--encre); }
.choix-interet label { background: var(--sf-champ); border-color: var(--sf-bord); }
:root[data-theme="dark"] .choix-interet label:has(input:checked) { background: rgba(242,140,40,.18); }
.avis-grille aside h2, .faq h2, .eco-grille h2, .tete-section h2 { color: var(--encre); }
.sortie-photo p, .sur-mesure-photo p { color: #dfe6ee; }

/* Ecrans en mode sombre : lisibilite des textes secondaires */
:root[data-theme="dark"] .gain { background: rgba(79,179,224,.12); color: var(--encre-2); }
:root[data-theme="dark"] .module .comment li::before { background: #f28c28; color: #0f2340; }
:root[data-theme="dark"] .form-etat.erreur { color: #ff8a7a; }

@media (prefers-reduced-motion: reduce) {
  body::after, .bouton.plein::after, .bandeau-dev, .hero h1 em { animation: none; }
  .module:hover, .douleur:hover, .eco-liste li:hover, .engagement:hover { transform: none; }
}

/* ===== Animations ===== */
/* Hero : zoom lent + parallaxe */
.hero-photo { background: none; overflow: hidden; }
.hero-photo .hero-fond {
  position: absolute; inset: -8% 0 0 0; z-index: 0;
  background: #0b1117 url("/maxiabat/maxiabat-v2-bureau-web.jpg") center right / cover no-repeat;
  transform: translate3d(0, var(--parallaxe, 0), 0) scale(1.08);
  animation: kenburns 24s ease-in-out infinite alternate;
}
@keyframes kenburns { from { background-position: 60% 50%; } to { background-position: 85% 40%; } }
.hero-photo::before { z-index: 1; }
.hero-photo .conteneur { position: relative; z-index: 2; }

/* Titre mot a mot */
.mot-a-mot .mot { display: inline-block; opacity: 0; transform: translateY(.6em) rotateX(40deg); filter: blur(6px);
  animation: mot .8s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes mot { to { opacity: 1; transform: none; filter: none; } }
.hero .badge-dev, .hero .chapo, .hero-actions { opacity: 0; animation: monte .9s cubic-bezier(.2,.7,.2,1) forwards; }
.hero .badge-dev { animation-delay: .05s; }
.hero .chapo { animation-delay: 1.1s; }
.hero-actions { animation-delay: 1.35s; }
@keyframes monte { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Barre de progression */
.progression { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 50; transform-origin: 0 50%; transform: scaleX(0);
  background: linear-gradient(90deg, #f28c28, #ffc27a, #4fb3e0); box-shadow: 0 0 12px rgba(242,140,40,.7); }

/* Halo souris */
.halo-souris { position: fixed; top: 0; left: 0; width: 400px; height: 400px; border-radius: 50%; pointer-events: none; z-index: 0;
  background: radial-gradient(circle, rgba(242,140,40,.16), transparent 65%); transition: transform .18s ease-out; mix-blend-mode: multiply; }
:root[data-theme="dark"] .halo-souris { background: radial-gradient(circle, rgba(242,140,40,.14), transparent 65%); mix-blend-mode: screen; }
main, .pied, .entete { position: relative; z-index: 1; }
.entete { z-index: 20; }

/* Cascade */
.cascade > * { opacity: 0; transform: translateY(34px) scale(.97); filter: blur(4px);
  transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1), filter .8s; transition-delay: calc(var(--k, 0) * 90ms); }
.cascade.en-vue > * { opacity: 1; transform: none; filter: none; }
.module ul.cascade > * { transform: translateX(-16px); transition-delay: calc(var(--k, 0) * 55ms + 250ms); }
.module ul.cascade.en-vue > * { transform: none; }
[data-reveal] { filter: blur(6px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1), filter .9s; }
[data-reveal].vu { filter: none; }
.avis-grille aside[data-reveal] { transform: translateX(-40px); }
.avis-grille form[data-reveal] { transform: translateX(40px); }
.avis-grille [data-reveal].vu { transform: none; }

/* Inclinaison 3D (se combine avec l'elevation au survol) */
.inclinable { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0)); transform-style: preserve-3d; }
.inclinable:hover { --ty: -6px; }
.cascade.en-vue > .inclinable { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0)); }
.module-icone { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.module:hover .module-icone { transform: translateZ(30px) rotate(-8deg) scale(1.12); }

/* Frise des phases qui se trace */
.parcours::before { transform: scaleX(0); transform-origin: 0 50%; transition: transform 1.6s cubic-bezier(.6,.1,.2,1) .2s; }
.parcours.en-vue::before { transform: scaleX(1); }
.parcours .etape { opacity: 0; transform: scale(.6); transition: opacity .5s, transform .5s cubic-bezier(.3,1.6,.5,1); }
.parcours.en-vue .etape { opacity: 1; transform: none; }
.parcours.en-vue .etape:nth-child(1) { transition-delay: .25s; } .parcours.en-vue .etape:nth-child(2) { transition-delay: .45s; }
.parcours.en-vue .etape:nth-child(3) { transition-delay: .65s; } .parcours.en-vue .etape:nth-child(4) { transition-delay: .85s; }
.parcours.en-vue .etape:nth-child(5) { transition-delay: 1.05s; } .parcours.en-vue .etape:nth-child(6) { transition-delay: 1.25s; }
.parcours.en-vue .etape:nth-child(7) { transition-delay: 1.45s; } .parcours.en-vue .etape:nth-child(8) { transition-delay: 1.65s; }
.etape:hover .rond { transform: scale(1.15); border-color: var(--orange); box-shadow: 0 0 0 6px rgba(242,140,40,.15); }
.etape .rond { transition: transform .3s, border-color .3s, box-shadow .3s; }

/* Titres de section : trait qui se dessine */
.tete-section h2 { position: relative; display: inline-block; padding-bottom: 10px; }
.tete-section h2::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 72px; border-radius: 2px;
  background: linear-gradient(90deg, #f28c28, #ffc27a); transform: scaleX(0); transform-origin: 0 50%; transition: transform 1s cubic-bezier(.2,.7,.2,1) .3s; }
.tete-section h2.en-vue::after { transform: scaleX(1); }

/* Bandeau de modules qui defile */
.defile { overflow: hidden; padding: 22px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.defile-piste { display: flex; gap: 14px; width: max-content; animation: defile 48s linear infinite; }
.defile:hover .defile-piste { animation-play-state: paused; }
.defile-piste span { white-space: nowrap; padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: .92rem; color: var(--encre);
  background: var(--sf-verre); border: 1px solid var(--sf-bord); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--sf-ombre); }
.defile-piste span b { color: var(--orange); margin-right: 6px; }
@keyframes defile { to { transform: translateX(-50%); } }

/* Badge qui flotte, icone sur-mesure qui respire */
.sur-mesure-icone { animation: flotte 5s ease-in-out infinite; box-shadow: 0 20px 40px -12px rgba(242,140,40,.6); }
@keyframes flotte { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-10px) rotate(-4deg); } }
.sortie-date { animation: flotte 7s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .hero-photo .hero-fond, .defile-piste, .sur-mesure-icone, .sortie-date { animation: none; }
  .mot-a-mot .mot, .hero .badge-dev, .hero .chapo, .hero-actions { opacity: 1; animation: none; transform: none; filter: none; }
  .cascade > *, .parcours .etape { opacity: 1; transform: none; filter: none; transition: none; }
  .parcours::before, .tete-section h2::after { transform: none; transition: none; }
}

/* Section IA */
.ia-section { position: relative; }
.ia-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ia-carte { position: relative; overflow: hidden; border-radius: 18px; padding: 26px 24px; background: var(--sf-verre);
  -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); border: 1px solid var(--sf-bord); box-shadow: var(--sf-ombre); }
.ia-carte::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--angle, 0deg), transparent 0 70%, #f28c28 80%, #4fb3e0 90%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: tourne 6s linear infinite; }
@property --angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes tourne { to { --angle: 360deg; } }
.ia-num { font: 700 2.4rem/1 var(--titre); background: linear-gradient(135deg, #f28c28, #4fb3e0); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 12px; }
.ia-carte h3 { font-size: 1.1rem; }
.ia-carte p { color: var(--ardoise); font-size: .94rem; margin: 0; }
@media (max-width: 1000px) { .ia-grille { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ia-grille { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .ia-carte::before { animation: none; } }
html, body { overflow-x: clip; } .hero-photo, .defile { overflow: clip; }

/* Correctif : le degrade de l'accent porte sur les mots decoupes, pas sur le em */
.hero h1 em { background: none; -webkit-text-fill-color: currentColor; color: #f28c28; animation: none; }
.hero h1 em .mot {
  background: linear-gradient(90deg, #f28c28, #ffc27a, #f28c28); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation-name: mot, glisse; animation-duration: .8s, 6s; animation-timing-function: cubic-bezier(.2,.7,.2,1), linear;
  animation-iteration-count: 1, infinite; animation-fill-mode: forwards, none;
}
@media (prefers-reduced-motion: reduce) { .hero h1 em .mot { animation: none; opacity: 1; } }

.apercu-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.apercu-cap { margin: 0; }
.apercu-cap:first-child { grid-column: 1 / -1; }
.apercu-fenetre { height: 30px; display: flex; gap: 7px; align-items: center; padding-left: 14px; border-radius: 14px 14px 0 0;
  background: var(--sf-verre-fort); border: 1px solid var(--sf-bord); border-bottom: 0; }
.apercu-fenetre span { width: 10px; height: 10px; border-radius: 50%; background: #f28c28; opacity: .75; }
.apercu-fenetre span:nth-child(2) { background: #f7c64a; } .apercu-fenetre span:nth-child(3) { background: #4fb3e0; }
.apercu-cap img { display: block; width: 100%; height: auto; border-radius: 0 0 14px 14px; border: 1px solid var(--sf-bord); box-shadow: var(--sf-ombre-haut);
  transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.apercu-cap:hover img { transform: scale(1.015); }
.apercu-cap figcaption { margin-top: 10px; font-size: .92rem; color: var(--ardoise); font-style: italic; }
.mention-apercu-site { display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(242,140,40,.14); border: 1px solid rgba(242,140,40,.45); color: #b0600f; font-weight: 600; font-size: .9rem; }
:root[data-theme="dark"] .mention-apercu-site { color: #ffb877; }
@media (max-width: 760px) { .apercu-grille { grid-template-columns: 1fr; } }
.apercu-grille { grid-template-columns: 1fr; gap: 34px; } .apercu-cap:first-child { grid-column: auto; }

/* section des six onglets de la fiche affaire */
.onglets-grille { grid-template-columns: 1fr 1fr; gap: 28px; }
.onglets-grille .apercu-cap figcaption b { font-style: normal; color: var(--encre); }
@media (max-width: 760px) { .onglets-grille { grid-template-columns: 1fr; } }

/* galeries a defilement horizontal : grandes captures, glissement, molette ou fleches */
.galerie { position: relative; }
.galerie-piste { display: flex !important; gap: 26px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 4px 2px 18px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; overscroll-behavior-x: contain; }
.galerie-piste:focus-visible { outline: 2px solid var(--bleu, #2a78c2); outline-offset: 4px; border-radius: 10px; }
.galerie-piste .apercu-cap { flex: 0 0 min(1100px, 88vw); scroll-snap-align: center; grid-column: auto; }
.galerie-piste .apercu-cap img { transform: none; }
.galerie-piste .apercu-cap:hover img { transform: none; }
.galerie-btn { position: absolute; top: calc(50% - 40px); z-index: 3; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--sf-bord, #dfe5ed);
  background: var(--sf-verre-fort, rgba(255,255,255,.92)); color: var(--encre, #0f2340); font-size: 30px; line-height: 1; cursor: pointer;
  box-shadow: 0 8px 24px -8px rgba(15,35,64,.45); display: grid; place-items: center; padding: 0 0 4px; }
.galerie-btn.prec { left: 6px; } .galerie-btn.suiv { right: 6px; }
.galerie-btn[disabled] { opacity: 0; pointer-events: none; }
.galerie-btn:hover { transform: scale(1.06); }
@media (max-width: 760px) { .galerie-btn { display: none; } .galerie-piste .apercu-cap { flex-basis: 92vw; } }

/* galeries pleine largeur d'ecran : captures plus grandes que la colonne de texte */
.apercu-section { overflow-x: clip; }
.galerie { width: 100vw; margin-left: calc(50% - 50vw); }
.galerie-piste { padding-left: max(16px, calc((100vw - 1120px) / 2)); padding-right: max(16px, calc((100vw - 1120px) / 2)); scroll-padding-inline: max(16px, calc((100vw - 1120px) / 2)); }
.galerie-piste .apercu-cap { flex-basis: min(1280px, 92vw); scroll-snap-align: center; }
.galerie-piste .apercu-cap img { cursor: zoom-in; }
.galerie-btn.prec { left: max(8px, calc((100vw - 1280px) / 2 - 24px)); } .galerie-btn.suiv { right: max(8px, calc((100vw - 1280px) / 2 - 24px)); }
.galerie-aide { text-align: center; font-size: .9rem; color: var(--ardoise); margin: 4px 0 0; }
@media (max-width: 760px) { .galerie-piste .apercu-cap { flex-basis: 92vw; } }

/* agrandissement : capture en taille reelle, defilable dans tous les sens */
.zoom-voile { position: fixed; inset: 0; z-index: 1000; background: rgba(8,14,26,.94); overflow: auto; display: block; -webkit-overflow-scrolling: touch; }
.zoom-voile img { display: block; width: 1600px; max-width: none; height: auto; margin: 56px auto 24px; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.6); cursor: zoom-out; }
.zoom-fermer { position: fixed; top: 12px; right: 16px; z-index: 1001; border: 0; border-radius: 999px; padding: 10px 18px; font: 700 .95rem var(--texte, system-ui); cursor: pointer; background: #fff; color: #0f2340; }
