/* Panneau d'accessibilite : maquette HTML/barre-des-cevennes-panneau-accessibilite.html. Voir EXCEPTIONS-PHP-JS.md. */
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url(atkinson-400.woff2) format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url(atkinson-700.woff2) format("woff2"); }

#bdca-racine {
  --bdca-chaux: #f3f0ea; --bdca-chaux-haute: #fbf9f5; --bdca-chaux-basse: #e7e2d6; --bdca-ocre: #f0e4c8;
  --bdca-fond: var(--bdca-chaux); --bdca-surface: var(--bdca-chaux-haute); --bdca-surface-basse: var(--bdca-chaux-basse);
  --bdca-texte: #23282b; --bdca-texte-doux: #596361; --bdca-accent: #8a3a16; --bdca-accent-texte: #ffffff;
  --bdca-bordure: #d6d0c4; --bdca-focus: #a84418; --bdca-ombre: 0 1.5rem 4rem rgba(20, 24, 24, .22); --bdca-rayon: .35rem;
  font-family: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; color: var(--bdca-texte);
}
html[data-bdca-theme="dark"] #bdca-racine { color-scheme: dark; --bdca-fond: #171b1d; --bdca-surface: #23292b; --bdca-surface-basse: #303739; --bdca-texte: #f6f2e9; --bdca-texte-doux: #c8cfcc; --bdca-accent: #f0a16f; --bdca-accent-texte: #171b1d; --bdca-bordure: #4b5555; --bdca-focus: #ffd39e; --bdca-ombre: 0 1.5rem 4rem rgba(0, 0, 0, .5); }
html[data-bdca-theme="enhanced"] #bdca-racine { color-scheme: dark; --bdca-fond: #000000; --bdca-surface: #000000; --bdca-surface-basse: #151515; --bdca-texte: #ffffff; --bdca-texte-doux: #ffffff; --bdca-accent: #ffdf00; --bdca-accent-texte: #000000; --bdca-bordure: #ffffff; --bdca-focus: #00e5ff; --bdca-ombre: 0 0 0 3px #ffffff; }
html[data-bdca-theme="cream"] #bdca-racine { --bdca-fond: #f6eed9; --bdca-surface: #fff9e9; --bdca-surface-basse: #eadfc4; --bdca-texte: #2f291f; --bdca-texte-doux: #5d5141; --bdca-accent: #7a3215; --bdca-accent-texte: #ffffff; --bdca-bordure: #c9b995; --bdca-focus: #7a3215; }
html[data-bdca-theme="grayscale"] #bdca-racine { --bdca-fond: #eeeeec; --bdca-surface: #ffffff; --bdca-surface-basse: #d9d9d6; --bdca-texte: #202020; --bdca-texte-doux: #505050; --bdca-accent: #222222; --bdca-accent-texte: #ffffff; --bdca-bordure: #9a9a96; --bdca-focus: #000000; }

