/* Identity: sources/spec/DESIGN.md and app/content/identite.json, through the theme's local fonts and tokens (tokens.css). */
.ueah-route-cards { display: grid; gap: 2rem; list-style: none; margin-block: 1.5rem 0; padding: 0; }
.ueah-route-cards > li, .ueah-route-card, .ueah-route-step-text, .ueah-route-step-image { min-width: 0; }
.ueah-route-card { height: 100%; box-sizing: border-box; padding-block-end: 1rem; border-block-end: 1px solid var(--ueah-bordure); }
.ueah-route-card h2 { margin-block: .75rem .5rem; }
.ueah-route-card a, .ueah-route-header ~ * a { text-underline-offset: .15em; overflow-wrap: anywhere; }
.ueah-route-card p { margin-block: .5rem; }
.ueah-route-card figure, .ueah-route-steps figure { margin: 0; }
.ueah-route-hero figure { margin: 0 auto; }
.ueah-route-card img, .ueah-route-hero img, .ueah-route-steps img { display: block; width: 100%; height: auto; }
.ueah-route-card figcaption, .ueah-route-hero figcaption, .ueah-route-steps figcaption, .ueah-route-source { font-size: var(--wp--preset--font-size--petit, .875rem); line-height: 1.5; overflow-wrap: anywhere; }
.ueah-route-card figcaption, .ueah-route-hero figcaption, .ueah-route-steps figcaption { padding-block-start: .5rem; }
.ueah-route-count { font-weight: 700; }
.ueah-route-header h1 { margin-block: 0 1rem; overflow-wrap: anywhere; }
.ueah-route-summary { font-family: var(--ueah-police-titres); font-size: var(--wp--preset--font-size--moyen, 1.375rem); line-height: 1.4; }
.ueah-route-header ~ :is(section, aside, .ueah-route-hero) { margin-block-start: 2rem; }
.ueah-route-header ~ section h2 { margin-block: 0 1rem; }
.ueah-route-source { margin-block-start: 1.5rem; padding-block-start: .75rem; border-block-start: 1px solid var(--ueah-bordure); }
/* The number stays next to the title on every width; reading order is title, details, then thumbnail. */
.ueah-route-steps ol { list-style: none; counter-reset: ueah-etape; margin: 1.5rem 0 0; padding: 0; }
.ueah-route-steps li { counter-increment: ueah-etape; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); grid-template-areas: "numero texte" ". image"; column-gap: .75rem; margin-block: 0 1.5rem; padding-block: 0 1.5rem; border-block-end: 1px solid var(--ueah-bordure); }
.ueah-route-steps li::before { grid-area: numero; content: counter(ueah-etape); font-family: var(--ueah-police-titres); font-size: 2.25rem; font-weight: 700; line-height: 1; }
.ueah-route-step-text { grid-area: texte; }
.ueah-route-step-text h3 { margin-block: 0 .5rem; overflow-wrap: anywhere; }
.ueah-route-step-text p { margin-block: .25rem; overflow-wrap: anywhere; }
.ueah-route-step-image { grid-area: image; max-width: 24rem; margin-block-start: .75rem; }
.ueah-route-map { box-sizing: border-box; padding: 1.25rem; background: var(--ueah-brume); color: var(--ueah-texte); }
.ueah-route-map .ueah-iframe { margin: 1.25rem 0 0; }
.ueah-route-gpx svg { display: block; margin-block: 1.25rem .75rem; background: var(--ueah-fond); color: var(--ueah-texte); }
.ueah-route-resources { box-sizing: border-box; padding: 1.25rem; background: var(--ueah-sable); color: var(--ueah-texte); }
.ueah-route-resources ul { margin: 0; padding-inline-start: 1.25rem; }
.ueah-route-resources a { display: inline-flex; align-items: center; min-height: 44px; }
.ueah-route-metrics dl { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.ueah-route-metrics dt { font-weight: 700; }
.ueah-route-metrics dd { margin: .25rem 0 0; }
@media (min-width: 40em) {
  .ueah-route-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 48em) {
  .ueah-route-steps li { grid-template-columns: 3rem minmax(0, 2fr) minmax(0, 3fr); grid-template-areas: "numero image texte"; column-gap: 1.5rem; }
  .ueah-route-step-image { margin-block-start: 0; }
  .ueah-route-map, .ueah-route-resources { padding: 1.5rem 2rem; }
}
