/* Compléments communs à tous les templates (fil d'Ariane, formulaires, listes de villes, avis…) */
#sidebar { color: var(--texte); }
.ariane { margin: 1.5em 0 0; font-size: .85em; }
.ariane ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25em .5em; }
.ariane li { padding: 0; }
.ariane li + li:before { content: '›'; margin-right: .5em; color: var(--discret); }
.ariane a { border-bottom: 0; color: var(--discret); }
.ariane a:hover { color: var(--accent); }
.fw-alerte { margin: 2em 0 0; padding: 1em 1.25em; border-radius: .375em; border-left: 4px solid var(--accent); background: var(--accent-tres-leger); color: var(--titre); }
.fw-alerte.fw-success { border-left-color: #2e9e5b; background: rgba(46, 158, 91, .08); }
.fw-alerte.fw-error { border-left-color: #d64545; background: rgba(214, 69, 69, .08); }
.fw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.fw-form { margin-top: 1em; }
.fw-colonnes { columns: 3 15em; column-gap: 2em; list-style: none; padding: 0; }
.fw-colonnes li { break-inside: avoid; padding: .15em 0; }
.fw-colonnes a, .fw-liste-villes a { border-bottom: 0; }
.fw-liste-villes { list-style: none; padding: 0; font-size: .9em; }
.fw-liste-villes li { padding: .1em 0; }
.fw-lettres a { display: inline-block; min-width: 1.6em; text-align: center; border-bottom: 0; font-weight: 600; }
.fw-communes h3 { margin: 1.5em 0 .5em; color: var(--accent); }
.fw-meta { color: var(--discret); font-size: .9em; margin-top: -.5em; }
.fw-label { display: block; margin: 1.25em 0 .35em; font-size: .85em; }
.fw-zone select { margin-bottom: .25em; }
.fw-liens-legaux { font-size: .8em; }
.fw-etoiles { color: #f5b301; letter-spacing: .1em; }
.fw-avis-global { font-size: 1.1em; }
.fw-avis-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(16em, 1fr)); gap: 1.5em; }
.fw-avis-item { margin: 0; padding: 1.25em 1.5em; border-left: solid 3px var(--accent); background: var(--fond-menu); font-style: normal; }
.fw-avis-item footer { font-size: .85em; color: var(--discret); }
.fw-local { margin-top: 3em; }
.fw-realisations article img { aspect-ratio: 4 / 3; object-fit: cover; }
iframe { max-width: 100%; }
.fw-cc-bloque { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; background: var(--fond-menu); border: 1px dashed var(--bordure); padding: 24px; text-align: center; min-height: 180px; font-size: .9em; }
#banner .image.object iframe { width: 100%; }
@media screen and (max-width: 480px) {
  #header .icons { font-size: .85em; white-space: nowrap; }
  #header .icons > li { padding-left: .6em; }
  .fw-colonnes { columns: 1; }
}
.fw-zone img { display: block; }
.fw-faq details { border-bottom: solid 1px var(--bordure); padding: .9em 0; }
.fw-faq summary { cursor: pointer; font-weight: 600; color: var(--titre); list-style: none; position: relative; padding-right: 1.5em; }
.fw-faq summary::-webkit-details-marker { display: none; }
.fw-faq summary:after { content: '+'; position: absolute; right: 0; color: var(--accent); font-weight: 700; }
.fw-faq details[open] summary:after { content: '–'; }
.fw-faq details p { margin: .75em 0 0; }
.fw-aller-contenu { position: absolute; left: -9999px; top: 0; z-index: 100000; background: #fff; color: #000; padding: .5em 1em; }
.fw-aller-contenu:focus { left: 1em; top: 1em; }
.fw-choix-zone select { margin-bottom: .25em; }
