/* ---------- Base commune : même fond pour toutes les sections ---------- */
.ag{position:relative;isolation:isolate;overflow-x:clip;background:#eaf0fa;color:#0b1220;font-size:1.06rem;line-height:1.65}
@supports not (overflow:clip){.ag{overflow-x:hidden}.ag-fond-collant{height:100% !important}}

/* ---------- Fond : diaporama d'images de la galerie ---------- */
.ag-fond{position:absolute;inset:0;z-index:0;pointer-events:none}
.ag-fond-collant{position:sticky;top:0;height:100vh;width:100%;overflow:hidden}
.ag-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2.4s ease}
.ag-img.on{opacity:1}
.ag-voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,250,255,.80),rgba(238,244,253,.72))}

/* ---------- Images claires qui flottent à gauche / à droite ---------- */
.ag-flottes{position:absolute;inset:0;z-index:1;pointer-events:none}
.ag-f{position:absolute;width:min(var(--w,200px),30vw);aspect-ratio:4/5;object-fit:cover;opacity:.46;border-radius:26px;
  filter:saturate(.9) brightness(1.1);
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,transparent 100%);
  animation:ag-g var(--d,16s) ease-in-out var(--dl,0s) infinite alternate;will-change:transform}
.ag-f.g{left:-3%}
.ag-f.d{right:-3%;animation-name:ag-d}
.ag-f.g:nth-child(3n){left:2%}
.ag-f.d:nth-child(3n){right:2%}
.ag-f:nth-child(1){top:2%;--w:240px;--d:15s;--dl:0s}
.ag-f:nth-child(2){top:10%;--w:200px;--d:18s;--dl:-4s}
.ag-f:nth-child(3){top:19%;--w:170px;--d:14s;--dl:-8s}
.ag-f:nth-child(4){top:28%;--w:230px;--d:19s;--dl:-2s}
.ag-f:nth-child(5){top:37%;--w:190px;--d:16s;--dl:-10s}
.ag-f:nth-child(6){top:46%;--w:250px;--d:20s;--dl:-6s}
.ag-f:nth-child(7){top:54%;--w:180px;--d:15s;--dl:-12s}
.ag-f:nth-child(8){top:63%;--w:220px;--d:17s;--dl:-3s}
.ag-f:nth-child(9){top:71%;--w:200px;--d:21s;--dl:-9s}
.ag-f:nth-child(10){top:80%;--w:240px;--d:16s;--dl:-5s}
.ag-f:nth-child(11){top:88%;--w:170px;--d:18s;--dl:-11s}
.ag-f:nth-child(12){top:95%;--w:210px;--d:14s;--dl:-7s}
@keyframes ag-g{from{transform:translate3d(-22px,0,0) rotate(-3deg)}to{transform:translate3d(54px,-42px,0) rotate(3deg)}}
@keyframes ag-d{from{transform:translate3d(22px,0,0) rotate(3deg)}to{transform:translate3d(-54px,-42px,0) rotate(-3deg)}}
@media (max-width:700px){.ag-f{opacity:.34}}
@media (prefers-reduced-motion:reduce){.ag-f{animation:none}.ag-img{transition:none}}

