/* Airport landing pages (airport.php): /airport/<slug> and /airports. Loaded after style.css and uses its colours and fonts. */
.ap .topbar{padding-top:18px}
.ap .brand svg{width:40px;height:40px}
.ap-word{display:block;font-family:var(--display);font-weight:700;font-size:2.1rem;letter-spacing:.14em;line-height:1}
.ap-word b{color:var(--amber);font-weight:700}
.ap a{color:var(--cyan)} .ap a.ap-play{color:inherit} /* the Play link over a thumbnail keeps the text colour it had as a button */
.ap-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 14px;padding:0;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ap-crumbs li+li::before{content:"›";margin-right:6px;color:var(--line2)}
.ap-crumbs a{color:var(--muted);text-decoration:none}
.ap-crumbs a:hover{color:var(--text)}
.ap.wrap{max-width:1140px}
.ap-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 18px}
.ap-head h1{flex:1 1 100%;margin:0;font-family:var(--display);font-weight:700;font-size:clamp(2rem,5vw,3rem);letter-spacing:.03em;line-height:1.05}
.ap-sub{margin:0;color:var(--muted);font-family:var(--mono);font-size:.8rem;letter-spacing:.06em}
.ap-status{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.ap-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}
.ap-dot.on{background:var(--red);box-shadow:0 0 10px rgba(255,77,90,.7)}
.ap-btn{display:inline-block;padding:9px 14px;border:1px solid var(--amber);border-radius:4px;color:var(--amber)!important;text-decoration:none;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,178,36,.06)}
.ap-btn:hover{background:rgba(255,178,36,.14)}
.ap-head .ap-btn{margin-left:auto}
.ap-notes{max-width:70ch;line-height:1.55}
.ap-sec{margin:0 0 22px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.ap-sec h2{margin:0 0 12px;font-family:var(--display);font-weight:600;font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.ap-h3{margin:16px 0 8px;font-family:var(--display);font-weight:600;font-size:1.1rem;letter-spacing:.05em}
.ap-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ap-card{min-width:0}
.ap-card h3{margin:10px 0 4px;font-size:1rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.ap-player{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.ap-player img{width:100%;height:100%;object-fit:cover;display:block}
.ap-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;text-decoration:none;
  background:linear-gradient(180deg,rgba(6,10,17,0) 40%,rgba(6,10,17,.55));font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.ap-play svg{width:22px;height:22px;fill:currentColor}
.ap-play span,.ap-play svg{filter:drop-shadow(0 1px 3px #000)}
.ap-play::before{content:"";position:absolute;width:68px;height:68px;border-radius:50%;background:rgba(6,10,17,.7);border:1px solid var(--amber);z-index:-1}
.ap-play{z-index:0}
.ap-play:hover::before,.ap-play:focus-visible::before{background:rgba(255,178,36,.25)}
.ap-play:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}
.ap-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;color:var(--muted);font-size:.85rem}
.ap-offline{margin:0;line-height:1.5}
.ap-recent{margin:0;padding:0;list-style:none}
.ap-recent li{padding:8px 0;border-top:1px solid var(--line)}
.ap-recent span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.ap-two{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.ap-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0}
.ap-dl div{padding:8px 10px;background:linear-gradient(180deg,#0b1320,#080d16);border:1px solid var(--line2);border-radius:6px}
.ap-dl dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.ap-dl dd{margin:3px 0 0;font-family:var(--mono);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ap-dl dd small{color:var(--muted);font-weight:400}
.ap-metar{margin:10px 0 0}
.ap-metar summary{cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;color:var(--muted)}
.ap-metar code{display:block;margin-top:6px;font-family:var(--mono);font-size:.78rem;overflow-wrap:anywhere}
.ap-muted{margin:10px 0 0;color:var(--muted);font-size:.8rem}
.ap-faq h3{margin:12px 0 4px;font-size:1rem;font-weight:600}
.ap-faq p{margin:0;line-height:1.5;color:#c9d4e5;max-width:75ch}
.ap-others{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.ap-others li{padding:6px 10px;border:1px solid var(--line2);border-radius:4px;background:var(--panel2)}
.ap-others a{text-decoration:none}
.ap em.on,.ap em.off{font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.ap em.on{color:var(--red)}
.ap em.off{color:var(--muted)}
.ap-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none}
.ap-tile{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;background:var(--panel);border:1px solid var(--line2);border-radius:8px;text-decoration:none;color:var(--text)!important}
.ap-tile:hover{border-color:var(--amber)}
.ap-tile strong{font-family:var(--display);font-size:1.4rem;letter-spacing:.04em}
.ap-tile span{color:var(--muted);font-size:.85rem}
.ap footer{margin-top:10px}
@media (max-width:760px){
  .ap-two{grid-template-columns:1fr}
  .ap-head .ap-btn{margin-left:0}
  .ap-sec{padding:14px 12px}
  .ap-cards{grid-template-columns:1fr}
  .ap-word{font-size:1.7rem}
}
/* About page (about.php, /about): text, credits, embed code and the contact form */
.ab-lead{flex:1 1 100%;max-width:70ch;margin:0;font-size:1.05rem;line-height:1.55}
.ab-p{max-width:75ch;margin:0 0 10px;line-height:1.55}
.ab-src{margin:0;padding-left:18px;line-height:1.55}.ab-src li{margin:0 0 6px}
.ab-code{margin:0 0 12px;padding:10px 12px;background:#060a11;border:1px solid var(--line2);border-radius:6px;overflow-x:auto;font-family:var(--mono);font-size:.78rem;line-height:1.5;white-space:pre-wrap;word-break:break-all}
.ab-code code{user-select:all}
.ab-form{max-width:760px}
.ab-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.ab-f{margin:0 0 12px}
.ab-f label{display:block;margin:0 0 5px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ab-f input,.ab-f select,.ab-f textarea{box-sizing:border-box;width:100%;padding:9px 10px;background:#060a11;color:var(--text);border:1px solid var(--line2);border-radius:4px;font:inherit}
.ab-f textarea{resize:vertical;min-height:120px}
.ab-f input:focus,.ab-f select:focus,.ab-f textarea:focus{outline:2px solid var(--cyan);outline-offset:0;border-color:var(--cyan)}
.ab-send{cursor:pointer;font-weight:600}
.ab-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ab-flash{max-width:760px;margin:0 0 14px;padding:10px 12px;border-radius:4px;border:1px solid var(--line2);border-left:3px solid var(--cyan);background:var(--panel2)}
.ab-flash.bad{border-left-color:var(--red)}.ab-flash p{margin:0}.ab-flash ul{margin:6px 0 0;padding-left:18px}
@media (max-width:640px){.ab-row{grid-template-columns:1fr}}
/* /privacy (privacy.php): the about page's look, plus the date line and bullet lists */
.pv-updated{flex:1 1 100%;margin:8px 0 0}
.pv-list{max-width:75ch;margin:0 0 10px;padding-left:1.2em;line-height:1.55}
.pv-list li{margin:0 0 4px}

/* /cargo and the airport personality card */
.cg h2{margin:22px 0 8px}
.cg-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cg-list li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) auto auto;gap:4px 12px;align-items:baseline;padding:9px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:.9rem}
.cg-list li.now{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}
.cg-list b{font-family:var(--mono)}
.cg-t,.cg-w,.cg-ago{color:var(--muted);font-size:.82rem}
.cg-go{color:var(--cyan);white-space:nowrap}
.cg-ops{display:flex;flex-wrap:wrap;gap:6px}
.cg-chip{padding:3px 10px;border:1px solid var(--line2);border-radius:999px;font-size:.8rem}
@media (max-width:640px){.cg-list li{grid-template-columns:1fr 1fr}.cg-go{grid-column:1/-1}}
.ap-persona{margin:0 0 10px;font-size:1.05rem}.ap-persona b{color:var(--amber)}

/* Sky trails (lib/sky.php, airport.js) */
.ap-sky .ap-muted{margin:0 0 12px}
.sky-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.sky-bar .ap-btn{cursor:pointer;font:inherit}
.sky-bar .sky-b[aria-pressed="true"]{border-color:var(--amber);color:var(--amber)}
.sky-bar [hidden]{display:none}
.sky-view{display:flex;justify-content:center}
.sky-cv{display:block;width:100%;max-width:520px;height:auto;aspect-ratio:720/880;background:#04060b;border-radius:10px;border:1px solid var(--line2)}
.sky-cv[hidden]{display:none}
.ap-sky .sky-msg{margin:12px 0 0}
.sky-bar .sky-b[aria-pressed="false"]{border-color:var(--line2);color:var(--muted)!important}
.sky-bar .sky-b[aria-pressed="true"]{background:rgba(255,178,36,.12)}

.sky-out{align-items:center}.sky-sz{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.sky-size{font:inherit;padding:6px 8px;border-radius:6px;background:transparent;color:inherit;border:1px solid var(--line2)}

/* the aircraft diary (aircraft.php) */
.ac-map{display:block;width:100%;height:auto;border:1px solid var(--line2);border-radius:12px;background:#0a111c}
.ac-log{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line2)}
.ac-log li{position:relative;padding:6px 0 10px 12px}
.ac-log li:before{content:"";position:absolute;left:-25px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--cyan);border:2px solid var(--bg)}
.ac-log li.swap:before{background:var(--amber)}
.ac-log b{color:var(--muted);font-weight:600;margin-right:8px}
.ac-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0 0 16px}
.ac-stat{padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.ac-stat dt{font-size:12px;color:var(--muted)}.ac-stat dd{margin:2px 0 0;font-size:20px;font-weight:700;color:var(--amber)}
