:root{--navy:#073b67;--navy2:#0a2948;--blue:#1677b8;--orange:#f26a21;--orange2:#ff8a3d;--ink:#17283a;--muted:#627387;--line:#dfe7ef;--soft:#f5f9fc;--white:#fff;--shadow:0 18px 50px rgba(20,48,76,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.55}h1,h2,h3,h4{font-family:"Manrope",sans-serif;color:var(--navy2);line-height:1.12;margin-top:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 36px));margin:auto}.topbar{font-size:.88rem;border-bottom:1px solid #eef2f6;background:#fff}.topbar-inner,.top-contact,.social-row,.nav-wrap,.nav-actions,.hero-actions,.section-head,.footer-bottom-inner,.dash-head,.panel-head{display:flex;align-items:center}.topbar-inner{justify-content:space-between;min-height:38px}.top-contact{gap:24px}.top-contact a{color:#4c5e70}.social-row{gap:14px}.social-row a{transition:.25s}.social-row a:hover{transform:translateY(-2px);color:var(--orange)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,230,240,.85)}.nav-wrap{min-height:82px}.brand img{width:285px;height:auto}.nav-links{display:flex;gap:28px;margin-left:auto;margin-right:24px}.nav-links a{font-weight:700;font-size:.91rem;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--orange);transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-actions{gap:10px}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 10px 24px rgba(242,106,33,.22)}.btn-ghost{border:1px solid var(--line);background:#fff;color:var(--navy)}.btn-light{background:#fff;color:var(--navy);box-shadow:var(--shadow)}.btn-lg{padding:14px 22px}.btn-block{width:100%}.icon-btn,.nav-toggle{border:0;background:transparent;font-size:1.2rem;color:var(--navy);cursor:pointer}.nav-toggle{display:none;font-size:1.8rem}.global-search{display:none;padding:12px 0;background:#f8fbfd;border-top:1px solid var(--line)}.global-search.open{display:block}.global-search form{display:flex;width:min(760px,calc(100% - 36px));margin:auto}.global-search input{flex:1;border:1px solid var(--line);border-radius:12px 0 0 12px;padding:13px}.global-search button{border:0;background:var(--navy);color:#fff;padding:0 22px;border-radius:0 12px 12px 0}.hero{min-height:590px;position:relative;background:url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=2200&q=88') center 46%/cover no-repeat;display:flex;align-items:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,34,60,.83) 0%,rgba(6,53,91,.55) 39%,rgba(6,53,91,.08) 74%)}.hero-content{position:relative;color:#fff;padding-bottom:72px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:800;color:var(--orange);display:inline-block;margin-bottom:12px}.eyebrow.light{color:#ffd2b8}.hero h1{font-size:clamp(3.2rem,6.2vw,6.25rem);color:#fff;letter-spacing:-.055em;margin:0 0 18px;max-width:760px}.hero h1 em{color:#ffd3b8;font-style:normal}.hero p{max-width:610px;font-size:1.15rem;color:#edf5fb;margin-bottom:28px}.hero-actions{gap:12px}.booking-lift{position:relative;margin-top:-92px;z-index:4}.booking-panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.booking-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.booking-tab{border:0;background:#fff;padding:18px;color:var(--navy);font-weight:800;font-family:inherit;text-align:center}.booking-tab.active{background:var(--navy);color:#fff}.booking-tab i{margin-right:7px}.flight-form{padding:22px}.trip-types{display:flex;gap:24px;margin-bottom:16px;font-size:.9rem}.search-grid{display:grid;grid-template-columns:1.2fr 1.2fr .9fr .9fr .65fr .9fr auto;gap:10px}.search-grid label,.contact-form label,.auth-card label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.82rem;color:#4a5c6f}.search-grid input,.search-grid select,.contact-form input,.contact-form textarea,.auth-card input{width:100%;border:1px solid #ccd9e5;border-radius:11px;padding:12px;background:#fff;font:inherit;color:var(--ink)}.search-submit{align-self:end;min-height:48px}.trust-strip{padding:36px 0 10px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.trust-grid>div{display:flex;gap:12px;align-items:center;padding:18px}.trust-grid i{font-size:1.55rem;color:var(--navy)}.trust-grid span{font-size:.84rem;color:var(--muted)}.trust-grid b{display:block;color:var(--navy2);font-size:.92rem}.section{padding:82px 0}.section.soft{background:var(--soft)}.section-head{justify-content:space-between;margin-bottom:28px}.section-head h2,.feature-copy h2,.newsletter h2{font-size:clamp(2rem,3.2vw,3.15rem);letter-spacing:-.035em;margin-bottom:8px}.section-head>a,.text-link{color:var(--navy);font-weight:800}.deal-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.deal-card,.blog-card,.package-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:.28s}.deal-card:hover,.blog-card:hover,.package-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.deal-card img,.blog-card img{width:100%;height:220px;object-fit:cover}.card-body{padding:20px}.card-body>span{color:var(--muted);font-size:.82rem}.card-body h3,.blog-card h2{margin:7px 0 10px;font-size:1.22rem}.card-body p{color:var(--muted);font-size:.94rem}.tag{display:inline-block;color:var(--orange)!important;background:#fff3ec;border-radius:999px;padding:5px 10px;font-weight:800;font-size:.73rem!important}.split-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}.feature-image{position:relative}.feature-image img{height:500px;width:100%;object-fit:cover;border-radius:26px}.image-badge{position:absolute;right:-18px;bottom:30px;background:#fff;padding:15px 18px;border-radius:14px;box-shadow:var(--shadow);font-weight:800;color:var(--navy)}.feature-copy p{color:var(--muted);font-size:1.03rem}.check-list{display:grid;gap:12px;margin:24px 0}.check-list span{font-weight:700}.check-list i{color:var(--orange);margin-right:8px}.newsletter{background:linear-gradient(135deg,#073b67,#0f5e94);color:#fff;padding:55px 0}.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.newsletter h2{color:#fff;margin:0;max-width:670px}.newsletter form{display:flex;min-width:390px}.newsletter input{flex:1;border:0;border-radius:12px 0 0 12px;padding:14px}.newsletter .btn{border-radius:0 12px 12px 0}.footer{background:#082b4a;color:#cddbea;padding-top:64px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:48px;padding-bottom:50px}.footer-logo{width:260px;filter:brightness(0) invert(1);opacity:.95}.footer p{color:#a9bed0}.footer h4{color:#fff}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:10px}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0}.footer-bottom-inner{justify-content:space-between;gap:20px;font-size:.84rem}.footer-bottom a{color:#ffd2b8}.wa-float{position:fixed;right:22px;bottom:22px;z-index:70;background:#21c063;color:#fff;border-radius:999px;padding:13px 18px;box-shadow:0 14px 30px rgba(0,0,0,.2);display:flex;gap:8px;align-items:center;font-weight:800}.wa-float i{font-size:1.4rem}.page-hero{min-height:390px;display:flex;align-items:center;color:#fff;background-position:center;background-size:cover;position:relative}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,41,70,.85),rgba(5,41,70,.25))}.page-hero .container{position:relative}.page-hero h1{font-size:clamp(2.8rem,5vw,5rem);color:#fff;max-width:800px}.page-hero p{max-width:640px;font-size:1.1rem}.flight-hero{background-image:url('https://images.unsplash.com/photo-1464037866556-6812c9d1c72e?auto=format&fit=crop&w=2200&q=85')}.hotel-hero{background-image:url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=2200&q=85')}.package-hero{background-image:url('https://images.unsplash.com/photo-1500835556837-99ac94a94552?auto=format&fit=crop&w=2200&q=85')}.page-search{margin-top:-48px;position:relative;z-index:4}.info-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-grid article,.service-grid article,.contact-cards article{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.info-grid i,.service-grid i,.contact-cards i{font-size:2rem;color:var(--orange)}.simple-hero,.article-hero{padding:90px 0 58px;background:linear-gradient(180deg,#eef7fd,#fff)}.simple-hero h1,.article-hero h1{font-size:clamp(2.5rem,5vw,4.7rem);max-width:900px}.simple-hero p,.article-hero p{font-size:1.08rem;color:var(--muted);max-width:760px}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.destination-grid article{position:relative;border-radius:20px;overflow:hidden;min-height:360px}.destination-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.destination-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.destination-grid article div{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff}.destination-grid h3{color:#fff;font-size:1.6rem;margin:0}.destination-grid p{margin:4px 0}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.package-card img{height:330px;width:100%;object-fit:cover}.package-card>div{padding:22px}.notice-card,.demo-result{padding:24px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;gap:18px;margin-bottom:20px}.notice-card i{font-size:1.7rem;color:var(--blue)}.demo-result{justify-content:space-between;background:var(--soft)}.article-head{max-width:900px}.article-layout{display:grid;grid-template-columns:minmax(0,2.3fr) 1fr;gap:55px;padding:0 0 90px}.article-image{width:100%;height:440px;object-fit:cover;border-radius:22px;margin-bottom:30px}.prose{font-size:1.08rem}.prose p{color:#42556a}.prose a{color:var(--blue);text-decoration:underline}.article-aside{position:sticky;top:120px;height:max-content;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:15px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px}.contact-cards{display:grid;gap:14px}.contact-form,.auth-card{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff;box-shadow:0 12px 36px rgba(20,48,76,.07)}.contact-form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-section{min-height:740px;padding:60px 0;background:var(--soft)}.auth-shell{width:min(1000px,calc(100% - 36px));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.auth-visual{background:linear-gradient(rgba(5,47,80,.55),rgba(5,47,80,.75)),url('https://images.unsplash.com/photo-1527631746610-bca00a040d60?auto=format&fit=crop&w=1200&q=80') center/cover;min-height:620px;padding:44px;display:flex;align-items:flex-end;color:#fff}.auth-visual h1{color:#fff;font-size:3rem}.register-visual{background-image:linear-gradient(rgba(5,47,80,.55),rgba(5,47,80,.75)),url('https://images.unsplash.com/photo-1503220317375-aaad61436b1b?auto=format&fit=crop&w=1200&q=80')}.auth-card{border:0;box-shadow:none;border-radius:0;display:flex;flex-direction:column;justify-content:center;gap:13px;padding:48px}.auth-card .check{flex-direction:row;align-items:center}.auth-card .check input{width:auto}.auth-alt{text-align:center}.alert{padding:12px 14px;border-radius:10px}.alert.error{background:#fff0f0;color:#922}.alert.success{background:#eafaf1;color:#17673e}.dashboard-section{padding:66px 0 90px;background:#f7fafc;min-height:70vh}.dash-head{justify-content:space-between;margin-bottom:28px}.dash-head h1{font-size:2.6rem;margin-bottom:5px}.dash-grid{display:grid;grid-template-columns:1fr 300px;gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.panel-head{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}.booking-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid #edf2f6}.booking-row span{display:block;color:var(--muted);font-size:.88rem}.status{padding:5px 9px;border-radius:999px;background:#fff3d9;color:#7b5700!important;font-weight:800}.empty-state{text-align:center;padding:45px}.empty-state i{font-size:2.8rem;color:var(--blue)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-grid>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.stat-grid span{display:block;color:var(--muted)}.stat-grid strong{display:block;font-size:2.3rem;color:var(--navy)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.nav-links{position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px 30px;display:none;flex-direction:column;gap:18px;border-top:1px solid var(--line);box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-toggle{display:block;margin-left:auto}.nav-actions{margin-left:12px}.nav-actions .btn-primary{display:none}.search-grid{grid-template-columns:repeat(3,1fr)}.search-submit{min-height:48px}.deal-grid,.blog-grid,.info-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.split-feature{gap:35px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{display:none}.site-header{top:0}.nav-wrap{min-height:70px}.brand img{width:220px}.nav-links{top:70px}.nav-actions .btn-ghost{display:none}.hero{min-height:560px;background-position:62% center}.hero-content{padding-top:60px}.hero h1{font-size:3.25rem}.booking-lift{margin-top:-45px}.booking-tabs{grid-template-columns:repeat(2,1fr)}.search-grid{grid-template-columns:1fr}.trip-types{flex-wrap:wrap}.trust-grid,.deal-grid,.blog-grid,.info-grid,.service-grid,.destination-grid,.package-grid,.split-feature,.contact-grid,.dash-grid,.article-layout,.footer-grid{grid-template-columns:1fr}.feature-image img{height:350px}.image-badge{right:10px}.section{padding:58px 0}.section-head{align-items:flex-end;gap:16px}.newsletter-inner,.footer-bottom-inner{flex-direction:column;align-items:flex-start}.newsletter form{min-width:0;width:100%}.footer-grid>div:last-child{grid-column:auto}.wa-float span{display:none}.page-hero{min-height:330px}.article-image{height:280px}.article-aside{position:static}.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:300px}.auth-card{padding:30px}.stat-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}@media(max-width:460px){.container{width:min(100% - 24px,1180px)}.brand img{width:190px}.hero h1{font-size:2.75rem}.hero-actions{flex-direction:column;align-items:flex-start}.booking-lift{width:calc(100% - 18px)}.booking-tabs{font-size:.84rem}.flight-form{padding:16px}.trust-grid{grid-template-columns:1fr}.section-head{display:block}.section-head>a{display:inline-block;margin-top:8px}.stat-grid{grid-template-columns:1fr}.auth-section{padding:22px 0}}

/* Phase 2 — travel engine */
.search-alert{margin:16px 20px 0}.phase2-search-grid{grid-template-columns:1.15fr 1.15fr .8fr .8fr .55fr .65fr .8fr .65fr auto}.airport-field{position:relative}.airport-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #dce7ef;border-radius:16px;box-shadow:0 18px 45px rgba(3,36,62,.15);z-index:40;display:none;overflow:hidden;max-height:310px;overflow-y:auto}.airport-suggestions.open{display:block}.airport-option{display:flex;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:0;background:#fff;text-align:left;cursor:pointer;border-bottom:1px solid #eef3f7;color:#12324d}.airport-option:hover{background:#f5faff}.airport-option b{display:block;font-size:.93rem}.airport-option small{display:block;color:#708395;margin-top:2px}.airport-code{font-weight:800;color:#f05b16;letter-spacing:.04em}.supplier-note{margin:12px 0 0;color:#687d8d;font-size:.84rem;display:flex;gap:7px;align-items:center}.compact-hero{min-height:220px;padding:54px 0}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;color:#5a7285}.results-toolbar strong{color:#073b67}.flight-results-list{display:grid;gap:16px}.flight-card{display:grid;grid-template-columns:1.15fr 2fr .9fr auto;gap:24px;align-items:center;background:#fff;border:1px solid #e4edf3;border-radius:22px;padding:22px;box-shadow:0 8px 26px rgba(8,48,76,.06)}.flight-airline{display:flex;align-items:center;gap:12px}.airline-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#edf6fb;color:#073b67;font-weight:800}.flight-airline strong,.flight-airline small{display:block}.flight-airline small{color:#7a8e9d;margin-top:3px}.flight-times{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.flight-times>div:not(.flight-line){display:flex;flex-direction:column}.flight-times strong{font-size:1.25rem;color:#082f50}.flight-times span{font-size:.86rem;color:#60788a}.flight-line{text-align:center;position:relative;color:#75899a}.flight-line:before{content:"";height:1px;background:#cbd8e1;position:absolute;left:0;right:0;top:50%}.flight-line i{position:relative;background:#fff;padding:0 8px;color:#f05b16;transform:rotate(90deg)}.flight-line span,.flight-line small{display:block;position:relative;background:#fff;width:max-content;margin:auto;padding:0 7px}.flight-line small{margin-top:7px}.flight-price{text-align:right}.flight-price>*{display:block}.flight-price strong{font-size:1.12rem;color:#073b67}.flight-price small,.flight-price span{color:#728797}.warning-card{border-color:#ffd5bd;background:#fffaf6}.checkout-grid{display:grid;grid-template-columns:1.5fr .85fr;gap:28px;align-items:start}.checkout-summary{position:sticky;top:120px}.review-list{display:grid;gap:0;margin:22px 0}.review-list>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #e9f0f4}.review-list span{color:#6b8191}.payment-choice{display:flex!important;align-items:center;gap:12px;border:1px solid #dce7ef;border-radius:14px;padding:14px!important;margin:10px 0;cursor:pointer}.payment-choice input{width:auto!important}.payment-choice span{display:flex;flex-direction:column}.payment-choice small{color:#7c8f9d;margin-top:2px}.terms-check{display:flex!important;gap:9px;align-items:flex-start;margin:15px 0!important;color:#5e7485;font-size:.88rem}.terms-check input{width:auto!important;margin-top:3px}.muted{color:#728797}.hotel-search-card{background:#fff;border:1px solid #e1ebf1;border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(9,50,78,.07)}.hotel-search-card>div{display:grid;grid-template-columns:1.05fr 1fr 1fr .65fr .65fr .7fr auto;gap:12px;align-items:end}.hotel-search-card label{display:grid;gap:7px;font-weight:700;color:#173c59;font-size:.86rem}.hotel-search-card input,.hotel-search-card select{width:100%;padding:13px;border:1px solid #d8e4ec;border-radius:12px;background:#fff}.hotel-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hotel-result-card{display:flex;justify-content:space-between;gap:20px;padding:22px;border:1px solid #e0e9ef;border-radius:20px;background:#fff}.hotel-price{text-align:right}.hotel-price>*{display:block}.hotel-price strong{color:#073b67;font-size:1.1rem}.payment-result-section{min-height:65vh;display:grid;align-items:center}.narrow-container{max-width:720px}.payment-result{text-align:center;padding:45px}.result-icon{font-size:3rem;color:#0d8d64}.payment-result .review-list{text-align:left}.text-link{font-weight:700;color:#0b5d91}.btn-block{width:100%;justify-content:center}
@media(max-width:1180px){.phase2-search-grid{grid-template-columns:repeat(4,1fr)}.search-submit{min-height:50px}.flight-card{grid-template-columns:1fr 1.7fr .9fr}.flight-card form{grid-column:1/-1}.flight-card form .btn{width:100%;justify-content:center}.hotel-search-card>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.phase2-search-grid{grid-template-columns:1fr 1fr}.flight-card{grid-template-columns:1fr}.flight-price{text-align:left}.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}.hotel-search-card>div{grid-template-columns:1fr 1fr}.hotel-results-grid{grid-template-columns:1fr}}
@media(max-width:540px){.phase2-search-grid,.hotel-search-card>div{grid-template-columns:1fr}.flight-times{grid-template-columns:auto 1fr auto;gap:8px}.flight-card{padding:17px}.results-toolbar{align-items:flex-start;flex-direction:column}}
.phase2-booking-row small{display:block;color:#748999;margin-top:5px}.booking-actions{display:flex;align-items:center;gap:8px}.btn-small{padding:8px 12px;font-size:.82rem}

/* Phase 2 — Duffel child traveller ages */
.child-age-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:-4px}
.child-age-grid[hidden]{display:none!important}
.child-age-grid label{background:#f7fafc;border:1px solid #e3ebf2;border-radius:14px;padding:10px 12px}
.child-age-grid select{width:100%}
@media (max-width:900px){.child-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.child-age-grid{grid-template-columns:1fr}}

/* Phase 3 — passenger form and payment hardening */
.traveller-card{margin:18px 0;padding:22px;border:1px solid #dfe8ef;border-radius:18px;background:#fbfdff}
.traveller-card h4{margin-bottom:16px}
.passenger-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.passenger-grid label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:750;color:#425d72}
.passenger-grid input,.passenger-grid select{width:100%;min-width:0;border:1px solid #ccd9e5;border-radius:11px;padding:12px;background:#fff;font:inherit;color:#17283a}
.passenger-grid input:focus,.passenger-grid select:focus{outline:2px solid rgba(22,119,184,.16);border-color:#1677b8}
.quote-breakdown{margin-top:18px;border-top:1px solid #e5edf3;padding-top:12px}
.quote-breakdown div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:.86rem;color:#627387}
.quote-breakdown strong{color:#173c59}
.security-note{font-size:.82rem;color:#657c8e;margin-top:12px}
@media(max-width:900px){.passenger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.passenger-grid{grid-template-columns:1fr}.traveller-card{padding:16px}}
/* Phase 5 */
.booking-panel,.flight-form,.search-grid{overflow:visible!important}.airport-field{z-index:60}.airport-field:focus-within{z-index:999}.airport-suggestions{z-index:1000!important;min-width:320px;width:max(100%,420px);max-width:min(520px,90vw)}
.child-age-grid [data-child-age-row][hidden]{display:none!important}
.phase5-stats{grid-template-columns:repeat(6,1fr)}.admin-panel{margin-top:24px}.admin-filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto auto;gap:8px;margin:15px 0 22px}.admin-filters input,.admin-filters select,.customer-edit input{padding:10px;border:1px solid #d8e4ec;border-radius:10px;background:#fff}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:1100px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid #e7eef3}.admin-table th{color:#173c59;font-size:.82rem}.admin-table small{display:block;color:#708395;margin-top:4px}.customer-admin-grid{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}.customer-edit{display:grid;grid-template-columns:1.2fr 1.4fr 1fr auto auto;gap:8px;align-items:center}.auth-options{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.auth-options .check{margin:0}
@media(max-width:1050px){.phase5-stats{grid-template-columns:repeat(3,1fr)}.admin-filters{grid-template-columns:repeat(2,1fr)}.customer-edit{grid-template-columns:1fr 1fr}}@media(max-width:600px){.phase5-stats,.admin-filters,.customer-edit{grid-template-columns:1fr}.airport-suggestions{min-width:100%;width:min(520px,calc(100vw - 40px))}}
.google-auth{margin:14px 0}.auth-divider{display:flex;align-items:center;gap:12px;color:#8495a2;margin:10px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e0e8ee;flex:1}

/* Phase 6 — aviation cloud authentication */

.auth-page{background:#071f38;overflow-x:hidden}
.auth-page .site-header,.auth-page .topbar,.auth-page .footer,.auth-page .wa-float{display:none!important}
.auth-page main{min-height:100vh}
.auth-flight-scene{position:relative;min-height:100vh;overflow:hidden;background:url('../images/auth-aviation-clouds.jpg') 42% center/cover no-repeat;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(430px,.84fr);align-items:center;padding:40px clamp(34px,4.5vw,72px);isolation:isolate}
.auth-flight-scene:after{content:"";position:absolute;inset:auto -6vw -11vh 45%;height:34vh;background:radial-gradient(ellipse at 20% 56%,rgba(255,255,255,.94) 0 24%,transparent 25%),radial-gradient(ellipse at 51% 60%,rgba(255,255,255,.95) 0 29%,transparent 30%),radial-gradient(ellipse at 82% 54%,rgba(255,255,255,.9) 0 24%,transparent 25%);filter:blur(8px);opacity:.72;z-index:-1}
.auth-flight-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,51,.54) 0%,rgba(4,31,57,.24) 46%,rgba(8,39,66,.05) 66%,rgba(255,255,255,.05) 100%);z-index:-2}
.auth-brand-lockup{position:absolute;left:clamp(34px,4.5vw,72px);top:28px;z-index:4;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);border-radius:18px;padding:9px 15px 8px;box-shadow:0 10px 28px rgba(4,27,51,.15);backdrop-filter:blur(10px)}
.auth-brand-lockup img{display:block;width:clamp(220px,18vw,320px);height:auto;filter:none}
.auth-flight-copy{position:relative;z-index:2;color:#fff;max-width:620px;align-self:end;margin-bottom:9vh;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.auth-flight-copy h1{color:#fff;font-size:clamp(3rem,4.6vw,4.9rem);line-height:.98;letter-spacing:-.05em;margin:0 0 18px;max-width:650px}
.auth-flight-copy p{font-size:1.02rem;max-width:530px;color:#f2f8fc;margin:0}
.auth-cloud-stage{position:relative;z-index:3;display:flex;justify-content:flex-end;align-items:center;padding:42px 0 20px 36px}
.auth-cloud-card-wrap{position:relative;width:min(470px,100%);filter:drop-shadow(0 26px 44px rgba(10,42,69,.2))}
.auth-cloud-card{position:relative;z-index:3;background:rgba(255,255,255,.965);border:1px solid rgba(255,255,255,.92);border-radius:28px;padding:30px 32px 25px;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 18px 45px rgba(21,54,80,.12);backdrop-filter:blur(14px)}
.auth-card-heading{text-align:center;margin-bottom:19px}.auth-card-heading h2{font-size:1.92rem;margin:7px 0 4px}.auth-card-heading p{margin:0;color:var(--muted);font-size:.93rem}
.auth-mini-plane{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf5fd;color:var(--navy);transform:rotate(-12deg)}
.auth-cloud-card label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.8rem;color:#435a70;margin-bottom:12px}
.auth-input-shell{position:relative;display:flex;align-items:center}.auth-input-shell>i{position:absolute;left:14px;color:#8ba0b1;z-index:2}.auth-input-shell input{width:100%;padding:12px 43px 12px 40px;border:1px solid #cddbe7;border-radius:11px;background:rgba(255,255,255,.94);font:inherit;color:var(--ink);outline:none;transition:.2s}.auth-input-shell input:focus{border-color:#6aa8d3;box-shadow:0 0 0 4px rgba(22,119,184,.09)}.auth-input-shell input[readonly]{background:#f4f8fb;color:#53697d}
.password-toggle{position:absolute;right:8px;border:0;background:transparent;color:#6f8292;font-size:1.04rem;padding:8px;cursor:pointer}
.auth-options{display:flex;justify-content:space-between;align-items:center;margin:3px 0 15px;font-size:.82rem}.auth-options .check{margin:0;display:flex;flex-direction:row;align-items:center;gap:7px}.auth-options .check input{width:auto}.auth-options a,.auth-alt a{color:#0b57d0;font-weight:800}
.auth-signin-btn{background:linear-gradient(135deg,#073b67,#0d4d84);color:#fff;box-shadow:0 11px 22px rgba(7,59,103,.18)}.google-auth{margin:0;background:#fff}.auth-divider{display:flex;align-items:center;gap:12px;color:#8b9baa;margin:15px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#dfe8ef;flex:1}.auth-divider span{font-size:.73rem;font-weight:800}.auth-alt{text-align:center;margin:14px 0 0;font-size:.86rem}.auth-security-note,.google-prefill-note{font-size:.71rem!important;line-height:1.4;color:#687b8e;text-align:center;margin:9px 0 0!important}.google-prefill-note{padding:9px 11px;border-radius:10px;background:#eef7ff;color:#315e7d}
.cloud-puff{position:absolute;z-index:1;background:rgba(255,255,255,.95);border-radius:50%;filter:blur(.2px);box-shadow:inset -12px -12px 26px rgba(208,224,236,.32),0 8px 18px rgba(255,255,255,.2)}.cloud-puff-1{width:120px;height:88px;left:-42px;bottom:-19px}.cloud-puff-2{width:160px;height:108px;left:40px;bottom:-54px}.cloud-puff-3{width:150px;height:100px;right:18px;bottom:-48px}.cloud-puff-4{width:110px;height:82px;right:-36px;bottom:-16px}.cloud-puff-5{width:90px;height:66px;right:-29px;top:34px}.cloud-puff-6{width:94px;height:64px;left:-25px;top:24px}
.auth-register-scene{padding-top:42px;padding-bottom:42px}.register-card-wrap{width:min(600px,100%)}.register-cloud-card{padding-top:30px;padding-bottom:25px}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.auth-form-grid label:first-child,.auth-form-grid label:nth-child(2),.auth-form-grid label:nth-child(3){grid-column:1/-1}
@media(max-width:1050px){.auth-flight-scene{grid-template-columns:minmax(0,1fr) minmax(400px,.88fr);padding-left:30px;padding-right:30px}.auth-flight-copy h1{font-size:clamp(2.7rem,5vw,4rem)}.auth-cloud-stage{padding-left:24px}.auth-brand-lockup{left:30px}.auth-brand-lockup img{width:245px}}
@media(max-width:820px){.auth-flight-scene{display:flex;flex-direction:column;justify-content:flex-start;min-height:100svh;padding:86px 18px 34px;background-position:38% center}.auth-flight-overlay{background:linear-gradient(180deg,rgba(4,28,53,.46) 0%,rgba(4,28,53,.22) 32%,rgba(4,28,53,.18) 100%)}.auth-flight-copy{display:none}.auth-brand-lockup{position:relative;left:auto;top:auto;transform:none;margin:0 auto 18px;padding:7px 12px;border-radius:15px}.auth-brand-lockup img{width:min(280px,74vw)}.auth-cloud-stage{width:100%;padding:0;justify-content:center;align-items:flex-start}.auth-cloud-card-wrap{width:min(520px,100%)}.auth-cloud-card{padding:28px 26px 24px}.cloud-puff-5,.cloud-puff-6{display:none}}
@media(max-width:520px){.auth-flight-scene{padding:22px 12px 28px;background-position:43% center;justify-content:flex-start}.auth-brand-lockup{margin-bottom:12px;width:fit-content;max-width:92%;padding:6px 10px;border-radius:14px}.auth-brand-lockup img{width:min(245px,76vw)}.auth-cloud-stage{padding:0}.auth-cloud-card-wrap{width:100%;filter:drop-shadow(0 20px 35px rgba(10,42,69,.19))}.auth-cloud-card{border-radius:22px;padding:23px 18px 21px}.auth-card-heading{margin-bottom:17px}.auth-card-heading h2{font-size:1.72rem}.auth-card-heading p{font-size:.86rem}.auth-cloud-card label{font-size:.78rem;margin-bottom:11px}.auth-input-shell input{min-height:48px;font-size:16px}.auth-options{font-size:.78rem;gap:9px;align-items:center;white-space:nowrap}.auth-signin-btn,.google-auth{min-height:47px}.auth-alt{font-size:.82rem}.auth-security-note{font-size:.68rem!important;padding:0 2px}.cloud-puff-1{width:92px;height:68px;left:-22px;bottom:-12px}.cloud-puff-2{width:124px;height:82px;left:48px;bottom:-38px}.cloud-puff-3{width:118px;height:80px;right:40px;bottom:-35px}.cloud-puff-4{width:86px;height:64px;right:-18px;bottom:-11px}.auth-flight-scene:after{display:none}}
@media(max-width:390px){.auth-flight-scene{padding-left:9px;padding-right:9px}.auth-cloud-card{padding-left:15px;padding-right:15px}.auth-options{font-size:.74rem}.auth-card-heading h2{font-size:1.6rem}.auth-brand-lockup img{width:220px}}


/* Phase 7: autocomplete keyboard state + customer inline profile */
.airport-option.active,.airport-option:focus{background:#eef7fd;outline:none}.account-panel .panel-head{margin-bottom:12px}.profile-edit-toggle{border:0;background:transparent;cursor:pointer;padding:4px 0}.inline-profile-form{display:grid;gap:12px}.inline-profile-form[hidden]{display:none!important}.inline-profile-form label{display:grid;gap:6px;font-weight:700;color:#173c59;font-size:.86rem}.inline-profile-form input{width:100%;padding:12px 13px;border:1px solid #d8e4ec;border-radius:12px;background:#fff}.inline-profile-form input[readonly]{background:#f4f7f9;color:#647887}.profile-form-actions{display:flex;gap:8px;margin-top:4px}

/* Phase 8: keep floating support clear of checkout/payment controls. */
@media (max-width: 900px){.wa-float{right:14px;bottom:14px;width:52px;height:52px;padding:0;justify-content:center}.wa-float span{display:none}.wa-float i{font-size:1.55rem}}
@media (max-width: 600px){.wa-float{right:12px;bottom:12px;width:48px;height:48px}}
/* Phase 9: richer booking management */
.rich-booking-row{align-items:flex-start;gap:20px}.booking-main{min-width:0;display:grid;gap:4px}.route-title{font-size:1rem!important;color:var(--navy2)!important}.booking-actions{display:flex;gap:8px;align-items:flex-end;flex-direction:column;min-width:130px}.booking-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.booking-detail-grid>div{display:grid;gap:20px}.journey-detail{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:12px 0 22px}.journey-detail span,.journey-detail small,.segment-item span,.segment-item small{display:block;color:var(--muted)}.journey-detail i{font-size:1.5rem;color:var(--orange)}.segment-list{display:grid;gap:10px;margin:12px 0}.segment-item{padding:14px;border:1px solid var(--line);border-radius:12px}.passenger-edit{border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}.danger-panel{border-color:#f0caca}.danger-panel textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px}.text-danger{color:#a52a2a!important}@media(max-width:900px){.booking-detail-grid{grid-template-columns:1fr}.booking-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.rich-booking-row{flex-direction:column}.journey-detail{grid-template-columns:1fr}.journey-detail i{transform:rotate(90deg)}}
/* Keep support control clear of checkout/payment actions. */
.checkout-grid~.wa-float,.payment-page .wa-float{bottom:84px}
@media(max-width:900px){body:has(.checkout-grid) .wa-float{bottom:76px}}

/* Phase 9.1: resilient long-content layouts and admin readability */
.scroll-value{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:3px;scrollbar-width:thin}
.admin-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.admin-table{min-width:1380px;table-layout:auto}
.admin-table th,.admin-table td{min-width:125px;max-width:260px}
.admin-table td.scroll-cell,.admin-table td small{overflow-wrap:anywhere;word-break:normal}
.admin-table td.scroll-cell{overflow-x:auto;scrollbar-width:thin}
.admin-table td:nth-child(2){min-width:240px;max-width:320px}
.admin-table td:nth-child(5),.admin-table td:nth-child(6),.admin-table td:nth-child(8){min-width:190px}
.admin-table form .btn{white-space:normal;width:100%;margin-top:10px}
.airport-field input[type="text"]{white-space:nowrap;overflow-x:auto;text-overflow:clip}
.notice-card p,.alert{overflow-wrap:anywhere}
@media(max-width:760px){.review-list>div{align-items:flex-start}.review-list>div>strong{max-width:68%;text-align:right}.scroll-value{max-width:68%}}

/* Phase 10 — Smart flight search & calendar */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.smart-search-panel{overflow:visible!important;border:1px solid #e3ebf2;box-shadow:0 20px 55px rgba(7,59,103,.14)}
.smart-flight-form{padding:20px 22px 18px;position:relative;overflow:visible}
.smart-search-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.segmented-trip{display:inline-flex;background:#f3f6f9;border-radius:12px;padding:3px;white-space:nowrap}
.segmented-trip input{position:absolute;opacity:0;pointer-events:none}.segmented-trip span{display:block;padding:9px 14px;border-radius:9px;font-weight:800;font-size:.86rem;cursor:pointer;color:var(--navy)}.segmented-trip input:checked+span{background:#fff;box-shadow:0 3px 12px rgba(7,59,103,.12);color:var(--orange)}
.compact-control{position:relative;display:inline-flex;align-items:center;min-height:42px;border:1px solid #d9e3ec;border-radius:11px;background:#fff;color:var(--navy);white-space:nowrap}.compact-control>i{margin-left:12px}.smart-select select{appearance:none;border:0;background:transparent;padding:10px 30px 10px 9px;font:inherit;font-weight:750;color:var(--navy);outline:0;width:auto;min-width:max-content}.smart-select:after{content:'⌄';position:absolute;right:10px;pointer-events:none}.currency-control select{padding-left:12px;min-width:78px}
.traveller-trigger{border:0;background:transparent;display:flex;align-items:center;gap:8px;padding:10px 12px;font:inherit;font-weight:800;color:var(--navy);cursor:pointer}.traveller-trigger i:first-child{font-size:1.05rem}.traveller-popover{position:absolute;top:calc(100% + 9px);left:0;z-index:1200;width:min(340px,calc(100vw - 40px));padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 55px rgba(7,59,103,.2)}.traveller-popover[hidden]{display:none}.traveller-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 0;border-bottom:1px solid #edf2f6}.traveller-row strong,.traveller-row small{display:block}.traveller-row small{color:var(--muted);font-size:.76rem}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:31px;height:31px;border-radius:50%;border:1px solid #cbd9e5;background:#fff;color:var(--navy);font-size:1.1rem;cursor:pointer}.stepper output{min-width:20px;text-align:center;font-weight:800}.traveller-child-ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:10px}.traveller-child-ages label{font-size:.72rem;color:var(--muted)}.traveller-child-ages select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.traveller-done{width:100%;margin-top:12px;border:0;border-radius:10px;background:var(--navy);color:#fff;padding:10px;font-weight:800;cursor:pointer}
.smart-search-row{display:flex;align-items:stretch;gap:0;border:1px solid #ccd9e5;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(7,59,103,.08);overflow:visible;position:relative}.smart-field{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;border:0;border-right:1px solid #e1e8ef;background:#fff;padding:11px 15px;min-height:68px;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.smart-field>span{font-size:.72rem;color:#708195;font-weight:700}.smart-field strong{font-size:.9rem;color:var(--navy2);white-space:nowrap}.smart-airport-field{flex:1 1 230px;min-width:170px;max-width:360px;z-index:60}.smart-airport-field:focus-within{z-index:1001}.smart-input-line{display:flex;align-items:center;gap:7px;min-width:0}.smart-input-line i{color:var(--orange);flex:0 0 auto}.smart-input-line input{border:0!important;padding:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;font-weight:800!important;color:var(--navy2)!important;min-width:90px;width:100%!important;white-space:nowrap;overflow-x:auto;text-overflow:clip;background:transparent!important}.swap-airports{align-self:center;flex:0 0 34px;width:34px;height:34px;margin:0 -17px;z-index:80;border:1px solid #cbd9e5;border-radius:50%;background:#fff;color:var(--orange);cursor:pointer;box-shadow:0 4px 10px rgba(7,59,103,.1)}.date-field{flex:0 1 auto;min-width:145px}.date-field i{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--navy);opacity:.7}.date-field strong{padding-right:20px}.smart-search-submit{border-radius:0 15px 15px 0;flex:0 0 auto;min-width:max-content;padding-inline:22px}.smart-search-submit:hover{transform:none}
.smart-calendar{position:absolute;z-index:1100;top:calc(100% - 8px);right:22px;width:min(760px,calc(100% - 44px));background:#fff;border:1px solid #dbe5ed;border-radius:18px;box-shadow:0 26px 65px rgba(7,59,103,.22);padding:18px}.smart-calendar[hidden]{display:none}.calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:10px}.calendar-head button{width:36px;height:36px;border:0;border-radius:50%;background:#f4f8fb;color:var(--navy);cursor:pointer}.calendar-head button:hover{background:#fff1e8;color:var(--orange)}.calendar-title{text-align:center;font-weight:850;color:var(--navy2)}.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.calendar-month h4{text-align:center;margin:3px 0 12px;font-size:.95rem}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-week span{text-align:center;font-size:.68rem;font-weight:800;color:#7a8a99;padding:5px}.calendar-day{aspect-ratio:1.15;border:0;border-radius:9px;background:#f2f8fc;color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer;position:relative}.calendar-day:hover:not(:disabled){background:#ffe8da;color:var(--navy2)}.calendar-day:disabled{background:transparent;color:#c2cbd3;cursor:not-allowed}.calendar-day.is-selected{background:var(--orange);color:#fff;font-weight:900}.calendar-day.is-range{background:#fff0e6;color:var(--navy2);border-radius:0}.calendar-day.is-range-start{border-radius:9px 0 0 9px}.calendar-day.is-range-end{border-radius:0 9px 9px 0}.calendar-day.is-today:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--orange);bottom:4px;left:50%;transform:translateX(-50%)}.calendar-day.is-selected.is-today:after{background:#fff}.calendar-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;padding-top:12px;border-top:1px solid #edf2f6;color:var(--muted);font-size:.75rem}.calendar-foot button{border:0;background:var(--navy);color:#fff;border-radius:9px;padding:8px 14px;font-weight:800;cursor:pointer}
.airport-suggestions{left:0;top:calc(100% + 6px);max-height:330px;overflow:auto!important}.airport-option{min-width:100%}
@media(max-width:1050px){.smart-search-row{flex-wrap:wrap;border-radius:16px;overflow:visible}.smart-airport-field{max-width:none;flex:1 1 calc(50% - 18px)}.date-field,[data-return-wrap]{flex:1 1 180px}.date-field{width:100%}.smart-search-submit{flex:1 1 180px;border-radius:0 0 15px 0}.smart-field{border-bottom:1px solid #e1e8ef}.smart-calendar{left:22px;right:auto}}
@media(max-width:700px){.smart-flight-form{padding:15px}.smart-search-toolbar{gap:7px}.segmented-trip{width:100%}.segmented-trip label{flex:1;text-align:center}.smart-search-row{display:grid;grid-template-columns:1fr}.smart-airport-field,.date-field,[data-return-wrap],.smart-search-submit{width:100%;max-width:none;min-width:0}.smart-field{border-right:0;border-bottom:1px solid #e1e8ef}.swap-airports{position:absolute;right:18px;top:55px;margin:0;transform:rotate(90deg)}.smart-search-submit{border-radius:0 0 15px 15px;min-height:54px}.smart-calendar{position:fixed;inset:auto 10px 10px 10px;width:auto;max-height:82vh;overflow:auto;padding:14px}.calendar-months{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}.calendar-foot{align-items:flex-start}.traveller-popover{position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto}.airport-suggestions{width:calc(100vw - 50px)!important;max-width:none!important}}

/* Phase 11 — Admin navigation, pagination and booking management */
.admin-stat-links{align-items:stretch}
.admin-stat-card{display:flex;flex-direction:column;justify-content:center;min-height:128px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.2s ease;cursor:pointer;position:relative;outline:none}
.admin-stat-card span{color:var(--muted)}.admin-stat-card strong{font-size:2rem;color:var(--navy);line-height:1.1;margin:10px 0 5px}.admin-stat-card small{color:#8595a5;font-size:.74rem}.admin-stat-card:hover,.admin-stat-card:focus-visible{transform:translateY(-3px);border-color:#f7b18a;box-shadow:0 13px 30px rgba(7,59,103,.1)}.admin-stat-card.active{border-color:var(--orange);box-shadow:0 0 0 2px rgba(242,106,33,.08)}
.admin-table{min-width:1540px}.admin-table th:last-child,.admin-table td:last-child{min-width:150px;max-width:180px}.admin-action-cell{white-space:normal}.admin-action-cell .btn{width:100%;margin:0}.action-hint{display:block;margin-top:8px;font-size:.72rem;color:#9a6a16}.success-text{color:#237747}
.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 2px 6px;font-size:.86rem}.admin-pagination>a,.admin-pagination>span,.admin-page-numbers>a,.admin-page-numbers>span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-weight:700}.admin-pagination a:hover,.admin-page-numbers a:hover{border-color:var(--orange);color:var(--orange)}.admin-pagination .disabled{opacity:.45;cursor:not-allowed}.admin-page-numbers{display:flex;gap:6px;align-items:center}.admin-page-numbers .current{background:var(--navy);border-color:var(--navy);color:#fff;min-width:36px}.pagination-summary{font-size:.76rem;color:var(--muted);padding:0 2px 8px}
/* Defensive isolation: Laravel/vendor pagination SVGs must never inherit large navigation sizing. */
.admin-panel nav[role="navigation"] svg,.pagination-wrap nav[role="navigation"] svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.admin-booking-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:24px;align-items:start}.admin-booking-main,.admin-booking-side{display:grid;gap:20px}.admin-booking-page .panel{padding:24px}.admin-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-status-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfe}.admin-status-grid span,.admin-status-grid strong{display:block}.admin-status-grid>div>span{font-size:.75rem;color:var(--muted);margin-bottom:5px}.admin-inline-error{margin-top:15px;padding:13px 14px;border:1px solid #efcccc;border-radius:10px;background:#fff6f6;color:#8f2727}.admin-inline-error p{margin:4px 0 0;overflow-wrap:anywhere}.ticketing-action-panel{border:1px solid #f3c9af!important;background:linear-gradient(180deg,#fffaf7,#fff)}.action-ready,.action-complete,.action-wait{display:flex;gap:11px;align-items:flex-start;margin:10px 0 16px;padding:13px;border-radius:11px;background:#f7fafc}.action-ready i{color:#238452}.action-complete i{color:var(--navy)}.action-wait i{color:#a46d15}.action-ready i,.action-complete i,.action-wait i{font-size:1.25rem}.action-ready strong,.action-ready span,.action-complete strong,.action-complete span,.action-wait strong,.action-wait span{display:block}.action-ready span,.action-complete span,.action-wait span{font-size:.78rem;color:var(--muted);margin-top:3px}.small-note{font-size:.75rem;margin:11px 0 0}.compact-review>div{gap:14px}.passenger-summary{padding:12px 0;border-top:1px solid var(--line)}.passenger-summary small{display:block;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
@media(max-width:1050px){.admin-booking-grid{grid-template-columns:1fr}.admin-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.admin-pagination{flex-wrap:wrap}.admin-page-numbers{order:3;width:100%;justify-content:center}.admin-status-grid{grid-template-columns:1fr}.admin-stat-card{min-height:104px}.admin-stat-card strong{font-size:1.7rem}}

/* Phase 12: three-role access and Super Admin user management */
.phase5-stats.admin-stat-links{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.role-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;margin:20px 0}
.mini-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.mini-stat span{display:block;color:var(--muted);font-size:.86rem}.mini-stat strong{display:block;color:var(--navy);font-size:1.75rem;margin-top:7px}
.user-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.user-create-grid input,.user-create-grid select,.user-filter-bar input,.user-filter-bar select,.user-inline-edit input,.user-inline-edit select{width:100%;padding:10px;border:1px solid #d8e4ec;border-radius:10px;background:#fff;min-width:0}
.user-filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) auto auto;gap:9px;margin:14px 0 20px}
.user-admin-table{min-width:1520px;table-layout:auto}
.user-admin-table th,.user-admin-table td{vertical-align:top}
.user-admin-table th:nth-child(1){min-width:180px}
.user-admin-table th:nth-child(2){min-width:260px}
.user-admin-table th:nth-child(6){min-width:760px}
.user-contact-cell{min-width:260px;max-width:340px}
.user-contact-cell .contact-email,.user-contact-cell .contact-phone{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
.user-contact-cell .contact-phone{margin-top:5px}
.user-inline-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:720px;max-width:100%}
.user-inline-edit input,.user-inline-edit select{flex:0 0 auto;max-width:100%}
.user-inline-edit .autosize-input,.user-create-grid .autosize-input{field-sizing:content;min-width:0;max-width:min(42ch,100%);overflow-x:auto;text-overflow:clip;white-space:nowrap}
.user-inline-edit input[name=phone],.user-create-grid input[name=phone]{max-width:min(24ch,100%)}
.user-inline-edit input[type=password]{width:180px}
.user-inline-edit select{width:130px}
.user-inline-edit .btn{white-space:nowrap}
@media (max-width:900px){.user-create-grid{grid-template-columns:1fr}.user-filter-bar{grid-template-columns:1fr}.user-admin-table{min-width:1180px}.user-inline-edit{min-width:650px}.user-contact-cell{min-width:220px;max-width:280px}}

/* Phase 12.2: sticky horizontal navigation for wide User Management tables. */
.sticky-x-scroll{display:none;position:sticky;bottom:8px;z-index:35;width:100%;height:18px;overflow-x:auto;overflow-y:hidden;background:rgba(255,255,255,.96);border:1px solid #d9e4ec;border-radius:10px;box-shadow:0 5px 16px rgba(7,59,103,.12);scrollbar-width:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;margin:8px 0 10px}
.sticky-x-scroll.is-visible{display:block}
.sticky-x-scroll-spacer{height:1px;min-width:100%}
.sticky-x-scroll::-webkit-scrollbar{height:13px}
.sticky-x-scroll::-webkit-scrollbar-track{background:#edf3f7;border-radius:999px}
.sticky-x-scroll::-webkit-scrollbar-thumb{background:#8092a3;border:2px solid #edf3f7;border-radius:999px}
.sticky-x-scroll::-webkit-scrollbar-thumb:hover{background:#5f7488}
.user-table-scroll-source{scrollbar-gutter:stable}
.role-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:700;font-size:.78rem;white-space:nowrap}.role-super_admin{background:#fff0e7;color:#b84b0d}.role-admin{background:#eaf4ff;color:#0a5896}.role-customer{background:#edf8f2;color:#15724a}
.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.permission-grid>div{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdff}.permission-grid b{color:var(--navy)}.permission-grid p{margin:7px 0 0;color:var(--muted);line-height:1.5}
@media(max-width:900px){.role-summary-grid,.permission-grid{grid-template-columns:1fr 1fr}.user-create-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.role-summary-grid,.permission-grid,.user-create-grid,.user-filter-bar{grid-template-columns:1fr}}

/* Phase 12.3: sticky + native horizontal scrolling for Admin bookings table. */
.booking-table-scroll-source{scrollbar-gutter:stable}
.booking-table-sticky-scroll{margin-top:4px;margin-bottom:10px}

/* =========================================================
   Phase 13 — Wakanow-inspired AviationInternet home experience
   Structure and interaction reference only; AviationInternet branding/content retained.
   ========================================================= */
body:has(.ai-home-hero){background:#f7f9fc}.ai-home-hero{position:relative;min-height:760px;overflow:visible;background:#071f39}.ai-home-hero-media{position:absolute;inset:0 0 150px;background:url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=2200&q=88') center 44%/cover no-repeat}.ai-home-hero-overlay{position:absolute;inset:0 0 150px;background:linear-gradient(90deg,rgba(4,24,45,.9) 0%,rgba(5,45,76,.72) 48%,rgba(4,31,54,.28) 100%)}.ai-home-hero-inner{position:relative;padding-top:82px}.ai-home-copy{max-width:760px;color:#fff;padding-bottom:42px}.ai-kicker{display:inline-block;font-size:.72rem;letter-spacing:.15em;font-weight:900;color:#ffc29d;margin-bottom:12px}.ai-kicker-dark{color:var(--orange)}.ai-home-copy h1{font-size:clamp(3rem,5.8vw,5.7rem);letter-spacing:-.055em;color:#fff;margin:0 0 18px;max-width:820px}.ai-home-copy h1 span{color:#ffd2b8}.ai-home-copy>p{font-size:1.12rem;color:#e7eef5;max-width:660px;margin:0 0 22px}.ai-home-proof{display:flex;flex-wrap:wrap;gap:8px 22px;color:#edf5fb;font-size:.85rem;font-weight:700}.ai-home-proof span{display:flex;align-items:center;gap:7px}.ai-home-proof i{color:#ff9a60}.ai-home-search-shell{position:relative;z-index:6;margin-top:2px}.ai-product-tabs{display:flex;align-items:stretch;gap:4px;width:max-content;max-width:100%;overflow-x:auto;background:#fff;border-radius:16px 16px 0 0;padding:8px 8px 0;box-shadow:0 -8px 30px rgba(0,0,0,.08);scrollbar-width:thin}.ai-product-tabs a{min-width:104px;padding:14px 17px 13px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:800;color:#536578;border-radius:11px 11px 0 0;white-space:nowrap;border-bottom:3px solid transparent}.ai-product-tabs a:hover,.ai-product-tabs a.active{color:var(--orange);background:#fff7f1;border-bottom-color:var(--orange)}.ai-home-search-shell .booking-panel{border-radius:0 18px 18px 18px;box-shadow:0 20px 55px rgba(13,39,65,.22);overflow:visible}.ai-home-search-shell .smart-flight-form{padding:24px}.ai-home-search-shell .supplier-note{margin-bottom:0}.ai-home-section{padding:72px 0;background:#fff}.ai-home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.ai-home-section-head h2{font-size:clamp(1.9rem,3vw,2.75rem);letter-spacing:-.035em;margin:0}.ai-home-section-head>a{font-weight:850;color:var(--navy);white-space:nowrap}.ai-home-section-head>a i{margin-left:5px}.ai-destination-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);overflow-x:auto;gap:16px;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin}.ai-destination-card{position:relative;height:260px;border-radius:18px;overflow:hidden;scroll-snap-align:start;background:#0d3558;box-shadow:0 8px 26px rgba(16,45,71,.1)}.ai-destination-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(0,0,0,.78))}.ai-destination-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.ai-destination-card:hover img{transform:scale(1.05)}.ai-destination-card>div{position:absolute;z-index:2;left:17px;right:17px;bottom:14px;color:#fff}.ai-destination-card h3{color:#fff;font-size:1.3rem;margin:0}.ai-destination-card p{margin:2px 0 0;font-size:.85rem}.ai-destination-count{position:absolute;z-index:2;top:13px;left:13px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-size:.72rem;font-weight:850}.ai-offers-section{background:#f7f9fc}.ai-offers-head{align-items:center}.ai-offer-tabs{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px}.ai-offer-tabs button{border:0;background:transparent;padding:8px 13px;border-radius:999px;font:inherit;font-size:.82rem;font-weight:800;color:#627387;cursor:pointer}.ai-offer-tabs button.active{background:var(--navy);color:#fff}.ai-offer-grid{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:18px}.ai-offer-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e1e8ef;min-height:360px;position:relative}.ai-offer-card>img{width:100%;height:185px;object-fit:cover}.ai-offer-featured>img{height:100%;position:absolute;inset:0}.ai-offer-featured:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,54,.88),rgba(4,31,54,.36))}.ai-offer-content{position:relative;z-index:2;padding:22px}.ai-offer-featured .ai-offer-content{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;color:#fff;max-width:470px;padding:34px}.ai-offer-content>span{font-size:.7rem;letter-spacing:.09em;font-weight:900;color:var(--orange)}.ai-offer-content h3{font-size:1.35rem;margin:7px 0 8px}.ai-offer-featured h3{color:#fff;font-size:2.25rem}.ai-offer-featured p{color:#edf4fa}.ai-offer-content p{color:var(--muted)}.ai-offer-content>a:not(.btn){font-weight:850;color:var(--navy)}.ai-prime-section{background:#fff}.ai-prime-card{background:linear-gradient(125deg,#072f52,#0d5f95);border-radius:26px;min-height:390px;display:grid;grid-template-columns:1.25fr .75fr;overflow:hidden;box-shadow:0 20px 45px rgba(7,59,103,.15)}.ai-prime-copy{padding:58px;color:#fff}.ai-prime-copy h2{color:#fff;font-size:clamp(2.2rem,3.5vw,3.6rem);letter-spacing:-.04em;margin-bottom:14px}.ai-prime-copy p{color:#dbeaf5;max-width:620px}.ai-prime-points{display:flex;flex-wrap:wrap;gap:12px 22px;margin:24px 0}.ai-prime-points span{font-size:.88rem;font-weight:800}.ai-prime-points i{color:#ff9c62;margin-right:5px}.ai-prime-visual{position:relative;background:linear-gradient(rgba(242,106,33,.12),rgba(242,106,33,.12)),url('https://images.unsplash.com/photo-1488646953014-85cb44e25828?auto=format&fit=crop&w=1000&q=84') center/cover}.ai-fare-sample{position:absolute;left:-50px;bottom:34px;background:#fff;border-radius:16px;padding:18px 20px;width:260px;box-shadow:var(--shadow)}.ai-fare-sample small,.ai-fare-sample span{display:block;color:var(--muted)}.ai-fare-sample strong{display:block;color:var(--navy2);font-size:1.25rem;margin:3px 0}.ai-app-section{background:#f7f9fc}.ai-app-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px}.ai-phone-stage{min-height:450px;display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,#dceffc 0,#eff6fb 50%,transparent 51%)}.ai-phone{width:250px;height:460px;border:10px solid #102c46;border-radius:38px;background:linear-gradient(180deg,#fff,#f4f9fc);box-shadow:0 26px 60px rgba(13,41,66,.25);padding:45px 20px 22px;position:relative}.ai-phone-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:78px;height:18px;border-radius:20px;background:#102c46}.ai-phone img{width:170px;margin:0 auto 42px}.ai-phone h3{text-align:center;margin-bottom:5px}.ai-phone>p{text-align:center;color:var(--muted);font-size:.84rem}.ai-phone-card{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;display:flex;gap:10px;align-items:center;font-size:.8rem;color:var(--navy);font-weight:750}.ai-phone-card i{font-size:1.4rem;color:var(--orange)}.ai-app-copy h2{font-size:clamp(2.2rem,3.6vw,3.7rem);letter-spacing:-.045em;margin-bottom:14px}.ai-app-copy>p{color:var(--muted);font-size:1.02rem;max-width:650px}.ai-app-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.ai-app-features span{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:.82rem}.ai-app-features i{display:block;color:var(--orange);font-size:1.5rem;margin-bottom:9px}.ai-app-features b{display:block;color:var(--navy2);font-size:.9rem}.ai-deal-signup{background:#082d4f;padding:54px 0;color:#fff}.ai-deal-signup-inner{display:flex;align-items:center;justify-content:space-between;gap:44px}.ai-deal-signup h2{color:#fff;margin:0 0 6px;font-size:2rem}.ai-deal-signup p{color:#bad0e0;margin:0}.ai-deal-signup form{display:flex;min-width:min(460px,100%)}.ai-deal-signup input{flex:1;border:0;padding:14px 16px;border-radius:12px 0 0 12px;font:inherit;min-width:0}.ai-deal-signup .btn{border-radius:0 12px 12px 0}.ai-about-home{background:#fff}.ai-about-home-inner{max-width:1100px}.ai-about-home-inner>h2{font-size:clamp(2.2rem,3.6vw,3.5rem);letter-spacing:-.04em;max-width:920px}.ai-about-home-inner>p{color:var(--muted);font-size:1.02rem;max-width:950px}.ai-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:32px}.ai-why-grid article{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.ai-why-grid i{font-size:1.7rem;color:var(--orange)}.ai-why-grid h3{font-size:1rem;margin:13px 0 7px}.ai-why-grid p{font-size:.84rem;color:var(--muted);margin:0}
@media(max-width:1050px){.ai-home-hero{min-height:820px}.ai-home-hero-media,.ai-home-hero-overlay{bottom:190px}.ai-home-hero-inner{padding-top:65px}.ai-offer-grid{grid-template-columns:1fr 1fr}.ai-offer-featured{grid-column:1/-1;min-height:390px}.ai-prime-card{grid-template-columns:1fr .55fr}.ai-app-grid{gap:30px}.ai-app-features,.ai-why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ai-home-hero{min-height:auto;padding-bottom:35px;background:#f7f9fc}.ai-home-hero-media,.ai-home-hero-overlay{bottom:auto;height:520px}.ai-home-hero-inner{padding-top:52px}.ai-home-copy{padding-bottom:36px}.ai-home-copy h1{font-size:3.05rem}.ai-home-search-shell{margin-top:0}.ai-product-tabs{width:100%;border-radius:14px 14px 0 0}.ai-product-tabs a{min-width:92px;padding-inline:12px}.ai-home-search-shell .booking-panel{border-radius:0 0 16px 16px}.ai-home-section{padding:52px 0}.ai-home-section-head{align-items:center}.ai-offer-grid{grid-template-columns:1fr}.ai-offer-featured{grid-column:auto}.ai-prime-card{grid-template-columns:1fr}.ai-prime-visual{height:260px}.ai-fare-sample{left:22px}.ai-app-grid{grid-template-columns:1fr}.ai-app-copy{order:-1}.ai-app-features{grid-template-columns:1fr}.ai-deal-signup-inner{flex-direction:column;align-items:flex-start}.ai-deal-signup form{min-width:0;width:100%}.ai-why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ai-home-copy h1{font-size:2.55rem}.ai-home-proof{gap:8px 14px}.ai-home-search-shell .smart-flight-form{padding:14px}.ai-product-tabs a{min-width:82px;font-size:.78rem}.ai-product-tabs i{display:none}.ai-destination-strip{grid-auto-columns:78%}.ai-home-section-head{align-items:flex-end}.ai-offer-tabs{display:none}.ai-prime-copy{padding:34px 24px}.ai-app-features,.ai-why-grid{grid-template-columns:1fr}.ai-deal-signup form{display:grid;grid-template-columns:1fr}.ai-deal-signup input,.ai-deal-signup .btn{border-radius:12px}.ai-deal-signup .btn{margin-top:8px}}

/* Phase 14 — hotel search, shareable result URLs and Top Hotel Destinations */
.wk-hotels-hero{padding:74px 0 46px;background:linear-gradient(115deg,#082f50,#0b5b8f);color:#fff}.wk-hotels-title{max-width:720px;margin-bottom:28px}.wk-hotels-title h1{color:#fff;font-size:clamp(2.6rem,5vw,4.8rem);letter-spacing:-.05em;margin:0 0 10px}.wk-hotels-title p{color:#dbeaf5;font-size:1.05rem}.wk-hotel-search-shell,.wk-results-searchbar .container{position:relative;z-index:8}.wk-hotel-search{display:grid;grid-template-columns:minmax(230px,1.55fr) minmax(145px,.85fr) minmax(145px,.85fr) minmax(95px,.5fr) minmax(95px,.5fr) minmax(90px,.45fr) minmax(92px,.48fr) auto;gap:0;background:#fff;border:1px solid #dce6ee;border-radius:15px;box-shadow:0 18px 45px rgba(3,36,62,.16);overflow:visible;align-items:stretch}.wk-hotel-search>label,.wk-hotel-destination{position:relative;display:block;padding:10px 13px;border-right:1px solid #e4ebf1;min-width:0}.wk-hotel-search label>span,.wk-hotel-destination>label{display:block;font-size:.72rem;color:#718397;font-weight:700;margin-bottom:2px}.wk-hotel-field-main{display:flex;align-items:center;gap:7px;min-width:0}.wk-hotel-field-main i{color:#8192a3;flex:0 0 auto}.wk-hotel-field-main input,.wk-hotel-field-main select{border:0!important;outline:0!important;padding:4px 0!important;width:100%;min-width:0;background:transparent!important;font:inherit;color:#102f4b;font-weight:750;box-shadow:none!important}.wk-hotel-field-main input[type=date]{font-weight:700}.wk-hotel-search-button{border-radius:0 14px 14px 0;min-width:126px;justify-content:center}.wk-hotel-suggestions{display:none;position:absolute;left:0;top:calc(100% + 7px);width:max(100%,340px);max-width:min(480px,90vw);background:#fff;border:1px solid #dce6ee;border-radius:14px;box-shadow:0 18px 45px rgba(3,36,62,.16);z-index:50;max-height:310px;overflow:auto}.wk-hotel-suggestions.open{display:block}.wk-hotel-suggestion{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #edf2f6;background:#fff;text-align:left;cursor:pointer}.wk-hotel-suggestion:hover,.wk-hotel-suggestion.active{background:#fff7f1}.wk-hotel-suggestion strong{display:block;color:#0a365c}.wk-hotel-suggestion small{display:block;color:#75889a;margin-top:2px}.wk-hotel-suggestion i{color:var(--orange)}.wk-top-hotels-section{background:#fff}.wk-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.wk-section-heading h2{font-size:clamp(1.85rem,3vw,2.55rem);letter-spacing:-.035em;margin:0}.wk-section-heading a{font-weight:800;color:#0a5e93}.wk-top-hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wk-top-hotel-card{display:grid;grid-template-columns:145px 1fr;min-height:132px;border:1px solid #e2e9ef;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(8,48,76,.055);transition:transform .2s,box-shadow .2s}.wk-top-hotel-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,48,76,.10)}.wk-top-hotel-image{height:100%;min-height:132px;overflow:hidden}.wk-top-hotel-image img{width:100%;height:100%;object-fit:cover}.wk-top-hotel-copy{padding:16px 15px;display:flex;flex-direction:column;justify-content:center}.wk-hotel-availability{font-size:.75rem;color:#5e7b8f;margin-bottom:4px}.wk-top-hotel-copy h3{font-size:1.12rem;margin:0 0 7px;color:#102f4b}.wk-top-hotel-copy p{margin:0;color:#6d7f8f;font-size:.82rem;display:flex;align-items:center;gap:7px}.wk-country-flag{display:inline-grid;place-items:center;min-width:27px;height:19px;border-radius:4px;background:#edf3f7;color:#37536b;font-size:.61rem;font-weight:900}.wk-results-searchbar{padding:22px 0;background:#eef4f8;border-bottom:1px solid #dce5ec;position:sticky;top:0;z-index:20}.wk-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.wk-results-heading h1{margin:0;font-size:2.2rem}.wk-results-heading p{color:#6d8293;margin:5px 0 0}.wk-results-heading>strong{color:#0a4d7a}.wk-hotel-results-grid{display:grid;gap:15px}.wk-hotel-result-card{display:grid;grid-template-columns:250px 1fr 220px;gap:20px;background:#fff;border:1px solid #dfe8ee;border-radius:16px;overflow:hidden;min-height:190px}.wk-hotel-result-image{display:block;min-height:190px;background:#eef3f6}.wk-hotel-result-image img{width:100%;height:100%;object-fit:cover}.wk-hotel-image-placeholder{height:100%;min-height:190px;display:grid;place-items:center;font-size:2.5rem;color:#8aa0b1}.wk-hotel-result-main{padding:22px 0}.wk-hotel-result-main h2{font-size:1.25rem;margin:0 0 5px}.wk-hotel-result-main h2 a{color:#103b5d}.wk-hotel-stars{color:#f7a321;font-size:.8rem;margin-bottom:9px}.wk-hotel-location{color:#6b8092;margin:0 0 12px}.wk-review-score{display:inline-block;padding:5px 9px;border-radius:7px;background:#eef7f2;color:#14724f;font-size:.78rem;font-weight:800}.wk-hotel-result-price{padding:22px 20px;border-left:1px solid #e6edf2;text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.wk-hotel-result-price small,.wk-hotel-result-price span{color:#738698}.wk-hotel-result-price strong{font-size:1.35rem;color:#092f51;margin:3px 0}.wk-hotel-result-price .btn{margin-top:14px;width:100%;justify-content:center}.wk-hotel-property-page{background:#f7f9fb}.wk-property-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.wk-property-head h1{margin:0}.wk-property-photo{height:360px;border-radius:18px;overflow:hidden;margin-bottom:24px}.wk-property-photo img{width:100%;height:100%;object-fit:cover}.wk-room-list{display:grid;gap:16px}.wk-room-card{background:#fff;border:1px solid #dfe8ee;border-radius:16px;padding:22px}.wk-room-card h2{margin-top:0}.wk-room-card>div>p{color:#6b8092}.wk-room-rates{display:grid;gap:10px;margin-top:15px}.wk-room-rate{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #edf2f5;padding-top:13px}.wk-room-rate strong,.wk-room-rate span{display:block}.wk-room-rate span{color:#718497;font-size:.82rem;margin-top:2px}
@media(max-width:1180px){.wk-hotel-search{grid-template-columns:repeat(4,1fr)}.wk-hotel-search-button{border-radius:0 0 14px 0;min-height:58px}.wk-top-hotel-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.wk-hotel-search{grid-template-columns:repeat(2,1fr)}.wk-hotel-search-button{grid-column:1/-1;border-radius:0 0 14px 14px}.wk-top-hotel-grid{grid-template-columns:1fr}.wk-hotel-result-card{grid-template-columns:180px 1fr}.wk-hotel-result-price{grid-column:1/-1;border-left:0;border-top:1px solid #e6edf2;align-items:flex-start;text-align:left}.wk-results-searchbar{position:static}.wk-results-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.wk-hotel-search{grid-template-columns:1fr}.wk-hotel-search-button{grid-column:auto}.wk-hotel-search>label,.wk-hotel-destination{border-right:0;border-bottom:1px solid #e7edf2}.wk-top-hotel-card{grid-template-columns:120px 1fr}.wk-hotel-result-card{grid-template-columns:1fr}.wk-hotel-result-image{height:210px}.wk-hotel-result-main{padding:0 18px 18px}.wk-hotel-result-price{padding:18px}.wk-property-head{align-items:flex-start;flex-direction:column}}

/* Client MVP preview banner */
.mvp-preview-banner{background:#fff7e8;border-bottom:1px solid #f3d7a0;color:#563b0b;font-size:.92rem;position:relative;z-index:50}.mvp-preview-banner .container{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.62rem 1rem;text-align:center}.mvp-preview-banner i{color:#e67e22;font-size:1.05rem}@media(max-width:640px){.mvp-preview-banner{font-size:.82rem}.mvp-preview-banner .container{align-items:flex-start;text-align:left}}


/* ============================================================
   HOMEPAGE VIEWPORT / FULL-DISPLAY FIX
   Keeps AviationInternet home page aligned with the /flights
   page container and prevents the search UI from overflowing.
   ============================================================ */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body:has(.ai-home-hero) {
    background: #f7f9fc;
}

/* Use the same maximum page width as the rest of the site. */
body:has(.ai-home-hero) main {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
    min-width: 0;
}

/* Hero remains visually complete but cannot escape the viewport. */
.ai-home-hero {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
}

.ai-home-hero-media,
.ai-home-hero-overlay {
    width: 100%;
    max-width: 100%;
}

.ai-home-hero-inner,
.ai-home-copy,
.ai-home-search-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/*
 * ai-home-hero-inner already carries .container in the Blade file.
 * Because main itself is now the 1180px page frame, allow the inner
 * homepage containers to use the full available width.
 */
body:has(.ai-home-hero) main .container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Product tabs stay inside the page and scroll only when necessary. */
.ai-product-tabs {
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

/* Search panel must never be wider than its parent. */
.ai-home-search-shell .booking-panel,
.ai-home-search-shell .smart-search-panel,
.ai-home-search-shell .smart-flight-form,
.ai-home-search-shell .smart-search-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/*
 * Desktop search controls:
 * allow flexible fields to shrink instead of forcing the row
 * beyond the right edge of the homepage.
 */
.ai-home-search-shell .smart-search-row {
    display: flex;
}

.ai-home-search-shell .smart-airport-field {
    flex: 1 1 190px;
    min-width: 0;
    max-width: none;
}

.ai-home-search-shell .date-field,
.ai-home-search-shell [data-return-wrap] {
    flex: 1 1 135px;
    min-width: 0;
}

.ai-home-search-shell .smart-field,
.ai-home-search-shell .smart-input-line,
.ai-home-search-shell .smart-input-line input {
    min-width: 0;
}

.ai-home-search-shell .smart-search-submit {
    flex: 0 0 auto;
    min-width: 112px;
    padding-inline: 16px;
}

/* Every homepage section stays inside the same page frame. */
.ai-home-section,
.ai-deal-signup {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Prevent grid children from creating horizontal overflow. */
.ai-offer-grid > *,
.ai-prime-card > *,
.ai-app-grid > *,
.ai-why-grid > *,
.wk-top-hotel-grid > * {
    min-width: 0;
}

/* Tablet: wrap the flight search cleanly rather than clipping it. */
@media (max-width: 1050px) {
    .ai-home-search-shell .smart-search-row {
        flex-wrap: wrap;
    }

    .ai-home-search-shell .smart-airport-field {
        flex: 1 1 calc(50% - 18px);
    }

    .ai-home-search-shell .date-field,
    .ai-home-search-shell [data-return-wrap] {
        flex: 1 1 180px;
    }

    .ai-home-search-shell .smart-search-submit {
        flex: 1 1 180px;
    }
}

/* Mobile keeps the same safe side spacing used elsewhere. */
@media (max-width: 760px) {
    body:has(.ai-home-hero) main {
        width: min(100% - 24px, 1180px);
    }

    .ai-home-search-shell .smart-search-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .ai-home-search-shell .smart-airport-field,
    .ai-home-search-shell .date-field,
    .ai-home-search-shell [data-return-wrap],
    .ai-home-search-shell .smart-search-submit {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .ai-home-search-shell .smart-search-submit {
        min-height: 54px;
    }
}

@media (max-width: 480px) {
    body:has(.ai-home-hero) main {
        width: min(100% - 18px, 1180px);
    }
}
