/* Scoped terrain detail presentation; native page records and global page design remain untouched. */
body.hirondelle-design-2026 .ast-article-single:has(.hfd-terrain-detail-layout) > .entry-header{display:none}
body.hirondelle-design-2026 .hfd-terrain-detail-layout{--tdl-blue:#43a7ce;--tdl-deep:#246a88;--tdl-ink:#29434e;--tdl-muted:#607681;--tdl-line:#dce6eb;--tdl-soft:#f4f8fa;width:100%;max-width:1160px;margin:28px auto 0;padding:0 18px;color:var(--tdl-ink);font-family:"Myriad Pro Regular",Arial,sans-serif;font-size:18px;line-height:1.55}
.hfd-terrain-detail-layout,.hfd-terrain-detail-layout *{box-sizing:border-box}
body.hirondelle-design-2026 .hfd-terrain-detail-layout h1,body.hirondelle-design-2026 .hfd-terrain-detail-layout h2,body.hirondelle-design-2026 .hfd-terrain-detail-layout h3{color:var(--tdl-ink);font-family:inherit;font-weight:400;font-style:normal;line-height:1.18;letter-spacing:0;text-transform:none;text-shadow:none;border:0;padding:0}
body.hirondelle-design-2026 .hfd-terrain-detail-layout h1{font-size:48px;margin:0}
body.hirondelle-design-2026 .hfd-terrain-detail-layout h2{font-size:30px;margin:0}
body.hirondelle-design-2026 .hfd-terrain-detail-layout h3{font-size:22px;margin:0 0 14px}
body.hirondelle-design-2026 .hfd-terrain-detail-layout p{margin:0 0 16px;font-size:inherit;line-height:inherit}
body.hirondelle-design-2026 .hfd-terrain-detail-layout a{color:var(--tdl-deep);text-underline-offset:3px}
.hfd-tdl-header{margin-bottom:24px}.hfd-tdl-back{display:inline-block;margin:0 0 20px;font-size:16px}.hfd-terrain-detail-layout .hfd-tdl-eyebrow{color:var(--tdl-muted);font-size:14px;text-transform:uppercase;letter-spacing:.075em;margin:0 0 8px}.hfd-tdl-title{display:flex;align-items:center;gap:15px;margin-bottom:17px}.hfd-tdl-title>img{display:block;width:57px;height:57px;flex:0 0 57px}.hfd-tdl-intro{max-width:960px}.hfd-tdl-intro h2{margin-bottom:12px!important;font-size:23px!important}.hfd-tdl-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hfd-tdl-nav>a{display:block;border:1px solid var(--tdl-line);background:#fff;border-radius:6px;padding:9px 16px;font-size:16px;text-decoration:none}.hfd-tdl-nav>a:hover,.hfd-tdl-nav>a:focus-visible{background:var(--tdl-soft);border-color:var(--tdl-blue)}
.hfd-tdl-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border:1px solid var(--tdl-line);border-radius:10px;overflow:hidden;background:#fff;align-items:stretch}.hfd-tdl-overview>*{min-width:0}.hfd-tdl-hero{margin:0;display:flex;flex-direction:column;min-width:0;background:var(--tdl-soft)}body.hirondelle-design-2026 .hfd-tdl-hero img{display:block;width:100%;height:100%;min-height:380px;flex:1;object-fit:cover;object-position:center;border:0;border-radius:0;margin:0}.hfd-tdl-hero figcaption{display:block;background:#fff;color:var(--tdl-muted);font-size:15px;padding:13px 19px;border-top:1px solid var(--tdl-line)}.hfd-tdl-hero--diagram{align-items:stretch;background:linear-gradient(145deg,#f0f8fb,#f6faef)}.hfd-tdl-hero-rose{min-height:380px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px}.hfd-tdl-hero-rose>.hfd-site-windrose{width:270px;height:270px;max-width:100%}.hfd-tdl-hero-rose>p{font-size:21px!important;color:var(--tdl-deep);text-align:center;margin:0!important}.hfd-tdl-summary{padding:25px 25px 24px}.hfd-tdl-facts{display:grid;gap:18px;margin:0}.hfd-tdl-facts>div{margin:0}.hfd-tdl-facts dt{color:var(--tdl-muted);font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;margin:0 0 3px}.hfd-tdl-facts dd{font-size:21px;line-height:1.3;margin:0;font-weight:400}.hfd-tdl-facts .hfd-tdl-direction dd{font-size:27px;color:var(--tdl-deep)}body.hirondelle-design-2026 .hfd-tdl-presence{background:#eff6e7;border-left:4px solid #80c533;padding:13px 15px;margin:21px 0 0;font-size:17px}
.hfd-tdl-section{margin-top:34px;scroll-margin-top:140px}.hfd-tdl-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--tdl-line);margin-bottom:17px;padding-bottom:12px}.hfd-tdl-section-heading>p{color:var(--tdl-muted);font-size:15px!important;margin:0!important}.hfd-tdl-weather-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.65fr);gap:22px;align-items:start}.hfd-tdl-panel{border:1px solid var(--tdl-line);border-radius:8px;background:#fff;padding:22px;min-width:0}.hfd-tdl-wind{text-align:center;background:var(--tdl-soft)}.hfd-tdl-wind .hfd-site-windrose{display:block;width:225px;height:225px;max-width:100%;margin:10px auto}.hfd-tdl-wind-label{color:var(--tdl-deep);font-size:21px!important}.hfd-terrain-detail-layout .hfd-tdl-note{font-size:15px!important;line-height:1.45!important;color:var(--tdl-muted)}.hfd-tdl-note:last-child{margin-bottom:0!important}.hfd-tdl-limit{border-top:1px solid var(--tdl-line);padding-top:15px}.hfd-tdl-forecast{min-width:0}.hfd-tdl-forecast .hfw-weather--terrain{padding:0;margin:0;max-width:none;font-size:18px}.hfd-tdl-forecast .hfw-meteogram-site{border:1px solid var(--tdl-line);border-top:3px solid var(--tdl-blue);border-radius:8px;padding:18px;margin:0}.hfd-tdl-forecast .hfw-panel-heading{gap:12px;margin-bottom:14px}.hfd-tdl-forecast .hfw-panel-heading h3{margin:0!important;font-size:22px!important}.hfd-tdl-forecast .hfw-open{font-size:15px;padding:7px 11px}.hfd-tdl-forecast .hfw-meteogram-provider{font-size:15px!important}.hfd-tdl-forecast .hfw-meteogram-attribution{font-size:13px}.hfd-terrain-detail-layout .hfw-dialog h2{margin:0 0 18px!important}.hfd-terrain-detail-layout .hfw-dialog-close{font-size:17px}
.hfd-tdl-arrival-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;align-items:start}.hfd-tdl-arrival-grid--no-map{grid-template-columns:1fr}.hfd-tdl-arrival-map{padding:12px}.hfd-tdl-arrival-map>iframe{display:block!important;width:100%!important;max-width:100%!important;height:360px!important;border:0!important;margin:0!important}.hfd-tdl-arrival-map>.hfd-tdl-note{padding:12px 4px 3px;margin:0!important}.hfd-tdl-native{overflow-wrap:anywhere}.hfd-tdl-native p:last-child,.hfd-tdl-native ul:last-child{margin-bottom:0!important}.hfd-tdl-native ul,.hfd-tdl-native ol{padding-left:23px;margin:10px 0 20px}.hfd-tdl-native li{margin:0 0 9px;font-size:inherit;line-height:inherit}.hfd-tdl-native h2,.hfd-tdl-native h3,.hfd-tdl-native h4{font-size:22px!important;margin:22px 0 12px!important}.hfd-tdl-native h2:first-child,.hfd-tdl-native h3:first-child,.hfd-tdl-native h4:first-child{margin-top:0!important}.hfd-tdl-arrival-image{margin:18px 0}.hfd-tdl-arrival-image img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:5px}.hfd-tdl-arrival-image p{margin:0!important}.hfd-tdl-parking-note{border-left:3px solid var(--tdl-blue);padding:12px 14px;background:var(--tdl-soft);font-size:16px!important}.hfd-terrain-detail-layout .hfd-tdl-button{display:inline-block;background:var(--tdl-blue);border-radius:6px;color:#fff!important;padding:10px 16px;margin-top:8px;font-size:17px;text-decoration:none}.hfd-tdl-button:hover,.hfd-tdl-button:focus-visible{background:var(--tdl-deep)}.hfd-tdl-rules{max-width:none}.hfd-tdl-rules>p:has(>strong:only-child){color:var(--tdl-deep);margin-top:24px!important;margin-bottom:9px!important}.hfd-tdl-rules>p:first-child{margin-top:0!important}.hfd-tdl-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--tdl-line);margin:32px 0 0;padding:18px 0;font-size:16px}
/* Holfuy keeps its registered station, provider timestamp and units. Only official detailed layout is scaled. */
.hfd-tdl-live{margin-top:22px;padding-top:18px;border-top:1px solid var(--tdl-line)}.hfd-terrain-detail-layout .hfd-holfuy{border:0;padding:0;margin:0}.hfd-terrain-detail-layout .hfd-holfuy>.hfd-terrain-kicker{display:none}.hfd-terrain-detail-layout .hfd-holfuy h2{font-size:21px!important;margin:0 0 10px!important}.hfd-terrain-detail-layout .hfd-holfuy>p{font-size:14px!important;line-height:1.4!important;margin-bottom:10px!important;color:var(--tdl-muted)}.hfd-terrain-detail-layout .hfd-holfuy-embed{width:100%;max-width:100%;padding:12px;margin:14px 0;border:1px solid var(--tdl-line);border-radius:5px;overflow:hidden;background:var(--tdl-soft)}.hfd-terrain-detail-layout .hfd-holfuy-embed.hfd-tdl-holfuy-ready{padding:0;border:0;height:var(--hfd-holfuy-height,250px);min-height:0;background:transparent}.hfd-terrain-detail-layout .hfd-holfuy-embed.hfd-tdl-holfuy-ready>.hfd-holfuy-frame{display:block;width:580px!important;max-width:none!important;height:250px!important;min-height:250px!important;margin:0!important;padding:0!important;border:0!important;transform:scale(var(--hfd-holfuy-scale,1));transform-origin:left top}.hfd-terrain-detail-layout .hfd-holfuy-load{font-size:15px}.hfd-terrain-detail-layout .hfd-holfuy-embed>.hfd-terrain-note{font-size:13px!important;margin:9px 0 0!important}.hfd-terrain-detail-layout .hfd-holfuy-link{font-size:14px!important}
@media(min-width:1280px){body.hirondelle-design-2026 .hfd-terrain-detail-layout{padding:0}}
@media(max-width:900px){.hfd-tdl-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.hfd-tdl-summary{padding:20px}.hfd-tdl-facts dd{font-size:19px}.hfd-tdl-facts .hfd-tdl-direction dd{font-size:24px}.hfd-tdl-weather-grid{grid-template-columns:minmax(240px,.85fr) minmax(0,1.35fr)}.hfd-tdl-arrival-grid{grid-template-columns:1fr}.hfd-tdl-section-heading{display:block}.hfd-tdl-section-heading>p{margin-top:6px!important}}
@media(max-width:650px){body.hirondelle-design-2026 .hfd-terrain-detail-layout{font-size:17px;padding:0 14px;margin-top:20px}body.hirondelle-design-2026 .hfd-terrain-detail-layout h1{font-size:37px}body.hirondelle-design-2026 .hfd-terrain-detail-layout h2{font-size:27px}.hfd-tdl-title{gap:11px}.hfd-tdl-title>img{width:47px;height:47px;flex-basis:47px}.hfd-tdl-overview,.hfd-tdl-weather-grid{grid-template-columns:1fr}.hfd-tdl-overview .hfd-tdl-hero img{min-height:0;height:auto;max-height:430px;aspect-ratio:4/3;object-fit:cover}.hfd-tdl-hero-rose{min-height:300px}.hfd-tdl-hero-rose>.hfd-site-windrose{width:220px;height:220px}.hfd-tdl-facts{gap:15px}.hfd-tdl-panel{padding:18px}.hfd-tdl-nav{gap:7px}.hfd-tdl-nav>a{font-size:15px;padding:8px 11px}.hfd-tdl-section{margin-top:28px;scroll-margin-top:110px}.hfd-tdl-arrival-map{padding:10px}.hfd-tdl-arrival-map>iframe{height:310px!important}.hfd-tdl-footer{font-size:15px}.hfd-tdl-wind .hfd-site-windrose{width:205px;height:205px}}

/* Supplied Offenbach groundhandling photo stays inside the flight operations panel. */
.hfd-tdl-groundhandling{margin:20px 0 0}.hfd-tdl-groundhandling img{display:block;width:100%;height:auto;max-width:100%;border-radius:6px}.hfd-tdl-groundhandling figcaption{font-size:15px;color:var(--tdl-muted);margin-top:9px}

/* Walking directions are separate from the drive to the car park. */
.hfd-terrain-detail-layout .hfd-tdl-footpath{margin-top:24px;padding-top:22px;border-top:1px solid var(--tdl-line)}
.hfd-terrain-detail-layout .hfd-tdl-footpath h3{margin-top:0!important}
.hfd-terrain-detail-layout .hfd-tdl-footpath-points{display:grid;gap:12px;margin:18px 0}
.hfd-terrain-detail-layout .hfd-tdl-footpath-points>div{padding:12px 14px;background:var(--tdl-soft);border-radius:6px}
.hfd-terrain-detail-layout .hfd-tdl-footpath-points dt{font-weight:600;color:var(--tdl-deep);margin:0 0 3px}
.hfd-terrain-detail-layout .hfd-tdl-footpath-points dd{margin:0;color:var(--tdl-muted);font-size:16px}
.hfd-terrain-detail-layout .hfd-tdl-footpath .hfd-tdl-button{max-width:100%;box-sizing:border-box;white-space:normal}

.hfd-terrain-detail-layout .hfd-tdl-footpath-route{padding:14px 0 18px}
.hfd-terrain-detail-layout .hfd-tdl-footpath-route+.hfd-tdl-footpath-route{border-top:1px solid var(--tdl-line);padding-top:20px}
.hfd-terrain-detail-layout .hfd-tdl-footpath-route h4{font-size:18px!important;margin:0 0 5px!important;color:var(--tdl-deep)}
.hfd-terrain-detail-layout .hfd-tdl-footpath-route>.hfd-tdl-note{margin:0 0 10px!important}
.hfd-terrain-detail-layout .hfd-tdl-footpath-help{margin:4px 0 0!important}

.hfd-terrain-detail-layout .hfd-tdl-alternate-parking{margin-top:24px;padding-top:22px;border-top:1px solid var(--tdl-line)}
.hfd-terrain-detail-layout .hfd-tdl-alternate-parking h3{margin-top:0!important}
.hfd-terrain-detail-layout .hfd-tdl-alternate-parking .hfd-tdl-button{max-width:100%;box-sizing:border-box;white-space:normal}

/* On walking-access terrains, finish the arrival section with one map below both routes. */
.hfd-tdl-arrival-grid--split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.hfd-tdl-walking-copy{background:linear-gradient(145deg,#eef7fa,#f7fafb)}
.hfd-terrain-detail-layout .hfd-tdl-walking-copy .hfd-tdl-footpath{margin:0;padding:0;border:0}
.hfd-terrain-detail-layout .hfd-tdl-walking-copy .hfd-tdl-footpath-route{padding:18px 0}
.hfd-terrain-detail-layout .hfd-tdl-walking-copy .hfd-tdl-footpath-route:last-of-type{padding-bottom:20px}
.hfd-terrain-detail-layout .hfd-tdl-walk-native{margin:20px 0;padding:16px 0;border-top:1px solid var(--tdl-line);border-bottom:1px solid var(--tdl-line)}
.hfd-terrain-detail-layout .hfd-tdl-walk-native>p:last-child{margin:0!important}
.hfd-terrain-detail-layout .hfd-tdl-parking-copy>.hfd-tdl-footpath-points{margin:22px 0 10px}
.hfd-terrain-detail-layout .hfd-tdl-parking-copy>.hfd-tdl-button{max-width:100%;white-space:normal}
.hfd-tdl-arrival-map--wide{margin-top:22px;padding:0;overflow:hidden}
.hfd-tdl-arrival-map--wide>iframe,.hfd-tdl-arrival-map--wide .hfd-external-live>iframe{height:460px!important}
.hfd-tdl-arrival-map--wide>.hfd-external-gate{margin:0;border:0;border-radius:0;min-height:260px}
.hfd-tdl-map-caption{padding:15px 21px;background:var(--tdl-soft);border-top:1px solid var(--tdl-line)}
.hfd-terrain-detail-layout .hfd-tdl-map-caption>.hfd-tdl-note{margin:0!important}
.hfd-terrain-detail-layout .hfd-tdl-map-orientation{font-size:14px;color:var(--tdl-muted);margin-top:9px}
.hfd-terrain-detail-layout .hfd-tdl-map-orientation>strong{font-weight:400}
.hfd-terrain-detail-layout .hfd-tdl-map-orientation>p{font-size:14px;margin:3px 0 0!important}
@media(max-width:900px){.hfd-tdl-arrival-grid--split{grid-template-columns:1fr}}
@media(max-width:650px){.hfd-tdl-arrival-map--wide{padding:0}.hfd-tdl-arrival-map--wide>iframe,.hfd-tdl-arrival-map--wide .hfd-external-live>iframe{height:330px!important}.hfd-tdl-map-caption{padding:13px 17px}}