#bdca-racine *, #bdca-racine *::before, #bdca-racine *::after { box-sizing: border-box; }
#bdca-racine [hidden] { display: none !important; }
:where(#bdca-racine) :where(button, input) { font: inherit; }
:where(#bdca-racine) :where(button) { color: inherit; }
:where(#bdca-racine) :where(svg) { display: block; max-width: 100%; }
#bdca-racine :focus-visible { outline: .2rem solid var(--bdca-focus); outline-offset: .2rem; }

body.bdca-ouvert { overflow: hidden; }

.bdca-declencheur {
  position: fixed; z-index: 45; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom));
  display: inline-flex; align-items: center; gap: .55rem; min-height: 3.25rem; padding: .65rem 1rem; margin: 0;
  color: var(--bdca-accent-texte); background: var(--bdca-accent); border: 2px solid var(--bdca-surface); border-radius: 999px;
  box-shadow: 0 .55rem 1.8rem rgba(0,0,0,.24); font-weight: 720; cursor: pointer;
}
.bdca-declencheur svg { width: 1.35rem; height: 1.35rem; }
.bdca-declencheur[aria-expanded="true"] { opacity: 0; pointer-events: none; }

.bdca-couche { position: fixed; z-index: 100000; inset: 0; }
.bdca-voile { position: absolute; inset: 0; background: rgba(15, 18, 19, .55); backdrop-filter: blur(2px); }
.bdca-panneau {
  position: absolute; top: 0; right: 0; display: flex; flex-direction: column; width: min(27rem, 100%); height: 100%; max-width: 100vw;
  color: var(--bdca-texte); background: var(--bdca-fond); border-left: 1px solid var(--bdca-bordure); box-shadow: var(--bdca-ombre);
  animation: bdca-entree .22s ease-out both;
}
@keyframes bdca-entree { from { transform: translateX(100%); } }

.bdca-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.25rem 1rem; padding-top: max(1.2rem, env(safe-area-inset-top)); background: var(--bdca-surface); border-bottom: 1px solid var(--bdca-bordure); }
.bdca-tete > div { min-width: 0; }
.bdca-surtitre { margin: 0 0 .25rem; color: var(--bdca-accent); font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
#bdca-titre { margin: 0; color: inherit; font-family: inherit; overflow-wrap: anywhere; font-size: 1.45rem; font-weight: 700; line-height: 1.1; letter-spacing: normal; }
.bdca-icone { display: grid; flex: 0 0 auto; width: 3rem; height: 3rem; place-items: center; padding: 0; color: var(--bdca-texte); background: transparent; border: 1px solid var(--bdca-bordure); border-radius: var(--bdca-rayon); cursor: pointer; }
.bdca-icone:hover { background: var(--bdca-surface-basse); }
.bdca-icone svg { width: 1.35rem; }

.bdca-defilement { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.15rem 1.25rem 1.5rem; }
.bdca-groupe { min-width: 0; margin: 0; padding: 0 0 1.35rem; border: 0; }
.bdca-groupe + .bdca-groupe { padding-top: 1.25rem; border-top: 1px solid var(--bdca-bordure); }
.bdca-groupe legend, .bdca-groupe-titre { width: 100%; margin: 0 0 .75rem; padding: 0; color: inherit; font-size: .9rem; font-weight: 750; }

.bdca-taille { display: grid; grid-template-columns: 3.25rem 1fr 3.25rem; gap: .5rem; }
.bdca-pas, .bdca-valeur { min-height: 3.25rem; border: 1px solid var(--bdca-bordure); border-radius: var(--bdca-rayon); }
.bdca-pas { padding: 0; color: var(--bdca-texte); background: var(--bdca-surface); font-size: 1.45rem; font-weight: 700; cursor: pointer; }
.bdca-pas:hover:not([aria-disabled="true"]) { color: var(--bdca-accent-texte); background: var(--bdca-accent); border-color: var(--bdca-accent); }
.bdca-pas[aria-disabled="true"] { opacity: .42; cursor: not-allowed; }
.bdca-valeur { display: grid; place-items: center; background: var(--bdca-surface-basse); font-weight: 720; }

.bdca-themes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.bdca-theme { position: relative; }
.bdca-theme input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.bdca-theme label { display: flex; min-height: 3.35rem; align-items: center; gap: .65rem; margin: 0; padding: .55rem .7rem; color: inherit; background: var(--bdca-surface); border: 1px solid var(--bdca-bordure); border-radius: var(--bdca-rayon); font-size: .82rem; font-weight: 650; cursor: pointer; }
.bdca-theme input:checked + label { border: 2px solid var(--bdca-accent); padding: calc(.55rem - 1px) calc(.7rem - 1px); }
.bdca-theme input:focus-visible + label { outline: .2rem solid var(--bdca-focus); outline-offset: .15rem; }
.bdca-pastille { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; border: 1px solid #666; border-radius: 50%; }
.bdca-p-light { background: linear-gradient(135deg, #f3f0ea 50%, #23282b 50%); }
.bdca-p-dark { background: linear-gradient(135deg, #171b1d 50%, #f6f2e9 50%); }
.bdca-p-enhanced { background: linear-gradient(135deg, #000 50%, #ffdf00 50%); }
.bdca-p-cream { background: linear-gradient(135deg, #f6eed9 50%, #7a3215 50%); }
.bdca-p-grayscale { background: linear-gradient(135deg, #eee 50%, #222 50%); }

.bdca-bascules { display: grid; gap: .55rem; }
.bdca-bascule { display: flex; width: 100%; min-height: 3.75rem; align-items: center; justify-content: space-between; gap: 1rem; margin: 0; padding: .72rem .8rem; text-align: left; color: var(--bdca-texte); background: var(--bdca-surface); border: 1px solid var(--bdca-bordure); border-radius: var(--bdca-rayon); cursor: pointer; }
.bdca-bascule:hover { border-color: var(--bdca-accent); }
.bdca-bascule[aria-disabled="true"] { cursor: not-allowed; }
.bdca-libelle { min-width: 0; font-size: .86rem; font-weight: 680; line-height: 1.25; }
.bdca-libelle small { display: block; margin-top: .2rem; color: var(--bdca-texte-doux); font-size: .72rem; font-weight: 450; }
.bdca-inter { position: relative; flex: 0 0 auto; width: 2.9rem; height: 1.65rem; background: var(--bdca-surface-basse); border: 1px solid var(--bdca-bordure); border-radius: 999px; }
.bdca-inter::after { content: ""; position: absolute; top: .18rem; left: .18rem; width: 1.15rem; height: 1.15rem; background: var(--bdca-texte-doux); border-radius: 50%; transition: transform .18s ease, background-color .18s ease; }
.bdca-bascule[aria-pressed="true"] .bdca-inter { background: var(--bdca-accent); border-color: var(--bdca-accent); }
.bdca-bascule[aria-pressed="true"] .bdca-inter::after { background: var(--bdca-accent-texte); transform: translateX(1.23rem); }

.bdca-reinit { width: 100%; min-height: 3.25rem; margin: 0; color: var(--bdca-accent); background: transparent; border: 2px solid currentColor; border-radius: var(--bdca-rayon); font-weight: 720; cursor: pointer; }
.bdca-reinit:hover { color: var(--bdca-accent-texte); background: var(--bdca-accent); border-color: var(--bdca-accent); }
.bdca-note { margin: .8rem 0 0; color: var(--bdca-texte-doux); font-size: .72rem; line-height: 1.45; text-align: center; }

.bdca-guide { position: fixed; z-index: 99999; top: var(--bdca-guide-y, 45vh); left: 0; width: 100%; height: 3.4rem; pointer-events: none; transform: translateY(-50%); background: rgba(240, 228, 200, .16); border-block: .16rem solid var(--bdca-accent); box-shadow: 0 -.1rem .8rem rgba(0,0,0,.12), 0 .1rem .8rem rgba(0,0,0,.12); }
.bdca-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@media (max-width: 37.5rem) {
  .bdca-declencheur { right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); width: 3.25rem; padding: 0; justify-content: center; }
  .bdca-declencheur span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .bdca-panneau { top: auto; bottom: 0; width: 100%; height: min(92dvh, 48rem); border-top: 1px solid var(--bdca-bordure); border-left: 0; border-radius: .85rem .85rem 0 0; animation-name: bdca-montee; }
  .bdca-tete { gap: .5rem; padding-inline: 1rem; }
  #bdca-titre { overflow-wrap: normal; font-size: 1.25rem; }
  .bdca-tete .bdca-icone { width: 2.75rem; height: 2.75rem; }
  .bdca-defilement { padding-inline: 1rem; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
}
@keyframes bdca-montee { from { transform: translateY(100%); } }
@media (max-width: 22rem) { .bdca-themes { grid-template-columns: 1fr; } }

/* Reglages appliques au site */
html[data-bdca-theme="dark"], html[data-bdca-theme="dark"] body { background-color: #171b1d !important; color: #f6f2e9; }
html[data-bdca-theme="enhanced"], html[data-bdca-theme="enhanced"] body { background-color: #000 !important; color: #fff; }
html[data-bdca-theme="cream"], html[data-bdca-theme="cream"] body { background-color: #f6eed9 !important; }
html[data-bdca-theme="grayscale"] { filter: grayscale(1); }
html[data-bdca-theme="enhanced"] body a:not(#bdca-racine a) { color: #ffdf00 !important; }
html[data-bdca-theme="enhanced"] body :is(a.button, button, .button-atom:not(.button-atom--text)):not(#bdca-racine *) { border: 1px solid #fff !important; }
html[data-bdca-theme="enhanced"] body :focus-visible:not(#bdca-racine *) { outline: 3px solid #00e5ff !important; outline-offset: 2px; }

/* Contrastes : themes Creme et Niveaux de gris uniquement, l'apparence normale ne change pas. */
html[data-bdca-theme="cream"] :is(.bdcv-pj-btn--avenir, .bdcv-pj-doc--avenir, .bdcv-pj-doc--avenir .bdcv-pj-format) { color: #5d5141 !important; }
html[data-bdca-theme="grayscale"] :is(.bdcv-pj-btn--avenir, .bdcv-pj-doc--avenir, .bdcv-pj-doc--avenir .bdcv-pj-format) { color: #505050 !important; }
html:is([data-bdca-theme="cream"], [data-bdca-theme="grayscale"]) .bdcv-sp-menu_note { color: #3c4346 !important; }
html[data-bdca-theme="grayscale"] .bdcv-smesl_panneau-sombre .bdcv-smesl_numero { color: #f0b08c !important; }
html:is([data-bdca-theme="cream"], [data-bdca-theme="grayscale"]) .bdcv-lr-activite_lien { color: #fff !important; }
html[data-bdca-theme="enhanced"] .bdcv-404-page .bdcv-404-retour { background: #000 !important; border: 1px solid #fff !important; }

/* Legendes posees sur les photos de la galerie : fond garanti dans tous les themes, quelle que soit l'image. */
html[data-bdca-theme] .bdcv-gal-photo_legende { background-color: rgba(15, 19, 20, .78) !important; }
html[data-bdca-theme] .bdcv-gal-photo_collection { color: #fff !important; }

html[data-bdca-police] body *:not(svg, svg *) { font-family: "Atkinson Hyperlegible", Arial, sans-serif !important; }

html[data-bdca-liens] body a { text-decoration: underline !important; text-decoration-thickness: .1em !important; }

html[data-bdca-espacement] body *:not(svg, svg *) { letter-spacing: .045em !important; word-spacing: .13em !important; line-height: 1.85 !important; }
html[data-bdca-espacement] body :is(h1, h2, h3, h4) { letter-spacing: .035em !important; line-height: 1.35 !important; }
html[data-bdca-espacement] body :is(p, li):not(#bdca-racine *) { margin-bottom: .8em; }

/* Texte agrandi ou espace : les mots longs (courriels, dates) peuvent se couper plutot que deborder. */
html[data-bdca-grand] body *:not(svg, svg *) { overflow-wrap: anywhere; }
html[data-bdca-grand] body .bdcv-hv_date { white-space: normal !important; }

html[data-bdca-animations="0"], html[data-bdca-animations="0"] body { scroll-behavior: auto !important; }
html[data-bdca-animations="0"] *, html[data-bdca-animations="0"] *::before, html[data-bdca-animations="0"] *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; }
@media (prefers-reduced-motion: reduce) {
  #bdca-racine *, #bdca-racine *::before, #bdca-racine *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
