/* Airline pages inherit the site's font, palette, containers and buttons. */
.airline-page { --airline-measure: 72ch; }
.airline-page [hidden] { display:none!important; }
.airline-page :focus-visible { outline:3px solid var(--primary-dark); outline-offset:4px; }
.airline-page ::selection { background:var(--primary-dark); color:var(--white); }
.airline-page .nav-container { padding:1rem 0; }
.airline-page .nav-links { flex-wrap:wrap; }
.airline-page .nav-links [aria-current] { color:var(--primary-dark); }
.airline-page .skip-link { position:absolute; left:1rem; top:-10rem; background:var(--white); padding:1rem; z-index:1000; }
.airline-page .skip-link:focus { top:1rem; }
.airline-hero { padding:4.5rem 0; background:linear-gradient(90deg,rgba(26,37,48,.94),rgba(26,37,48,.72)),url('../img/hero_new.png') center/cover; color:var(--white); }
.airline-hero h1 { color:inherit; font-size:clamp(2rem,4.2vw,3.5rem); line-height:1.12; max-width:24ch; margin:1.5rem 0; overflow-wrap:break-word; }
.airline-hero p { max-width:68ch; font-size:1.125rem; line-height:1.75; }
.airline-breadcrumb { display:flex; flex-wrap:wrap; gap:.5rem; font-size:.88rem; }
.airline-breadcrumb a { color:inherit; text-decoration:underline; text-underline-offset:.2em; }
.airline-meta { margin-top:1.5rem; font-size:.88rem!important; }
.airline-body { padding-top:3rem; padding-bottom:4rem; }
.airline-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:3rem; align-items:start; }
.airline-copy { min-width:0; }
.airline-copy section { margin:0 0 3rem; scroll-margin-top:150px; }
.airline-copy h2,.airline-directory h2 { font-size:1.65rem; line-height:1.3; margin:0 0 1rem; }
.airline-copy p,.airline-directory p { color:var(--text-light); line-height:1.85; max-width:var(--airline-measure); margin-bottom:1.2rem; }
.airline-copy a,.airline-directory p a,.airline-source-list a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:.2em; }
.airline-toc { border:1px solid var(--border-color); border-radius:var(--border-radius); padding:1.5rem; background:var(--white); }
.airline-toc h2 { font-size:1.15rem; }
.airline-toc li { border-top:1px solid var(--border-color); }
.airline-toc a { display:block; padding:.75rem 0; color:var(--text-dark); line-height:1.5; font-size:.9rem; }
.airline-toc a:hover { color:var(--primary-dark); }
.airline-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; padding:1.5rem 0; border-block:1px solid var(--border-color); margin-bottom:3rem; }
.airline-facts dt { color:var(--text-light); font-size:.85rem; margin-bottom:.35rem; }
.airline-facts dd { font-weight:600; overflow-wrap:anywhere; }
.airline-links { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.airline-links a { border:1px solid var(--border-color); padding:.75rem 1rem; border-radius:8px; background:var(--white); color:var(--primary-dark); }
.airline-copy details { border-bottom:1px solid var(--border-color); padding:1rem 0; }
.airline-copy summary { cursor:pointer; font-weight:600; line-height:1.6; }
.airline-copy details p { margin:1rem 0 0; }
.airline-source-list { list-style:decimal; padding-left:1.4rem; }
.airline-source-list li { padding:.4rem 0; line-height:1.6; overflow-wrap:anywhere; }
.airline-note { background:var(--white); border:1px solid var(--border-color); border-radius:12px; padding:1.5rem; margin:1.5rem 0; }
.airline-directory { padding-top:3rem; padding-bottom:3rem; }
.airline-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:1.5rem 0 1rem; padding:1.5rem; background:var(--white); border-radius:var(--border-radius); border:1px solid var(--border-color); }
.airline-filters label { flex:1 1 220px; font-weight:600; font-size:.9rem; }
.airline-filters input,.airline-filters select { display:block; width:100%; margin-top:.5rem; padding:.8rem; border:1px solid var(--border-color); border-radius:8px; font:inherit; color:var(--text-dark); background:var(--white); min-height:48px; }
.airline-filters button { cursor:pointer; min-height:48px; }
.airline-results { color:var(--text-light); font-size:.9rem; }
.airline-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:1.5rem 0 3rem; }
.airline-card { padding:1.5rem; background:var(--white); border:1px solid var(--border-color); border-radius:var(--border-radius); display:flex; flex-direction:column; min-width:0; }
.airline-card h3 { font-size:1.25rem; line-height:1.35; margin:.6rem 0; }
.airline-card p { font-size:.95rem; line-height:1.7; }
.airline-card small { color:var(--text-light); }
.airline-card a { color:var(--primary-dark); }
.airline-card .airline-card-link { margin-top:auto; padding-top:1rem; font-weight:600; text-decoration:underline; text-underline-offset:.2em; }
.airline-empty { padding:1.5rem; border:1px solid var(--border-color); }
.airline-ad { min-height:300px; margin:3rem 0; padding:1rem; background:var(--bg-color); border-block:1px solid var(--border-color); max-width:100%; overflow:hidden; }
.airline-ad-label { display:block; font-size:.75rem; color:var(--text-light); margin-bottom:1rem; }
.airline-ad-message { display:grid; place-items:center; min-height:235px; text-align:center; color:var(--text-light); font-size:.9rem; }
.airline-ad ins { display:block; width:100%; min-height:250px; }
.airline-preview-banner { padding:.8rem 1rem; text-align:center; background:var(--secondary-color); color:var(--white); font-size:.9rem; }
@media(max-width:1000px) { .airline-layout { grid-template-columns:minmax(0,1fr); } .airline-toc { order:-1; } .airline-toc ul { columns:2; column-gap:2rem; } .airline-toc li { break-inside:avoid; } .airline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .airline-hero { padding:2.5rem 0; } .airline-grid,.airline-facts { grid-template-columns:minmax(0,1fr); } .airline-toc ul { columns:1; } .airline-filters { padding:1rem; } .airline-body { padding-top:2rem; } .airline-page .nav-container { padding:1rem 20px; } .airline-page header { position:relative; } }

