/* Layout cho SGN / HAN / DAD; nội dung lấy trực tiếp từ trình soạn thảo. */
.airport-hero{position:relative;isolation:isolate;overflow:hidden;background:#163b4f;color:#fff;padding:28px 0 64px;min-height:480px;}
.airport-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%;}
.airport-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#082a3bed 0%,#082a3bcb 38%,#082a3b66 75%,#082a3b40 100%);}
.airport-hero .container{position:relative;}
.airport-breadcrumb{display:flex;gap:12px;align-items:center;font-size:11px;color:#e0eaf0;margin-bottom:44px;}
.airport-breadcrumb a{color:#d6e8ee;text-decoration:none;}
.airport-breadcrumb a:hover{color:var(--sun);}
.airport-destination{display:flex;align-items:center;gap:14px;font-size:12px;color:#deebee;margin-bottom:22px;}
.airport-destination strong{background:#fff;color:var(--ink);padding:4px 12px;border-radius:6px;letter-spacing:.15em;font-size:14px;}
.airport-hero-copy{position:relative;z-index:1;max-width:740px;}
.airport-hero h1{font-size:clamp(32px,3.3vw,46px);line-height:1.3;letter-spacing:-.035em;margin:0 0 22px;font-weight:900;}
.airport-title-location{display:block;font-size:20px;letter-spacing:0;font-weight:500;color:#dbeaf0;margin-top:12px;}
.airport-hero-copy p{font-size:15px;max-width:560px;color:#e2edf1;margin:0 0 28px;}
.btn-glass{background:#ffffff0d;color:#fff;border:1px solid #ffffff70;}
.btn-glass .ft-icon{width:18px;height:18px;margin-left:8px;}
.airport-hero-code{position:absolute;right:0;bottom:-28px;font-size:clamp(100px,14vw,190px);font-weight:900;line-height:1;letter-spacing:-.065em;color:#ffffff15;pointer-events:none;}
.airport-jump-nav{background:#fff;border-bottom:1px solid var(--border);}
.airport-jump-nav .container{display:flex;gap:30px;overflow-x:auto;scrollbar-width:thin;}
.airport-jump-nav a{display:block;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;color:var(--muted);padding:22px 0;border-bottom:2px solid transparent;}
.airport-jump-nav a:hover,.airport-jump-nav a:focus-visible{color:var(--sky-dark);border-bottom-color:var(--sun);}
.airport-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-top:64px;padding-bottom:56px;}
.airport-panel{grid-column:1/-1;scroll-margin-top:104px;min-width:0;}
.airport-panel-heading h2{font-size:28px;line-height:1.4;letter-spacing:-.025em;color:var(--ink);margin:0 0 22px;}
.airport-panel-body{font-size:14px;line-height:1.95;color:var(--muted);}
.airport-panel-body p{margin:0 0 18px;}
.airport-panel-body > :last-child{margin-bottom:0;}
.airport-panel-body strong{color:var(--ink);}
.airport-panel-body a{color:var(--sky-dark);}
.airport-panel--overview{display:grid;grid-template-columns:1fr .85fr;column-gap:56px;align-content:center;align-items:start;padding:10px 0 32px;}
.airport-panel--overview .airport-panel-heading{grid-column:1;align-self:end;}
.airport-panel--overview .airport-panel-body{grid-column:1;}
.airport-editorial-photo{grid-column:2;grid-row:1/3;position:relative;margin:0;align-self:stretch;min-height:290px;border-radius:20px 64px 20px 20px;overflow:hidden;}
.airport-editorial-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:62% center;}
.airport-editorial-photo figcaption{position:absolute;left:0;bottom:0;right:0;padding:30px 16px 12px;color:#fff;font-size:10px;background:linear-gradient(transparent,#102f43b3);}
.airport-panel--audience{background:var(--paper);border:1px solid var(--border);padding:30px 32px;border-radius:18px;margin-bottom:16px;}
.airport-panel--audience .airport-panel-heading h2{font-size:24px;}
.airport-panel--audience ul{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;padding:0;margin:0;}
.airport-panel--audience li{position:relative;border-top:1px solid #c6dce4;padding:18px 0 0 24px;font-size:12px;color:var(--ink);line-height:1.8;}
.airport-panel--audience li::before{content:"✓";position:absolute;left:0;color:var(--sky);font-weight:800;}
.airport-panel--arrival,.airport-panel--departure{grid-column:auto;border:1px solid var(--border);border-top:4px solid var(--sky);border-radius:20px;padding:32px;}
.airport-panel--departure{border-top-color:var(--sun);}
.airport-panel--arrival .icon-box,.airport-panel--departure .icon-box{margin-bottom:22px;}
.airport-panel--departure .icon-box{background:#fff5e5;color:#865710;}
.airport-panel--arrival h2,.airport-panel--departure h2{font-size:25px;}
.airport-panel--arrival ol,.airport-panel--departure ol{counter-reset:steps;list-style:none;margin:26px 0 0;padding:0;}
.airport-panel--arrival li,.airport-panel--departure li{counter-increment:steps;position:relative;padding:0 0 24px 48px;min-height:55px;font-size:13px;}
.airport-panel--arrival li::before,.airport-panel--departure li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border:1px solid #c4dce3;border-radius:50%;background:#f2f9fb;color:var(--sky-dark);font-size:10px;font-weight:800;z-index:1;}
.airport-panel--arrival li:not(:last-child)::after,.airport-panel--departure li:not(:last-child)::after{content:"";position:absolute;left:15px;top:30px;bottom:0;border-left:1px dashed #c4dce3;}
.airport-panel--arrival li:last-child,.airport-panel--departure li:last-child{padding-bottom:0;min-height:30px;}
.airport-panel--pricing{padding:36px 0 10px;}
.airport-panel--pricing .airport-panel-heading{text-align:center;}
.airport-panel--pricing .airport-panel-body > p:first-child{text-align:center;max-width:650px;margin:0 auto 28px;}
.airport-panel--pricing ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0;margin:0 0 24px;}
.airport-panel--pricing li{background:#f2f9fb;border:1px solid #cddfe5;border-radius:18px;padding:30px;color:var(--sky-dark);font-size:28px;font-weight:800;letter-spacing:-.03em;}
.airport-panel--pricing li:nth-child(2){background:#fffbf3;border-color:#eee0c7;color:#815710;}
.airport-panel--pricing li strong{display:block;font-size:15px;line-height:1.7;letter-spacing:0;margin-bottom:18px;border-bottom:1px dashed #c4d6de;padding-bottom:18px;}
.airport-panel--pricing .airport-panel-body > p:last-child{font-size:12px;text-align:center;margin:0 auto;max-width:760px;}
.airport-panel--notes{padding:28px 32px;border-left:3px solid var(--sun);background:#fffbf3;border-radius:0 16px 16px 0;}
.airport-panel--notes h2{font-size:23px;margin-bottom:16px;}
.airport-panel--notes .eyebrow{color:#815710;}
.airport-panel--notes ul{margin:0;padding-left:20px;font-size:13px;}
.airport-panel--notes li{padding-left:4px;margin-bottom:10px;}
.airport-panel--faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;padding-top:30px;}
.airport-panel--faq .airport-panel-body > p{font-size:12px;padding:18px 0 0;}
.airport-panel--general{padding:24px 0;}
.airport-contact-section{padding-top:0;padding-bottom:60px;}
.airport-contact-card{display:flex;gap:40px;align-items:center;justify-content:space-between;padding:44px 48px;background:radial-gradient(ellipse at 100% 0%,#1d6a7e,transparent 70%),#102f43;border-radius:24px;color:#fff;}
.airport-contact-card .eyebrow{color:#f5c372;}
.airport-contact-card h2{font-size:30px;line-height:1.4;letter-spacing:-.03em;margin:0 0 16px;}
.airport-contact-card p{font-size:13px;color:#c7dfe6;margin:0;}
.airport-contact-links{display:flex;flex-direction:column;align-items:center;gap:18px;flex-shrink:0;}
.airport-contact-links .text-link{color:#e5f0f4;font-size:12px;}
.other-airports{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px;}
.other-airports > span{color:var(--muted);font-size:12px;margin-right:auto;}
.other-airports a{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:12px;text-decoration:none;}
.other-airports a strong{color:var(--sky-dark);font-size:11px;background:var(--paper);border:1px solid var(--border);padding:4px 8px;border-radius:6px;letter-spacing:.07em;}
.other-airports a:hover{color:var(--sky);}
.other-airports .ft-icon{width:17px;height:17px;}
@media(max-width:900px){
 .airport-hero{min-height:450px;}
 .airport-hero-copy{max-width:660px;}
 .airport-jump-nav .container{gap:24px;}
 .airport-panel--overview{column-gap:28px;grid-template-columns:1fr 1fr;}
 .airport-panel--audience ul{grid-template-columns:repeat(3,minmax(0,1fr));}
 .airport-sections{gap:24px;}
 .airport-panel--arrival,.airport-panel--departure{padding:26px;}
 .airport-panel--pricing li{font-size:24px;padding:24px;}
 .airport-panel--faq{grid-template-columns:1fr;gap:4px;}
 .airport-contact-card{padding:36px;}
 .airport-contact-card h2{font-size:26px;}
}
@media(max-width:600px){
 .airport-hero{padding:24px 0 42px;min-height:0;}
 .airport-hero::after{background:linear-gradient(90deg,#082a3bf0,#082a3bbf);}
 .airport-breadcrumb{margin-bottom:30px;}
 .airport-hero h1{font-size:32px;}
 .airport-title-location{font-size:16px;}
 .airport-hero-copy p{font-size:14px;}
 .airport-hero .cta-row{flex-direction:column;align-items:stretch;}
 .airport-hero .btn{text-align:center;}
 .airport-hero-code{display:none;}
 .airport-jump-nav .container{gap:24px;}
 .airport-jump-nav a{padding:18px 0;}
 .airport-sections{grid-template-columns:1fr;padding-top:40px;gap:24px;}
 .airport-panel--overview{display:block;padding:0;}
 .airport-panel-heading h2{font-size:25px;}
 .airport-panel-body{font-size:13px;}
 .airport-editorial-photo{margin-top:26px;min-height:0;aspect-ratio:1.25;}
 .airport-panel--audience{padding:26px 24px;margin:0;}
 .airport-panel--audience ul{grid-template-columns:1fr;gap:0;}
 .airport-panel--audience li{padding:13px 0 13px 24px;}
 .airport-panel--audience li:last-child{padding-bottom:0;}
 .airport-panel--arrival,.airport-panel--departure{grid-column:1;padding:26px 24px;}
 .airport-panel--pricing{padding-top:20px;}
 .airport-panel--pricing ul{grid-template-columns:1fr;gap:16px;}
 .airport-panel--pricing li{font-size:25px;}
 .airport-panel--notes{padding:24px;}
 .airport-panel--faq{padding-top:18px;}
 .airport-contact-card{flex-direction:column;align-items:flex-start;gap:26px;padding:30px 24px;}
 .airport-contact-links{align-items:stretch;width:100%;text-align:center;}
 .airport-contact-links .text-link{justify-content:center;}
 .other-airports{gap:18px;}
 .other-airports > span{flex-basis:100%;}
}
