/* Aqua2A — compléments au CSS de base (inclus dans chaque page) */

/* Sélecteur de langue : liens <a> */
.a2a-ui-language-menu__option { text-decoration: none; color: inherit; display: flex; align-items: center; }
.a2a-ui-language-menu__option[aria-current="true"] { pointer-events: none; }

/* Formulaires : message de remerciement (remplace le formulaire 10 s) */
.a2a-form-thanks {
  padding: 40px 20px;
  text-align: center;
  font: normal normal normal 16px/1.6em montserrat, sans-serif;
  color: rgb(var(--color_15, 0, 54, 99));
}
.a2a-file-name { margin-top: 8px; font: 14px/1.4em montserrat, sans-serif; color: inherit; }
[data-hook="file-upload-root"] input[type="file"] { display: none; }

/* Le CSS de base cible ".CjkVyx>button" : mêmes règles pour nos liens <a> */
.CjkVyx>a{background-color:rgba(var(--backgroundColor,var(--color_4,color_4)),var(--alpha-backgroundColor,1));height:100%;color:inherit;cursor:pointer;font:inherit;flex:auto;align-items:center;display:flex;justify-content:center;padding:0;border:0}
.CjkVyx>a:first-child,.CjkVyx>a:last-child{border-radius:var(--borderRadius,5px)}
.CjkVyx>a:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.CjkVyx>a:last-child{border-top-left-radius:0;border-bottom-left-radius:0}
.CjkVyx>a:not(:first-child){border-left-style:solid;border-left-width:1px;border-left-color:rgba(var(--separatorColor,254, 254, 254),var(--alpha-separatorColor,1))}
.CjkVyx>a:hover{color:rgb(var(--itemTextColorHover,var(--color_1,color_1)));background-color:rgba(var(--backgroundColorHover,var(--color_4,color_4)),var(--alpha-backgroundColorHover,1))}
.CjkVyx>a.nOw6jW{color:rgb(var(--itemTextColorActive,var(--color_1,color_1)));background-color:rgba(var(--backgroundColorActive,var(--color_4,color_4)),var(--alpha-backgroundColorActive,1));cursor:default}
.a2a-file-name:empty { display: none; }

