/* Minification failed. Returning unminified contents.
(1,7): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,29): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,56): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,78): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,99): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,121): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,143): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,166): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,187): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,210): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,232): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,254): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1,274): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2,129): run-time error CSS1039: Token not allowed after unary operator: '-flight-ink'
(13,80): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(14,38): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(18,38): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(20,47): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(26,54): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(26,89): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(27,50): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(28,53): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(28,85): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(29,49): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(37,75): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(39,98): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy-deep'
(40,61): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(56,135): run-time error CSS1039: Token not allowed after unary operator: '-flight-ink'
(57,50): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(65,185): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(69,57): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(70,44): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(74,31): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(75,36): run-time error CSS1039: Token not allowed after unary operator: '-flight-soft'
(75,72): run-time error CSS1039: Token not allowed after unary operator: '-flight-line'
(77,200): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(79,53): run-time error CSS1039: Token not allowed after unary operator: '-flight-coral'
(81,42): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(94,37): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(102,45): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(103,43): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(105,42): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(111,141): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(114,48): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(118,37): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(118,69): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(137,117): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(139,64): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(142,215): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(143,153): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(234,136): run-time error CSS1039: Token not allowed after unary operator: '-flight-gold'
(246,59): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(250,34): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(251,44): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(256,28): run-time error CSS1030: Expected identifier, found ':'
(256,36): run-time error CSS1031: Expected selector, found ')'
(256,36): run-time error CSS1025: Expected comma or open brace, found ')'
(257,91): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(258,66): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(259,65): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(264,75): run-time error CSS1039: Token not allowed after unary operator: '-flight-line'
(264,133): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(265,46): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(274,35): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(282,36): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(283,70): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(284,69): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(286,59): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(292,32): run-time error CSS1030: Expected identifier, found ':'
(292,40): run-time error CSS1031: Expected selector, found ')'
(292,40): run-time error CSS1025: Expected comma or open brace, found ')'
(293,95): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(301,85): run-time error CSS1039: Token not allowed after unary operator: '-flight-success'
(302,82): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(309,155): run-time error CSS1039: Token not allowed after unary operator: '-flight-soft'
(309,191): run-time error CSS1039: Token not allowed after unary operator: '-flight-line'
(310,34): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(324,94): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(326,54): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(327,52): run-time error CSS1039: Token not allowed after unary operator: '-flight-muted'
(328,175): run-time error CSS1039: Token not allowed after unary operator: '-flight-navy'
(329,31): run-time error CSS1039: Token not allowed after unary operator: '-flight-blue'
(331,34): run-time error CSS1039: Token not allowed after unary operator: '-flight-cyan'
 */
