/* Cerefcœur - Accessibilité */
.cc-a11y-masque{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Focus clavier toujours visible */
:focus-visible{outline:3px solid #a51f3b!important;outline-offset:2px!important}

/* Bouton : rond en bas à gauche (téléphone), panneau au-dessus */
.cc-a11y{position:fixed;left:16px;bottom:16px;z-index:99990;font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
.cc-a11y button{all:unset;box-sizing:border-box;cursor:pointer}
.cc-a11y .cc-a11y-ouvrir{width:48px;height:48px;border-radius:50%;background:#c82c49;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px -6px rgba(165,31,59,.55);transition:transform .1s ease-out,background .2s}
.cc-a11y .cc-a11y-ouvrir:active{transform:scale(.95)}
.cc-a11y .cc-a11y-ouvrir svg{width:26px;height:26px;fill:#fff;stroke:#fff;stroke-width:2;stroke-linecap:round}
.cc-a11y .cc-a11y-ouvrir[aria-expanded="true"]{background:#a51f3b}
.cc-a11y-panneau{position:absolute;left:0;bottom:60px;width:290px;background:#fff;color:#14171c;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:18px;box-shadow:0 16px 40px -16px rgba(20,23,28,.3);display:flex;flex-direction:column;gap:8px;text-align:left}
.cc-a11y-panneau[hidden]{display:none}
.cc-a11y-titre{margin:0 0 4px;font:500 1.2rem/1.2 "Ubuntu",system-ui,sans-serif;color:#c82c49}
.cc-a11y-groupe{margin:0;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#6e6e73}
.cc-a11y-tailles{display:flex;gap:6px}
.cc-a11y .cc-a11y-tailles button{flex:1;text-align:center;padding:8px 4px;border:1.5px solid #f6d3da;border-radius:10px;font-weight:600;font-size:.78rem;white-space:nowrap}
.cc-a11y .cc-a11y-option{padding:10px 12px;border:1.5px solid #f6d3da;border-radius:12px;font-weight:600;font-size:.92rem;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cc-a11y .cc-a11y-option::after{content:'';flex:none;width:34px;height:20px;border-radius:99px;background:#f6d3da;box-shadow:inset -14px 0 0 2px #fff;transition:box-shadow .2s,background .2s}
.cc-a11y .cc-a11y-option[aria-pressed="true"]::after{background:#c82c49;box-shadow:inset 14px 0 0 2px #fff}
.cc-a11y .cc-a11y-raz{margin-top:4px;text-align:center;font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media print{.cc-a11y{display:none}}

/* Couleurs gardées au survol (le thème repeint les boutons) */
.cc-a11y .cc-a11y-tailles button,.cc-a11y .cc-a11y-option{background:#fff!important;color:#14171c!important}
.cc-a11y .cc-a11y-tailles button:hover,.cc-a11y .cc-a11y-option:hover{background:#fdf0f2!important;border-color:#e9a3b1!important}
.cc-a11y .cc-a11y-panneau [aria-pressed="true"]{border-color:#c82c49!important}
.cc-a11y .cc-a11y-tailles [aria-pressed="true"],.cc-a11y .cc-a11y-tailles [aria-pressed="true"]:hover{background:#c82c49!important;color:#fff!important}
.cc-a11y .cc-a11y-raz,.cc-a11y .cc-a11y-raz:hover{background:transparent!important;color:#6e6e73!important}
.cc-a11y .cc-a11y-raz:hover{color:#a51f3b!important}

/* Sur ordinateur : dans la rangée du haut, tout à droite, après « Nous contacter » */
.header-top .nav-ul > li.cc-a11y-menu{order:10;display:flex;align-items:center;margin-left:6px!important}
.cc-a11y.dans-bande{position:relative;left:auto;bottom:auto;z-index:100001}
.cc-a11y.dans-bande .cc-a11y-ouvrir{width:40px;height:40px;background:#fdf0f2;box-shadow:none}
.cc-a11y.dans-bande .cc-a11y-ouvrir svg{width:20px;height:20px;fill:#c82c49;stroke:#c82c49}
.cc-a11y.dans-bande .cc-a11y-ouvrir:hover,.cc-a11y.dans-bande .cc-a11y-ouvrir[aria-expanded="true"]{background:#f6d3da}
.cc-a11y.dans-bande .cc-a11y-panneau{top:calc(100% + 10px);bottom:auto;left:auto;right:0}
.cc-a11y .cc-a11y-libelle{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap} /* lu par les lecteurs d'écran, le pictogramme suffit à l'écran */

/* Taille du texte : agrandit toute la page, comme le zoom du navigateur */
html.cc-a11y-texte-1 body{zoom:1.15}
html.cc-a11y-texte-2 body{zoom:1.3}
/* Texte agrandi : les rubriques du menu passent sur deux lignes plutôt que de déborder */
html:is(.cc-a11y-texte-1,.cc-a11y-texte-2) .header-main .primary-menu-ul{flex-wrap:wrap!important;justify-content:center!important;row-gap:2px}

/* Texte plus espacé (valeurs du critère WCAG 1.4.12) */
html.cc-a11y-espace body *:not(.cc-a11y):not(.cc-a11y *){letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.6!important}
html.cc-a11y-espace body p{margin-bottom:2em!important}

/* Animations arrêtées : sur demande (le système le demande déjà dans le thème) */
html.cc-a11y-calme *,html.cc-a11y-calme *::before,html.cc-a11y-calme *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.cc-a11y-calme .apparait,html.cc-a11y-calme .elementor-invisible{opacity:1!important;visibility:visible!important;transform:none!important}

/* Contraste renforcé : texte noir sur blanc, liens soulignés en bleu foncé, contours noirs */
html.cc-a11y-contraste body,html.cc-a11y-contraste body *:not(.cc-a11y):not(.cc-a11y *){background-color:#fff!important;background-image:none!important;color:#000!important;text-shadow:none!important;box-shadow:none!important}
html.cc-a11y-contraste body *:not(.cc-a11y *)::before,html.cc-a11y-contraste body *:not(.cc-a11y *)::after{background-image:none!important;box-shadow:none!important}
html.cc-a11y-contraste body a:not(.cc-a11y *),html.cc-a11y-contraste body a:not(.cc-a11y *) *{color:#00248f!important;text-decoration:underline!important}
html.cc-a11y-contraste body :is(button,.elementor-button,input,select,textarea,.carte):not(.cc-a11y *){border:2px solid #000!important}
html.cc-a11y-contraste img,html.cc-a11y-contraste video,html.cc-a11y-contraste iframe{filter:none!important;opacity:1!important}
html.cc-a11y-contraste :is(.filigrane,.vagues,.vague-bas){display:none!important} /* décors : vagues et personnage du logo */
html.cc-a11y-contraste .cc-a11y.dans-bande .cc-a11y-ouvrir{background:#000!important}
html.cc-a11y-contraste .cc-a11y.dans-bande .cc-a11y-ouvrir svg{fill:#fff;stroke:#fff}
