/* A/XESS — pages d'aérodromes (09/11/2026). Couleurs de la charte, aucun accent coloré. */
body.af { background: var(--paper, #0F0F15); }
.af-main { max-width: 980px; margin: 0 auto; padding: 120px var(--pad, 24px) 80px; }
.af-crumbs { font-size: 12px; color: var(--muted, #B4B4B2); margin-bottom: 26px; }
.af-crumbs a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(248, 249, 249, .2); }
.af-kicker { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted, #B4B4B2); }
.af-main h1 { margin: 14px 0 20px; font-size: clamp(34px, 5vw, 58px); line-height: 1.03; letter-spacing: -.025em; font-weight: 600; }
.af-intro { font-size: 18px; line-height: 1.6; font-weight: 300; max-width: 68ch; }
.af-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 34px 0 26px; background: rgba(248, 249, 249, .14);
  border: 1px solid rgba(248, 249, 249, .14); border-radius: 8px; overflow: hidden; }
.af-facts > div { background: #151A22; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.af-facts b { font-size: 30px; font-weight: 600; letter-spacing: -.02em; }
.af-facts span { font-size: 12px; color: var(--muted, #B4B4B2); }
.af-cta { display: inline-flex; gap: 8px; align-items: center; padding: 14px 24px; border-radius: 999px; background: #F8F9F9; color: #0F0F15;
  font-weight: 600; text-decoration: none; }
.af-sec { margin-top: 64px; }
.af-sec h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 600; letter-spacing: -.02em; margin-bottom: 12px; }
.af-note { font-size: 14px; color: var(--muted, #B4B4B2); font-weight: 300; line-height: 1.6; }
.af-note a { color: #F8F9F9; }
.af-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 18px; }
.af-route { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid rgba(248, 249, 249, .14); border-radius: 8px;
  text-decoration: none; color: #F8F9F9; background: #151A22; transition: border-color .2s; }
.af-route:hover { border-color: rgba(248, 249, 249, .45); }
.af-r-t { font-weight: 600; } .af-r-p { font-size: 14px; color: var(--muted, #B4B4B2); }
.af-r-go { margin-top: auto; font-size: 13px; border-bottom: 1px solid rgba(248, 249, 249, .35); align-self: flex-start; padding-bottom: 2px; }
.af-legs-list { list-style: none; padding: 0; margin: 16px 0 0; border-top: 1px solid rgba(248, 249, 249, .14); }
.af-legs-list li { display: grid; grid-template-columns: 100px 120px 1fr 150px 110px auto; gap: 14px; align-items: baseline; padding: 14px 0;
  border-bottom: 1px solid rgba(248, 249, 249, .14); font-size: 14px; }
.af-legs-list .d, .af-legs-list .t, .af-legs-list .c { color: var(--muted, #B4B4B2); }
.af-legs-list a { color: #F8F9F9; text-decoration: none; border-bottom: 1px solid rgba(248, 249, 249, .35); }
.af-meteo { margin-top: 14px; padding: 20px; border: 1px solid rgba(248, 249, 249, .14); border-radius: 8px; background: #151A22; }
.af-meteo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 24px; margin: 0; }
.af-meteo-grid dt { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted, #B4B4B2); }
.af-meteo-grid dd { margin: 4px 0 0; font-size: 16px; }
.af-raw { margin-top: 14px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; color: var(--muted, #B4B4B2); word-break: break-word; }
.af-lieux { list-style: none; padding: 0; margin: 14px 0 10px; border-top: 1px solid rgba(248, 249, 249, .14); }
.af-lieux li { display: grid; grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1.3fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(248, 249, 249, .14); font-size: 14px; }
.af-lieux span, .af-lieux em { color: var(--muted, #B4B4B2); font-style: normal; }
.af-faq details { border-bottom: 1px solid rgba(248, 249, 249, .14); padding: 16px 0; }
.af-faq summary { cursor: pointer; font-weight: 500; font-size: 16px; }
.af-faq p { margin-top: 10px; color: var(--muted, #B4B4B2); line-height: 1.6; font-weight: 300; }
.af-autres { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.af-autres a { padding: 10px 16px; border: 1px solid rgba(248, 249, 249, .14); border-radius: 999px; text-decoration: none; color: #F8F9F9; font-size: 14px; }
.af-autres small { color: var(--muted, #B4B4B2); margin-left: 4px; }
.af-src { margin-top: 48px; font-size: 12px; color: var(--muted, #B4B4B2); font-weight: 300; }
@media (max-width: 720px) {
  .af-facts { grid-template-columns: 1fr; }
  .af-legs-list li { grid-template-columns: 1fr auto; } .af-legs-list .t, .af-legs-list .c { grid-column: 1 / -1; }
  .af-lieux li { grid-template-columns: 1fr; gap: 4px; }
}
.lang-switch { position: absolute; top: 26px; right: var(--pad, 32px); z-index: 60; display: flex; gap: 2px; font-size: 12px; font-weight: 600; letter-spacing: .12em; }
.lang-switch a { color: var(--on-photo, #F8F9F9); text-decoration: none; padding: 6px 8px; border-radius: 999px; opacity: .6; }
.lang-switch a:hover { opacity: 1; }
.lang-switch a[aria-current="page"] { opacity: 1; background: rgba(248,249,249,.14); }
/* page catégorie des aérodromes */
.af-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin: 36px 0 30px; }
.af-hub-c { display: flex; flex-direction: column; gap: 8px; padding: 22px; border: 1px solid rgba(248, 249, 249, .14); border-radius: 8px; background: #151A22;
  color: #F8F9F9; text-decoration: none; transition: border-color .2s; }
.af-hub-c:hover { border-color: rgba(248, 249, 249, .45); }
.af-hub-c > b { font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.af-hub-k, .af-hub-p { font-size: 12px; color: var(--muted, #B4B4B2); } .af-hub-k { letter-spacing: .14em; }
.af-hub-r { font-size: 15px; } .af-hub-r .af-meteo-mini b { font-weight: 400; font-size: 15px; letter-spacing: 0; }
.af-hub-go { margin-top: auto; padding-top: 10px; font-size: 13px; border-bottom: 1px solid rgba(248, 249, 249, .35); align-self: flex-start; padding-bottom: 2px; }
/* section « la destination » (photo libre + texte) */
.af-photo { margin: 34px 0 0; }
.af-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; filter: saturate(.85); }
.af-photo figcaption { margin-top: 8px; font-size: 11px; color: var(--muted, #B4B4B2); font-weight: 300; }
.af-photo figcaption a { color: inherit; }
.af-ville { margin-top: 30px; max-width: 70ch; }
.af-ville h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 600; letter-spacing: -.02em; margin-bottom: 14px; }
.af-ville p { font-size: 16px; line-height: 1.7; font-weight: 300; margin: 0 0 14px; }
/* pages Location et Tarifs (09/11) */
.af-etapes { list-style: none; counter-reset: et; padding: 0; margin: 18px 0 0; display: grid; gap: 14px; }
.af-etapes li { counter-increment: et; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; row-gap: 4px; padding: 18px; border: 1px solid rgba(248, 249, 249, .14); border-radius: 8px; background: #151A22; }
.af-etapes li::before { content: counter(et, decimal-leading-zero); grid-row: 1 / span 2; font-size: 22px; font-weight: 600; color: var(--muted, #B4B4B2); }
.af-etapes b { font-size: 16px; } .af-etapes span { font-size: 14px; line-height: 1.6; color: var(--muted, #B4B4B2); font-weight: 300; }
.af-table-wrap { overflow-x: auto; margin-top: 16px; border: 1px solid rgba(248, 249, 249, .14); border-radius: 8px; }
.af-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.af-table th { text-align: left; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted, #B4B4B2); font-weight: 500; padding: 12px 16px; background: #151A22; }
.af-table td { padding: 13px 16px; border-top: 1px solid rgba(248, 249, 249, .1); }
.af-table td a { color: #F8F9F9; text-decoration: none; border-bottom: 1px solid rgba(248, 249, 249, .35); white-space: nowrap; }
.af-table .af-r-p { color: #F8F9F9; }