/* Logos augment the shared airport template without replacing its design. */
.airline-logo-panel { background:white; padding:24px; text-align:center; }
.airline-logo-panel img { display:block; width:100%; height:100px; object-fit:contain; }
.airline-card-logo-frame { display:flex; align-items:center; justify-content:center; }
.airline-card-logo { display:block; width:auto; height:auto; max-width:170px; max-height:46px; object-fit:contain; }
.airline-card-logo--wide { width:min(210px,100%); max-width:210px; max-height:none; }
.airline-infobox-name { font-size:1.35rem; font-weight:800; line-height:1.3; }
.airline-detail .airport-detail-content details { border-bottom:1px solid var(--border-color); padding:1rem 0; }
.airline-detail .airport-detail-content summary { cursor:pointer; font-weight:600; }
.airline-detail .airport-detail-content details p { margin-top:1rem; }
.airline-detail .skip-link { position:absolute; top:-10rem; }
.airline-detail .skip-link:focus { top:0; z-index:1000; background:white; padding:1rem; }
.airline-page .airline-card { padding:0; display:block; }
.airline-card-body { padding:20px 24px 24px; }
.airline-card-body > small { display:none; }
.airline-page .airline-card h3 { font-size:1.1rem; margin:0 0 6px; }
.airline-page .airline-card-link { display:block; margin-top:14px; text-align:center; padding:9px; border:1.5px solid var(--primary-color); border-radius:8px; text-decoration:none; font-size:.88rem; }
.airline-fact-table th { width:38%; background:#f8fafc; color:#1a2530; padding:9px 14px; border-bottom:1px solid #f0f4f8; text-align:left; vertical-align:top; }
.airline-fact-table tr:nth-child(even) th { background:#eef4f8; }
.airline-fact-table tr:hover th { background:#e8f4fd; }
.airline-data-note { font-size:.86rem; color:#64748b!important; }
@media(max-width:640px) { .airline-fact-table th { width:42%; } }
