:root{
  --ink:#132238;
  --ink-soft:#31445d;
  --muted:#66758a;
  --line:#dce4ec;
  --line-strong:#c9d4df;
  --paper:#fff;
  --wash:#f4f6f8;
  --wash-blue:#eef4f8;
  --navy:#071a2f;
  --navy-2:#0b3158;
  --brand:#0d548f;
  --brand-bright:#176eae;
  --gold:#d9ab55;
  --gold-soft:#f7e7c4;
  --good:#14745a;
  --good-soft:#e9f7f2;
  --danger:#b42318;
  --danger-soft:#fff0ee;
  --radius-sm:12px;
  --radius:18px;
  --radius-lg:26px;
  --shadow-sm:0 8px 24px rgba(7,26,47,.07);
  --shadow:0 20px 56px rgba(7,26,47,.13);
  --shadow-lg:0 30px 90px rgba(7,26,47,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--wash);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.6}
a{color:inherit}
img{max-width:100%}
::selection{background:var(--gold-soft);color:var(--navy)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header */
.site-header{position:sticky;top:0;z-index:80;display:flex;justify-content:space-between;align-items:center;min-height:76px;padding:12px clamp(18px,4.6vw,76px);background:rgba(7,26,47,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px)}
.wordmark{display:flex;align-items:center;gap:11px;flex:0 0 auto;max-width:280px;min-width:0;overflow:hidden;text-decoration:none;line-height:1}.wordmark>img,.site-logo-mark{display:block!important;flex:0 0 48px!important;width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important;object-position:center!important}.wordmark-copy{display:grid;min-width:0;line-height:1}.wordmark-copy strong{overflow:hidden;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;font-weight:700;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}.wordmark-copy small{margin-top:6px;overflow:hidden;color:#d9aa49;font-size:.53rem;font-weight:850;letter-spacing:.17em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav a{text-decoration:none;color:rgba(255,255,255,.78);font-size:.9rem;font-weight:750;transition:.2s ease}.site-header nav a:hover{color:#fff}.site-header .nav-account{padding:10px 16px;border:1px solid rgba(255,255,255,.23);border-radius:999px;color:#fff}.site-header .nav-account:hover{background:#fff;color:var(--navy)}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:82px clamp(20px,8vw,132px) 168px;background:linear-gradient(118deg,#06172b 0%,#0a3158 56%,#124d7d 100%);color:#fff}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.1),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.hero-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(3px);opacity:.55}.hero-glow-one{width:420px;height:420px;right:-120px;top:-180px;background:rgba(217,171,85,.22)}.hero-glow-two{width:330px;height:330px;left:43%;bottom:-250px;background:rgba(64,154,215,.24)}
.hero-inner{width:min(1200px,100%);margin:0 auto}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.7rem;font-weight:900}.eyebrow{margin:0 0 18px;color:#f2d59c}.hero h1{max-width:900px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6.3vw,6.5rem);font-weight:600;line-height:.91;letter-spacing:-.055em}.hero h1 span{color:#f2d59c}.hero-copy{max-width:690px;margin:25px 0 0;color:rgba(255,255,255,.77);font-size:clamp(1rem,1.8vw,1.16rem)}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:27px}.hero-proof span{position:relative;padding-left:17px;color:rgba(255,255,255,.78);font-size:.82rem;font-weight:750}.hero-proof span:before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(217,171,85,.12)}

/* Search */
.search-shell{position:relative;z-index:10;width:min(1240px,calc(100% - 28px));margin:-102px auto 30px;padding:20px;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.search-shell-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.search-shell-head>p{margin:0;color:var(--muted);font-size:.84rem}.tabs{display:flex;gap:8px}.tab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:11px 18px;border-radius:999px;color:var(--muted);font-weight:850;transition:.2s ease}.tab span{font-size:.95rem}.tab:hover{background:#eff4f8;color:var(--navy)}.tab.active{background:var(--navy);color:#fff;box-shadow:0 8px 22px rgba(7,26,47,.2)}
.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel:not(.active){display:none!important}
.search-form{display:grid;grid-template-columns:2.1fr 1fr 1fr 1.28fr auto;gap:10px;align-items:end}.flight-search-grid{grid-template-columns:minmax(0,1.18fr) 44px minmax(0,1.18fr) minmax(154px,.96fr) minmax(154px,.96fr) minmax(170px,1.18fr) auto}.field{position:relative;min-width:0}.field label,.checkout-form label{display:block;margin:0 0 7px;color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.025em}.field input,.field select,.picker-trigger,.filter-panel input,.filter-panel select,.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;padding:13px 13px;background:#fff;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.field input:hover,.field select:hover,.picker-trigger:hover{border-color:var(--line-strong);background:#fcfdfe}.field input:focus,.field select:focus,.picker-trigger:focus,.filter-panel input:focus,.filter-panel select:focus,.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.1)}.field-with-icon input,.field-with-icon .picker-trigger{padding-left:40px}.field-icon{position:absolute;left:14px;bottom:15px;z-index:2;color:var(--brand);font-size:.84rem;pointer-events:none}.picker-trigger{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary,.secondary{border:0;border-radius:13px;padding:13px 18px;font-weight:900;min-height:48px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary{background:linear-gradient(135deg,var(--brand-bright),var(--brand));color:#fff;box-shadow:0 10px 22px rgba(13,84,143,.2)}.primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(13,84,143,.26)}.secondary{background:#edf3f7;color:var(--navy)}.secondary:hover{background:#e2ebf2}.search-button{display:flex;align-items:center;justify-content:center;gap:13px;min-width:146px;background:linear-gradient(135deg,#e5bb68,#c99332);color:#17202d;box-shadow:0 10px 22px rgba(201,147,50,.23)}.search-button:hover{background:linear-gradient(135deg,#edc97e,#d39e3d);box-shadow:0 14px 30px rgba(201,147,50,.3)}.search-button b{font-size:1.15rem}.flight-options{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:1px 0 14px}.trip-type{display:flex;gap:18px}.trip-type label,.direct-toggle{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:780}.trip-type input,.direct-toggle input{accent-color:var(--brand)}.swap-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brand);font-size:1.15rem;margin-bottom:4px;box-shadow:var(--shadow-sm);transition:.2s ease}.swap-button:hover{transform:rotate(180deg);background:var(--wash-blue)}
.suggestions{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:150;max-height:340px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.suggestions:empty{display:none}.suggestions button{display:block;width:100%;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;padding:12px 14px}.suggestions button:hover,.suggestions button[aria-selected="true"]{background:#eef5fa;box-shadow:inset 3px 0 0 var(--brand)}.suggestions strong,.suggestions span{display:block}.suggestions strong{line-height:1.25}.suggestions span,.suggestion-loading{color:var(--muted);font-size:.8rem}.suggestion-loading{padding:14px}.autocomplete-field input[aria-expanded="true"]{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.1)}
.picker-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:145;width:340px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.counter-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f4}.counter-row span strong,.counter-row span small{display:block}.counter-row span small{color:var(--muted);font-size:.74rem}.counter{display:flex;align-items:center;gap:11px}.counter button{width:34px;height:34px;border-radius:50%;border:1px solid var(--brand);background:#fff;color:var(--brand);font-size:1.05rem}.counter output{min-width:20px;text-align:center;font-weight:900}.picker-done{width:100%;margin-top:14px}.cabin-label{display:block;margin:14px 0 6px;color:var(--muted);font-size:.76rem;font-weight:850}.picker-popover select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}

/* Trust strip */
.trust-strip{width:min(1180px,calc(100% - 32px));margin:12px auto 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.trust-strip>div{display:flex;align-items:flex-start;gap:13px;padding:19px;background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}.trust-strip p{margin:0}.trust-strip strong,.trust-strip p>span{display:block}.trust-strip p>span{margin-top:4px;color:var(--muted);font-size:.84rem}.trust-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold-soft),#fff8e9);color:#9a6814;font-weight:900}

/* Results */
.results-section,.inspiration-section,.narrow{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0 84px}.results-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.section-kicker{margin:0 0 7px;color:var(--brand)}.results-heading h2,.section-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,3.1rem);font-weight:600;line-height:1.06;letter-spacing:-.035em}.results-heading>span{padding:8px 12px;border-radius:999px;background:#eaf1f6;color:var(--brand);font-size:.78rem;font-weight:850}.results-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:18px;align-items:start}.filter-panel{position:sticky;top:92px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.filter-panel[hidden]+.results-list{grid-column:1/-1}.filter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.filter-heading button{border:0;background:transparent;color:var(--brand);font-size:.78rem;font-weight:850}.filter-label{display:block;margin:15px 0 6px;color:var(--muted);font-size:.75rem;font-weight:850}.filter-panel input,.filter-panel select{min-height:44px;border-radius:11px;padding:10px 11px}.filter-panel fieldset{margin:18px 0 0;border:0;padding:0}.filter-panel legend{margin-bottom:8px;color:var(--muted);font-size:.75rem;font-weight:850}.filter-panel fieldset label{display:flex;gap:8px;align-items:center;padding:6px 0;font-size:.88rem}.filter-panel fieldset input{width:auto;min-height:auto;accent-color:var(--brand)}.range-label{display:grid;gap:8px}.range-label input{min-height:auto;padding:0}.range-label output{color:var(--muted);font-size:.83rem}.results-list{display:grid;gap:18px;min-width:0}.empty-state,.loading-state{display:grid;place-items:center;gap:8px;min-height:240px;padding:54px 26px;background:#fff;border:1px solid var(--line);border-radius:22px;text-align:center;color:var(--muted);box-shadow:var(--shadow-sm)}.empty-state strong,.loading-state strong{color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:1.4rem}.empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--gold-soft);color:#9a6814;font-size:1.35rem}.error-state{color:var(--danger)!important}.spinner{display:inline-block;width:23px;height:23px;border:3px solid rgba(13,84,143,.18);border-top-color:var(--brand);border-radius:50%;animation:spin .78s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Hotel cards */
.hotel-card{display:grid;grid-template-columns:320px minmax(0,1fr);overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.hotel-card:hover{transform:translateY(-2px);border-color:#c9d6e1;box-shadow:var(--shadow)}
.hotel-media{position:relative;min-height:292px;overflow:hidden;background:#dfe7ed}.hotel-cover{width:100%;height:100%;min-height:292px;object-fit:cover;display:block;transition:transform .45s ease}.hotel-card:hover .hotel-cover{transform:scale(1.025)}.property-placeholder{height:100%;min-height:292px;display:grid;place-items:center;background:linear-gradient(135deg,#b9cddd,#edf3f7);color:var(--brand);font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hotel-media:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(to bottom,transparent,rgba(7,26,47,.66));pointer-events:none}.hotel-photo-count{position:absolute;z-index:3;top:14px;right:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(7,26,47,.68);backdrop-filter:blur(9px);color:#fff;font-size:.72rem;font-weight:850}.hotel-thumb-rail{position:absolute;z-index:4;left:13px;right:13px;bottom:13px;display:flex;gap:8px}.hotel-thumb{width:48px;height:40px;padding:0;overflow:hidden;border:2px solid rgba(255,255,255,.58);border-radius:9px;background:#fff;opacity:.82}.hotel-thumb.active{border-color:#fff;opacity:1;box-shadow:0 0 0 2px rgba(7,26,47,.25)}.hotel-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-open{margin-left:auto;min-width:80px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:rgba(7,26,47,.78);color:#fff;font-size:.74rem;font-weight:850;backdrop-filter:blur(8px)}
.hotel-main{display:flex;flex-direction:column;min-width:0;padding:21px}.hotel-title-row{display:flex;justify-content:space-between;gap:18px}.hotel-title-row h3{margin:4px 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:1.48rem;line-height:1.16;letter-spacing:-.02em}.stars{min-height:18px;color:#c58e24;letter-spacing:.075em;font-size:.8rem}.location-line{margin:0;color:var(--muted);font-size:.86rem}.review-badge{display:flex;align-items:center;gap:8px;flex:0 0 auto}.review-badge strong{display:grid;place-items:center;min-width:42px;height:42px;padding:7px;border-radius:11px 11px 11px 2px;background:var(--navy);color:#fff}.review-badge span{max-width:78px;color:var(--muted);font-size:.72rem;line-height:1.25}.hotel-benefits{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.hotel-benefits span{padding:6px 9px;border-radius:999px;background:var(--good-soft);color:var(--good);font-size:.7rem;font-weight:850}.hotel-action-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:8px}.hotel-action-row small{color:var(--muted)}.hotel-rates{min-width:154px}.hotel-rate-container{grid-column:1/-1;margin-top:17px}.inline-loading,.inline-message{display:flex;align-items:center;gap:9px;padding:14px;background:#f7f9fb;border:1px solid #edf1f4;border-radius:12px;color:var(--muted)}
.room-offers{padding-top:15px;border-top:1px solid var(--line)}.room-offers-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}.room-offers-head strong{font-size:1rem}.room-offers-head span{color:var(--muted);font-size:.76rem}.room-offer{display:grid;grid-template-columns:106px minmax(0,1fr) 210px;gap:15px;align-items:center;padding:15px 0;border-top:1px solid #edf1f4}.room-photo{position:relative;width:106px;height:82px;padding:0;overflow:hidden;border:0;border-radius:12px;background:#e5edf3}.room-photo img{width:100%;height:100%;object-fit:cover;display:block}.room-photo:after{content:"View";position:absolute;right:7px;bottom:7px;padding:3px 6px;border-radius:7px;background:rgba(7,26,47,.72);color:#fff;font-size:.62rem;font-weight:850}.room-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#dce7ef,#f6f9fb);color:var(--brand);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.room-copy strong,.room-copy span{display:block}.room-copy strong{font-size:.96rem}.room-copy span{margin-top:5px;color:var(--muted);font-size:.8rem}.room-copy .room-policy{margin-top:8px;color:var(--good);font-size:.74rem;font-weight:800}.room-price{text-align:right}.room-price strong,.room-price small{display:block}.room-price strong{font-size:1.13rem}.room-price small{margin:3px 0 9px;color:var(--muted);font-size:.72rem}.room-price button{min-width:128px}

/* Flight cards */
.flight-card{display:grid;grid-template-columns:minmax(0,1fr) 218px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.flight-card:hover{transform:translateY(-2px);border-color:#c9d6e1;box-shadow:var(--shadow)}.flight-card-main{min-width:0;padding:20px 22px}.flight-card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:15px;border-bottom:1px solid #edf1f4}.flight-airline{display:flex;align-items:center;gap:12px;min-width:0}.flight-airline strong,.flight-airline span{display:block}.flight-airline strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.96rem}.flight-airline span{color:var(--muted);font-size:.76rem}.airline-monogram{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#e6f0f7,#f8fbfd);border:1px solid #d7e4ed;color:var(--brand);font-size:.74rem;font-weight:950;letter-spacing:.05em}.fare-family{padding:6px 9px;border-radius:999px;background:#f3f0e9;color:#7f5b1a;font-size:.68rem;font-weight:850;text-transform:capitalize}.flight-journeys{display:grid;gap:0}.journey-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #edf1f4}.journey-row:last-child{border-bottom:0}.journey-direction{color:var(--brand);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.journey-route{display:grid;grid-template-columns:1fr minmax(126px,1.15fr) 1fr;gap:12px;align-items:center}.flight-time strong,.flight-time span{display:block}.flight-time strong{font-size:1.16rem}.flight-time span{margin-top:2px;color:var(--muted);font-size:.75rem}.flight-time:last-child{text-align:right}.route-line{text-align:center;color:var(--muted);font-size:.7rem}.route-line>span,.route-line>strong{display:block}.route-line i{position:relative;display:block;height:1px;margin:7px 0;background:var(--line-strong)}.route-line i:before,.route-line i:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid var(--brand)}.route-line i:before{left:0}.route-line i:after{right:0;background:var(--brand)}.route-line strong{font-size:.7rem}.route-line .nonstop{color:var(--good)}.fare-details{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:13px;color:var(--muted);font-size:.76rem}.fare-details span{position:relative;padding-left:17px}.fare-details span:before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:950}.flight-price-panel{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:22px;background:linear-gradient(180deg,#f8fafc,#eef4f8);border-left:1px solid var(--line);text-align:right}.flight-price-panel small,.flight-price-panel strong,.flight-price-panel span{display:block}.flight-price-panel small,.flight-price-panel span{color:var(--muted);font-size:.72rem}.flight-price-panel strong{margin:4px 0 2px;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1}.flight-price-panel .seat-note{margin-top:12px;color:#9a6814;font-weight:800}.flight-price-panel button{width:100%;margin-top:14px}

/* Features */
.inspiration-section{padding-top:16px}.section-heading{max-width:760px;margin-bottom:24px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-grid article{position:relative;overflow:hidden;min-height:230px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}.feature-grid article:after{content:"";position:absolute;right:-45px;bottom:-50px;width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--gold-soft),transparent);opacity:.75}.feature-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem;font-weight:900}.feature-grid h3{margin:42px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}.feature-grid p{margin:0;color:var(--muted);font-size:.9rem}

/* Booking modal */
.modal[hidden],.gallery-modal[hidden]{display:none}.modal,.gallery-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.modal-backdrop,.gallery-backdrop{position:absolute;inset:0;background:rgba(4,15,29,.78);backdrop-filter:blur(7px)}.modal-panel{position:relative;width:min(800px,100%);max-height:92vh;overflow:auto;padding:26px;background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:24px;box-shadow:0 34px 100px rgba(0,0,0,.34)}.modal-close,.gallery-close{position:absolute;z-index:5;top:15px;right:15px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#edf2f5;color:var(--ink);font-size:1.4rem}.checkout-progress{display:flex;gap:10px;padding-right:50px;margin-bottom:22px}.checkout-progress span{flex:1;padding:9px 10px;border-bottom:3px solid var(--line);color:var(--muted);font-size:.76rem;font-weight:850}.checkout-progress span.active{border-color:var(--brand);color:var(--brand)}.checkout-progress span.complete{border-color:var(--good);color:var(--good)}.checkout-heading h2{margin:4px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:600;letter-spacing:-.035em}.checkout-heading p:not(.section-kicker){margin:0;color:var(--muted)}.checkout-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:19px 0}.checkout-summary>div{padding:15px;background:#f5f8fa;border:1px solid #edf1f4;border-radius:13px}.checkout-summary strong,.checkout-summary span{display:block}.checkout-summary span{margin-top:4px;color:var(--muted);font-size:.78rem}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding:18px 0;margin:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.checkout-total strong{font-family:Georgia,"Times New Roman",serif;font-size:1.52rem}.notice-box{padding:14px;border-radius:12px;background:#edf5fa;color:#244767;font-size:.84rem;margin:13px 0}.full-width{width:100%}.selected-flight{margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:15px}.selected-route{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:10px;margin-top:18px}.selected-route>div strong,.selected-route>div span{display:block}.selected-route>div span{color:var(--muted);font-size:.8rem}.selected-route>div:last-child{text-align:right}.selected-route i{height:1px;background:var(--line)}.checkout-form{display:grid;gap:14px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.traveler-card{border:1px solid var(--line);border-radius:14px;padding:16px}.traveler-card legend{font-weight:900;padding:0 7px}.agreement{display:flex!important;gap:9px;align-items:flex-start;color:var(--ink)!important;font-weight:700!important}.agreement input{width:auto!important;min-height:auto!important;margin-top:3px}.payment-element{min-height:90px;padding:14px;border:1px solid var(--line);border-radius:13px;margin:14px 0}.message,.modal-error{color:var(--danger);font-size:.86rem;margin:10px 0}.fine-print{color:var(--muted);font-size:.74rem;text-align:center}.success-panel{text-align:center;padding:22px 6px}.success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--good-soft);color:var(--good);font-size:1.9rem;font-weight:900}.success-panel h2{margin:5px 0;font-family:Georgia,"Times New Roman",serif}.success-panel p{color:var(--muted)}

/* Gallery */
.gallery-panel{position:relative;width:min(1060px,100%);max-height:94vh;overflow:auto;padding:18px;background:#071a2f;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 34px 100px rgba(0,0,0,.5);color:#fff}.gallery-close{background:rgba(255,255,255,.13);color:#fff}.gallery-stage{position:relative;display:grid;place-items:center;min-height:min(68vh,690px);overflow:hidden;border-radius:17px;background:#020b13}.gallery-stage img{display:block;width:100%;height:min(68vh,690px);object-fit:contain}.gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(7,26,47,.72);color:#fff;font-size:2rem;backdrop-filter:blur(6px)}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-caption{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:17px 4px 11px}.gallery-caption h2{margin:2px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem}.gallery-caption .section-kicker{color:#f2d59c}.gallery-caption>span{color:rgba(255,255,255,.68);font-size:.82rem}.gallery-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:0 3px 3px}.gallery-thumbnail{flex:0 0 86px;width:86px;height:64px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#0e2a46;opacity:.66}.gallery-thumbnail.active{border-color:var(--gold);opacity:1}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}

/* Account/legal/footer */
.narrow{max-width:900px;padding-top:70px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow-sm)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-stack{display:grid;gap:14px}.form-stack label{display:grid;gap:7px;color:var(--muted);font-size:.8rem;font-weight:750}.form-stack input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px}.legal{font-size:1rem}.site-footer{padding:44px clamp(20px,5vw,76px) 22px;background:var(--navy);color:#e6edf5}.footer-inner{display:grid;grid-template-columns:1.5fr 1fr auto;gap:30px;align-items:start}.footer-brand strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem}.footer-brand span,.footer-contact span{display:block;margin-top:7px;color:#94a4b7;font-size:.8rem}.footer-contact a{display:block;margin-top:6px;color:#fff;text-decoration:none;font-weight:750}.footer-links{display:flex;gap:17px}.footer-links a{text-decoration:none;color:#c6d1dc;font-size:.82rem}.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#8494a8}

/* Responsive */
@media(max-width:1120px){
  .search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.search-button{grid-column:span 2}.flight-search-grid{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}.flight-search-grid .search-button{grid-column:1/-1}.hotel-card{grid-template-columns:280px minmax(0,1fr)}.hotel-cover,.property-placeholder{min-height:310px}.room-offer{grid-template-columns:92px minmax(0,1fr) 180px}.room-photo{width:92px;height:74px}
}
@media(max-width:900px){
  .hero{padding-bottom:154px}.search-shell{margin-top:-92px}.search-shell-head>p{display:none}.trust-strip{grid-template-columns:1fr}.results-layout{grid-template-columns:1fr}.filter-panel{position:static}.hotel-card{grid-template-columns:1fr}.hotel-media{height:310px;min-height:310px}.hotel-cover,.property-placeholder{height:310px;min-height:310px}.hotel-rate-container{grid-column:auto}.flight-card{grid-template-columns:1fr}.flight-price-panel{align-items:flex-start;border-left:0;border-top:1px solid var(--line);text-align:left}.flight-price-panel button{max-width:220px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:190px}.footer-inner{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}
}
@media(max-width:700px){
  .site-header{min-height:68px;padding:10px 16px}.wordmark{max-width:220px;gap:8px}.wordmark>img,.site-logo-mark{flex-basis:42px!important;width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important}.wordmark-copy strong{font-size:1rem}.wordmark-copy small{font-size:.45rem;letter-spacing:.13em}.site-header nav{gap:11px}.site-header nav a:first-child{display:none}.site-header .nav-account{padding:8px 12px}.hero{padding:54px 18px 128px}.hero h1{font-size:clamp(2.8rem,14vw,4.6rem)}.hero-copy{font-size:.96rem}.hero-proof{display:none}.search-shell{width:calc(100% - 18px);margin-top:-82px;padding:14px;border-radius:20px}.search-shell-head{margin-bottom:13px}.tab{padding:10px 14px}.search-form,.flight-search-grid{grid-template-columns:1fr}.search-button,.flight-search-grid .search-button{grid-column:auto;width:100%}.swap-button{justify-self:center;transform:rotate(90deg);margin:0}.swap-button:hover{transform:rotate(270deg)}.flight-options{align-items:flex-start;flex-direction:column}.trip-type{gap:13px}.picker-popover{left:0;right:auto;width:min(340px,calc(100vw - 48px))}.results-section,.inspiration-section{width:calc(100% - 22px);padding:34px 0 64px}.results-heading{align-items:flex-start;flex-direction:column;gap:8px}.results-heading h2,.section-heading h2{font-size:2.15rem}.results-heading>span{align-self:flex-start}.hotel-media{height:250px;min-height:250px}.hotel-cover,.property-placeholder{height:250px;min-height:250px}.hotel-main{padding:17px}.hotel-title-row{flex-direction:column;gap:10px}.review-badge{align-self:flex-start}.hotel-action-row{align-items:flex-start;flex-direction:column}.hotel-rates{width:100%}.room-offers-head{align-items:flex-start;flex-direction:column}.room-offer{grid-template-columns:86px minmax(0,1fr);gap:12px}.room-photo{width:86px;height:72px}.room-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:12px;text-align:left}.room-price button{min-width:120px}.flight-card-main{padding:17px}.flight-card-head{align-items:flex-start}.journey-row{grid-template-columns:1fr;gap:7px}.journey-route{grid-template-columns:1fr 82px 1fr}.flight-time strong{font-size:1.02rem}.fare-details{display:grid}.flight-price-panel{padding:18px}.flight-price-panel button{max-width:none}.modal,.gallery-modal{padding:8px}.modal-panel,.gallery-panel{border-radius:17px}.modal-panel{padding:18px 14px}.checkout-progress span{padding:7px 3px;font-size:.66rem}.checkout-summary,.form-grid{grid-template-columns:1fr}.selected-route{grid-template-columns:1fr 70px 1fr}.gallery-panel{padding:10px}.gallery-stage{min-height:58vh}.gallery-stage img{height:58vh}.gallery-caption{align-items:flex-start;flex-direction:column}.gallery-arrow{width:40px;height:40px}.footer-inner{grid-template-columns:1fr}.footer-links{grid-column:auto;flex-wrap:wrap}
}
@media(max-width:430px){
  .site-header nav a:not(.nav-account){display:none}.wordmark{max-width:58vw}.hero h1{font-size:2.75rem}.search-shell{margin-top:-76px}.hotel-thumb{width:43px;height:36px}.gallery-open{min-width:70px}.room-offer{grid-template-columns:72px minmax(0,1fr)}.room-photo{width:72px;height:64px}.room-price{align-items:stretch;flex-direction:column}.room-price button{width:100%}.journey-route{grid-template-columns:1fr 62px 1fr}.route-line{font-size:.62rem}.flight-time span{font-size:.68rem}.checkout-progress{gap:5px}.checkout-progress span{font-size:.6rem}.gallery-stage{min-height:52vh}.gallery-stage img{height:52vh}
}

/* Layout specificity and long-text safeguards */
.tab-panel.search-form.active{display:grid}
.footer-inner>*{min-width:0}
.footer-contact a,.footer-brand span,.footer-bottom small{overflow-wrap:anywhere}

/* Premium desktop hotel-room expansion fix */
.results-section,.inspiration-section{width:min(1400px,calc(100% - 48px))}
.hotel-card{display:block;overflow:hidden}
.hotel-overview{display:grid;grid-template-columns:340px minmax(0,1fr);align-items:stretch;min-width:0}
.hotel-media{height:330px;min-height:330px;align-self:start}
.hotel-cover,.property-placeholder{height:330px;min-height:330px}
.hotel-main{min-height:330px;padding:26px 28px}
.hotel-rate-container{margin:0;padding:0 28px 28px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);border-top:1px solid var(--line)}
.hotel-rate-container[hidden]{display:none!important}
.hotel-rate-container:empty{display:none}
.room-offers{padding-top:24px;border-top:0}
.room-offers-head{margin-bottom:15px;padding:0 2px}
.room-offers-head>div{min-width:0}
.room-offers-head .section-kicker{display:block;margin:0 0 3px;color:var(--brand);font-size:.64rem;line-height:1.2}
.room-offers-head strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.2}
.room-offers-head>span{max-width:360px;text-align:right;font-size:.78rem}
.room-offers-list{display:grid;gap:11px}
.room-offer{grid-template-columns:132px minmax(0,1fr) minmax(205px,235px);gap:18px;min-height:118px;padding:12px 14px;border:1px solid #e2e9ef;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(7,26,47,.045)}
.room-offer:first-child{border-top:1px solid #e2e9ef}
.room-photo{width:132px;height:92px;border-radius:13px}
.room-copy strong{font-size:1rem}
.room-price{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.room-price>div{min-width:0}
.room-price button{flex:0 0 auto;min-width:132px}

@media(min-width:1200px){
  .results-layout{grid-template-columns:260px minmax(0,1fr);gap:24px}
  .hotel-overview{grid-template-columns:minmax(340px,34%) minmax(0,1fr)}
}
@media(max-width:1120px){
  .results-section,.inspiration-section{width:min(1180px,calc(100% - 32px))}
  .hotel-overview{grid-template-columns:280px minmax(0,1fr)}
  .hotel-media,.hotel-cover,.property-placeholder{height:310px;min-height:310px}
  .hotel-main{min-height:310px;padding:23px}
  .hotel-rate-container{padding:0 23px 23px}
  .room-offer{grid-template-columns:108px minmax(0,1fr) 205px}
  .room-photo{width:108px;height:82px}
  .room-price{display:block}
}
@media(max-width:900px){
  .hotel-overview{grid-template-columns:1fr}
  .hotel-media,.hotel-cover,.property-placeholder{height:310px;min-height:310px}
  .hotel-main{min-height:0}
  .hotel-rate-container{padding:0 20px 22px}
}
@media(max-width:700px){
  .results-section,.inspiration-section{width:calc(100% - 22px)}
  .hotel-media,.hotel-cover,.property-placeholder{height:250px;min-height:250px}
  .hotel-main{padding:18px}
  .hotel-rate-container{padding:0 14px 16px}
  .room-offers{padding-top:18px}
  .room-offers-head{align-items:flex-start;flex-direction:column;gap:7px}
  .room-offers-head>span{max-width:none;text-align:left}
  .room-offer{grid-template-columns:92px minmax(0,1fr);gap:12px;min-height:0;padding:11px}
  .room-photo{width:92px;height:76px}
  .room-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:12px;padding-top:10px;border-top:1px solid #edf1f4;text-align:left}
  .room-price button{min-width:120px}
}
@media(max-width:430px){
  .room-offer{grid-template-columns:78px minmax(0,1fr)}
  .room-photo{width:78px;height:68px}
  .room-price{align-items:stretch;flex-direction:column}
  .room-price button{width:100%}
}

/* Premium hotel list refinement: richer filters and price/review card layout */
.filter-panel{max-height:calc(100vh - 110px);overflow:auto;padding-right:14px}
.filter-panel fieldset{margin-top:18px;padding-top:2px}
.filter-section{margin-top:18px}
.filter-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.filter-section-head strong,.filter-panel legend{color:var(--ink);font-size:.9rem;font-weight:850}
.filter-section-head output{color:var(--muted);font-size:.78rem;font-weight:750}
.filter-dynamic-list{display:grid;gap:8px}
.filter-dynamic-list label,.filter-panel fieldset label{display:flex;align-items:flex-start;gap:9px;line-height:1.3}
.filter-dynamic-list input,.filter-panel fieldset input[type="checkbox"]{margin-top:2px}
.filter-empty{display:block;color:var(--muted);font-size:.8rem}

.hotel-main{padding:24px 26px}
.hotel-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start;height:100%}
.hotel-copy-block h3{margin:4px 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.14;letter-spacing:-.028em;color:var(--navy)}
.hotel-detail-line,.hotel-detail-subline{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}
.hotel-detail-subline{margin-top:4px}
.hotel-side-block{display:grid;gap:14px;justify-items:end;align-self:stretch}
.review-badge{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}
.review-copy{display:grid;gap:2px;text-align:right}
.review-copy b{color:var(--navy);font-size:1rem;line-height:1.1}
.review-copy span{color:var(--muted);font-size:.82rem;line-height:1.2}
.review-badge strong{display:grid;place-items:center;min-width:46px;height:46px;padding:8px;border-radius:14px;background:#21a75f;color:#fff;font-size:1.1rem;box-shadow:0 10px 20px rgba(33,167,95,.18)}
.hotel-benefits{margin:18px 0 0}
.hotel-benefits span{padding:7px 10px;border-radius:999px;background:#eff6f2;color:#11804d;font-size:.72rem;font-weight:850}
.hotel-price-box{display:grid;gap:9px;width:100%;padding:16px;border:1px solid #e1e8ef;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:0 12px 26px rgba(7,26,47,.05)}
.hotel-rate-pill{display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:6px 10px;border-radius:999px;background:#edf5ff;color:var(--brand);font-size:.7rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.hotel-rate-pill.neutral{background:#eef2f5;color:#4d6278}
.hotel-price-main{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}
.hotel-price-main strong{font-size:1.72rem;line-height:1;color:var(--navy)}
.hotel-price-main span{color:var(--muted);font-size:.86rem;font-weight:700}
.hotel-price-box>strong{font-size:1.36rem;line-height:1.1;color:var(--navy)}
.hotel-price-box small{color:var(--muted);font-size:.77rem;line-height:1.35}
.hotel-price-box .hotel-rates{width:100%;min-width:0;margin-top:4px}
.price-skeleton{height:18px;border-radius:999px;background:linear-gradient(90deg,#edf3f7 0%,#dfe8ef 48%,#edf3f7 100%);background-size:200% 100%;animation:priceShimmer 1.2s linear infinite}
@keyframes priceShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

@media(max-width:1120px){
  .hotel-main-grid{grid-template-columns:minmax(0,1fr) 230px;gap:18px}
}
@media(max-width:900px){
  .filter-panel{max-height:none;overflow:visible;padding-right:18px}
  .hotel-main-grid{grid-template-columns:1fr}
  .hotel-side-block{justify-items:start}
  .review-badge{justify-content:flex-start}
  .review-copy{text-align:left}
}
@media(max-width:640px){
  .hotel-main{padding:18px}
  .hotel-copy-block h3{font-size:1.36rem}
  .hotel-price-main strong{font-size:1.5rem}
  .hotel-price-box{padding:14px}
}

/* Premium flight card upgrade */
.premium-flight-card{grid-template-columns:minmax(0,1fr) 250px;border-radius:24px;border-color:#d7e2ea;box-shadow:0 16px 36px rgba(7,26,47,.06)}
.premium-flight-card .flight-card-main{padding:22px 24px}
.premium-flight-card .flight-card-head{padding-bottom:18px}
.flight-head-tags{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.flight-top-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#eff6f2;color:#11804d;font-size:.68rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.airline-logo-shell{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:6px;border-radius:50%;background:linear-gradient(135deg,#f9fbfd,#eef4f8);border:1px solid #d7e4ed;overflow:hidden}
.airline-logo{width:100%;height:100%;object-fit:contain}
.premium-flight-card .journey-row{padding:18px 0}
.premium-flight-card .journey-direction{display:inline-flex;align-items:center;align-self:start;width:max-content;padding:6px 10px;border-radius:999px;background:#eef5fb;color:var(--brand);font-size:.66rem;letter-spacing:.1em}
.premium-flight-card .journey-route{grid-template-columns:1fr minmax(160px,1.2fr) 1fr;gap:16px}
.premium-flight-card .flight-time strong{font-size:1.2rem;color:var(--navy)}
.premium-flight-card .flight-time span{font-size:.78rem}
.premium-flight-card .route-line{font-size:.72rem}
.premium-flight-card .route-line i{margin:8px 0;background:linear-gradient(90deg,#dbe4ec 0%,#abc4db 48%,#dbe4ec 100%)}
.premium-flight-card .fare-details{gap:10px 14px;padding-top:16px}
.premium-flight-card .fare-details span{padding:8px 12px 8px 27px;border-radius:999px;background:#f7fafc;color:#536679}
.premium-flight-card .fare-details span:before{left:11px;top:8px}
.premium-flight-card .flight-price-panel{padding:18px;background:linear-gradient(180deg,#f8fbfe 0%,#eef4f8 100%)}
.flight-price-panel-inner{display:grid;gap:8px;padding:18px;border-radius:20px;background:#fff;border:1px solid #d7e2ea;box-shadow:0 14px 30px rgba(7,26,47,.06)}
.premium-flight-card .flight-price-panel small{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5f7387}
.premium-flight-card .flight-price-panel strong{font-size:1.82rem;color:var(--navy)}
.premium-flight-card .flight-price-panel span{font-size:.76rem;line-height:1.4}
.premium-flight-card .seat-note{padding:8px 10px;border-radius:12px;background:#fff5e8}
.premium-flight-card .flight-price-panel button{margin-top:8px}

@media(max-width:900px){
  .premium-flight-card{grid-template-columns:1fr}
  .premium-flight-card .flight-card-head{align-items:flex-start;gap:12px;flex-direction:column}
  .flight-head-tags{justify-content:flex-start}
  .premium-flight-card .flight-price-panel{border-left:0;border-top:1px solid var(--line);padding:16px}
  .premium-flight-card .flight-price-panel button{max-width:none}
}
@media(max-width:640px){
  .premium-flight-card .flight-card-main{padding:18px}
  .premium-flight-card .journey-route{grid-template-columns:1fr 88px 1fr;gap:10px}
  .premium-flight-card .fare-details span{width:100%}
  .premium-flight-card .flight-price-panel strong{font-size:1.58rem}
}

/* Authentication, customer account, and admin dashboard */
.site-header .nav-admin{color:#d7b56a;font-weight:850}
.site-header .nav-signin{font-weight:800}
.site-header .nav-create{background:linear-gradient(135deg,#e5bb68,#c99332);color:#17202d;border:0}
.auth-page main{min-height:calc(100vh - 84px);background:linear-gradient(135deg,#06182c 0%,#0b3156 54%,#f5f1e9 54%,#f8fafc 100%)}
.auth-shell{width:min(1240px,calc(100% - 36px));min-height:720px;margin:0 auto;padding:68px 0 82px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.72fr);gap:72px;align-items:center}
.auth-story{color:#fff;padding:44px 20px 44px 0}
.auth-story .eyebrow{color:#e5bb68}
.auth-story h1{margin:10px 0 20px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,6vw,5.9rem);line-height:.98;font-weight:600;letter-spacing:-.055em}
.auth-story h1 span{color:#e7c37d}
.auth-story>p:not(.eyebrow){max-width:650px;color:#bdcada;font-size:1.05rem;line-height:1.75}
.auth-benefits{display:grid;gap:14px;margin-top:34px}
.auth-benefits>div{display:flex;gap:15px;align-items:flex-start;padding:15px 17px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}
.auth-benefits>div>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(229,187,104,.16);color:#e7c37d;font-weight:900;font-size:.72rem}
.auth-benefits p,.auth-benefits strong,.auth-benefits small{display:block;margin:0}
.auth-benefits strong{color:#fff;font-size:.95rem}
.auth-benefits small{margin-top:4px;color:#9fb0c2;font-size:.78rem;line-height:1.45}
.auth-panel-wrap{display:flex;justify-content:flex-end}
.auth-panel{width:min(500px,100%);display:grid;gap:16px;padding:34px;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:0 34px 90px rgba(4,18,34,.22)}
.auth-panel-head{margin-bottom:5px}
.auth-panel-head h2{margin:5px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;line-height:1.05;font-weight:600;letter-spacing:-.04em;color:var(--navy)}
.auth-panel-head>p:not(.section-kicker){margin:0;color:var(--muted);line-height:1.55}
.auth-field{display:grid;gap:8px;color:#32465a;font-size:.8rem;font-weight:850}
.auth-field input{width:100%;min-height:52px;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}
.auth-field input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.1)}
.password-control{position:relative;display:block}
.password-control input{padding-right:70px}
.password-toggle{position:absolute;right:8px;top:8px;bottom:8px;padding:0 11px;border:0;border-radius:10px;background:#edf3f7;color:var(--brand);font-size:.76rem;font-weight:900}
.auth-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:.78rem}
.auth-meta label{display:flex;align-items:center;gap:8px}
.auth-meta input,.auth-agreement input{accent-color:var(--brand)}
.auth-meta a,.auth-switch a,.auth-agreement a{color:var(--brand);font-weight:850;text-decoration:none}
.auth-submit{width:100%;min-height:54px;margin-top:2px}
.auth-message{min-height:20px;margin:0;text-align:center}
.auth-switch{display:flex;justify-content:center;gap:7px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}
.auth-agreement{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.78rem;line-height:1.45}
.auth-agreement input{margin-top:3px}
.access-denied{width:min(720px,calc(100% - 32px));margin:0 auto;padding:120px 0;text-align:center}
.access-denied>span{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:#fff0ee;color:var(--danger);font-size:2rem;font-weight:900}
.access-denied h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,4rem);margin:8px 0}
.access-denied>p:not(.eyebrow){color:var(--muted)}
.access-denied>div{display:flex;justify-content:center;gap:12px;margin-top:25px}
.access-denied a{text-decoration:none}

.account-page main{background:linear-gradient(180deg,#f1f6fa 0,#f8fafc 260px)}
.account-shell{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:58px 0 90px}
.account-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:34px;border-radius:26px;background:linear-gradient(135deg,#071a2f,#0c3c67);color:#fff;box-shadow:0 24px 60px rgba(7,26,47,.16)}
.account-hero h1{margin:7px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:600;letter-spacing:-.045em}
.account-hero p:not(.eyebrow){margin:0;color:#b7c7d7}
.account-actions{display:flex;gap:10px;flex-wrap:wrap}
.account-actions .secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16);text-decoration:none}
.account-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.account-summary-grid article{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.account-summary-grid span,.account-summary-grid strong{display:block}
.account-summary-grid span{color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.account-summary-grid strong{margin-top:7px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.8rem}
.account-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.profile-card{position:sticky;top:96px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);text-align:center}
.profile-avatar{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 14px;border-radius:22px;background:linear-gradient(135deg,#0c5b98,#071a2f);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:2rem}
.profile-card h2{margin:0;color:var(--navy);font-family:Georgia,"Times New Roman",serif}
.profile-card>p{margin:5px 0 20px;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}
.profile-card dl{display:grid;gap:10px;margin:0;text-align:left}
.profile-card dl div{padding:12px;border-radius:12px;background:#f6f9fb}
.profile-card dt{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}
.profile-card dd{margin:4px 0 0;color:var(--ink);font-size:.84rem;font-weight:800}
.profile-support{display:block;margin-top:18px;color:var(--brand);font-size:.82rem;font-weight:850;text-decoration:none}
.trip-history{display:grid;gap:20px}
.trip-section{padding:24px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}
.trip-section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.trip-section-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem}
.trip-section-head a{color:var(--brand);font-size:.8rem;font-weight:850;text-decoration:none}
.trip-card-list{display:grid;gap:10px}
.trip-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px;border:1px solid #e5ebf0;border-radius:16px;background:#fbfcfd}
.trip-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf2f8;color:var(--brand);font-size:1.2rem}
.trip-copy h3{margin:6px 0 3px;font-size:1rem}
.trip-copy p,.trip-copy small{display:block;margin:0;color:var(--muted);font-size:.77rem}
.trip-price{text-align:right}
.trip-price strong,.trip-price a{display:block}
.trip-price a{margin-top:8px;color:var(--brand);font-size:.76rem;font-weight:850;text-decoration:none}
.account-empty{padding:30px;border:1px dashed #ced9e2;border-radius:16px;text-align:center;color:var(--muted)}
.account-empty strong{color:var(--ink)}
.account-empty p{margin:5px 0 0}
.status-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;font-size:.64rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.status-good{background:#eaf8f0;color:#14814c}
.status-pending{background:#fff4df;color:#9c680f}
.status-danger{background:#ffefed;color:#b43a2e}

.admin-page main{min-height:80vh;background:#f4f7fa}
.admin-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:36px 0 90px}
.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#06182c,#0b3b66);color:#fff;box-shadow:0 20px 50px rgba(7,26,47,.15)}
.admin-hero h1{margin:5px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,3.8rem);font-weight:600;letter-spacing:-.045em}
.admin-hero>div>p:not(.eyebrow){margin:0;color:#b5c6d7}
.admin-user-card{display:flex;align-items:center;gap:12px;min-width:340px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.08)}
.admin-user-card>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#e7c37d;color:#182435;font-weight:950}
.admin-user-card strong,.admin-user-card small{display:block}
.admin-user-card small{margin-top:3px;color:#aebed0;font-size:.7rem}
.admin-user-card a{margin-left:auto;color:#fff;font-size:.72rem;font-weight:850;text-decoration:none}
.admin-tabs{position:sticky;top:74px;z-index:20;display:flex;gap:7px;margin:18px 0;padding:8px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}
.admin-tabs button{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 16px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:850}
.admin-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef2f5;font-size:.65rem}
.admin-tabs button.active{background:var(--navy);color:#fff}
.admin-tabs button.active span{background:rgba(255,255,255,.16)}
.admin-panel[hidden]{display:none!important}
.admin-panel{display:grid;gap:18px}
.admin-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.admin-metrics article{position:relative;min-width:0;padding:19px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.admin-metrics .metric-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:16px;border-radius:11px;background:#eaf2f8;color:var(--brand);font-weight:900}
.admin-metrics p,.admin-metrics strong,.admin-metrics small{display:block;margin:0}
.admin-metrics p{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.admin-metrics strong{margin:7px 0 5px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.05;overflow-wrap:anywhere}
.admin-metrics small{color:var(--muted);font-size:.68rem;line-height:1.35}
.admin-metrics .metric-alert{border-color:#f0c4bd;background:#fff9f8}
.admin-metrics .metric-alert .metric-icon{background:#ffebe8;color:#b43a2e}
.admin-overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.admin-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}
.admin-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.admin-card-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem}
.admin-card-head a{color:var(--brand);font-size:.76rem;font-weight:850;text-decoration:none}
.status-chart{display:grid;gap:12px}
.status-chart>div{display:grid;grid-template-columns:130px minmax(0,1fr) 32px;gap:12px;align-items:center}
.status-chart span{color:var(--muted);font-size:.78rem}
.status-chart i{height:9px;overflow:hidden;border-radius:999px;background:#edf2f5}
.status-chart b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0d548f,#65a6d5)}
.status-chart strong{text-align:right;font-size:.8rem}
.system-live{padding:6px 9px;border-radius:999px;background:#eaf8f0;color:#14814c;font-size:.66rem;font-weight:900;text-transform:uppercase}
.system-list{display:grid;gap:0;margin:0}
.system-list div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #edf1f4}
.system-list div:first-child{border-top:0}
.system-list dt{color:var(--muted);font-size:.8rem}
.system-list dd{margin:0;font-size:.8rem;font-weight:850}
.system-ok{color:var(--good)}
.system-warn{color:#a66a08}
.admin-section-head{padding:5px 2px}
.admin-section-head h2{margin:3px 0;font-family:Georgia,"Times New Roman",serif;font-size:2.2rem}
.admin-section-head p:not(.section-kicker){margin:0;color:var(--muted)}
.admin-toolbar{display:flex;align-items:end;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.admin-toolbar label{display:grid;gap:6px;min-width:190px;color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.admin-toolbar .admin-search{flex:1;min-width:280px}
.admin-toolbar input,.admin-toolbar select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff;color:var(--ink);outline:none;text-transform:none}
.admin-toolbar input:focus,.admin-toolbar select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.09)}
.table-card{padding:0;overflow:hidden}
.admin-table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;min-width:850px}
.admin-table th{padding:12px 15px;background:#f5f8fa;color:#617487;text-align:left;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.admin-table td{padding:14px 15px;border-top:1px solid #edf1f4;color:#31475a;font-size:.78rem;vertical-align:middle}
.admin-table td strong,.admin-table td small{display:block}
.admin-table td strong{color:var(--ink);font-size:.8rem}
.admin-table td small{margin-top:3px;color:var(--muted);font-size:.68rem}
.admin-table tbody tr:hover{background:#fbfdfe}
.booking-type{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:.64rem;font-weight:900;text-transform:uppercase}
.type-hotel{background:#e9f5ee;color:#167a49}
.type-flight{background:#eaf2fb;color:#1f649b}
.table-action{display:inline-flex;padding:7px 10px;border-radius:9px;background:#edf3f7;color:var(--brand);font-size:.7rem;font-weight:900;text-decoration:none}
.customer-cell{display:flex;align-items:center;gap:10px}
.customer-cell>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#eaf2f8;color:var(--brand);font-weight:900}
.role-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f3efe6;color:#805c1c;font-size:.64rem;font-weight:900}
.admin-empty{padding:30px;text-align:center;color:var(--muted)}

@media(max-width:1260px){
  .admin-metrics{grid-template-columns:repeat(3,1fr)}
  .auth-shell{grid-template-columns:1fr minmax(420px,.82fr);gap:38px}
}
@media(max-width:980px){
  .auth-page main{background:linear-gradient(180deg,#06182c 0,#0b3156 44%,#f5f7fa 44%)}
  .auth-shell{grid-template-columns:1fr;gap:10px;padding-top:35px}
  .auth-story{padding:30px 8px}
  .auth-story h1{font-size:clamp(3rem,10vw,5rem)}
  .auth-panel-wrap{justify-content:center}
  .auth-panel{width:min(620px,100%)}
  .account-layout{grid-template-columns:1fr}
  .profile-card{position:static}
  .admin-hero{align-items:flex-start;flex-direction:column}
  .admin-user-card{min-width:0;width:100%}
  .admin-metrics{grid-template-columns:repeat(2,1fr)}
  .admin-overview-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-header nav .nav-signin{display:none}
  .auth-shell,.account-shell,.admin-shell{width:calc(100% - 20px)}
  .auth-shell{padding:24px 0 60px}
  .auth-story{padding:20px 8px}
  .auth-story>p:not(.eyebrow),.auth-benefits{display:none}
  .auth-panel{padding:23px;border-radius:22px}
  .auth-panel-head h2{font-size:2rem}
  .account-hero{align-items:flex-start;flex-direction:column;padding:24px}
  .account-summary-grid{grid-template-columns:1fr}
  .trip-section{padding:17px}
  .trip-section-head{align-items:flex-start;flex-direction:column}
  .trip-card{grid-template-columns:42px minmax(0,1fr)}
  .trip-icon{width:42px;height:42px}
  .trip-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid var(--line);text-align:left}
  .trip-price a{margin-top:0}
  .admin-shell{padding-top:16px}
  .admin-hero{padding:22px}
  .admin-tabs{top:68px;overflow-x:auto;justify-content:flex-start}
  .admin-tabs button{flex:0 0 auto}
  .admin-metrics{grid-template-columns:1fr 1fr}
  .admin-toolbar{align-items:stretch;flex-direction:column}
  .admin-toolbar label,.admin-toolbar .admin-search{width:100%;min-width:0}
  .access-denied>div{flex-direction:column}
}
@media(max-width:480px){
  .admin-metrics{grid-template-columns:1fr}
  .auth-meta{align-items:flex-start;flex-direction:column}
  .auth-switch{align-items:center;flex-direction:column}
  .admin-user-card{align-items:flex-start;flex-wrap:wrap}
  .admin-user-card a{width:100%;margin:4px 0 0 54px}
}

/* Premium customer account and booking pages */
.account-dashboard-shell{padding-top:42px}
.account-hero-premium{position:relative;overflow:hidden;align-items:center;min-height:300px;padding:44px 46px;background:radial-gradient(circle at 86% 18%,rgba(229,187,104,.18),transparent 28%),linear-gradient(135deg,#06182c 0%,#0b3b66 62%,#0e527f 100%)}
.account-hero-premium:after{content:"";position:absolute;right:-90px;bottom:-170px;width:360px;height:360px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 52px rgba(255,255,255,.03),0 0 0 104px rgba(255,255,255,.02)}
.account-hero-copy{position:relative;z-index:2;max-width:760px}
.account-hero-copy h1{max-width:760px}
.account-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.account-hero-actions a{text-decoration:none}
.account-primary-action{background:linear-gradient(135deg,#e5bb68,#c99332);color:#17202d}
.account-ghost-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border:1px solid rgba(255,255,255,.25);border-radius:13px;color:#fff;font-weight:900}
.account-identity-card{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;width:min(360px,100%);padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.085);backdrop-filter:blur(12px)}
.account-identity-card span,.account-identity-card strong,.account-identity-card small{display:block}
.account-identity-card span{color:#9fb2c6;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.account-identity-card strong{margin-top:3px;color:#fff;font-size:.94rem}
.account-identity-card small{margin-top:3px;color:#b9c8d7;font-size:.72rem;overflow-wrap:anywhere}
.account-identity-card>a{grid-column:1/-1;padding-top:11px;border-top:1px solid rgba(255,255,255,.12);color:#e7c37d;font-size:.75rem;font-weight:850;text-decoration:none}
.profile-avatar-large{width:60px;height:60px;margin:0;border-radius:17px;background:linear-gradient(135deg,#e7c37d,#c28c2a);color:#17202d;font-size:1.6rem}
.account-nav{position:sticky;top:72px;z-index:24;display:flex;gap:7px;margin:18px 0;padding:8px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(7,26,47,.07);backdrop-filter:blur(14px)}
.account-nav a{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 16px;border-radius:11px;color:var(--muted);font-size:.8rem;font-weight:850;text-decoration:none}
.account-nav a:hover{background:#f4f7fa;color:var(--navy)}
.account-nav a.active{background:var(--navy);color:#fff}
.account-nav b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef2f5;color:var(--brand);font-size:.65rem}
.account-nav a.active b{background:rgba(255,255,255,.16);color:#fff}
.account-summary-grid-premium{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.account-summary-grid-premium article{display:flex;align-items:center;gap:14px;min-width:0;padding:19px 20px}
.account-summary-grid-premium .account-metric-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#eaf2f8;color:var(--brand);font-size:1rem;font-weight:900}
.account-summary-grid-premium small,.account-summary-grid-premium strong,.account-summary-grid-premium p{display:block;margin:0}
.account-summary-grid-premium small{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.account-summary-grid-premium strong{margin-top:4px;font-size:1.55rem;line-height:1.05}
.account-summary-grid-premium p{margin-top:4px;color:var(--muted);font-size:.7rem}
.account-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.account-main-column,.account-side-column{display:grid;gap:20px}
.account-panel{padding:25px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}
.account-panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.account-panel-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem}
.account-panel-head>a{color:var(--brand);font-size:.78rem;font-weight:850;text-decoration:none}
.premium-empty-state{display:flex;align-items:center;gap:16px;padding:23px;border:1px dashed #cbd8e2;border-radius:18px;background:#fbfcfd}
.premium-empty-state>span{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:15px;background:var(--gold-soft);color:#9a6814;font-size:1.15rem}
.premium-empty-state strong,.premium-empty-state p{display:block;margin:0}
.premium-empty-state p{margin-top:5px;color:var(--muted);font-size:.82rem;line-height:1.5}
.premium-empty-state>a{margin-left:auto;white-space:nowrap;text-decoration:none}
.next-trip-card{display:grid;grid-template-columns:110px minmax(0,1fr) 180px;gap:20px;align-items:stretch;overflow:hidden;border:1px solid #dde6ed;border-radius:20px;background:linear-gradient(135deg,#fbfdff,#f5f9fc)}
.next-trip-visual{display:flex;flex-direction:column;justify-content:space-between;min-height:220px;padding:18px;background:linear-gradient(145deg,#0a3d69,#071a2f);color:#fff}
.next-trip-flight .next-trip-visual{background:linear-gradient(145deg,#0b5d91,#102a46)}
.next-trip-visual span{font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#dce8f1}
.next-trip-visual b{align-self:center;font-size:2rem}
.next-trip-copy{padding:22px 0}
.next-trip-copy h3{margin:10px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1.15;color:var(--navy)}
.next-trip-copy h3 i{font-family:inherit;font-style:normal;color:var(--brand)}
.next-trip-copy>p{margin:0;color:var(--muted);font-size:.82rem}
.next-trip-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.next-trip-meta span{padding:11px;border-radius:12px;background:#fff;border:1px solid #e5ebf0}
.next-trip-meta small,.next-trip-meta strong{display:block}
.next-trip-meta small{color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.next-trip-meta strong{margin-top:5px;color:var(--ink);font-size:.78rem;line-height:1.35}
.next-trip-price{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:20px 20px 20px 0;text-align:right}
.next-trip-price small{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}
.next-trip-price strong{margin:6px 0 16px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}
.next-trip-price a{text-decoration:none}
.premium-trip-list{gap:12px}
.premium-trip-card{grid-template-columns:52px minmax(0,1fr) 170px;padding:16px 17px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.premium-trip-card:hover{transform:translateY(-1px);border-color:#cbd9e4;box-shadow:0 12px 26px rgba(7,26,47,.06)}
.premium-trip-card .trip-icon{width:52px;height:52px}
.trip-copy-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.trip-copy-top>small{color:#8494a4;font-size:.69rem}
.premium-trip-card .trip-copy h3{margin:7px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;color:var(--navy)}
.premium-trip-card .trip-price a span{margin-left:3px}
.profile-card-premium{position:static;padding:22px;text-align:left}
.profile-card-head{display:flex;gap:13px;align-items:center;padding-bottom:18px;border-bottom:1px solid #edf1f4}
.profile-card-head .profile-avatar{flex:0 0 54px;width:54px;height:54px;margin:0;border-radius:16px;font-size:1.35rem}
.profile-card-head p,.profile-card-head h2,.profile-card-head span{display:block;margin:0}
.profile-card-head p{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.profile-card-head h2{margin-top:3px;font-size:1.1rem}
.profile-card-head span{margin-top:3px;color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}
.profile-card-premium dl{margin-top:16px}
.profile-card-premium .profile-support{display:flex;justify-content:space-between;align-items:center;padding:13px 0;margin-top:7px;border-top:1px solid #edf1f4}
.account-signout{width:100%;min-height:44px;margin-top:5px;border:1px solid #d8e1e8;border-radius:12px;background:#fff;color:#536679;font-weight:850}
.account-signout:hover{background:#f6f9fb;color:var(--navy)}
.account-help-card{padding:22px;border-radius:22px;background:linear-gradient(145deg,#071a2f,#0c3d68);color:#fff;box-shadow:var(--shadow-sm)}
.account-help-card>span{color:#e5bb68;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.account-help-card h3{margin:8px 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.2}
.account-help-card p{margin:0;color:#b7c7d7;font-size:.8rem;line-height:1.55}
.account-help-card a{display:inline-flex;margin-top:17px;color:#fff;font-size:.78rem;font-weight:850;text-decoration:none}

/* Dedicated account booking libraries */
.account-bookings-shell{padding-top:42px}
.account-list-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:31px 34px;border-radius:24px;background:linear-gradient(135deg,#071a2f,#0b436f);color:#fff;box-shadow:0 22px 54px rgba(7,26,47,.15)}
.account-list-hero h1{margin:6px 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4vw,3.8rem);font-weight:600;letter-spacing:-.04em}
.account-list-hero p:not(.eyebrow){max-width:720px;margin:0;color:#b9c9d8}
.account-list-hero>a{text-decoration:none}
.booking-library-panel{padding:26px}
.booking-library-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.booking-library-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.7rem}
.booking-library-tools{display:flex;gap:10px;align-items:center}
.booking-library-tools input,.booking-library-tools select{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);outline:none}
.booking-library-tools input{min-width:310px}
.booking-library-tools input:focus,.booking-library-tools select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.09)}
.booking-library-list{display:grid;gap:14px}
.booking-library-card{display:grid;grid-template-columns:58px minmax(0,1fr) 210px;gap:18px;align-items:center;padding:18px;border:1px solid #e1e8ee;border-radius:19px;background:#fff;transition:.2s ease}
.booking-library-card:hover{transform:translateY(-1px);border-color:#c5d5e1;box-shadow:0 15px 30px rgba(7,26,47,.06)}
.booking-library-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#eaf2f8;color:var(--brand);font-size:1.35rem}
.booking-library-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.booking-library-title h3{margin:8px 0 3px;font-family:Georgia,"Times New Roman",serif;font-size:1.23rem;color:var(--navy)}
.booking-library-title h3 i{font-style:normal;color:var(--brand)}
.booking-reference{padding:6px 8px;border-radius:9px;background:#f1f5f8;color:#677b8e;font-size:.65rem;font-weight:850;white-space:nowrap}
.booking-library-copy>p{margin:0;color:var(--muted);font-size:.78rem}
.booking-library-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.booking-library-meta span{min-width:130px;padding:9px 10px;border:1px solid #edf1f4;border-radius:11px;background:#fafcfd}
.booking-library-meta small,.booking-library-meta strong{display:block}
.booking-library-meta small{color:var(--muted);font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.booking-library-meta strong{margin-top:4px;font-size:.75rem}
.booking-library-price{text-align:right}
.booking-library-price small,.booking-library-price strong,.booking-library-price a{display:block}
.booking-library-price small{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}
.booking-library-price strong{margin:5px 0 13px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.22rem}
.booking-library-price a{text-decoration:none}
.booking-library-empty{margin-top:4px}

/* Premium reservation detail page */
.booking-detail-page main{background:linear-gradient(180deg,#eef5fa 0,#f8fafc 340px)}
.booking-page-shell{width:min(1260px,calc(100% - 40px));margin:0 auto;padding:32px 0 90px}
.booking-page-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}
.booking-page-topbar a,.booking-page-topbar button{border:0;background:transparent;color:var(--brand);font-size:.78rem;font-weight:850;text-decoration:none}
.booking-page-topbar button{padding:8px 0}
.booking-page-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:30px 32px;border-radius:25px;background:radial-gradient(circle at 88% 10%,rgba(229,187,104,.18),transparent 24%),linear-gradient(135deg,#071a2f,#0d4773);color:#fff;box-shadow:0 22px 55px rgba(7,26,47,.17)}
.booking-flight-hero{background:radial-gradient(circle at 88% 10%,rgba(98,177,220,.18),transparent 25%),linear-gradient(135deg,#071a2f,#0c5a89)}
.booking-hero-icon{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.09);font-size:1.8rem}
.booking-page-hero h1{margin:6px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.35rem);font-weight:600;letter-spacing:-.04em}
.booking-page-hero p:not(.eyebrow){margin:0;color:#b7c8d8}
.booking-hero-status{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:.76rem;font-weight:850}
.booking-detail-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start;margin-top:20px}
.booking-detail-main,.booking-detail-sidebar{display:grid;gap:18px}
.booking-info-card,.booking-summary-card,.booking-progress-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}
.booking-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.booking-card-heading>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#eaf2f8;color:var(--brand);font-size:.7rem;font-weight:950}
.booking-card-heading p,.booking-card-heading h2{display:block;margin:0}
.booking-card-heading p{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.booking-card-heading h2{margin-top:4px;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;color:var(--navy)}
.booking-card-heading h2 i{font-style:normal;color:var(--brand)}
.booking-destination-line{display:flex;align-items:center;gap:9px;margin:-7px 0 18px;color:var(--muted);font-size:.82rem}
.booking-destination-line>span{color:var(--brand)}
.booking-date-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;padding:18px;border:1px solid #e3eaf0;border-radius:17px;background:linear-gradient(135deg,#f8fbfd,#fff)}
.booking-date-grid>div:last-child{text-align:right}
.booking-date-grid small,.booking-date-grid strong{display:block}
.booking-date-grid small{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.booking-date-grid strong{margin-top:6px;color:var(--navy);font-size:1rem}
.booking-date-grid>i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf2f8;color:var(--brand);font-style:normal}
.booking-detail-list{display:grid;gap:0;margin:18px 0 0}
.booking-detail-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.booking-detail-list>div{padding:13px 0;border-top:1px solid #edf1f4}
.booking-detail-list dt{color:var(--muted);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.booking-detail-list dd{margin:5px 0 0;color:var(--ink);font-size:.86rem;font-weight:760;overflow-wrap:anywhere}
.booking-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.booking-note-grid>div{padding:16px;border:1px solid #e5ebf0;border-radius:15px;background:#fafcfd}
.booking-note-grid small{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.booking-note-grid p{margin:7px 0 0;color:#4e6276;font-size:.81rem;line-height:1.55}
.booking-route-display{display:grid;grid-template-columns:1fr minmax(150px,.75fr) 1fr;gap:18px;align-items:center;padding:22px;border:1px solid #e3eaf0;border-radius:18px;background:linear-gradient(135deg,#f8fbfd,#fff)}
.booking-route-display>div:last-child{text-align:right}
.booking-route-display small,.booking-route-display strong,.booking-route-display span{display:block}
.booking-route-display small{color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase}
.booking-route-display strong{margin:4px 0;color:var(--navy);font-size:1.65rem}
.booking-route-display span{color:var(--muted);font-size:.74rem}
.booking-route-line{text-align:center!important;color:var(--muted)}
.booking-route-line>span{font-size:.67rem;font-weight:800;text-transform:uppercase}
.booking-route-line i{display:block;height:1px;margin:9px 0;background:#adc3d4;position:relative}
.booking-route-line i:before,.booking-route-line i:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid var(--brand)}
.booking-route-line i:before{left:0}.booking-route-line i:after{right:0;background:var(--brand)}
.booking-route-line b{display:block;color:var(--brand);font-size:1rem}
.booking-summary-card{position:sticky;top:92px}
.booking-summary-card>span{display:block;color:var(--muted);font-size:.75rem}
.booking-total-price{margin:7px 0 5px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:2.1rem;line-height:1}
.booking-reference-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;margin-top:18px;padding:14px;border-radius:14px;background:#f3f7fa}
.booking-reference-box small,.booking-reference-box strong{display:block}
.booking-reference-box small{grid-column:1/-1;color:var(--muted);font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.booking-reference-box strong{overflow-wrap:anywhere;font-size:.82rem}
.booking-reference-box button{border:0;border-radius:9px;padding:8px 10px;background:#fff;color:var(--brand);font-size:.7rem;font-weight:850}
.booking-summary-actions{display:grid;gap:9px;margin-top:16px}
.booking-summary-actions button,.booking-summary-actions a{width:100%;text-align:center;text-decoration:none}
.booking-progress-card h3{margin:0 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:var(--navy)}
.booking-progress-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding-bottom:18px}
.booking-progress-step:last-child{padding-bottom:0}
.booking-progress-step:not(:last-child):after{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:#e3eaf0}
.booking-progress-step>i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef2f5;color:#718497;font-style:normal;font-size:.7rem;font-weight:900}
.booking-progress-step.complete>i{background:#eaf8f0;color:#14814c}
.booking-progress-step.active>i{background:#eaf2f8;color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.08)}
.booking-progress-step strong,.booking-progress-step span{display:block}
.booking-progress-step strong{font-size:.8rem}
.booking-progress-step span{margin-top:3px;color:var(--muted);font-size:.69rem}
.booking-detail-skeleton{height:150px;border-radius:22px;background:linear-gradient(90deg,#edf3f7 0%,#dfe8ef 48%,#edf3f7 100%);background-size:200% 100%;animation:priceShimmer 1.2s linear infinite}
.booking-skeleton-large{height:310px}.booking-skeleton-small{height:210px}
.booking-error-state{grid-column:1/-1;display:grid;place-items:center;min-height:360px;padding:50px;border:1px solid var(--line);border-radius:22px;background:#fff;text-align:center}
.booking-error-state>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#ffefed;color:var(--danger);font-size:1.4rem;font-weight:900}
.booking-error-state h2{margin:13px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:1.6rem}.booking-error-state p{margin:0 0 18px;color:var(--muted)}
.booking-error-state a{text-decoration:none}

@media(max-width:1100px){
  .account-dashboard-grid{grid-template-columns:1fr}
  .account-side-column{grid-template-columns:1fr 1fr}
  .account-identity-card{width:320px}
  .account-summary-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-detail-shell{grid-template-columns:minmax(0,1fr) 290px}
}
@media(max-width:900px){
  .account-hero-premium{align-items:flex-start;flex-direction:column}
  .account-identity-card{width:100%}
  .account-nav{overflow-x:auto;white-space:nowrap}
  .next-trip-card{grid-template-columns:90px minmax(0,1fr)}
  .next-trip-price{grid-column:1/-1;align-items:flex-start;padding:0 18px 18px;text-align:left}
  .next-trip-price strong{margin-bottom:12px}
  .booking-library-head{align-items:flex-start;flex-direction:column}
  .booking-library-tools{width:100%}
  .booking-library-tools label{flex:1}.booking-library-tools input{width:100%;min-width:0}
  .booking-library-card{grid-template-columns:52px minmax(0,1fr)}
  .booking-library-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:16px;padding-top:13px;border-top:1px solid #edf1f4;text-align:left}
  .booking-library-price strong{margin-bottom:0}
  .booking-detail-shell{grid-template-columns:1fr}
  .booking-summary-card{position:static}
  .booking-detail-sidebar{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .account-dashboard-shell,.account-bookings-shell{padding-top:24px}
  .account-hero-premium,.account-list-hero{padding:25px;border-radius:21px}
  .account-list-hero{align-items:flex-start;flex-direction:column}
  .account-hero-actions,.account-hero-actions a,.account-list-hero>a{width:100%}
  .account-ghost-action{width:100%}
  .account-nav{top:66px;margin:12px 0;padding:6px;border-radius:14px}
  .account-nav a{padding:9px 12px}
  .account-summary-grid-premium{grid-template-columns:1fr}
  .account-summary-grid-premium article{padding:16px}
  .account-side-column{grid-template-columns:1fr}
  .account-panel{padding:18px}
  .account-panel-head{align-items:flex-start;flex-direction:column;gap:8px}
  .premium-empty-state{align-items:flex-start;flex-direction:column}.premium-empty-state>a{margin-left:0;width:100%;text-align:center}
  .next-trip-card{grid-template-columns:1fr}
  .next-trip-visual{min-height:110px;flex-direction:row}.next-trip-copy{padding:0 18px}.next-trip-meta{grid-template-columns:1fr}
  .premium-trip-card{grid-template-columns:44px minmax(0,1fr)}.premium-trip-card .trip-icon{width:44px;height:44px}.premium-trip-card .trip-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid #edf1f4;text-align:left}
  .booking-library-tools{align-items:stretch;flex-direction:column}.booking-library-tools select{width:100%}
  .booking-library-card{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px}.booking-library-icon{width:44px;height:44px;border-radius:13px}.booking-library-title{flex-direction:column;gap:7px}.booking-reference{align-self:flex-start}.booking-library-meta{display:grid;grid-template-columns:1fr}.booking-library-meta span{min-width:0}
  .booking-library-price{align-items:stretch;flex-direction:column}.booking-library-price a{width:100%;text-align:center}
  .booking-page-shell{width:calc(100% - 20px);padding-top:18px}
  .booking-page-hero{grid-template-columns:54px minmax(0,1fr);padding:22px;border-radius:21px}.booking-hero-icon{width:54px;height:54px;border-radius:16px;font-size:1.3rem}.booking-hero-status{grid-column:1/-1;justify-content:center}
  .booking-info-card,.booking-summary-card,.booking-progress-card{padding:18px;border-radius:18px}.booking-date-grid,.booking-route-display{grid-template-columns:1fr;gap:10px}.booking-date-grid>div:last-child,.booking-route-display>div:last-child{text-align:left}.booking-date-grid>i{transform:rotate(90deg)}.booking-route-line{width:100%}.booking-route-line b{transform:rotate(90deg)}
  .booking-detail-list-grid,.booking-note-grid{grid-template-columns:1fr}.booking-detail-sidebar{grid-template-columns:1fr}
}

@media print{
  .site-header,.site-footer,.booking-page-topbar,.booking-summary-actions,.account-nav{display:none!important}
  .booking-detail-page main{background:#fff}
  .booking-page-shell{width:100%;padding:0}
  .booking-page-hero{box-shadow:none;border:1px solid #cfd9e1;background:#fff!important;color:#111}
  .booking-page-hero p:not(.eyebrow){color:#555}
  .booking-detail-shell{grid-template-columns:1fr 300px;gap:12px}
  .booking-info-card,.booking-summary-card,.booking-progress-card{break-inside:avoid;box-shadow:none}
}

/* Mobile off-canvas search filters */
.mobile-results-toolbar,
.mobile-filter-close,
.mobile-filter-actions,
.mobile-filter-backdrop{display:none}
.filter-heading-actions{display:flex;align-items:center;gap:8px}

@media(max-width:900px){
  body.filter-drawer-open{overflow:hidden;touch-action:none}
  .mobile-results-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:-6px 0 14px}
  .mobile-results-toolbar[hidden]{display:none!important}
  .mobile-filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);box-shadow:var(--shadow-sm);font-weight:900}
  .mobile-filter-toggle>span{font-size:1.05rem;color:var(--brand)}
  .mobile-filter-toggle>b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--brand);color:#fff;font-size:.7rem}
  .mobile-filter-toggle>b[hidden]{display:none!important}

  .results-layout{display:block}
  .filter-panel{
    position:fixed!important;
    z-index:1002;
    top:0;
    left:0;
    bottom:0;
    width:min(88vw,370px);
    height:100dvh;
    max-height:none!important;
    margin:0;
    padding:20px 18px calc(96px + env(safe-area-inset-bottom));
    overflow-y:auto!important;
    overscroll-behavior:contain;
    border:0;
    border-right:1px solid var(--line);
    border-radius:0 22px 22px 0;
    background:#fff;
    box-shadow:28px 0 60px rgba(7,26,47,.2);
    transform:translate3d(-105%,0,0);
    visibility:hidden;
    transition:transform .28s cubic-bezier(.22,.8,.24,1),visibility .28s;
  }
  .filter-panel.mobile-open{
    transform:translate3d(0,0,0);
    visibility:visible;
  }
  .filter-panel[hidden]{display:none!important}
  .filter-heading{
    position:sticky;
    z-index:4;
    top:-20px;
    margin:-20px -18px 18px;
    padding:19px 18px 15px;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(14px);
  }
  .filter-heading>strong{font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;color:var(--navy)}
  .filter-heading-actions{gap:5px}
  .mobile-filter-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line)!important;border-radius:50%;background:#f4f7f9!important;color:var(--navy)!important;font-size:1.45rem!important;line-height:1}
  .mobile-filter-actions{
    display:block;
    position:fixed;
    z-index:1004;
    left:0;
    bottom:0;
    width:min(88vw,370px);
    padding:13px 18px calc(13px + env(safe-area-inset-bottom));
    border-top:1px solid var(--line);
    border-radius:0 0 22px 0;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    transform:translate3d(-105%,0,0);
    visibility:hidden;
    transition:transform .28s cubic-bezier(.22,.8,.24,1),visibility .28s;
  }
  .filter-panel.mobile-open .mobile-filter-actions{transform:translate3d(0,0,0);visibility:visible}
  .mobile-filter-actions .primary{width:100%}
  .mobile-filter-backdrop{
    display:block;
    position:fixed;
    z-index:1001;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(7,26,47,.48);
    backdrop-filter:blur(2px);
    animation:filterBackdropIn .2s ease both;
  }
  .mobile-filter-backdrop[hidden]{display:none!important}
  @keyframes filterBackdropIn{from{opacity:0}to{opacity:1}}
  .results-list{width:100%}
}

@media(max-width:430px){
  .filter-panel,.mobile-filter-actions{width:min(92vw,370px)}
}

/* LiteAPI Payment SDK checkout */
.sdk-checkout-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 90px}.sdk-checkout-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.sdk-checkout-topbar a{color:var(--brand);font-weight:850}.sdk-checkout-topbar>span{display:flex;align-items:center;gap:8px;color:var(--good);font-size:.82rem;font-weight:850}.sdk-checkout-topbar i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--good-soft);font-style:normal}.sdk-checkout-heading{max-width:720px;margin-bottom:28px}.sdk-checkout-heading h1{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02;letter-spacing:-.04em}.sdk-checkout-heading>p:last-child{margin:0;color:var(--muted);line-height:1.6}.sdk-checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:24px;align-items:start}.sdk-checkout-main{display:grid;gap:20px}.sdk-checkout-card,.sdk-checkout-summary{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm)}.sdk-checkout-card{padding:24px}.sdk-checkout-card-head{display:flex;align-items:center;gap:13px;margin-bottom:20px}.sdk-checkout-card-head>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.sdk-checkout-card-head p,.sdk-checkout-card-head h2{margin:0}.sdk-checkout-card-head p{color:var(--brand);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.sdk-checkout-card-head h2{font-family:Georgia,"Times New Roman",serif;font-size:1.42rem}.sdk-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sdk-detail-grid>div{display:grid;gap:5px;padding:16px;border:1px solid #e6edf2;border-radius:16px;background:#fbfcfd}.sdk-detail-grid small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.sdk-detail-grid strong{color:var(--navy)}.sdk-detail-grid span{color:var(--muted);font-size:.82rem}.sdk-security-note{display:flex;gap:12px;margin-bottom:16px;padding:14px 15px;border:1px solid #dbe8f0;border-radius:15px;background:#f4f9fc}.sdk-security-note strong,.sdk-security-note span{display:block}.sdk-security-note strong{color:var(--navy);white-space:nowrap}.sdk-security-note span{color:var(--muted);font-size:.82rem;line-height:1.45}.liteapi-payment-element{min-height:280px;padding:14px;border:1px solid #dfe8ef;border-radius:18px;background:#fff}.sdk-checkout-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:120px;color:var(--muted)}.sdk-payment-success{display:grid;place-items:center;gap:10px;min-height:250px;text-align:center}.sdk-payment-success>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--good-soft);color:var(--good);font-size:1.5rem;font-weight:900}.sdk-payment-success h3,.sdk-payment-success p{margin:0}.sdk-payment-success a{min-width:220px;text-align:center}.sdk-checkout-summary{position:sticky;top:94px;padding:22px}.sdk-summary-property{display:flex;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--line)}.sdk-summary-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#e9f2f8,#f8fbfd);color:var(--brand);font-size:1.2rem}.sdk-summary-property small,.sdk-summary-property h2,.sdk-summary-property p{margin:0}.sdk-summary-property small{color:var(--brand);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sdk-summary-property h2{margin-top:4px;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1.2}.sdk-summary-property p{margin-top:4px;color:var(--muted);font-size:.82rem}.sdk-summary-list{display:grid;gap:11px;margin:18px 0}.sdk-summary-list>div{display:flex;justify-content:space-between;gap:18px}.sdk-summary-list dt{color:var(--muted)}.sdk-summary-list dd{margin:0;text-align:right;font-weight:800}.sdk-summary-total{display:grid;gap:5px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#071a2f,#103b63);color:#fff}.sdk-summary-total span,.sdk-summary-total strong,.sdk-summary-total small{display:block}.sdk-summary-total span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.sdk-summary-total strong{font-size:1.9rem}.sdk-summary-total small{opacity:.72}.sdk-summary-trust{display:grid;gap:8px;margin-top:16px;color:var(--muted);font-size:.78rem}.sdk-summary-trust span:before{content:""}.checkout-page .site-footer{margin-top:0}.checkout-page .site-header{position:sticky;top:0;z-index:50}

/* Printable confirmation voucher */
.voucher-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:34px 0 80px}.voucher-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.voucher-actions a{color:var(--brand);font-weight:850}.voucher-actions button{border:0;border-radius:12px;padding:11px 16px;background:var(--navy);color:#fff;font-weight:850}.voucher-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.voucher-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;background:var(--navy);color:#fff}.voucher-brand{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem}.voucher-header small{display:block;opacity:.68;text-transform:uppercase;letter-spacing:.12em;font-size:.55rem}.voucher-status{text-align:right}.voucher-status span,.voucher-status strong{display:block}.voucher-status span{font-size:.66rem;opacity:.7;text-transform:uppercase;letter-spacing:.07em}.voucher-title{padding:28px 30px 22px;border-bottom:1px solid var(--line)}.voucher-title p,.voucher-title h1{margin:0}.voucher-title p{color:var(--brand);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.voucher-title h1{margin:6px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:2rem}.voucher-title>span{color:var(--muted)}.voucher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.voucher-grid>div{display:grid;gap:5px;padding:20px;background:#fff}.voucher-grid small,.voucher-section small{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.voucher-section{display:grid;gap:7px;padding:18px 30px;border-bottom:1px solid var(--line)}.voucher-section p{margin:0;color:var(--muted);line-height:1.55}.voucher-total{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;background:#f7fafc}.voucher-total strong{font-size:1.45rem}.voucher-footer{display:flex;justify-content:space-between;gap:24px;padding:20px 30px;color:var(--muted);font-size:.78rem}.voucher-footer p{max-width:650px;margin:0;line-height:1.5}

@media(max-width:900px){.sdk-checkout-layout{grid-template-columns:1fr}.sdk-checkout-summary{position:static;grid-row:1}.voucher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sdk-checkout-shell,.voucher-shell{width:calc(100% - 20px);padding-top:20px}.sdk-checkout-topbar{align-items:flex-start;flex-direction:column}.sdk-checkout-card,.sdk-checkout-summary{padding:17px;border-radius:19px}.sdk-detail-grid{grid-template-columns:1fr}.sdk-security-note{align-items:flex-start;flex-direction:column}.voucher-header,.voucher-title,.voucher-section,.voucher-total,.voucher-footer{padding-left:18px;padding-right:18px}.voucher-grid{grid-template-columns:1fr}.voucher-total,.voucher-footer{align-items:flex-start;flex-direction:column}}
@media print{.no-print,.site-header,.site-footer{display:none!important}.voucher-shell{width:100%;padding:0}.voucher-card{border:0;box-shadow:none}.voucher-page{background:#fff}}

/* LiteAPI booking operations */
.booking-refund-box{display:grid;gap:4px;margin-top:14px;padding:13px 14px;border:1px solid #e6d7b8;border-radius:14px;background:#fff9ed}
.booking-refund-box small{color:#806327;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.booking-refund-box strong{color:var(--navy)}
.booking-refund-box span{color:var(--muted);font-size:.8rem}
.danger-button{border:1px solid #efc8c8!important;background:#fff5f5!important;color:#a33030!important}
.danger-button:hover{background:#fee9e9!important}
.booking-action-message{min-height:18px;margin-top:10px;color:var(--muted);font-size:.8rem;line-height:1.4}
.table-actions{display:flex;flex-wrap:wrap;gap:7px}
.table-actions button,.table-actions a{min-height:34px;padding:7px 10px;border-radius:9px;font-size:.72rem;font-weight:850}

/* Choose-room interaction feedback */
.room-selection-error{grid-column:1/-1;margin-top:8px;padding:10px 12px;border:1px solid #f2c9c9;border-radius:10px;background:#fff5f5;color:#a32626;font-size:.78rem;font-weight:750}
.select-hotel-offer[disabled]{cursor:wait;opacity:.72}

/* Safe LiteAPI hosted-payment handoff */
.sdk-hosted-payment{display:grid;place-items:center;gap:12px;min-height:280px;padding:34px;text-align:center;background:linear-gradient(180deg,#f8fbfe 0%,#eef5fa 100%);border:1px solid #d5e3ed;border-radius:18px}
.sdk-hosted-payment-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#0d548f;color:#fff;font-size:1.45rem;font-weight:900;box-shadow:0 12px 26px rgba(13,84,143,.2)}
.sdk-hosted-payment h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;color:#071a2f}
.sdk-hosted-payment p{max-width:560px;margin:0;color:#60758b;line-height:1.55}
.sdk-hosted-payment a{display:inline-flex;align-items:center;justify-content:center;width:min(100%,360px);text-decoration:none}
@media(max-width:640px){.sdk-hosted-payment{min-height:240px;padding:24px 16px}.sdk-hosted-payment h3{font-size:1.35rem}}

/* Flight passenger document fields */
.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.form-grid-three{grid-template-columns:1fr}}

/* Stonehaven custom date picker — replaces browser-native calendars */
.stone-date-source{display:none!important}
.stone-date-trigger{width:100%;min-height:50px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit;text-align:left;outline:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}
.stone-date-trigger:hover{border-color:var(--line-strong);background:#fcfdfe}
.stone-date-trigger:focus-visible,.stone-date-trigger.is-open{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.1)}
.stone-date-trigger.is-open{background:#fafdff}
.stone-date-trigger:disabled{opacity:.55;cursor:not-allowed}
.stone-date-trigger.is-invalid{border-color:var(--danger);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
.stone-date-trigger-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--wash-blue);color:var(--brand);font-size:.84rem;font-weight:900}
.stone-date-trigger-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.88rem;font-weight:720}
.stone-date-trigger.has-value .stone-date-trigger-value{color:var(--ink);font-weight:760}
.stone-date-trigger-chevron{color:var(--muted);font-size:.85rem;transition:transform .2s ease}
.stone-date-trigger.is-open .stone-date-trigger-chevron{transform:rotate(180deg)}
.field-with-icon .stone-date-trigger{padding-left:40px}
.field-with-icon .stone-date-trigger-icon{display:none}
.flight-search-grid .stone-date-trigger{min-width:0;padding-right:34px}
.flight-search-grid .stone-date-trigger-value{font-size:.82rem;letter-spacing:-.01em}
@media(min-width:641px){#flight-departure + .stone-date-trigger .stone-date-trigger-value,#flight-return + .stone-date-trigger .stone-date-trigger-value{white-space:nowrap;overflow:visible;text-overflow:clip}}
.checkout-form label>.stone-date-trigger{margin-top:7px}
.stone-date-error{display:block;margin-top:6px;color:var(--danger);font-size:.72rem;font-weight:750}

.stone-date-popover{position:fixed;z-index:3100;width:336px;padding:16px;border:1px solid rgba(201,212,223,.95);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 30px 80px rgba(7,26,47,.24),0 8px 24px rgba(7,26,47,.1);animation:stoneDateIn .18s ease both}
.stone-date-popover[hidden]{display:none!important}
@keyframes stoneDateIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.stone-date-sheet-handle{display:none}
.stone-date-head{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-bottom:14px}
.stone-date-nav{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-size:1rem;font-weight:900;cursor:pointer;transition:.18s ease}
.stone-date-nav:hover:not(:disabled){border-color:var(--brand);background:var(--wash-blue);color:var(--brand);transform:translateY(-1px)}
.stone-date-nav:disabled{opacity:.3;cursor:not-allowed}
.stone-date-selectors{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:7px}
.stone-date-selectors select{width:100%;height:38px;border:1px solid var(--line);border-radius:11px;padding:0 30px 0 10px;background:#fff;color:var(--navy);font:inherit;font-size:.82rem;font-weight:850;outline:none;cursor:pointer}
.stone-date-selectors select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,84,143,.1)}
.stone-date-weekdays,.stone-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.stone-date-weekdays{margin:0 0 5px;color:#7a899a;font-size:.65rem;font-weight:900;letter-spacing:.05em;text-align:center;text-transform:uppercase}
.stone-date-weekdays span{padding:7px 0}
.stone-date-grid{gap:3px}
.stone-date-day{position:relative;display:grid;place-items:center;min-width:0;height:38px;border:0;border-radius:11px;background:transparent;color:var(--ink);font:inherit;font-size:.8rem;font-weight:760;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}
.stone-date-day span{position:relative;z-index:2}
.stone-date-day:hover:not(:disabled):not(.is-selected){background:var(--wash-blue);color:var(--brand);transform:translateY(-1px)}
.stone-date-day.is-outside{color:#a6b1bd}
.stone-date-day:disabled{color:#c9d0d8;cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:1px}
.stone-date-day.is-today:not(.is-selected) span{display:grid;place-items:center;width:29px;height:29px;border:1.5px solid var(--gold);border-radius:9px;color:var(--navy)}
.stone-date-day.is-selected,.stone-date-day.is-range-start,.stone-date-day.is-range-end{background:linear-gradient(135deg,var(--navy-2),var(--brand));color:#fff;box-shadow:0 7px 16px rgba(13,84,143,.22)}
.stone-date-day.is-in-range{border-radius:8px;background:#eaf3fa;color:var(--brand)}
.stone-date-day.is-range-start{border-radius:11px 6px 6px 11px}
.stone-date-day.is-range-end{border-radius:6px 11px 11px 6px}
.stone-date-footer{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.stone-date-footer button{min-height:38px;border:0;border-radius:11px;padding:8px 12px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}
.stone-date-text-action{background:transparent;color:var(--brand)}
.stone-date-text-action:hover{background:var(--wash-blue)}
.stone-date-done{justify-self:end;min-width:82px;background:linear-gradient(135deg,var(--navy-2),var(--brand));color:#fff;box-shadow:0 7px 16px rgba(13,84,143,.18)}

@media(max-width:640px){
  body.date-picker-open{overflow:hidden}
  body.date-picker-open:before{content:"";position:fixed;inset:0;z-index:3000;background:rgba(7,26,47,.5);backdrop-filter:blur(3px)}
  .stone-date-popover.is-mobile{z-index:3100;width:auto;max-height:calc(100vh - 24px);overflow:auto;padding:13px 14px 16px;border-radius:24px;animation:stoneDateSheetIn .22s ease both}
  @keyframes stoneDateSheetIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
  .stone-date-sheet-handle{display:block;width:42px;height:4px;margin:0 auto 12px;border-radius:999px;background:#d6dee6}
  .stone-date-head{margin-bottom:10px}
  .stone-date-day{height:42px;font-size:.84rem}
  .stone-date-footer{position:sticky;bottom:-16px;margin-left:-14px;margin-right:-14px;padding:12px 14px 16px;background:#fff}
  .stone-date-done{min-width:100px}
}

/* Phase 1 — Booking operations center */
.operations-hero{position:relative;overflow:hidden}
.operations-hero:after{content:"";position:absolute;right:-90px;bottom:-130px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(231,195,125,.2),transparent 68%);pointer-events:none}
.operations-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.operations-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}
.operations-section-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:8px 2px 2px}
.operations-section-head>div{max-width:780px}
.operations-run-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.operations-run-button b{font-size:1.2rem}
.operations-run-button:disabled b{animation:operationsSpin .9s linear infinite}
@keyframes operationsSpin{to{transform:rotate(360deg)}}
.operations-flash{min-height:0;border-radius:13px;color:var(--muted);font-size:.8rem;font-weight:760;line-height:1.45;transition:.2s ease}
.operations-flash:not(:empty){min-height:44px;padding:12px 14px;border:1px solid var(--line);background:#fff}
.operations-flash.success{border-color:#b9ddc8;background:#f1fbf5;color:#21693e}
.operations-flash.warning{border-color:#ead39e;background:#fff9e9;color:#806327}
.operations-flash.error{border-color:#efc4c0;background:#fff5f4;color:#a8342c}
.operations-queue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.queue-card{display:grid;gap:7px;min-height:144px;align-content:start}
.queue-card>span{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.queue-card>strong{color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.1}
.queue-card>small{color:var(--muted);font-size:.72rem;line-height:1.45}
.queue-card.queue-critical{border-color:#efc4c0;background:linear-gradient(180deg,#fff,#fff7f6)}
.queue-card.queue-critical>strong{color:#a8342c}
.paid-pending-card{border-color:#edcf90;box-shadow:0 14px 36px rgba(144,99,13,.09)}
.operations-warning{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#fff0ce;color:#825b10;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.operations-table td{vertical-align:top}
.operations-table td>strong{margin-top:4px}
.operations-actions{min-width:170px}
.operations-actions button,.operations-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand);font:inherit;font-size:.7rem;font-weight:850;text-decoration:none;cursor:pointer}
.operations-actions button:hover,.operations-actions a:hover{border-color:var(--brand);background:var(--wash-blue)}
.operations-actions button:disabled{cursor:wait;opacity:.62}
.severity-pill{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:27px;padding:5px 9px;border-radius:999px;font-size:.64rem;font-weight:950;letter-spacing:.04em}
.severity-critical{background:#ffe5e2;color:#a4261d}
.severity-high{background:#fff0d2;color:#8b5a00}
.severity-medium{background:#e9f1ff;color:#245c9c}
.severity-low{background:#edf4f0;color:#3e6e56}
.operations-drawer{width:min(980px,calc(100% - 28px));max-width:none;height:min(92vh,920px);max-height:none;margin:auto 0 auto auto;padding:0;border:0;border-radius:26px 0 0 26px;background:#f4f7fa;box-shadow:-30px 0 90px rgba(7,26,47,.22);overflow:hidden}
.operations-drawer::backdrop{background:rgba(7,26,47,.55);backdrop-filter:blur(4px)}
.operations-drawer[open]{animation:operationsDrawerIn .22s ease both}
@keyframes operationsDrawerIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
.operations-drawer-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
.operations-drawer-shell>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid var(--line);background:#fff}
.operations-drawer-shell>header h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem}
.operations-drawer-shell>header button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-size:1.5rem;cursor:pointer}
.operations-drawer-body{display:grid;gap:16px;align-content:start;padding:20px 24px 42px;overflow:auto}
.operations-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,#071a2f,#0d548f);color:#fff;box-shadow:0 14px 34px rgba(7,26,47,.16)}
.operations-detail-hero h3{margin:8px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:1.75rem}
.operations-detail-hero p{margin:0;color:#bdd0e1;font-size:.75rem}
.operations-status-stack{display:grid;justify-items:end;gap:8px}
.operations-status-stack small{color:#c3d3e2;font-size:.72rem}
.operations-action-bar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.operations-action-bar button,.operations-action-bar a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--brand);font:inherit;font-size:.72rem;font-weight:900;text-decoration:none;cursor:pointer}
.operations-action-bar button:first-child{border-color:transparent;background:linear-gradient(135deg,var(--brand-bright),var(--brand));color:#fff}
.operations-action-bar button:hover,.operations-action-bar a:hover{border-color:var(--brand);background:var(--wash-blue);color:var(--brand)}
.operations-action-bar button:first-child:hover{background:linear-gradient(135deg,var(--brand),var(--navy-2));color:#fff}
.operations-action-bar button:disabled{cursor:wait;opacity:.6}
.operations-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.operations-detail-card{padding:19px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.operations-detail-card>h3{margin:0 0 14px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}
.operations-detail-card dl{display:grid;gap:0;margin:0}
.operations-detail-card dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid #edf1f4}
.operations-detail-card dl>div:first-child{border-top:0;padding-top:0}
.operations-detail-card dt{color:var(--muted);font-size:.69rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.operations-detail-card dd{margin:0;color:var(--ink);font-size:.78rem;font-weight:740;overflow-wrap:anywhere}
.operations-timeline{display:grid;gap:0}
.operations-timeline article{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;padding:0 0 18px}
.operations-timeline article:last-child{padding-bottom:0}
.operations-timeline article:before{content:"";position:absolute;left:5px;top:14px;bottom:-2px;width:1px;background:#dbe4eb}
.operations-timeline article:last-child:before{display:none}
.operations-timeline article>i{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;border:2px solid #fff;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #d6b66f}
.operations-timeline strong,.operations-timeline span,.operations-timeline small{display:block}
.operations-timeline strong{color:var(--ink);font-size:.78rem}
.operations-timeline span{margin-top:3px;color:var(--muted);font-size:.69rem}
.operations-timeline small{margin-top:4px;color:#8a99a8;font-size:.65rem}
.operations-mini-list{display:grid;gap:10px}
.operations-mini-list article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:11px;border:1px solid #e8eef2;border-radius:13px;background:#fbfdfe}
.operations-mini-list strong,.operations-mini-list p,.operations-mini-list small{display:block;margin:0}
.operations-mini-list strong{color:var(--ink);font-size:.76rem}
.operations-mini-list p{margin-top:3px;color:var(--muted);font-size:.69rem;line-height:1.4}
.operations-mini-list small{margin-top:5px;color:#8493a2;font-size:.63rem}
.operations-admin-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--navy);color:#fff;font-size:.68rem;font-weight:900}
.operations-json{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.operations-json summary{padding:14px 16px;color:var(--navy);font-size:.76rem;font-weight:900;cursor:pointer}
.operations-json pre{max-height:420px;margin:0;padding:16px;overflow:auto;border-top:1px solid var(--line);background:#071a2f;color:#d8e7f4;font:500 .7rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1180px){.operations-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-queue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.operations-section-head{align-items:flex-start;flex-direction:column}.operations-run-button{width:100%}.operations-detail-grid{grid-template-columns:1fr}.operations-drawer{width:100%;height:94vh;border-radius:24px 24px 0 0;margin:auto 0 0}.operations-detail-hero{align-items:flex-start;flex-direction:column}.operations-status-stack{justify-items:start}.operations-detail-card dl>div{grid-template-columns:1fr;gap:4px}.operations-drawer-body{padding:16px 14px 34px}.operations-drawer-shell>header{padding:17px 16px}}
@media(max-width:600px){.operations-metrics,.operations-queue-grid{grid-template-columns:1fr}.operations-action-bar>*{width:100%}.operations-detail-hero{padding:18px}.operations-detail-hero h3{font-size:1.45rem}}

/* Phase 2: property details, comparison, grouped rooms, fare details */
.hotel-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hotel-card-actions button{min-height:38px;padding:8px 12px;border-radius:10px;font-size:.72rem}
.hotel-compare.active{border-color:#c99332;background:#fff7e8;color:#8b6117}

.flight-date-flex{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:15px 17px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.flight-date-flex>div:first-child{display:grid;gap:3px}
.flight-date-flex strong{color:var(--navy)}
.flight-date-flex span{color:var(--muted);font-size:.72rem}
.flight-date-flex-options{display:flex;gap:8px}
.flight-date-flex-options button{display:grid;gap:2px;min-width:84px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}
.flight-date-flex-options button:hover{border-color:var(--brand);background:var(--wash-blue)}
.flight-date-flex-options button.active{border-color:var(--brand);background:linear-gradient(135deg,var(--navy-2),var(--brand));color:#fff;box-shadow:0 8px 18px rgba(13,84,143,.18)}
.flight-date-flex-options button.active span,.flight-date-flex-options button.active strong{color:#fff}
.flight-date-flex-options button span{font-size:.65rem;font-weight:800;text-transform:uppercase}
.flight-date-flex-options button strong{font-size:.8rem}

.hotel-compare-tray{position:fixed;left:50%;bottom:18px;z-index:2500;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(920px,calc(100% - 28px));padding:14px 16px;border:1px solid rgba(211,179,103,.72);border-radius:18px;background:rgba(7,26,47,.96);color:#fff;box-shadow:0 20px 54px rgba(7,26,47,.28);backdrop-filter:blur(16px);transform:translateX(-50%)}
.hotel-compare-tray[hidden]{display:none!important}
.hotel-compare-tray>div:first-child{display:grid;gap:3px;min-width:0}
.hotel-compare-tray strong{color:#fff}
.hotel-compare-tray span{overflow:hidden;color:#bfd0df;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.hotel-compare-tray>div:last-child{display:flex;gap:8px;flex:0 0 auto}
.hotel-compare-tray button{min-height:40px}
.hotel-compare-tray .secondary{background:#fff;color:var(--navy)}

.travel-detail-modal{position:fixed;inset:0;z-index:3200;display:grid;place-items:center;padding:22px}
.travel-detail-modal[hidden]{display:none!important}
.travel-detail-backdrop{position:absolute;inset:0;background:rgba(7,26,47,.72);backdrop-filter:blur(6px)}
.travel-detail-panel{position:relative;z-index:1;width:min(1050px,100%);max-height:calc(100vh - 44px);overflow:auto;border:1px solid rgba(214,224,233,.9);border-radius:26px;background:#fff;box-shadow:0 36px 100px rgba(7,26,47,.36)}
.travel-detail-close{position:sticky;top:14px;z-index:5;display:grid;place-items:center;width:42px;height:42px;margin:14px 14px -56px auto;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(7,26,47,.88);color:#fff;font-size:1.45rem;cursor:pointer;backdrop-filter:blur(8px)}
#travel-detail-content{padding:0 0 30px}
.travel-detail-heading{padding:32px 34px 22px;background:linear-gradient(135deg,#071a2f,#0d548f);color:#fff}
.travel-detail-heading h2{margin:3px 0 7px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.7rem)}
.travel-detail-heading p{margin:0;color:#c8d8e7;line-height:1.55}
.travel-detail-heading .section-kicker{color:#e1bd72}
.property-detail-hero{position:relative;display:block;width:100%;height:360px;border:0;padding:0;background:#eaf0f5;cursor:pointer;overflow:hidden}
.property-detail-hero img{width:100%;height:100%;object-fit:cover}
.property-detail-hero:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(7,26,47,.72))}
.property-detail-hero span{position:absolute;right:20px;bottom:18px;z-index:2;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.93);color:var(--navy);font-size:.7rem;font-weight:900}
.property-detail-placeholder{display:grid;place-items:center;min-height:190px;background:linear-gradient(135deg,#eaf1f6,#f8fafc);color:var(--muted);font-weight:800}
.property-detail-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px 0}
.property-detail-actions a{text-decoration:none}
.property-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 28px 0}
.property-detail-grid section{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.property-detail-grid section.detail-wide{grid-column:1/-1}
.property-detail-grid h3,.flight-detail-direction h3,.flight-detail-terms h3{margin:0 0 12px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.3rem}
.property-detail-grid p{margin:0;color:var(--muted);line-height:1.65}
.property-detail-grid dl{display:grid;gap:0;margin:0}
.property-detail-grid dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:9px 0;border-top:1px solid #edf1f4}
.property-detail-grid dl>div:first-child{border-top:0;padding-top:0}
.property-detail-grid dt{color:var(--muted);font-size:.69rem;font-weight:850;text-transform:uppercase}
.property-detail-grid dd{margin:0;color:var(--ink);font-size:.8rem;font-weight:750}
.property-amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.property-amenity-grid li{padding:10px 12px;border-radius:11px;background:#f4f8fb;color:var(--ink);font-size:.76rem}
.property-amenity-grid li:before{content:"✓";margin-right:8px;color:var(--brand);font-weight:900}
.property-policy-list{display:grid;gap:9px;margin:0;padding-left:18px;color:var(--muted);font-size:.78rem;line-height:1.5}
.property-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.property-review-list article{padding:15px;border:1px solid #e4ebf1;border-radius:14px;background:#fbfdfe}
.property-review-list article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.property-review-list article>div strong{display:grid;place-items:center;min-width:38px;height:34px;border-radius:9px;background:var(--navy);color:#fff}
.property-review-list article>div span{color:var(--muted);font-size:.67rem}
.property-review-list h4{margin:12px 0 5px;color:var(--ink)}
.property-review-list p{font-size:.75rem;line-height:1.5}
.detail-empty{padding:16px;border-radius:12px;background:#f4f7fa;color:var(--muted);font-size:.76rem}

.hotel-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px}
.hotel-comparison-card{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.hotel-comparison-card>img,.comparison-image-placeholder{width:100%;height:150px;border-radius:13px;object-fit:cover}
.comparison-image-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#eaf1f6,#f8fafc);color:var(--muted);font-weight:850}
.hotel-comparison-card h3{margin:14px 0 5px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}
.hotel-comparison-card>p{min-height:34px;margin:0 0 12px;color:var(--muted);font-size:.7rem}
.hotel-comparison-card dl{display:grid;gap:0;margin:0 0 12px}
.hotel-comparison-card dl>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf1f4;font-size:.72rem}
.hotel-comparison-card dt{color:var(--muted)}
.hotel-comparison-card dd{margin:0;color:var(--ink);font-weight:850;text-align:right}
.hotel-comparison-card ul{display:grid;gap:5px;margin:0 0 16px;padding-left:17px;color:var(--muted);font-size:.7rem}
.hotel-comparison-card button{margin-top:auto}

.grouped-room-list{display:grid;gap:14px}
.grouped-room-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.grouped-room-card>header{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:15px;padding:14px;background:#f7fafc;border-bottom:1px solid var(--line)}
.grouped-room-photo{width:132px;height:98px}
.grouped-room-card h4{margin:3px 0 4px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.grouped-room-card header p{margin:0;color:var(--muted);font-size:.7rem}
.grouped-room-rates{display:grid}
.grouped-room-rate{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:16px;padding:15px 16px;border-top:1px solid #edf1f4}
.grouped-room-rate:first-child{border-top:0}
.grouped-room-rate-copy{display:grid;gap:4px}
.grouped-room-rate-copy strong{color:var(--ink)}
.grouped-room-rate-copy span{color:var(--brand);font-size:.72rem;font-weight:800}
.grouped-room-rate-copy small{color:var(--muted);font-size:.67rem}
.grouped-room-rate-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;text-align:right}
.grouped-room-rate-price strong{font-size:1rem;color:var(--navy)}
.grouped-room-rate-price span{grid-column:1;font-size:.65rem;color:var(--muted)}
.grouped-room-rate-price button{grid-column:2;grid-row:1/3;min-width:86px}
.grouped-room-rate .room-selection-error{grid-column:1/-1}

.flight-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:8px}
.flight-result-actions button{min-width:0;width:100%;padding-left:10px;padding-right:10px}
.flight-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px 28px 4px}
.flight-detail-summary>div{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fbfd}
.flight-detail-summary strong{color:var(--navy)}
.flight-detail-summary span{color:var(--muted);font-size:.7rem}
.flight-detail-direction,.flight-detail-terms{margin:16px 28px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.flight-segment-detail{padding:15px;border:1px solid #e4ebf1;border-radius:14px;background:#fbfdfe}
.flight-segment-detail+ .flight-segment-detail{margin-top:12px}
.flight-segment-detail header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #e7edf2}
.flight-segment-detail header strong{color:var(--navy)}
.flight-segment-detail header span{color:var(--muted);font-size:.7rem}
.flight-segment-route{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:12px;padding:15px 0}
.flight-segment-route>div{display:grid;gap:3px}
.flight-segment-route>div:last-child{text-align:right}
.flight-segment-route strong{font-size:1.15rem;color:var(--ink)}
.flight-segment-route span{font-size:.72rem;color:var(--navy);font-weight:760}
.flight-segment-route small{font-size:.65rem;color:var(--muted)}
.flight-segment-route i{height:1px;background:linear-gradient(90deg,var(--brand),#c8d8e7,var(--brand));position:relative}
.flight-segment-route i:after{content:"✈";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0 5px;background:#fbfdfe;color:var(--brand);font-style:normal;font-size:.75rem}
.flight-segment-detail footer{display:flex;flex-wrap:wrap;gap:8px}
.flight-segment-detail footer span{padding:6px 9px;border-radius:999px;background:#edf4f9;color:var(--navy);font-size:.65rem;font-weight:800}
.layover-note{margin-top:12px;padding:9px 11px;border-radius:10px;background:#fff7e8;color:#7f5b19;font-size:.7rem;font-weight:800}
.flight-detail-terms ul{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--muted);font-size:.76rem;line-height:1.45}
.flight-detail-terms p{margin:14px 0 0;padding-top:12px;border-top:1px solid #e7edf2;color:var(--muted);font-size:.72rem}
.travel-detail-cta{display:flex;justify-content:flex-end;padding:20px 28px 0}

@media(max-width:900px){
  .hotel-comparison-grid{grid-template-columns:1fr}
  .hotel-comparison-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 14px}
  .hotel-comparison-card>img,.comparison-image-placeholder{grid-row:1/7;width:150px;height:100%}
  .hotel-comparison-card button{grid-column:2}
  .property-amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .flight-date-flex{align-items:stretch;flex-direction:column}
  .flight-date-flex-options{display:grid;grid-template-columns:repeat(3,1fr)}
  .flight-date-flex-options button{min-width:0}
  .hotel-compare-tray{align-items:stretch;flex-direction:column;bottom:10px}
  .hotel-compare-tray>div:last-child{display:grid;grid-template-columns:1fr 1fr}
  .travel-detail-modal{align-items:end;padding:0}
  .travel-detail-panel{width:100%;max-height:94vh;border-radius:24px 24px 0 0}
  .travel-detail-heading{padding:28px 20px 20px}
  .property-detail-hero{height:240px}
  .property-detail-actions{display:grid;grid-template-columns:1fr;padding:15px 18px 0}
  .property-detail-grid{grid-template-columns:1fr;padding:18px 18px 0}
  .property-detail-grid section.detail-wide{grid-column:auto}
  .property-amenity-grid,.property-review-list{grid-template-columns:1fr}
  .grouped-room-card>header{grid-template-columns:92px minmax(0,1fr)}
  .grouped-room-photo{width:92px;height:78px}
  .grouped-room-rate{grid-template-columns:1fr}
  .grouped-room-rate-price{grid-template-columns:1fr auto;text-align:left}
  .flight-detail-summary{grid-template-columns:1fr;padding:18px 18px 2px}
  .flight-detail-direction,.flight-detail-terms{margin:14px 18px 0;padding:16px}
  .flight-segment-route{grid-template-columns:1fr 46px 1fr;gap:8px}
  .flight-segment-route span{font-size:.66rem}
  .travel-detail-cta{padding:18px}
  .travel-detail-cta button{width:100%}
}
@media(max-width:520px){
  .hotel-comparison-card{display:flex}
  .hotel-comparison-card>img,.comparison-image-placeholder{width:100%;height:150px}
  .flight-result-actions{grid-template-columns:1fr}
  .property-detail-grid dl>div{grid-template-columns:1fr;gap:4px}
  .flight-segment-route{grid-template-columns:1fr;gap:8px}
  .flight-segment-route>div:last-child{text-align:left}
  .flight-segment-route i{width:1px;height:26px;margin-left:6px;background:linear-gradient(var(--brand),#c8d8e7,var(--brand))}
  .flight-segment-route i:after{left:50%;top:50%;padding:4px 0;transform:translate(-50%,-50%) rotate(90deg)}
}

/* Phase 3: My Trips, saved travelers, support center, and receipts */
.account-nav{overflow-x:auto;scrollbar-width:thin}
.trip-library-card .booking-library-icon{background:linear-gradient(145deg,#0d548f,#071a2f);color:#fff}
.traveler-account-grid{grid-template-columns:minmax(0,1.5fr) minmax(360px,.9fr)}
.account-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.account-panel-head h2{margin:.15rem 0 0;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.55rem}
.account-panel-head p{margin:0}
.secure-data-badge{display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border:1px solid #c8dde9;border-radius:999px;background:#eff7fb;color:#0d548f;font-size:.72rem;font-weight:900;white-space:nowrap}
.saved-travelers-list{display:grid;gap:13px}
.saved-traveler-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:15px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}
.saved-traveler-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#0d548f,#071a2f);color:#fff;font-size:1.2rem;font-weight:900}
.saved-traveler-copy>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.saved-traveler-copy strong{color:var(--navy);font-size:1rem}
.saved-traveler-copy p{margin:4px 0 10px;color:var(--muted);font-size:.8rem}
.saved-traveler-copy dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0}
.saved-traveler-copy dl div{padding:9px 10px;border-radius:12px;background:#f6f9fb}
.saved-traveler-copy dt{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.saved-traveler-copy dd{margin:3px 0 0;color:var(--ink);font-size:.78rem;font-weight:800}
.primary-traveler-badge{padding:4px 7px;border-radius:999px;background:#e9f7ef;color:#1f7a46;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.saved-traveler-actions{display:grid;gap:7px}
.saved-traveler-actions button,.icon-close{min-height:34px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff;color:var(--navy);font-weight:850;cursor:pointer}
.traveler-editor-panel{position:sticky;top:88px;height:max-content}
.traveler-editor-panel .checkout-form{padding:0;background:transparent;border:0;box-shadow:none}
.icon-close{width:36px;height:36px;padding:0;font-size:1.2rem}
.secure-data-note{padding:13px 14px;border:1px solid #c8dde9;border-radius:14px;background:#f4f9fc}
.secure-data-note strong{display:block;color:var(--navy);font-size:.8rem}
.secure-data-note p{margin:4px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}
.saved-traveler-selector{display:block;margin:0 0 12px;padding:11px 12px;border:1px solid #d8e4ec;border-radius:13px;background:#f8fbfd}
.saved-traveler-selector select{margin-top:7px}

.support-center-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.35fr);gap:18px}
.support-ticket-list{display:grid;gap:9px}
.support-ticket-card{display:grid;gap:5px;width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;cursor:pointer;transition:.18s ease}
.support-ticket-card:hover,.support-ticket-card:focus-visible{border-color:var(--brand);box-shadow:0 8px 22px rgba(7,26,47,.08);transform:translateY(-1px)}
.support-ticket-card strong{color:var(--navy);font-size:.92rem}
.support-ticket-card small{color:var(--muted);font-size:.72rem}
.support-ticket-status{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;background:#edf4f8;color:#31556f;font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.support-conversation-panel{min-height:520px}
.support-conversation-head{display:flex;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.support-conversation-head h2{margin:7px 0 3px;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.45rem}
.support-conversation-head p,.support-conversation-head small{margin:0;color:var(--muted);font-size:.75rem}
.support-message-thread{display:grid;gap:12px;max-height:480px;overflow:auto;padding:18px 3px}
.support-message{max-width:86%;padding:13px 14px;border-radius:16px;background:#f0f5f8}
.support-message.from-customer{justify-self:end;background:#e8f2f9}
.support-message.from-support{justify-self:start;background:#f7f3e9}
.support-message>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.support-message strong{color:var(--navy);font-size:.75rem}
.support-message time{color:var(--muted);font-size:.65rem}
.support-message p{margin:0;color:var(--ink);font-size:.82rem;line-height:1.5}
.support-reply-form{display:grid;gap:10px;padding-top:15px;border-top:1px solid var(--line)}
.support-reply-form textarea{width:100%;min-height:100px;border:1px solid var(--line);border-radius:13px;padding:12px;font:inherit;resize:vertical}
.support-modal-panel{max-width:760px}

.invoice-shell{padding-top:26px}
.invoice-card{max-width:980px;margin:0 auto}
.invoice-header{align-items:flex-start}
.invoice-header>div:last-child{text-align:right}
.invoice-header small{display:block;color:rgba(255,255,255,.7);font-size:.65rem;letter-spacing:.08em}
.invoice-header b{display:block;margin-top:5px;color:#fff;font-size:.92rem;letter-spacing:.06em}
.invoice-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:30px 34px 20px}
.invoice-title h1{margin:.15rem 0 .35rem;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:2.35rem}
.invoice-title p{margin:0;max-width:620px;color:var(--muted);line-height:1.5}
.invoice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 34px 24px}
.invoice-grid>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.invoice-grid small{display:block;color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.invoice-grid strong{display:block;margin:6px 0 3px;color:var(--navy)}
.invoice-grid span{color:var(--muted);font-size:.75rem}
.invoice-lines{margin:0 34px;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.invoice-line{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.6fr) minmax(140px,.45fr);gap:14px;align-items:center;padding:15px 17px;border-top:1px solid var(--line)}
.invoice-line:first-child{border-top:0}
.invoice-line-head{background:#f3f7fa;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.invoice-line>span:last-child{text-align:right;font-weight:900;color:var(--navy)}
.invoice-line strong,.invoice-line small{display:block}
.invoice-line small{margin-top:4px;color:var(--muted)}
.invoice-total{display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:24px 34px}
.invoice-total span{color:var(--muted);font-weight:800}
.invoice-total strong{color:var(--navy);font-size:1.7rem}
.invoice-disclosure{margin:0 34px 28px;padding:14px 16px;border:1px solid #e4dbc7;border-radius:14px;background:#fffaf0}
.invoice-disclosure strong{color:#7a5d27;font-size:.78rem}
.invoice-disclosure p{margin:5px 0 0;color:#6b6457;font-size:.74rem;line-height:1.5}

@media(max-width:980px){
  .traveler-account-grid,.support-center-grid{grid-template-columns:1fr}
  .traveler-editor-panel{position:static}
  .saved-traveler-copy dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .account-panel-head,.support-conversation-head,.invoice-title{flex-direction:column}
  .saved-traveler-card{grid-template-columns:44px minmax(0,1fr)}
  .saved-traveler-avatar{width:44px;height:44px}
  .saved-traveler-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .saved-traveler-copy dl{grid-template-columns:1fr 1fr}
  .support-message{max-width:96%}
  .invoice-title,.invoice-grid,.invoice-total{padding-left:18px;padding-right:18px}
  .invoice-grid{grid-template-columns:1fr}
  .invoice-lines{margin-left:18px;margin-right:18px}
  .invoice-line{grid-template-columns:1fr}
  .invoice-line-head{display:none}
  .invoice-line>span:last-child{text-align:left}
  .invoice-total{justify-content:space-between}
  .invoice-disclosure{margin-left:18px;margin-right:18px}
}
@media print{
  .invoice-card{max-width:none}
  .invoice-disclosure{break-inside:avoid}
}

/* Phase 4 — destinations, legal, growth analytics, and privacy controls */
.featured-destinations-section,.destination-directory,.destination-faq,.destination-bottom-cta{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:58px 0}
.featured-destinations-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}
.featured-destinations-heading>div>p:last-child{max-width:680px;color:var(--muted)}
.featured-destinations-heading>a{color:var(--brand);font-weight:850;text-decoration:none}
.featured-destination-grid,.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.featured-destination-grid article,.destination-card{position:relative;min-height:250px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,#fff 0%,#f4f8fb 100%);box-shadow:var(--shadow-sm);overflow:hidden}
.featured-destination-grid article:after,.destination-card:after{content:"";position:absolute;right:-42px;bottom:-58px;width:150px;height:150px;border-radius:50%;background:rgba(201,147,50,.1)}
.featured-destination-grid article>span,.destination-card-top span{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--wash-blue);color:var(--brand);font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.featured-destination-grid h3,.destination-card h3{margin:18px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.15;color:var(--navy)}
.featured-destination-grid h3 a,.destination-card h3 a{color:inherit;text-decoration:none}
.featured-destination-grid p,.destination-card p{position:relative;z-index:1;color:var(--muted);line-height:1.65}
.featured-destination-grid article>a,.destination-card-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;margin-top:16px;color:var(--brand);font-weight:900;text-decoration:none}
.destination-hero,.destination-detail-hero{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:84px 0 48px}
.destination-hero{display:flex;align-items:end;justify-content:space-between;gap:40px}
.destination-hero h1,.destination-detail-hero h1{max-width:820px;margin:10px 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,7vw,5.3rem);line-height:.98;color:var(--navy)}
.destination-hero p,.destination-detail-copy>p{max-width:760px;color:var(--muted);font-size:1.03rem;line-height:1.7}
.destination-search-cta{flex:0 0 auto;text-decoration:none}
.destination-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.destination-card-top b{color:#8c651d;font-size:.7rem;text-transform:uppercase}
.destination-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.destination-card-meta span,.destination-detail-meta span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.72rem;font-weight:800}
.destination-detail-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:34px;align-items:start}
.destination-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.destination-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.destination-detail-actions a{text-decoration:none}
.destination-planning-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,var(--navy) 0%,#103b61 100%);color:#fff;box-shadow:0 24px 60px rgba(7,26,47,.18)}
.destination-planning-card h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem}
.destination-planning-card p,.destination-planning-card li{color:rgba(255,255,255,.8);line-height:1.55}
.destination-planning-card ul{display:grid;gap:9px;margin:18px 0 0;padding-left:20px}
.destination-planning-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.12);color:var(--gold);font-size:1.3rem}
.destination-guide-body{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px 0 56px}
.destination-guide-body article{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.destination-guide-body h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.destination-guide-body p{color:var(--muted);line-height:1.65}
.destination-faq-list{display:grid;gap:10px;max-width:920px}
.destination-faq details{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 18px}
.destination-faq summary{cursor:pointer;padding:18px 0;color:var(--navy);font-weight:900}
.destination-faq details p{padding:0 0 18px;color:var(--muted);line-height:1.65}
.destination-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px;padding:34px;border-radius:24px;background:linear-gradient(135deg,#edf4f8,#fff7e8);border:1px solid var(--line)}
.destination-bottom-cta h2{margin:6px 0;font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.destination-bottom-cta p{color:var(--muted)}
.destination-bottom-cta a{text-decoration:none}

.legal-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:70px 0}
.legal-hero{max-width:820px;margin-bottom:34px}
.legal-hero h1{margin:8px 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,6vw,4.7rem);line-height:1;color:var(--navy)}
.legal-hero>p{color:var(--muted);font-size:1.02rem;line-height:1.7}.legal-hero small{color:#7b8998;font-weight:800}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.legal-nav{position:sticky;top:96px;display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}
.legal-nav a{padding:11px 12px;border-radius:10px;color:var(--muted);font-size:.8rem;font-weight:850;text-decoration:none}
.legal-nav a:hover,.legal-nav a.active{background:var(--wash-blue);color:var(--brand)}
.legal-content{display:grid;gap:16px}.legal-content>section{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}
.legal-content h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.legal-content p{margin:0;color:var(--muted);line-height:1.72}.legal-contact{background:linear-gradient(135deg,#f5f9fc,#fff8ea)!important}

.cookie-consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:5000;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:980px;margin:auto;padding:18px 20px;border:1px solid rgba(201,212,223,.95);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 26px 70px rgba(7,26,47,.25);backdrop-filter:blur(12px)}
.cookie-consent[hidden]{display:none!important}.cookie-consent strong{display:block;color:var(--navy)}.cookie-consent p{margin:5px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
.cookie-consent-actions{display:flex;gap:8px;flex:0 0 auto}.cookie-consent-actions button{white-space:nowrap}
.footer-cookie-button{padding:0;border:0;background:none;color:inherit;font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline}

.growth-flash{padding:13px 16px;border:1px solid #bcdccf;border-radius:14px;background:#effaf5;color:#276247;font-weight:800}.growth-flash.is-error{border-color:#efc8c8;background:#fff4f4;color:#9d3131}
.growth-notice{display:flex;gap:18px;align-items:flex-start;padding:17px 20px;border:1px solid #ead9b5;border-radius:16px;background:#fff9ed}.growth-notice strong{color:#7b5b1f;white-space:nowrap}.growth-notice p{margin:0;color:#6f6042;line-height:1.5}
.growth-dashboard-grid,.growth-management-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.growth-management-grid{grid-template-columns:1fr 1fr;align-items:start}
.growth-sales-chart{display:flex;align-items:end;gap:8px;min-height:230px;padding:22px 6px 0;overflow-x:auto}
.growth-sales-chart>div{display:grid;grid-template-rows:180px auto;gap:8px;min-width:28px;flex:1;text-align:center}
.growth-sales-chart i{position:relative;display:flex;align-items:end;height:180px;border-radius:8px;background:#f0f4f7;overflow:hidden}
.growth-sales-chart b{display:block;width:100%;border-radius:7px 7px 0 0;background:linear-gradient(180deg,var(--gold),#c58d2e)}
.growth-sales-chart span{font-size:.62rem;color:var(--muted);white-space:nowrap;transform:rotate(-35deg);transform-origin:center}
.growth-ranking{display:grid}.growth-ranking>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.growth-ranking>div>b{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--wash-blue);color:var(--brand);font-size:.72rem}.growth-ranking span{display:grid}.growth-ranking small{color:var(--muted)}.growth-ranking em{font-style:normal;font-weight:900;color:var(--navy)}
.growth-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px}.growth-form label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:850}.growth-form input,.growth-form select,.growth-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit;outline:none}.growth-form textarea{resize:vertical}.growth-form input:focus,.growth-form select:focus,.growth-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,84,143,.1)}
.growth-form small{color:#8794a2;font-weight:600;line-height:1.35}.growth-form .growth-wide{grid-column:1/-1}.growth-form .growth-check{display:flex;align-items:center;gap:9px;grid-column:1/-1}.growth-check input{width:18px;min-height:18px;accent-color:var(--brand)}.growth-form>button{justify-self:start}
.growth-inline{display:grid;grid-template-columns:1fr 1fr;gap:7px}.growth-table-wrap{margin-top:22px;overflow:auto;border-top:1px solid var(--line);padding-top:12px}

@media(max-width:1000px){.featured-destination-grid,.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-detail-hero{grid-template-columns:1fr}.destination-planning-card{max-width:680px}.destination-guide-body{grid-template-columns:1fr}.growth-dashboard-grid,.growth-management-grid{grid-template-columns:1fr}.growth-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.featured-destinations-section,.destination-directory,.destination-faq,.destination-bottom-cta,.destination-hero,.destination-detail-hero,.destination-guide-body,.legal-shell{width:calc(100% - 24px)}.featured-destination-grid,.destination-grid{grid-template-columns:1fr}.featured-destinations-heading,.destination-hero,.destination-bottom-cta{align-items:flex-start;flex-direction:column}.legal-layout{grid-template-columns:1fr}.legal-nav{position:static;display:flex;overflow-x:auto}.legal-nav a{flex:0 0 auto}.cookie-consent{left:10px;right:10px;bottom:10px;align-items:flex-start;flex-direction:column}.cookie-consent-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.growth-form{grid-template-columns:1fr}.growth-form .growth-wide,.growth-form .growth-check{grid-column:auto}.growth-metrics{grid-template-columns:1fr 1fr}.growth-notice{flex-direction:column;gap:6px}}
@media(max-width:460px){.growth-metrics{grid-template-columns:1fr}.cookie-consent-actions{grid-template-columns:1fr}.destination-detail-actions{display:grid}.destination-detail-actions a{text-align:center}.site-header nav a[href="/destinations"]{display:none}}
.growth-form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;grid-column:1/-1}.growth-form-actions button{min-height:44px}

/* LiteAPI guest-review rating states */
.review-badge.review-badge-loading strong,
.review-badge.review-badge-empty strong{
  background:#e8eef3;
  color:#60758b;
  box-shadow:none;
  font-size:.72rem;
  letter-spacing:.02em;
}
.review-badge.review-badge-loading .review-copy b,
.review-badge.review-badge-empty .review-copy b{
  color:#42566b;
}
.review-badge.review-badge-loading strong{
  font-size:1rem;
}

/* Google Hotel Center self-served pull administration */
.admin-tabs .admin-tab-link{display:flex;align-items:center;min-height:42px;padding:9px 16px;border-radius:11px;color:var(--muted);font-weight:850;text-decoration:none;white-space:nowrap}
.admin-tabs .admin-tab-link:hover{background:#eef3f7;color:var(--navy)}
.google-hotels-shell{padding-bottom:80px}
.google-hotels-hero{align-items:center}
.google-hotels-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.google-hotels-hero-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.google-hotels-message{margin:18px 0;padding:14px 16px;border:1px solid #b9dfca;border-radius:14px;background:#effaf4;color:#17633b;font-weight:800}
.google-hotels-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.google-hotels-metrics article{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.google-hotels-metrics span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.google-hotels-metrics strong{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;color:var(--navy)}
.google-hotels-metrics small{color:var(--muted);line-height:1.35}
.google-hotels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.google-hotels-grid-top{align-items:start}
.google-hotels-endpoints dl{display:grid;gap:10px;margin:0}
.google-hotels-endpoints dl div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.google-hotels-endpoints dl div:last-child{border-bottom:0}
.google-hotels-endpoints dt{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.google-hotels-endpoints dd{margin:0;overflow-wrap:anywhere}
.google-hotels-endpoints code{font-size:.78rem;color:var(--navy)}
.admin-note{margin:14px 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.google-hotels-inline-form,.google-hotels-test-form,.google-hotel-property-form{display:grid;gap:12px}
.google-hotels-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.google-hotels-inline-form label,.google-hotels-test-form label,.google-hotel-property-form label{display:grid;gap:6px;color:var(--muted);font-size:.73rem;font-weight:850}
.google-hotels-inline-form input,.google-hotels-test-form input,.google-hotels-test-form select,.google-hotel-property-form input,.google-hotel-property-form select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;outline:none}
.google-hotels-inline-form input:focus,.google-hotels-test-form input:focus,.google-hotels-test-form select:focus,.google-hotel-property-form input:focus,.google-hotel-property-form select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.1)}
.google-hotels-properties-card{margin:18px 0}
.google-hotels-property-list{display:grid;gap:12px}
.google-hotel-property{border:1px solid var(--line);border-radius:16px;background:#fbfdff;overflow:hidden}
.google-hotel-property summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}
.google-hotel-property summary::-webkit-details-marker{display:none}
.google-hotel-property summary>div:first-child{display:grid;gap:4px}
.google-hotel-property summary strong{font-size:1rem;color:var(--navy)}
.google-hotel-property summary span{color:var(--muted);font-size:.78rem}
.google-hotel-property-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.google-hotel-property-status small{color:var(--muted)}
.google-hotel-missing{margin:0 18px 14px;padding:10px 12px;border:1px solid #efd2a6;border-radius:11px;background:#fff8ec;color:#8a5b13;font-size:.78rem;font-weight:760}
.google-hotel-property-form{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 18px 18px}
.google-hotel-property-form .google-hotel-wide{grid-column:span 2}
.google-hotel-check{display:flex!important;align-items:center;gap:9px;min-height:46px;padding-top:24px}
.google-hotel-check input{width:18px!important;min-height:18px!important;accent-color:var(--brand)}
.google-hotel-property-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.google-hotel-property footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:#fff}
.google-hotel-property footer span{color:var(--muted);font-size:.74rem}
.google-hotels-test-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.google-hotels-test-form .google-hotel-wide{grid-column:1/-1}
.google-hotels-test-form>button{grid-column:1/-1}
.google-hotels-checklist ol{display:grid;gap:10px;margin:0;padding-left:22px;color:var(--ink)}
.google-hotels-checklist li{padding-left:4px;line-height:1.45}
.google-hotels-test-result{margin:18px 0}
.google-hotels-xml-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.google-hotels-xml-grid>div{min-width:0}
.google-hotels-xml-grid strong{display:block;margin-bottom:8px;color:var(--navy)}
.google-hotels-xml-grid pre{max-height:420px;margin:0;padding:14px;border:1px solid #d7e2eb;border-radius:13px;background:#071a2f;color:#dceeff;overflow:auto;font-size:.72rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.google-hotels-history{margin-top:18px}
@media(max-width:1100px){.google-hotels-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.google-hotel-property-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.google-hotels-hero{align-items:flex-start}.google-hotels-hero-actions{width:100%}.google-hotels-hero-actions a{flex:1}.google-hotels-metrics,.google-hotels-grid,.google-hotels-xml-grid{grid-template-columns:1fr}.google-hotels-metrics{gap:9px}.google-hotels-inline-form,.google-hotels-test-form,.google-hotel-property-form{grid-template-columns:1fr}.google-hotel-property-form .google-hotel-wide,.google-hotels-test-form .google-hotel-wide{grid-column:auto}.google-hotel-property summary{align-items:flex-start;flex-direction:column}.google-hotel-property-status{justify-content:flex-start}.google-hotel-property footer{align-items:flex-start;flex-direction:column}}

/* Stonehaven header logo hard constraints */
@media(max-width:380px){.wordmark{max-width:150px}.wordmark-copy small{display:none}.wordmark-copy strong{font-size:.92rem}.wordmark>img,.site-logo-mark{flex-basis:38px!important;width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important}}

/* Stonehaven Affiliate Program */
.affiliate-shell,.affiliate-admin-shell{padding-bottom:72px}
.affiliate-hero,.affiliate-admin-head{align-items:center}
.affiliate-two-column,.affiliate-dashboard-grid,.affiliate-admin-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:22px;align-items:start}
.affiliate-dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr)}
.affiliate-main-column,.affiliate-side-column{display:grid;gap:22px}
.affiliate-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 0}
.affiliate-metric-grid article{min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.affiliate-metric-grid small,.affiliate-metric-grid span{display:block;color:var(--muted);font-size:.72rem}
.affiliate-metric-grid strong{display:block;margin:5px 0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;line-height:1.1;overflow-wrap:anywhere}
.affiliate-form{display:grid;gap:13px}
.affiliate-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.affiliate-form label{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:850}
.affiliate-form input,.affiliate-form select,.affiliate-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;outline:none}
.affiliate-form textarea{resize:vertical;line-height:1.45}
.affiliate-form input:focus,.affiliate-form select:focus,.affiliate-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,84,143,.1)}
.affiliate-check{grid-template-columns:auto 1fr!important;align-items:start!important;gap:10px!important;line-height:1.45}
.affiliate-check input{width:18px!important;min-height:18px!important;margin-top:2px}
.affiliate-program-summary ol{display:grid;gap:12px;padding-left:22px;color:var(--muted)}
.affiliate-program-summary p{color:var(--muted);line-height:1.6}
.affiliate-link-list,.affiliate-tier-list,.affiliate-flag-list{display:grid;gap:10px}
.affiliate-link-card,.affiliate-method-card,.affiliate-tier-list article,.affiliate-flag-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fbfdff}
.affiliate-link-card>div:first-child,.affiliate-method-card>div,.affiliate-tier-list article>div{display:grid;gap:3px}
.affiliate-link-card span,.affiliate-method-card span,.affiliate-tier-list small,.affiliate-flag-list small{color:var(--muted);font-size:.72rem}
.affiliate-link-card strong,.affiliate-method-card strong{color:var(--navy)}
.affiliate-link-copy{display:flex;flex:1;min-width:220px;max-width:560px}
.affiliate-link-copy input{min-width:0;flex:1;border:1px solid var(--line);border-radius:10px 0 0 10px;padding:9px 10px;background:#fff}
.affiliate-link-copy button{border:0;border-radius:0 10px 10px 0;padding:9px 14px;background:var(--navy);color:#fff;font-weight:850}
.affiliate-details{margin-top:13px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdff}
.affiliate-details summary{cursor:pointer;color:var(--brand);font-weight:850}
.affiliate-details[open] summary{margin-bottom:12px}
.compact-form{gap:10px}
.form-help{margin:10px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}
.affiliate-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:14px}
.affiliate-table{width:100%;min-width:780px;border-collapse:collapse;background:#fff}
.affiliate-table th,.affiliate-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:.76rem}
.affiliate-table th{background:#f5f8fb;color:var(--muted);font-size:.67rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.affiliate-table td strong,.affiliate-table td small{display:block}
.affiliate-table td small{margin-top:3px;color:var(--muted);line-height:1.35}
.affiliate-table tr:last-child td{border-bottom:0}
.withdrawal-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.affiliate-admin-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.affiliate-admin-actions form{margin:0}
.affiliate-admin-card{margin-top:22px}
.affiliate-settings-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.affiliate-settings-form .affiliate-check{align-self:center}
.admin-affiliate-table{min-width:1200px}
.affiliate-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}
.affiliate-flag-list article{align-items:flex-start}
.affiliate-flag-list article>div{flex:1}
.affiliate-flag-list p{margin:4px 0;color:var(--muted);line-height:1.4}
.affiliate-reveal-shell{padding-top:48px;padding-bottom:80px}
.affiliate-secret-list{display:grid;gap:10px;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.affiliate-secret-list div{display:grid;grid-template-columns:190px 1fr;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.affiliate-secret-list div:last-child{padding-bottom:0;border-bottom:0}
.affiliate-secret-list dt{color:var(--muted);font-weight:850}
.affiliate-secret-list dd{margin:0;color:var(--navy);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.success-message{border-color:#bfe7d0;background:#effaf4;color:#16693a}
.error-message{border-color:#efc8c8;background:#fff5f5;color:#a33030}
.warning-message{border-color:#ecd79e;background:#fff9e8;color:#7b5b09}
.affiliate-form button[disabled]{cursor:not-allowed;opacity:.55}

@media(max-width:1180px){
  .affiliate-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .affiliate-settings-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .withdrawal-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .affiliate-two-column,.affiliate-dashboard-grid,.affiliate-admin-grid{grid-template-columns:1fr}
  .affiliate-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .affiliate-link-card{align-items:flex-start;flex-direction:column}
  .affiliate-link-copy{width:100%;max-width:none}
}
@media(max-width:640px){
  .affiliate-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .affiliate-form .form-grid,.affiliate-settings-form,.withdrawal-form{grid-template-columns:1fr}
  .affiliate-link-copy{display:grid;grid-template-columns:1fr}
  .affiliate-link-copy input,.affiliate-link-copy button{border-radius:10px}
  .affiliate-secret-list div{grid-template-columns:1fr;gap:4px}
  .affiliate-admin-actions{align-items:stretch;flex-direction:column}
  .affiliate-admin-actions a,.affiliate-admin-actions button{width:100%;justify-content:center}
}

/* Affiliate partner landing pages and share kit */
.affiliate-landing-link{margin-top:7px}
.affiliate-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.affiliate-share-grid article{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbfd}
.affiliate-share-grid textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:var(--ink);font:inherit;font-size:.82rem;line-height:1.5}
.affiliate-share-grid button{justify-self:start}
.affiliate-public-page{background:#f4f7fa}
.affiliate-landing-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:54px 0 80px}
.affiliate-landing-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:24px;align-items:stretch}
.affiliate-landing-copy,.affiliate-landing-trust,.affiliate-landing-options article{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}
.affiliate-landing-copy{padding:clamp(28px,5vw,64px);background:linear-gradient(145deg,#fff 0%,#f5f9fc 100%)}
.affiliate-landing-copy h1{max-width:780px;margin:8px 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.95;color:var(--navy)}
.affiliate-landing-copy>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:1.05rem;line-height:1.7}
.affiliate-landing-copy>small{display:block;margin-top:18px;color:var(--muted);font-weight:750}
.affiliate-landing-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.affiliate-landing-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.affiliate-landing-trust{padding:28px;background:linear-gradient(160deg,var(--navy),#123f65);color:#fff}
.affiliate-landing-trust h2{margin:18px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem}
.affiliate-landing-trust ul{display:grid;gap:11px;margin:0;padding:0;list-style:none;color:#d9e7f1}
.affiliate-landing-trust li:before{content:"✓";margin-right:9px;color:var(--gold);font-weight:900}
.affiliate-landing-lion{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.08);color:var(--gold);font-size:2rem}
.affiliate-landing-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.affiliate-landing-options article{padding:24px}
.affiliate-landing-options h2{margin:5px 0 10px;font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.affiliate-landing-options p:not(.section-kicker){color:var(--muted);line-height:1.6}
.affiliate-landing-options a{color:var(--brand);font-weight:900;text-decoration:none}
@media(max-width:900px){.affiliate-landing-hero{grid-template-columns:1fr}.affiliate-landing-options{grid-template-columns:1fr}.affiliate-share-grid{grid-template-columns:1fr}}
@media(max-width:640px){.affiliate-landing-shell{width:calc(100% - 20px);padding:24px 0 56px}.affiliate-landing-copy,.affiliate-landing-trust{padding:22px;border-radius:19px}.affiliate-landing-copy h1{font-size:2.65rem}.affiliate-landing-actions{flex-direction:column}.affiliate-landing-actions a{width:100%}}
