
.infos-statut { margin-top: var(--s-3); }

.infos-horaires h2 { margin-bottom: var(--s-4); }
.infos-horaires__fermetures h3 { font-size: var(--t-lg); margin-bottom: var(--s-3); }
.infos-horaires__fermetures ul { list-style: none; padding: 0; font-size: var(--t-sm); }
.infos-horaires__fermetures li { padding-block: var(--s-2); border-bottom: 1px solid var(--bordure); }
.infos-horaires__fermetures strong { display: block; color: var(--c-foret); }
@media (min-width: 48rem) {
  .infos-horaires__intro     { grid-column: 1 / 5; }
  .infos-horaires__tableau   { grid-column: 6 / 10; }
  .infos-horaires__fermetures { grid-column: 10 / 13; }
}

.acces h2 { margin-bottom: var(--s-4); }
.acces__adresse {
  margin-bottom: var(--s-5);
  font-family: var(--f-titre);
  font-size: var(--t-lg);
  font-style: normal;
  line-height: 1.4;
  color: var(--c-foret);
}
.acces__liste { margin-bottom: var(--s-5); }
.acces__liste div { padding-block: var(--s-3); border-top: 1px solid var(--bordure); }
.acces__liste dt {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--accent);
}
.acces__liste dd { margin: var(--s-1) 0 0; font-size: var(--t-sm); }
.acces__note { margin-top: var(--s-3); }
@media (min-width: 48rem) {
  .acces__texte { grid-column: 1 / 6; }
  .plan         { grid-column: 7 / 13; align-self: start; position: sticky; top: calc(var(--hauteur-header) + var(--s-4)); }
}

.plan figcaption { margin-top: var(--s-2); }
.plan__carte {
  position: relative;
  isolation: isolate;
  aspect-ratio: 8 / 9;
  overflow: hidden;
  background: var(--fond-alt);
  box-shadow: var(--ombre-douce);
}
.plan__carte picture { display: contents; }
.plan__carte img { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.plan__osm { width: 100%; height: 100%; font-family: inherit; }
.plan__osm:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.plan__osm .leaflet-control-attribution { font-size: 0.7rem; }
.plan__osm .plan__repere { background: none; border: 0; }
.plan__repere span {
  position: absolute; left: 2px; top: 0; width: 24px; height: 24px;
  border: 3px solid var(--c-blanc); border-radius: 50% 50% 50% 0;
  background: var(--c-foret); box-shadow: var(--ombre-douce);
  transform: rotate(-45deg);
}
.plan__repere span::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--c-or-pale); }
.plan__activer { position: absolute; top: var(--s-3); left: var(--s-3); background: var(--c-papier); }
html:not(.js) .plan__activer { display: none; }

.itineraires { margin-top: var(--s-2); }
.itineraires__titre {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: var(--s-2);
}
.itineraires__liste { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; padding: 0; }
.itineraires__lien {
  display: inline-block;
  padding: 0.55em 1.1em;
  border: 1px solid var(--filet);
  border-radius: 999px;
  color: var(--c-foret);
  font-size: var(--t-sm);
  text-decoration: none;
  transition: background var(--duree-moyen) var(--ease-doux), color var(--duree-moyen) var(--ease-doux);
}
.itineraires__lien:hover { background: var(--c-foret); border-color: var(--c-foret); color: var(--c-papier); }

.accessibilite h2 { margin-bottom: var(--s-4); }
.accessibilite__liste { list-style: none; padding: 0; }
.accessibilite__liste li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-3);
  border-bottom: 1px solid var(--bordure);
}
.accessibilite__icone {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--c-cuivre);
  border-radius: 50%;
  font-family: var(--f-titre);
  color: var(--c-cuivre-profond);
}
@media (min-width: 48rem) {
  .accessibilite__intro { grid-column: 1 / 6; }
  .accessibilite__liste { grid-column: 7 / 13; }
}

.contact h2 { margin-bottom: var(--s-4); }
.contact__intro p:not(.surtitre) { color: rgb(245 240 230 / 0.88); }
.contact__liste { list-style: none; padding: 0; }
.contact__liste li { padding-block: var(--s-4); border-bottom: 1px solid rgb(245 240 230 / 0.2); }
.contact__libelle {
  display: block;
  margin-bottom: var(--s-1);
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--c-or-pale);
}
.section--foret a.contact__valeur,
.contact__valeur {
  font-family: var(--f-titre);
  font-size: var(--t-xl);
  color: var(--c-papier);
  text-decoration-color: rgb(212 165 90 / 0.6);
}
.section--foret a.contact__valeur:hover { color: var(--c-or-pale); }
.contact__texte { font-size: var(--t-sm); }
@media (min-width: 48rem) {
  .contact__intro { grid-column: 1 / 6; }
  .contact__liste { grid-column: 7 / 13; }
}