/* Avis Google (accueil) — couleurs et police du site */
.a2a-avis { --a2a-bleu: rgb(0, 54, 95); font-family: montserrat, sans-serif; color: var(--a2a-bleu); padding: 24px 0 8px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.a2a-avis__resume { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 10px; font-size: 16px; }
.a2a-avis__g { width: 30px; height: 30px; border-radius: 50%; display: inline-grid; place-items: center; font: 700 18px/1 Arial, sans-serif; color: #fff; background: conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0); }
.a2a-avis__titre { font-weight: 700; letter-spacing: .12em; }
.a2a-avis__note { font-weight: 700; font-size: 22px; }
.a2a-avis__total { opacity: .8; }
.a2a-avis__etoiles { color: #f5b301; letter-spacing: 2px; font-size: 18px; white-space: nowrap; }
.a2a-avis__etoile--vide { color: rgba(0, 54, 95, .2); }
.a2a-avis__etoile--demi { background: linear-gradient(90deg, #f5b301 50%, rgba(0, 54, 95, .2) 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.a2a-avis__liste { width: min(1240px, calc(100% - 40px)); display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 20px) / 4); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 12px; scrollbar-width: thin; }
.a2a-avis__carte { scroll-snap-align: start; background: #fff; border: 1px solid rgba(0, 54, 95, .15); border-radius: 15px; padding: 18px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 4px 14px rgba(0, 54, 95, .06); }
.a2a-avis__auteur { display: flex; align-items: center; gap: 10px; }
.a2a-avis__auteur img, .a2a-avis__initiale { width: 36px; height: 36px; border-radius: 50%; flex: none; }
.a2a-avis__initiale { display: grid; place-items: center; background: rgb(120, 163, 191); color: #fff; font-weight: 700; }
.a2a-avis__auteur a { color: inherit; font-weight: 700; font-size: 14px; text-decoration: none; display: block; }
.a2a-avis__auteur small { font-size: 12px; opacity: .7; }
.a2a-avis__texte { margin: 0; font-size: 13px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.a2a-avis__lien { color: var(--a2a-bleu); border: 1px solid var(--a2a-bleu); border-radius: 30px; padding: 10px 26px; font-size: 14px; text-decoration: none; transition: background .3s, color .3s; }
.a2a-avis__lien:hover { background: var(--a2a-bleu); color: #fff; }
@media (max-width: 1000px) { .a2a-avis__liste { grid-auto-columns: calc((100% - 20px) / 2); } }
@media (max-width: 750px) { .a2a-avis__liste { grid-auto-columns: 85%; } .a2a-avis__resume { font-size: 14px; } }
.a2a-avis__note small { font-size: .55em; font-weight: 500; opacity: .7; margin-left: 2px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Bloc fixe (note seule, sans avis détaillés) : tient dans la hauteur de la zone à toutes les largeurs */
.a2a-avis--fixe { padding: 0; height: 100%; justify-content: center; gap: clamp(10px, 1.6vw, 26px); }
.a2a-avis--fixe .a2a-avis__resume { flex-direction: column; gap: clamp(4px, .55vw, 8px); }
.a2a-avis--fixe .a2a-avis__g { width: clamp(30px, 3vw, 44px); height: clamp(30px, 3vw, 44px); font-size: clamp(18px, 1.8vw, 26px); }
.a2a-avis--fixe .a2a-avis__titre { font-size: clamp(12px, 1.05vw, 15px); text-transform: uppercase; letter-spacing: .3em; }
.a2a-avis--fixe .a2a-avis__note { font-size: clamp(34px, 3.9vw, 56px); line-height: 1; letter-spacing: -.01em; }
.a2a-avis--fixe .a2a-avis__etoiles { font-size: clamp(20px, 2.1vw, 30px); letter-spacing: 4px; line-height: 1; }
.a2a-avis--fixe .a2a-avis__lien { padding: clamp(7px, .7vw, 10px) 26px; font-size: clamp(12px, 1vw, 14px); }
@media (max-width: 750px) {
  .a2a-avis--fixe .a2a-avis__note { font-size: clamp(34px, 11vw, 48px); }
  .a2a-avis--fixe .a2a-avis__etoiles { font-size: clamp(18px, 6vw, 26px); }
  .a2a-avis--fixe .a2a-avis__g { width: clamp(28px, 9vw, 40px); height: clamp(28px, 9vw, 40px); font-size: clamp(16px, 5.5vw, 24px); }
  .a2a-avis--fixe { gap: clamp(8px, 3vw, 18px); }
}

/* Pages légales : liens repérables dans le texte */
#bloc-lztwlmy6 a, #bloc-lztws3b95 a, #bloc-lztwx3532 a, #bloc-lztrbyd6__item1 a { text-decoration: underline; }

/* Formulaires : information RGPD sous le bouton d'envoi */
.a2a-rgpd { margin: 10px 0 0; font: 11px/1.45 montserrat, sans-serif; color: inherit; opacity: .75; text-align: center; }
.a2a-rgpd a { color: inherit; text-decoration: underline; }

/* Page 404 */
#bloc-lztrbyd6__item1 .a2a-404-code { font: 700 clamp(72px, 10vw, 140px)/1 montserrat, sans-serif; color: rgb(120, 163, 191); letter-spacing: .04em; margin-bottom: 18px; }
.a2a-404-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 10px; }
#bloc-lztrbyd6__item1 a.a2a-404-btn { display: inline-flex; align-items: center; padding: 12px 26px; border-radius: 30px; border: 1px solid rgb(0, 54, 95); background: rgb(0, 54, 95); color: #fff; text-decoration: none; font: 500 14px/1 montserrat, sans-serif; letter-spacing: .03em; transition: background .3s, color .3s; }
#bloc-lztrbyd6__item1 a.a2a-404-btn--clair { background: transparent; color: rgb(0, 54, 95); }
#bloc-lztrbyd6__item1 a.a2a-404-btn:hover { background: rgb(120, 163, 191); border-color: rgb(120, 163, 191); color: #fff; }

/* Navigation au clavier (touche Tab) : contour visible sur l'élément sélectionné. :focus-visible ne s'applique pas
   aux clics de souris sur les liens et boutons -> aucun changement pour les visiteurs à la souris. Les champs de
   saisie gardent leur propre style (sinon le contour apparaîtrait aussi au clic). */
:focus-visible:not(input, textarea, select) {
  outline: 3px solid #1a73e8 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #fff !important;      /* liseré blanc : contour visible aussi sur fond bleu foncé */
}
/* boutons collés au bord d'un cadre qui coupe ce qui dépasse (menu, FR/EN, flèches, PLUS D'INFORMATIONS) :
   contour à l'intérieur du bouton */
.StylableButton2545352419__root:focus-visible, .a2a-ui-language-menu__option:focus-visible,
.WZxFET:focus-visible, .YX2qkL:focus-visible {
  outline-offset: -3px !important;
  box-shadow: none !important;
}
/* cases à cocher : la vraie case est invisible, le contour va sur la case dessinée */
.svuSFGV:focus-visible + .sTzype5 .sgFdyri {
  outline: 3px solid #1a73e8;
  outline-offset: 2px;
}