/* ---------- Sections : fond transparent, panneaux clairs identiques ---------- */
.ag>section{position:relative;z-index:2;background:transparent !important;background-image:none !important;color:inherit}
.ag>section::before,.ag>section::after{display:none !important}
.ag>section>.container,.ag>section.container{
  box-sizing:border-box;width:calc(100% - 24px);max-width:1140px;margin:0 auto;
  padding:clamp(18px,3vw,34px);background:transparent !important;border:0;border-radius:0;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.ag>section.container{margin-block:clamp(14px,2.5vw,26px)}
.ag>section.section:not(.container){padding-block:clamp(14px,2.5vw,26px)}
.ag .hero{padding-block:clamp(26px,6vw,64px)}
.ag .section-carrousel>.container{width:fit-content;max-width:calc(100% - 24px)}
.ag .section-carrousel{padding-bottom:clamp(18px,3vw,34px)}

/* ---------- Textes très lisibles ---------- */
.ag h1,.ag h2,.ag h3{color:#0b1220 !important;text-shadow:0 0 3px #fff,0 0 9px rgba(255,255,255,.95),0 0 18px rgba(255,255,255,.85) !important;font-weight:800;line-height:1.2}
.ag h1{font-size:clamp(1.9rem,5vw,3.1rem)}
.ag .titre-section{font-size:clamp(1.5rem,3.4vw,2.1rem);margin-top:0}
.ag>section .container p,.ag>section.container p,.ag>section .container li,.ag>section.container li,
.ag>section .container label,.ag>section .container figcaption,.ag>section .container blockquote,
.ag>section.container blockquote,.ag>section.container figcaption{color:#0b1220;font-weight:500;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.95),0 0 16px rgba(255,255,255,.8)}
.ag .hero-texte{font-size:clamp(1.08rem,2.2vw,1.28rem);color:#0b1220;font-weight:500;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.95),0 0 16px rgba(255,255,255,.8)}
.ag .hero-sur-titre{color:#0a3fa8 !important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.92rem;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.95) !important}
.ag .entete-section a{color:#0a3fa8;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.95)}
.ag .entete-section a:hover{color:#062a73}
.ag .liste-categories a{background:#fff;color:#0a3fa8;border:1px solid #b9c9e6;font-weight:700}
.ag .liste-categories a:hover{background:#0a3fa8;color:#fff}
.ag .liste-categories .compteur{background:#e3ecfb;color:#0a3fa8}
.ag .temoignage{background:transparent;border:1px solid rgba(10,63,168,.25);border-radius:16px;padding:18px;box-shadow:none}
.ag .encart{background:transparent;border:1px solid rgba(10,63,168,.25);color:#0b1220;box-shadow:none}

/* ---------- Boutons et recherche : fort contraste ---------- */
.ag .btn,.ag .btn-clair{background:#0a3fa8;color:#fff;border:2px solid #0a3fa8;font-weight:700;border-radius:12px;text-shadow:none}
.ag .btn:hover,.ag .btn-clair:hover{background:#062a73;border-color:#062a73;color:#fff}
.ag .btn-contour,.ag .btn-contour-sombre{background:#fff;color:#0a3fa8;border:2px solid #0a3fa8}
.ag .btn-contour:hover,.ag .btn-contour-sombre:hover{background:#0a3fa8;color:#fff}
.ag .recherche-hero input{background:#fff;color:#0b1220;border:2px solid #9db2da;font-size:1.05rem}
.ag .recherche-hero input::placeholder{color:#566179;opacity:1}
.ag .recherche-hero input:focus{outline:3px solid rgba(10,63,168,.35);border-color:#0a3fa8}
.ag .carrousel{padding-block:10px}

/* ---------- Informations ajoutées : badge, auteur, paiement, coordonnées ---------- */
.ag .ag-badge{display:inline-block;margin-top:22px;padding:14px 24px;border:2px solid #0a3fa8;border-radius:16px;text-align:center;background:transparent;font-weight:600;color:#0b1220;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.95),0 0 16px rgba(255,255,255,.8)}
.ag .ag-badge b{display:block;font-size:clamp(1.6rem,4vw,2.2rem);color:#0a3fa8;line-height:1.2}
.ag .ag-sous{text-align:center;margin-inline:auto;margin-bottom:26px;font-weight:600}
.ag .ag-bio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px}
.ag .ag-carte{border:1px solid rgba(10,63,168,.28);border-radius:16px;padding:20px;background:transparent}
.ag .ag-carte h3{margin:0 0 10px;color:#0a3fa8 !important}
.ag .ag-carte ul{margin:12px 0 0 18px}
.ag .ag-carte li{margin:6px 0}
.ag .ag-photo{display:flex;justify-content:center;margin-bottom:16px}
.ag .ag-photo img{width:210px;max-width:60%;height:260px;object-fit:cover;border-radius:14px;border:3px solid #0a3fa8;box-shadow:0 6px 20px rgba(12,28,60,.25)}
.ag .ag-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px}
.ag .ag-mode{border:1px solid rgba(10,63,168,.38);border-radius:14px;padding:18px;text-align:center;cursor:pointer;font-weight:600;color:#0b1220;background:transparent;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.95),0 0 16px rgba(255,255,255,.8)}
.ag .ag-mode b{display:block;font-size:1.25rem;color:#0a3fa8;margin-top:6px;overflow-wrap:anywhere}
.ag .ag-mode:hover,.ag .ag-mode:focus-visible{border-color:#0a3fa8;background:rgba(10,63,168,.08)}
.ag .ag-mode svg{vertical-align:-4px;margin-right:6px}
.ag .ag-coord{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:18px;text-align:center}
.ag .ag-coord .ag-carte{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:1.6rem}
.ag .ag-coord .ag-carte h3{margin:0}
.ag .ag-coord p{font-size:1.02rem;overflow-wrap:anywhere;margin:0}
.ag .ag-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}
.ag .ag-acts .btn{padding:.55rem 1rem;font-size:.92rem;font-family:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.ag .ag-acts .btn-wa{background:#128c4a;border-color:#128c4a}
.ag-fab{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;gap:12px}
.ag-fab a{width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.35);text-shadow:none}
.ag-fab .wa{background:#128c4a}
.ag-fab .tel{background:#0a3fa8}
.ag-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:rgba(10,20,40,.94);color:#fff;padding:10px 18px;border-radius:24px;opacity:0;transition:.3s;z-index:2000;pointer-events:none;max-width:90vw;text-align:center}
.ag-toast.on{opacity:1;transform:translate(-50%,0)}