:root{--flight-navy:#102a47;--flight-navy-deep:#091c31;--flight-blue:#1878ba;--flight-sky:#56b8dc;--flight-cyan:#8de1ed;--flight-gold:#f3b84b;--flight-coral:#ef7c62;--flight-ink:#17263b;--flight-muted:#69788d;--flight-line:#dde7ef;--flight-soft:#f3f8fb;--flight-white:#fff;--flight-success:#23866d}
.flight-booking-page{margin:0;min-height:100vh;background:linear-gradient(155deg,#e8f5fa 0,#f5f9fb 42%,#fff8ec 100%);color:var(--flight-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.booking-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.booking-sky:before,.booking-sky:after{content:"";position:absolute;border:1px solid rgba(35,127,164,.09);border-radius:50%}
.booking-sky:before{width:720px;height:720px;right:-290px;top:-450px;box-shadow:0 0 0 80px rgba(61,165,196,.025),0 0 0 160px rgba(61,165,196,.018)}
.booking-sky:after{width:520px;height:520px;left:-340px;bottom:-330px}
.booking-sun{position:absolute;right:12%;top:7%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#fff8d8 0,#ffd77d 38%,rgba(255,210,107,.12) 70%);filter:blur(.2px)}
.booking-cloud{position:absolute;width:170px;height:22px;border-radius:50%;background:rgba(255,255,255,.54);filter:blur(7px)}
.cloud-one{top:19%;left:5%}
.cloud-two{top:38%;right:4%;width:240px;opacity:.55}
.booking-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:26px 0 30px}
.booking-brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.booking-brand-link{display:inline-flex;gap:12px;align-items:center;color:var(--flight-navy);text-decoration:none}
.booking-brand-link:hover{color:var(--flight-navy);text-decoration:none}
.booking-brand-logo{flex:none;height:40px;width:auto}
.booking-brand-link strong,.booking-brand-link small{display:block}
.booking-brand-link strong{font-size:16px;letter-spacing:.01em}
.booking-brand-link small{color:var(--flight-muted);font-size:11px;margin-top:1px}
.booking-secure{color:#527085;font-size:12px}
.booking-secure i{margin-right:5px;color:var(--flight-success)}
.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);max-width:650px;margin:0 auto 20px;position:relative}
.booking-progress:before{content:"";position:absolute;height:2px;background:#ccdce6;left:12.5%;right:12.5%;top:15px}
.booking-progress-step{position:relative;text-align:center;color:#8a99aa}
.booking-progress-step span{display:flex;align-items:center;justify-content:center;width:31px;height:31px;margin:0 auto 6px;border-radius:50%;background:#edf4f7;border:2px solid #d2e0e8;font-size:11px;font-weight:800;position:relative;z-index:1}
.booking-progress-step small{font-size:11px;font-weight:600}
.booking-progress-step.complete span{background:var(--flight-success);border-color:var(--flight-success);color:#fff}
.booking-progress-step.complete small{color:var(--flight-success)}
.booking-progress-step.current span{background:var(--flight-navy);border-color:var(--flight-navy);color:#fff;box-shadow:0 0 0 5px rgba(24,120,186,.12)}
.booking-progress-step.current small{color:var(--flight-navy);font-weight:800}
.booking-surface{background:rgba(255,255,255,.96);border:1px solid rgba(200,220,232,.85);border-radius:24px;box-shadow:0 24px 70px rgba(26,62,88,.13);overflow:hidden}
.booking-content{padding:42px}
.booking-content-narrow{max-width:650px;margin:0 auto}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);min-height:570px}
.booking-grid-main{padding:54px 50px}
.booking-grid-aside{position:relative;padding:45px 38px;background:linear-gradient(150deg,#102d4c 0,#15597a 63%,#2497a6 100%);color:#fff;overflow:hidden}
.booking-grid-aside:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:1px solid rgba(255,255,255,.14);right:-155px;top:-180px;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.02)}
.booking-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--flight-blue);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;margin-bottom:12px}
.booking-kicker-light{color:#8de1ed}
.booking-title{font-size:38px;line-height:1.08;letter-spacing:-.035em;margin:0 0 15px;color:var(--flight-navy-deep);font-weight:750}
.booking-subtitle{font-size:16px;line-height:1.6;color:var(--flight-muted);margin:0 0 28px;max-width:610px}
.booking-aside-title{font-size:25px;line-height:1.2;margin:0 0 12px;color:#fff}
.booking-aside-copy{color:rgba(255,255,255,.7);line-height:1.6;font-size:14px}
.booking-flight-path{position:relative;height:125px;margin:26px -10px 10px;border-bottom:1px solid rgba(255,255,255,.18)}
.booking-flight-path:after{content:"";position:absolute;left:7%;right:12%;bottom:23px;height:60px;border-top:2px dashed rgba(141,225,237,.52);border-radius:50%}
.booking-flight-path i{position:absolute;right:10%;bottom:71px;font-size:24px;color:#fff;transform:rotate(-15deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}
.booking-feature-list{position:relative;z-index:1;display:grid;gap:16px;margin-top:26px}
.booking-feature{display:grid;grid-template-columns:34px 1fr;gap:11px}
.booking-feature>span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.12);color:#8de1ed}
.booking-feature strong,.booking-feature small{display:block}
.booking-feature strong{font-size:13px}
.booking-feature small{font-size:11px;color:rgba(255,255,255,.62);margin-top:2px}
.booking-form{display:grid;gap:18px}
.booking-field label{display:block;font-size:12px;font-weight:750;color:#31445c;margin-bottom:7px}
.booking-input-wrap{position:relative}
.booking-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8ba0b2}
.booking-input{width:100%;height:50px;border:1px solid #cad9e4;border-radius:11px;padding:0 15px 0 43px;background:#fbfdfe;color:var(--flight-ink);transition:border-color .15s,box-shadow .15s,background .15s}
.booking-input:focus{outline:0;border-color:var(--flight-blue);background:#fff;box-shadow:0 0 0 4px rgba(24,120,186,.1)}
.booking-hint{font-size:11px;color:#8796a7;margin:6px 0 0}
.booking-validation{color:#c84f43;font-size:12px;margin-top:5px}
.validation-summary-errors{background:#fff3f0;border:1px solid #f2c7bf;border-radius:10px;padding:11px 14px;color:#a94035;font-size:12px}
.validation-summary-errors ul{margin:0;padding-left:18px}
.booking-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:11px;margin-bottom:18px;font-size:13px}
.booking-alert-error{background:#fff3f0;border:1px solid #f2c7bf;color:#a94035}
.booking-alert-info{background:#eff8fc;border:1px solid #cce7f2;color:#235b75}
.booking-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;border:0;border-radius:11px;padding:0 22px;background:linear-gradient(135deg,var(--flight-blue),#249bb3);color:#fff;font-size:14px;font-weight:750;box-shadow:0 9px 22px rgba(24,120,186,.22);cursor:pointer;transition:transform .15s,box-shadow .15s}
.booking-button:hover{color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 26px rgba(24,120,186,.27)}
.booking-button:focus{outline:0;box-shadow:0 0 0 4px rgba(24,120,186,.17)}
.booking-button:disabled{cursor:not-allowed;background:#c1ced7;box-shadow:none;transform:none}
.booking-button-secondary{background:#edf4f8;color:var(--flight-navy);box-shadow:none;border:1px solid #d5e1e9}
.booking-button-secondary:hover{color:var(--flight-navy);background:#e4eef4;box-shadow:none}
.booking-button-danger{background:#fff3f0;color:#a94035;border:1px solid #f0c2ba;box-shadow:none}
.booking-actions{display:flex;align-items:center;gap:11px;margin-top:5px}
.booking-privacy{display:flex;gap:10px;align-items:flex-start;padding:14px;background:#f4fafb;border-radius:11px;color:#557080;font-size:12px;line-height:1.5}
.booking-privacy i{color:var(--flight-success);margin-top:2px}
.booking-copy-card{background:var(--flight-soft);border:1px solid var(--flight-line);border-radius:14px;padding:18px;margin-bottom:22px;color:#566b7f;font-size:13px;line-height:1.6}
.booking-existing{max-width:680px;margin:0 auto;text-align:center;padding:54px 42px}
.booking-status-icon{display:flex;align-items:center;justify-content:center;width:78px;height:78px;margin:0 auto 20px;border-radius:24px;background:linear-gradient(145deg,#e4f7f7,#d8eef8);color:var(--flight-blue);font-size:30px;transform:rotate(-3deg)}
.booking-date-highlight{display:inline-flex;align-items:center;gap:16px;margin:9px auto 27px;padding:15px 21px;background:#f3f8fb;border:1px solid #dce9f0;border-radius:14px;text-align:left}
.booking-date-highlight i{font-size:22px;color:var(--flight-coral)}
.booking-date-highlight strong,.booking-date-highlight small{display:block}
.booking-date-highlight small{color:var(--flight-muted);font-size:12px;margin-top:2px}
.booking-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:26px;padding:18px;color:#6e8191;font-size:11px}
.booking-footer i{color:#4794ad;margin-right:5px}
.slot-picker{padding:34px}
.slot-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:23px}
.slot-heading .booking-title{font-size:31px;margin-bottom:7px}
.slot-heading .booking-subtitle{margin:0}
.slot-live-status{display:flex;gap:7px;align-items:center;white-space:nowrap;color:#608091;font-size:11px}
.slot-live-status i{width:8px;height:8px;border-radius:50%;background:#41b995;box-shadow:0 0 0 4px rgba(65,185,149,.12)}
.slot-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}
.slot-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;background:#f4f8fa;border:1px solid #e2ebf0;border-radius:13px;margin-bottom:17px}
.slot-filter-group{display:flex;background:#fff;border:1px solid #dce6ec;border-radius:9px;padding:3px}
.slot-filter{border:0;background:transparent;color:#66788a;padding:7px 11px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer}
.slot-filter.active{background:var(--flight-navy);color:#fff}
.slot-month-select{height:37px;border:1px solid #dce6ec;border-radius:9px;background:#fff;color:#506579;padding:0 28px 0 11px;font-size:11px;font-weight:700}
.next-slots{margin-bottom:20px}
.slot-section-label{display:flex;justify-content:space-between;align-items:center;color:#718296;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;margin:0 2px 9px}
.next-slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.next-slot{border:1px solid #dbe7ee;background:linear-gradient(145deg,#fff,#f4f9fb);border-radius:12px;padding:13px;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.next-slot:hover{transform:translateY(-2px);border-color:#8bc8dd;box-shadow:0 8px 18px rgba(37,112,146,.1)}
.next-slot strong,.next-slot span{display:block}
.next-slot strong{font-size:13px;color:var(--flight-navy)}
.next-slot span{font-size:11px;color:var(--flight-muted);margin-top:3px}
.month-group{margin-bottom:22px}
.month-heading{font-size:16px;color:var(--flight-navy);font-weight:800;margin:0 0 9px;display:flex;align-items:center;gap:8px}
.month-heading:after{content:"";height:1px;background:#e3ebf0;flex:1}
.date-list{display:grid;gap:8px}
.date-card{display:grid;grid-template-columns:150px 1fr;align-items:center;border:1px solid #e0e9ef;border-radius:12px;padding:10px 12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.date-card:hover{border-color:#bdd9e5;box-shadow:0 5px 14px rgba(37,89,115,.06)}
.date-identity{display:grid;grid-template-columns:43px 1fr;gap:10px;align-items:center}
.date-number{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:#edf6fa;border-radius:11px;color:var(--flight-blue);font-size:19px;font-weight:850}
.date-identity strong,.date-identity small{display:block}
.date-identity strong{font-size:12px}
.date-identity small{font-size:10px;color:var(--flight-muted)}
.time-list{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.time-slot{min-width:67px;border:1px solid #bad7e3;background:#f4fafc;color:#245e78;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.time-slot:hover{background:#e0f3f7;transform:translateY(-1px)}
.time-slot.selected{background:var(--flight-navy);border-color:var(--flight-navy);color:#fff;box-shadow:0 6px 14px rgba(16,42,71,.2)}
.slot-sidebar{position:sticky;top:20px}
.selection-card{border-radius:17px;background:linear-gradient(155deg,#102a47,#164d70);color:#fff;padding:22px;box-shadow:0 16px 35px rgba(16,42,71,.2);overflow:hidden;position:relative}
.selection-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid rgba(255,255,255,.1);right:-90px;top:-105px}
.selection-kicker{text-transform:uppercase;letter-spacing:.12em;color:#8de1ed;font-size:10px;font-weight:800}
.selection-empty{padding:27px 0 20px;text-align:center;color:rgba(255,255,255,.65)}
.selection-empty i{display:block;font-size:25px;margin-bottom:9px;color:#8de1ed}
.selection-empty strong,.selection-empty small{display:block}
.selection-empty strong{font-size:14px;color:#fff}
.selection-empty small{font-size:11px;margin-top:4px}
.selection-detail{display:none;padding:18px 0 16px}
.selection-detail.active{display:block}
.selection-detail strong{display:block;font-size:22px;line-height:1.15}
.selection-detail span{display:block;color:#9ee1e8;margin-top:6px;font-size:14px;font-weight:700}
.selection-card .booking-button{width:100%;position:relative;z-index:1;background:linear-gradient(135deg,#f3b84b,#ee8b55);color:#18293c;box-shadow:0 8px 20px rgba(241,162,67,.2)}
.selection-card .booking-button:disabled{background:#6f8495;color:rgba(255,255,255,.72);box-shadow:none}
.selection-note{display:block;text-align:center;color:rgba(255,255,255,.55);font-size:10px;margin-top:10px}
.slot-skeleton{display:grid;gap:8px}
.slot-skeleton i{display:block;height:64px;border-radius:12px;background:linear-gradient(90deg,#eff4f7 25%,#f8fbfc 50%,#eff4f7 75%);background-size:200% 100%;animation:slotShimmer 1.2s infinite}
.slot-empty,.slot-error{text-align:center;padding:48px 20px;border:1px dashed #cddde6;border-radius:13px;color:var(--flight-muted)}
.slot-empty i,.slot-error i{display:block;font-size:26px;color:#7fb5c9;margin-bottom:10px}
.slot-empty strong,.slot-error strong{display:block;color:var(--flight-navy);margin-bottom:5px}
.show-more-dates{width:100%;border:1px solid #d7e4eb;background:#f7fafc;color:#4e7082;border-radius:10px;padding:11px;font-size:12px;font-weight:750;cursor:pointer}
.confirmation-card{max-width:700px;margin:0 auto;text-align:center;padding:58px 44px}
.confirmation-mark{position:relative;display:flex;align-items:center;justify-content:center;width:94px;height:94px;margin:0 auto 23px;border-radius:50%;background:linear-gradient(145deg,#dff7ef,#cdf0e4);color:var(--flight-success);font-size:38px;box-shadow:0 0 0 10px rgba(35,134,109,.06)}
.confirmation-date{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;margin:7px 0 24px;border-radius:12px;background:#f1f8fa;color:var(--flight-navy);font-weight:800}
.confirmation-card .booking-actions{justify-content:center}
.booking-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
@keyframes slotShimmer{0%{background-position:200% 0}
100%{background-position:-200% 0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}
.booking-grid-aside{min-height:360px}
.slot-layout{grid-template-columns:1fr}
.slot-sidebar{position:static}
.selection-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
.selection-card .booking-button{width:auto;min-width:190px}
.selection-empty,.selection-detail{padding:8px 0;text-align:left}
.selection-empty i{display:none}
.selection-note{display:none}
}
@media(max-width:680px){.booking-shell{width:min(100% - 18px,1180px);padding-top:13px}
.booking-brand{margin:0 7px 14px}
.booking-secure{display:none}
.booking-progress{margin-bottom:13px}
.booking-progress-step small{font-size:9px}
.booking-surface{border-radius:18px}
.booking-grid-main,.booking-content,.booking-existing,.confirmation-card{padding:31px 23px}
.booking-grid-aside{padding:32px 23px;min-height:330px}
.booking-title{font-size:31px}
.booking-subtitle{font-size:14px}
.booking-contact-grid{grid-template-columns:1fr}
.slot-picker{padding:25px 17px}
.slot-heading{display:block}
.slot-live-status{margin-top:10px}
.slot-controls{align-items:stretch}
.slot-filter-group{flex:1}
.slot-filter{flex:1;padding:7px 6px}
.slot-month-select{width:100%}
.next-slot-grid{grid-template-columns:1fr}
.date-card{grid-template-columns:1fr;gap:10px}
.time-list{justify-content:flex-start;padding-left:53px}
.selection-card{grid-template-columns:1fr;padding:18px}
.selection-card .booking-button{width:100%}
.slot-sidebar.has-selection{position:fixed;left:10px;right:10px;bottom:10px;z-index:10;margin:0}
.slot-sidebar.has-selection .selection-card{grid-template-columns:minmax(0,1fr) 145px;padding:13px 14px;gap:10px;box-shadow:0 15px 35px rgba(8,29,48,.32)}
.slot-sidebar.has-selection .selection-kicker{display:none}
.slot-sidebar.has-selection .selection-detail{padding:0}
.slot-sidebar.has-selection .selection-detail strong{font-size:16px}
.slot-sidebar.has-selection .selection-detail span{font-size:12px;margin-top:3px}
.slot-sidebar.has-selection .booking-button{min-width:0;min-height:44px;padding:0 11px;font-size:12px}
.booking-actions{align-items:stretch;flex-direction:column}
.booking-actions .booking-button{width:100%}
.booking-footer{gap:9px 18px;padding:15px 5px}
.booking-footer span:last-child{display:none}
}
@media(max-width:390px){.booking-brand-link strong{font-size:14px}
.booking-title{font-size:28px}
.booking-grid-main{padding:28px 20px}
.time-list{padding-left:0}
.booking-progress:before{left:10%;right:10%}
}

/* Short viewports: laptops are commonly 625-725px of usable height, and at the
   full spacing the primary button on these pages sits below the fold. Tighten
   the vertical rhythm rather than letting the page scroll to reach the action.
   Keyed off height, so nothing changes on a large monitor. */
@media(max-height:900px){.booking-shell{padding:14px 0 16px}
.booking-brand{margin-bottom:14px}
.booking-grid{min-height:0}
.booking-grid-main{padding:32px 44px}
.booking-grid-aside{padding:30px 34px}
.booking-title{font-size:30px;margin-bottom:11px}
.booking-subtitle{font-size:15px;margin-bottom:18px}
.booking-input{height:44px}
.booking-button{min-height:46px}
.booking-form{gap:14px}
.booking-footer{padding:12px}
.booking-aside-title{font-size:22px}
.booking-flight-path{height:90px;margin-top:18px}
.booking-brand-logo{height:34px}
}

@media(max-height:700px){.booking-shell{padding:10px 0 12px}
.booking-brand{margin-bottom:10px}
.booking-brand-logo{height:30px}
.booking-title{font-size:26px;margin-bottom:9px}
.booking-subtitle{font-size:14px;margin-bottom:14px}
.booking-footer{padding:9px;gap:18px}
}

/* Account sign-in / access pages - extends IntroductoryFlightBooking.css with sign-in components. */
.account-main{display:flex;flex-direction:column;justify-content:center}
.account-callout{display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:start;background:linear-gradient(140deg,#fff7e8,#fdf1e4);border:1px solid #f2ddba;border-radius:14px;padding:17px 18px;margin:0 0 26px}
.account-callout-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--flight-gold);color:#4a3208;font-size:16px}
.account-callout strong{display:block;font-size:15px;font-weight:800;color:#6b4a10;line-height:1.35}
.account-callout p{margin:5px 0 0;font-size:13px;line-height:1.6;color:#7d6338}
.account-callout-link{display:inline-flex;align-items:center;gap:7px;margin-top:11px;font-size:13px;font-weight:800;color:#a4680d}
.account-callout-link:hover,.account-callout-link:focus{color:#84520a;text-decoration:underline}
.account-alert{align-items:flex-start}
.account-alert i{margin-top:2px}
.account-alert ul{margin:0;padding-left:17px}
.account-alert p{margin:6px 0 0;color:#8c5d55;font-size:12px;line-height:1.5}
.account-form{display:grid;gap:19px}
.account-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px}
.account-label-row label{margin:0}
.account-forgot{font-size:12px;font-weight:700;color:var(--flight-blue)}
.account-forgot:hover,.account-forgot:focus{color:#12608f;text-decoration:underline}
.account-input{padding-right:52px}
.account-reveal{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:9px;background:transparent;color:#7d92a5;cursor:pointer;transition:color .15s,background .15s}
.account-reveal:hover{color:var(--flight-blue);background:#eef5f9}
.account-reveal:focus{outline:0;color:var(--flight-blue);box-shadow:0 0 0 3px rgba(24,120,186,.18)}
.account-caps{display:flex;gap:7px;align-items:center;margin:7px 0 0;padding:7px 10px;border-radius:9px;background:#fff7e8;border:1px solid #f0dcb8;color:#7d6338;font-size:11px;font-weight:700}
.account-caps i{color:#c98a12}
.account-caps[hidden]{display:none}
.account-remember{display:flex;gap:11px;align-items:flex-start;margin:0;padding:14px 15px;border:1px solid #dde7ef;border-radius:12px;background:#fbfdfe;cursor:pointer;font-weight:400;transition:border-color .15s,background .15s}
.account-remember:has(input:checked){border-color:var(--flight-blue);background:#f2f9fd}
.account-remember input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--flight-blue)}
.account-remember strong{display:block;font-size:13px;color:var(--flight-navy)}
.account-remember small{display:block;font-size:11px;color:var(--flight-muted);margin-top:2px}
.account-submit{width:100%}
.account-submit .fa-spinner{display:none}
.account-submit.is-busy .fa-sign-in{display:none}
.account-submit.is-busy .fa-spinner{display:inline-block;animation:accountSpin .8s linear infinite}
.account-switch{margin:3px 0 0;padding-top:19px;border-top:1px solid var(--flight-line);text-align:center;font-size:13px;color:var(--flight-muted)}
.account-switch a{font-weight:800;color:var(--flight-blue)}
.account-switch a:hover,.account-switch a:focus{color:#12608f;text-decoration:underline}
.account-form .field-validation-error{display:block;color:#c84f43;font-size:12px;margin-top:6px}
.account-form .booking-input.input-validation-error{border-color:#c84f43;background:#fffafa}
/* Register */
.account-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.account-req{display:flex;flex-wrap:wrap;gap:6px 14px;margin:7px 0 0;font-size:11px;color:#8796a7}
.account-req span{display:inline-flex;align-items:center;gap:5px}
.account-req i{font-size:10px;color:#b3c2ce}
.account-req .is-met i{color:var(--flight-success)}
.account-req .is-met{color:#3f7a68;font-weight:700}
.account-match{display:none;align-items:center;gap:6px;margin:7px 0 0;font-size:11px;font-weight:750}
.account-match.is-shown{display:flex}
.account-match.is-ok{color:#23866d}
.account-match.is-bad{color:#c84f43}
.account-consent{border:1px solid #dde7ef;border-radius:13px;background:#fbfdfe;padding:16px 17px}
.account-consent-head{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.account-consent-head i{color:var(--flight-blue);margin-top:2px}
.account-consent-head strong{display:block;font-size:13px;color:var(--flight-navy)}
.account-consent-head small{display:block;font-size:12px;color:var(--flight-muted);line-height:1.55;margin-top:3px}
.account-consent-detail{font-size:12px;margin:0 0 12px}
.account-consent-detail summary{cursor:pointer;color:var(--flight-blue);font-weight:750;list-style:none}
.account-consent-detail summary::-webkit-details-marker{display:none}
.account-consent-detail summary i{display:inline-block;width:11px;margin-right:6px;transition:transform .15s}
.account-consent-detail[open] summary i{transform:rotate(90deg)}
.account-consent-detail p{margin:9px 0 0;padding:11px 13px;background:#f3f8fb;border-radius:10px;color:#566b7f;line-height:1.6}
.account-consent-tick{display:flex;gap:11px;align-items:flex-start;margin:0;padding:13px 14px;border:1px solid #d5e1e9;border-radius:11px;background:#fff;cursor:pointer;font-weight:400;transition:border-color .15s,background .15s}
.account-consent-tick:has(input:checked){border-color:var(--flight-success);background:#f2fbf8}
.account-consent-tick input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--flight-success)}
.account-consent-tick span{font-size:12px;line-height:1.5;color:#41566b}
.account-submit-note{display:flex;gap:8px;align-items:center;justify-content:center;margin:-6px 0 0;font-size:11px;color:#8796a7}
.account-submit-note i{color:#b3c2ce}
.account-submit-note[hidden]{display:none}
/* Status screens (confirmations, errors) */
.account-status{max-width:640px;margin:0 auto;text-align:center;padding:54px 42px}
.account-mark{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 auto 23px;border-radius:50%;font-size:34px}
.account-mark-success{background:linear-gradient(145deg,#dff7ef,#cdf0e4);color:var(--flight-success);box-shadow:0 0 0 10px rgba(35,134,109,.06)}
.account-mark-info{background:linear-gradient(145deg,#e4f2fa,#d6ecf7);color:var(--flight-blue);box-shadow:0 0 0 10px rgba(24,120,186,.06)}
.account-mark-error{background:linear-gradient(145deg,#fdeae6,#f8dcd5);color:#c25443;box-shadow:0 0 0 10px rgba(194,84,67,.06)}
.account-status .booking-title{font-size:32px}
.account-status .booking-subtitle{margin:0 auto 24px;max-width:470px}
.account-status .booking-actions{justify-content:center;flex-wrap:wrap}
.account-status .account-switch{margin-top:26px}
.account-status-detail{margin:0 auto 22px;max-width:470px;padding:13px 16px;border-radius:12px;background:#fff3f0;border:1px solid #f2c7bf;color:#a94035;font-size:13px;line-height:1.55;text-align:left;word-break:break-word}
.account-status-tip{display:inline-flex;gap:9px;align-items:flex-start;max-width:470px;margin:0 auto;padding:13px 16px;border-radius:12px;background:var(--flight-soft);border:1px solid var(--flight-line);color:#566b7f;font-size:12px;line-height:1.55;text-align:left}
.account-status-tip i{color:var(--flight-blue);margin-top:2px}
/* Compact single-column forms (forgot / reset / verify) */
.account-solo{max-width:470px;margin:0 auto;padding:52px 42px}
.account-solo .booking-title{font-size:31px}
.account-code{text-align:center;font-size:22px;font-weight:850;letter-spacing:.32em;padding:0 15px}
.account-steps{position:relative;z-index:1;display:grid;gap:2px;margin:26px 0 0;padding:0;list-style:none;counter-reset:account-step}
.account-step{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-areas:"marker title" "marker copy";gap:0 13px;padding:0 0 22px}
.account-step:last-child{padding-bottom:0}
.account-step:before{grid-area:marker;align-self:start;counter-increment:account-step;content:counter(account-step);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:12px;font-weight:850}
.account-step:after{content:"";position:absolute;left:16px;top:36px;bottom:6px;width:1px;background:rgba(255,255,255,.2)}
.account-step:last-child:after{display:none}
.account-step strong{grid-area:title;display:block;font-size:14px;color:#fff;line-height:1.3}
.account-step span{grid-area:copy;display:block;font-size:12px;line-height:1.55;color:rgba(255,255,255,.66);margin-top:4px}
.account-steps-light{max-width:430px;margin:26px auto 0;text-align:left}
.account-steps-light .account-step:before{background:#eaf4f9;border-color:#cfe3ee;color:var(--flight-blue)}
.account-steps-light .account-step:after{background:#dae7ee}
.account-steps-light .account-step strong{color:var(--flight-navy)}
.account-steps-light .account-step span{color:var(--flight-muted)}
.account-sent-to{display:inline-flex;align-items:center;gap:10px;margin:4px 0 6px;padding:13px 18px;border:1px solid #dce9f0;border-radius:13px;background:#f3f8fb;color:var(--flight-navy);font-weight:800;word-break:break-all}
.account-sent-to i{color:var(--flight-blue);flex:none}
.account-aside-note{position:relative;z-index:1;display:flex;gap:10px;align-items:flex-start;margin-top:28px;padding:14px 15px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);font-size:12px;line-height:1.55;color:rgba(255,255,255,.74)}
.account-aside-note i{color:var(--flight-cyan);margin-top:2px}
.account-aside-note a{color:#fff;font-weight:750;text-decoration:underline}
@keyframes accountSpin{to{transform:rotate(360deg)}
}
@media(max-width:900px){.booking-grid-aside.account-aside{min-height:0;padding:34px 32px}
}
@media(max-width:680px){.account-name-grid{grid-template-columns:1fr;gap:16px}
.account-status,.account-solo{padding:36px 23px}
.account-status .booking-title,.account-solo .booking-title{font-size:26px}
.account-mark{width:74px;height:74px;font-size:29px;margin-bottom:19px}
.account-status .booking-actions .booking-button{width:100%}
.account-code{font-size:19px;letter-spacing:.22em}
.account-sent-to{padding:12px 14px;font-size:13px}
.account-consent{padding:14px}
.account-callout{margin-bottom:21px;padding:15px}
.account-form{gap:16px}
.booking-grid-aside.account-aside{padding:28px 23px}
.account-steps{margin-top:21px}
.account-step{padding-bottom:18px}
}

/* See the note in IntroductoryFlightBooking.css - same reasoning, applied to
   the pieces that only exist on the account screens. */
@media(max-height:900px){.account-callout{padding:13px 15px;margin-bottom:16px}
.account-callout p{margin-top:4px;line-height:1.5}
.account-callout-link{margin-top:8px}
.account-form{gap:13px}
.account-remember{padding:10px 13px}
.account-switch{padding-top:13px;margin-top:0}
.account-steps{margin-top:18px}
.account-step{padding-bottom:16px}
.account-aside-note{margin-top:18px;padding:11px 13px}
.account-status,.account-solo{padding:34px 40px}
}

/* Tighter still. The callout's second sentence is elaboration - the headline
   and the link keep the message, and the steps alongside repeat the detail. */
@media(max-height:700px){.account-callout p{display:none}
.account-callout{padding:10px 13px;margin-bottom:12px;gap:11px}
.account-callout strong{font-size:14px;line-height:1.3}
.account-callout-icon{width:32px;height:32px;border-radius:9px;font-size:14px}
.account-callout{grid-template-columns:32px 1fr}
.account-callout-link{margin-top:6px}
.account-form{gap:10px}
.account-remember small{line-height:1.35}
.booking-grid-main.account-main{padding:18px 40px}
.account-steps{margin-top:14px}
.account-step{padding-bottom:13px}
.account-aside-note{margin-top:14px}
}

