html.ati-lock,body.ati-lock{overflow:hidden!important}
.ati-overlay{--violet:#6841e6;--violet2:#8b6af2;--ink:#211944;--muted:#81789b;--line:#e8e1fa;position:fixed;inset:0;z-index:999999;background:linear-gradient(145deg,#faf8ff 0%,#f7fbff 58%,#f6f0ff 100%);display:none;overflow:auto;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,sans-serif;color:var(--ink)}
.ati-overlay.is-open{display:block}.ati-overlay *{box-sizing:border-box}.ati-overlay button{font:inherit}.ati-shell{max-width:1540px;min-height:100%;margin:auto;padding:16px 22px 112px}
.ati-top{height:72px;border:1px solid rgba(103,70,220,.11);background:rgba(255,255,255,.9);backdrop-filter:blur(22px);border-radius:24px;display:flex;align-items:center;gap:14px;padding:11px 18px;box-shadow:0 14px 40px rgba(62,38,126,.08);position:sticky;top:8px;z-index:30}.ati-top>button{width:44px;height:44px;border:0;border-radius:50%;background:#f1ebff;color:#5d39d3;font-size:23px;cursor:pointer}.ati-top>div{flex:1}.ati-top small{font-size:10px;font-weight:950;letter-spacing:.14em;color:#7b61d1}.ati-top h1{font-size:24px;line-height:1;margin:4px 0 0}.ati-top>span{padding:9px 13px;border-radius:15px;background:#ecfff4;color:#247d55;font-weight:850;font-size:12px}
.ati-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,.72fr);gap:18px;margin-top:18px;align-items:start}.ati-main,.ati-side{display:grid;gap:18px;align-content:start}
.ati-hero{min-height:322px;border-radius:32px;padding:34px 32px;background:linear-gradient(135deg,#8f6df0 0%,#a991f5 42%,#d5c8ff 100%);display:flex;align-items:stretch;overflow:hidden;position:relative;box-shadow:0 26px 64px rgba(88,51,183,.2);isolation:isolate}.ati-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 21% 15%,rgba(255,255,255,.22),transparent 33%),linear-gradient(105deg,rgba(74,39,171,.14),transparent 60%);z-index:-1}.ati-hero-copy{width:55%;max-width:585px;position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start}.ati-hero-copy>small{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;font-weight:900;font-size:10px;letter-spacing:.12em}.ati-hero h2{font-size:clamp(34px,3.7vw,56px);line-height:1.02;color:#fff;margin:18px 0 12px;text-shadow:0 7px 22px rgba(63,32,139,.18)}.ati-hero p{color:rgba(255,255,255,.92);font-size:15px;line-height:1.55;font-weight:650;max-width:520px;margin:0}.ati-hero-art{position:absolute;right:0;top:0;width:49%;height:100%;object-fit:cover;object-position:left center;z-index:1;mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%)}
.ati-search-toggle{margin-top:auto;min-height:58px;width:min(480px,100%);border:1px solid rgba(255,255,255,.55);border-radius:19px;background:rgba(255,255,255,.94);color:#3d287e;display:grid;grid-template-columns:36px auto 1fr 22px;align-items:center;gap:10px;text-align:left;padding:9px 14px;box-shadow:0 15px 28px rgba(64,34,137,.16);cursor:pointer}.ati-search-toggle>span{font-size:27px}.ati-search-toggle b{font-size:15px;white-space:nowrap}.ati-search-toggle em{font-style:normal;color:#8a80a3;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ati-search-toggle i{font-style:normal;font-size:21px;transition:.2s}.ati-search-toggle.is-open i{transform:rotate(180deg)}
.ati-search,.ati-opportunities,.ati-side>section{background:rgba(255,255,255,.92);border:1px solid rgba(105,73,211,.12);border-radius:28px;padding:21px;box-shadow:0 14px 42px rgba(66,41,123,.07)}.ati-search[hidden]{display:none}.ati-search{display:grid;gap:16px;animation:atiReveal .24s ease}.ati-summarybar{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.ati-summarybar article{padding:11px 13px;border-radius:16px;background:#f7f3ff;display:grid;gap:4px}.ati-summarybar small{font-size:8px;font-weight:950;color:#8d79d2;letter-spacing:.11em}.ati-summarybar b{font-size:12px}.ati-search-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ati-search-row label,.ati-travellers>label{width:132px;font-weight:900;color:#513795;font-size:13px}.ati-search button,.ati-travellers button{border:1px solid #e2daf7;background:#fbf9ff;color:#62587a;padding:10px 13px;border-radius:13px;font-weight:800;cursor:pointer;transition:.17s}.ati-search button:hover,.ati-search button.is-active,.ati-travellers button.is-active{background:linear-gradient(135deg,#7854ed,#6035dc);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(93,52,216,.2)}.ati-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ati-sliders label{background:#f8f5ff;border-radius:17px;padding:12px 14px;display:grid;gap:8px}.ati-sliders span{display:flex;justify-content:space-between;font-weight:800;font-size:12px;color:#675c83}.ati-sliders input{width:100%;accent-color:#6b43e7}.ati-travellers{display:flex;align-items:center;gap:10px}.ati-travellers>div{display:flex;gap:8px;flex-wrap:wrap}.ati-travellers button{padding:6px 10px 6px 6px;display:flex;align-items:center;gap:7px}.ati-travellers button>span,.ati-family-mini article>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eee8ff;overflow:hidden}.ati-travellers img,.ati-family-mini img{width:100%;height:100%;object-fit:cover}
.ati-opportunities>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.ati-opportunities>header small{color:#795cdf;font-weight:950;letter-spacing:.12em}.ati-opportunities h2{font-size:25px;margin:5px 0}.ati-opportunities p{margin:0;color:var(--muted);font-size:12px}.ati-opportunities>header>span{background:#f2edff;padding:8px 11px;border-radius:999px;color:#6546c6;font-weight:800;font-size:11px;white-space:nowrap}.ati-filter-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.ati-filter-chips button{border:1px solid #e4ddf7;background:#fff;color:#615777;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:850;cursor:pointer}.ati-filter-chips button.is-active{background:linear-gradient(135deg,#7149e8,#5b31d4);color:#fff;border-color:transparent}
.ati-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.ati-destination{border:2px solid transparent;background:#fff;border-radius:21px;overflow:hidden;box-shadow:0 10px 28px rgba(48,28,92,.09);transition:.2s;color:inherit;min-width:0}.ati-destination:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(48,28,92,.14)}.ati-destination.is-selected{border-color:#6d44e6;box-shadow:0 0 0 4px rgba(109,68,230,.11),0 18px 36px rgba(57,31,123,.16)}.ati-destination-art{height:148px;position:relative;background:#ded4ff;overflow:hidden}.ati-destination-art>img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.ati-destination:hover .ati-destination-art>img{transform:scale(1.04)}.ati-destination-art em{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.93);color:#4e388e;border-radius:999px;padding:6px 9px;font-size:9px;font-style:normal;font-weight:900;max-width:72%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 16px rgba(45,28,95,.12)}.ati-heart{position:absolute;top:9px;right:9px;width:33px;height:33px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#6740dc;font-size:22px;cursor:pointer;box-shadow:0 6px 16px rgba(46,29,91,.15)}.ati-destination-copy{padding:13px}.ati-destination-copy>header{display:flex;justify-content:space-between;align-items:start;gap:8px}.ati-destination h3{margin:0;font-size:18px}.ati-destination header small{color:#9189a4;font-size:9px}.ati-destination header>b{background:#eaffef;color:#238153;border-radius:999px;padding:5px 7px;font-size:9px}.ati-destination-copy>p{height:38px;overflow:hidden;margin:8px 0;color:#817895;font-size:10px;line-height:1.45}.ati-meta{display:grid;gap:5px}.ati-meta span{font-size:9px;color:#655c7c}.ati-destination footer{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:11px;border-top:1px solid #eee9fb;padding-top:10px}.ati-destination footer>div{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}.ati-destination footer small{font-size:8px;color:#8d85a0}.ati-destination footer strong{font-size:18px;color:#5834cc}.ati-destination footer em{width:100%;font-style:normal;font-size:8px;color:#9189a4}.ati-destination footer>button{border:0;background:#f0ebff;color:#5e39d2;border-radius:12px;padding:8px 9px;font-size:9px;font-weight:900;cursor:pointer}.ati-empty{grid-column:1/-1;min-height:210px;display:grid;place-items:center;text-align:center;align-content:center;gap:7px;background:#faf8ff;border:1px dashed #d8cdf8;border-radius:21px}.ati-empty span{font-size:42px}.ati-empty small{color:#8c84a0}.ati-compare{display:block;margin:17px auto 0;border:0;border-radius:15px;background:linear-gradient(135deg,#7752ed,#5d32d8);color:#fff;padding:13px 21px;font-weight:900;cursor:pointer}
.ati-side{position:sticky;top:98px}.ati-side>section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.ati-side h3{margin:0;font-size:16px}.ati-side header small{color:#7662bd;font-size:10px}.ati-family-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ati-family-mini article{background:#f9f6ff;border-radius:15px;padding:8px 4px;text-align:center;display:grid;justify-items:center;gap:3px}.ati-family-mini article>span{width:47px;height:47px}.ati-family-mini b{font-size:10px}.ati-family-mini small{font-size:7px;color:#8a819c}.ati-status-list{display:grid;gap:8px}.ati-status-list article{display:flex;align-items:center;gap:10px;background:#f8f5ff;padding:10px;border-radius:15px}.ati-status-list article>span{width:38px;height:38px;border-radius:13px;background:#fff;display:grid;place-items:center;font-size:20px}.ati-status-list article>div{display:grid;gap:2px}.ati-status-list small{font-size:8px;color:#7c61d3;font-weight:900}.ati-status-list b{font-size:11px}.ati-status-list em{font-size:8px;color:#8a829d;font-style:normal}.ati-tip{background:linear-gradient(145deg,#eee6ff,#dceeff)!important}.ati-tip>span{font-size:31px}.ati-tip p{color:#645b7f;line-height:1.55;font-size:11px}.ati-shortlist{display:grid;gap:8px}.ati-shortlist>p{color:#8a829b;font-size:11px}.ati-shortlist article{display:flex;align-items:center;gap:9px;padding:8px;background:#f8f5ff;border-radius:13px}.ati-shortlist article>img{width:42px;height:34px;border-radius:9px;object-fit:cover}.ati-shortlist article div{flex:1;display:grid}.ati-shortlist article b{font-size:10px}.ati-shortlist article small{color:#8a829b;font-size:8px}.ati-shortlist article button{border:0;background:#fff;border-radius:50%;width:27px;height:27px;cursor:pointer;color:#8d80a6}
.ati-launcher{width:calc(100% - 40px);margin:20px;border:0;border-radius:24px;background:linear-gradient(135deg,#d2c0ff,#b79cff);padding:21px;display:flex;align-items:center;gap:17px;text-align:left;color:white;box-shadow:0 20px 40px rgba(92,52,195,.19);cursor:pointer}.ati-launcher>span{font-size:44px}.ati-launcher div{display:grid;gap:3px;flex:1}.ati-launcher small{font-weight:900;letter-spacing:.13em}.ati-launcher b{font-size:23px}.ati-launcher em{font-style:normal;opacity:.9}.ati-launcher>i{font-style:normal;font-size:29px}
.ati-flights-modal,.ati-compare-modal{position:fixed;inset:0;z-index:1000001;background:rgba(32,18,70,.42);backdrop-filter:blur(15px);display:none;padding:24px;overflow:auto}.ati-flights-modal.is-open,.ati-compare-modal.is-open{display:grid;place-items:center}.ati-flights-dialog,.ati-compare-dialog{width:min(1280px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fbfaff;border-radius:28px;padding:22px;box-shadow:0 32px 90px rgba(35,20,78,.3)}.ati-modal-head{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}.ati-modal-head small{font-weight:900;color:#7659d8;letter-spacing:.12em}.ati-modal-head h2{font-size:28px;margin:4px 0}.ati-modal-head p{margin:0;color:#857d99}.ati-modal-head>button{width:42px;height:42px;border:0;border-radius:50%;background:#eee8ff;color:#5e38d2;font-size:25px;cursor:pointer}.ati-board-head,.ati-flight-row{display:grid;grid-template-columns:.8fr .8fr 1.35fr 1.1fr 1fr .9fr 1fr;gap:8px;align-items:center}.ati-board-head{padding:0 13px 8px;color:#8a80a2;font-size:8px;font-weight:900}.ati-board{display:grid;gap:8px}.ati-flight-row{width:100%;border:1px solid #e8e1f8;background:#fff;border-radius:17px;padding:13px;text-align:left;color:inherit;cursor:pointer}.ati-flight-row.is-best{border-color:#8c70ed;background:linear-gradient(90deg,#f4f0ff,#fff)}.ati-flight-row span{display:grid;gap:2px}.ati-flight-row b{font-size:12px}.ati-flight-row small{font-size:8px;color:#8f879f}.ati-board-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px}.ati-board-foot span{color:#8b829d;font-size:10px}.ati-board-foot button{border:0;border-radius:14px;background:#6841e3;color:#fff;padding:11px 15px;font-weight:850;cursor:pointer}.ati-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.ati-compare-card{border:1px solid #e4dcf7;border-radius:20px;background:#fff;overflow:hidden}.ati-compare-card.ati-best{border:2px solid #6b44e5}.ati-compare-card>img{width:100%;height:145px;object-fit:cover}.ati-compare-card>header{display:flex;justify-content:space-between;padding:13px}.ati-compare-card h3{margin:0}.ati-compare-card header small{color:#837a96}.ati-compare-card header>b{font-size:8px;background:#e8fff0;color:#21814e;padding:6px 8px;border-radius:999px}.ati-compare-card dl{margin:0;padding:0 13px 13px}.ati-compare-card dl>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eee9f8;padding:9px 0}.ati-compare-card dt{font-size:10px;color:#817991}.ati-compare-card dd{margin:0;font-size:10px;font-weight:850}.ati-modal-note{background:#f3eeff;border-radius:14px;padding:11px;color:#766d88;font-size:10px}
@keyframes atiReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:1250px){.ati-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ati-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr)}}
@media(max-width:1020px){.ati-layout{grid-template-columns:1fr}.ati-side{position:static;grid-template-columns:repeat(2,1fr)}.ati-hero-copy{width:60%}.ati-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ati-shell{padding:10px 10px 96px}.ati-top{height:62px;border-radius:19px}.ati-top>span{display:none}.ati-layout{margin-top:10px;gap:10px}.ati-main,.ati-side{gap:10px}.ati-hero{min-height:370px;padding:24px 20px;align-items:flex-start}.ati-hero-copy{width:100%;max-width:none}.ati-hero h2{font-size:38px;max-width:90%}.ati-hero p{max-width:82%;font-size:13px}.ati-hero-art{width:75%;height:62%;top:auto;bottom:0;right:-9%;mask-image:linear-gradient(180deg,transparent 0%,#000 30%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%)}.ati-search-toggle{position:relative;z-index:4;margin-top:auto;width:100%;grid-template-columns:32px auto 1fr 18px;min-height:55px}.ati-search-toggle em{font-size:9px}.ati-search,.ati-opportunities,.ati-side>section{border-radius:21px;padding:16px}.ati-summarybar{grid-template-columns:1fr 1fr}.ati-search-row label,.ati-travellers>label{width:100%}.ati-sliders{grid-template-columns:1fr}.ati-travellers{align-items:flex-start;flex-direction:column}.ati-opportunities>header{display:block}.ati-opportunities>header>span{display:inline-block;margin-top:9px}.ati-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px}.ati-destination{min-width:78vw;scroll-snap-align:start}.ati-destination-art{height:185px}.ati-side{display:grid;grid-template-columns:1fr}.ati-family-mini{grid-template-columns:repeat(4,1fr)}.ati-board-head{display:none}.ati-flight-row{grid-template-columns:1fr 1fr}.ati-flight-row span:nth-child(n+5){border-top:1px solid #eee9f8;padding-top:8px}.ati-compare-grid{grid-template-columns:1fr}.ati-launcher{width:calc(100% - 20px);margin:10px;padding:16px}.ati-launcher b{font-size:18px}.ati-launcher em{font-size:11px}}

.ati-load-more{display:block;margin:18px auto 2px;border:1px solid #d9cff8;background:#f6f2ff;color:#5c38cf;border-radius:15px;padding:12px 20px;font-weight:900;cursor:pointer;transition:.18s}
.ati-load-more:hover{transform:translateY(-2px);background:#eee7ff;box-shadow:0 10px 22px rgba(86,53,189,.14)}
.ati-load-more[hidden]{display:none}
.ati-opportunities>header>span b{color:#5634c9}

.ati-date-block{margin:9px 0;padding:9px 10px;border-radius:13px;background:linear-gradient(135deg,#f3efff,#f8fbff);border:1px solid #e5ddfa;display:grid;gap:2px}
.ati-date-block b{font-size:10px;color:#4f359c}.ati-date-block span{font-size:9px;color:#625a78;font-weight:800}.ati-date-block small{font-size:7px;color:#948ba8}
.ati-mobile-status-toggle{display:none}
@media(max-width:760px){
  .ati-overlay{overflow-x:hidden}
  .ati-shell{width:100%;max-width:100vw;overflow-x:hidden;padding:8px 8px 116px}
  .ati-top{width:100%;min-width:0;padding:9px 11px;gap:9px}.ati-top h1{font-size:19px}.ati-top>button{width:39px;height:39px;flex:0 0 39px}
  .ati-layout,.ati-main{display:block;width:100%;min-width:0}.ati-main>*{margin-bottom:10px}
  .ati-hero{min-height:310px;width:100%;padding:20px 16px;border-radius:23px;overflow:hidden}
  .ati-hero-copy{min-width:0;width:100%}.ati-hero h2{font-size:31px;line-height:1.05;max-width:100%;overflow-wrap:anywhere;margin:12px 0 9px}.ati-hero p{max-width:100%;font-size:12px;padding-right:22%}
  .ati-hero-art{width:68%;height:52%;right:-16%;opacity:.82}
  .ati-search-toggle{min-width:0;grid-template-columns:30px minmax(0,auto) minmax(0,1fr) 16px;padding:8px 10px}.ati-search-toggle b{font-size:13px}.ati-search-toggle em{min-width:0}
  .ati-search,.ati-opportunities{width:100%;min-width:0;padding:14px;border-radius:19px}
  .ati-opportunities>header h2{font-size:22px;line-height:1.12;overflow-wrap:anywhere}.ati-opportunities>header p{font-size:11px}
  .ati-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.ati-filter-chips button{flex:0 0 auto}
  .ati-grid{display:grid;grid-template-columns:1fr;overflow:visible;padding:0;gap:12px;width:100%}
  .ati-destination{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:42% 58%;border-radius:18px;scroll-snap-align:none}
  .ati-destination-art{height:100%;min-height:250px}.ati-destination-copy{padding:12px;min-width:0}.ati-destination h3{font-size:17px}.ati-destination-copy>p{height:auto;max-height:43px;margin:6px 0}.ati-meta span{font-size:8px}.ati-destination footer{align-items:center;flex-wrap:wrap}.ati-destination footer>button{width:100%;font-size:10px;padding:9px}.ati-destination footer strong{font-size:17px}
  .ati-mobile-status-toggle{display:flex;width:100%;border:1px solid #ded4f8;background:#fff;color:#4e358f;border-radius:17px;padding:12px 14px;align-items:center;justify-content:space-between;font-weight:900;box-shadow:0 10px 25px rgba(58,36,104,.08);margin:0 0 10px}.ati-mobile-status-toggle span{font-size:10px;color:#7b68b8}
  .ati-side{display:none!important;position:static;width:100%;grid-template-columns:1fr!important;margin-bottom:10px}.ati-side.is-mobile-open{display:grid!important}
  .ati-side>section{padding:14px;border-radius:18px}.ati-family-mini{grid-template-columns:repeat(4,minmax(0,1fr))}.ati-family-mini article{min-width:0}
  .ati-flights-modal,.ati-compare-modal{padding:8px}.ati-flights-dialog,.ati-compare-dialog{max-height:calc(100vh - 16px);padding:14px;border-radius:19px}.ati-modal-head h2{font-size:22px}.ati-board-foot{padding-bottom:74px}
}
@media(max-width:430px){
  .ati-destination{grid-template-columns:39% 61%}.ati-destination-art{min-height:270px}.ati-date-block{padding:7px 8px}.ati-date-block b{font-size:9px}.ati-hero h2{font-size:28px}
}


/* 1.4.3 emergency mobile touch restoration */
.ati-overlay,
.ati-overlay.is-open,
.ati-shell,
.ati-layout,
.ati-main,
.ati-side,
.ati-opportunities,
.ati-grid,
.ati-destination,
.ati-destination-copy {
  pointer-events: auto !important;
}
.ati-overlay button,
.ati-overlay a,
.ati-overlay input,
.ati-overlay select,
.ati-overlay [role="button"],
.ati-launcher,
.ati-mobile-status-toggle,
.ati-search-toggle,
.ati-heart,
.ati-destination footer > button,
.ati-load-more,
.ati-compare {
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(104,65,230,.12);
}
.ati-hero-art,
.ati-hero::before {
  pointer-events: none !important;
}
.ati-flights-modal:not(.is-open),
.ati-compare-modal:not(.is-open) {
  display: none !important;
  pointer-events: none !important;
}
.ati-flights-modal.is-open,
.ati-compare-modal.is-open {
  pointer-events: auto !important;
}
@media(max-width:760px){
  .ati-overlay{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .ati-destination{display:block!important}
  .ati-destination-art{height:180px!important;min-height:0!important}
  .ati-destination-copy{width:100%!important}
}


/* 1.4.4 Safari / Chrome mobile safe-area correction */
:root{
  --ati-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ati-visible-height: 100dvh;
  --ati-viewport-offset: 0px;
}

@supports (height: 100dvh){
  .ati-overlay.is-open{
    min-height: 100dvh !important;
    height: 100dvh !important;
  }
}

.ati-overlay.is-open{
  height: var(--ati-visible-height, 100dvh) !important;
  max-height: var(--ati-visible-height, 100dvh) !important;
  padding-bottom: calc(128px + var(--ati-safe-bottom)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.ati-shell,
.ati-layout,
.ati-main{
  min-width: 0 !important;
  max-width: 100% !important;
}

.ati-main{
  padding-bottom: calc(112px + var(--ati-safe-bottom)) !important;
}

.ati-destination:last-child{
  margin-bottom: calc(48px + var(--ati-safe-bottom)) !important;
}

/* Global AGNES overlays: only their actual controls capture taps. */
.agnes-toast,
.agnes-notification,
.agnes-live-alert,
.agnes-next-event,
[class*="notification-bar"],
[class*="live-alert"],
[class*="toast"]{
  pointer-events: none !important;
}

.agnes-toast button,
.agnes-toast a,
.agnes-notification button,
.agnes-notification a,
.agnes-live-alert button,
.agnes-live-alert a,
.agnes-next-event button,
.agnes-next-event a,
[class*="notification-bar"] button,
[class*="notification-bar"] a,
[class*="live-alert"] button,
[class*="live-alert"] a,
[class*="toast"] button,
[class*="toast"] a{
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

@media(max-width:760px){
  .ati-overlay.is-open{
    inset: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
  }

  .ati-hero{
    overflow: hidden !important;
  }

  .ati-opportunities,
  .ati-grid,
  .ati-destination{
    width: 100% !important;
    max-width: 100% !important;
  }

  .ati-destination footer{
    padding-bottom: 4px;
  }

  .ati-destination footer > button,
  .ati-load-more,
  .ati-compare{
    position: relative;
    z-index: 6;
  }
}


/* ==========================================================
   1.5.0 MOBILE COMPACT BIG UPDATE
   IMPORTANT: scoped strictly to phones. Tablet and desktop
   retain the stable 1.4.4 layout without any changes.
   ========================================================== */
@media (max-width:760px){

  /* Denser top section */
  .ati-shell{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .ati-hero{
    min-height:245px !important;
    padding:17px 15px !important;
  }

  .ati-hero h2{
    max-width:78% !important;
    margin:8px 0 7px !important;
    font-size:27px !important;
    line-height:1.02 !important;
  }

  .ati-hero p{
    max-width:72% !important;
    padding:0 !important;
    margin:0 0 8px !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }

  .ati-hero-art{
    width:60% !important;
    height:58% !important;
    right:-14% !important;
    bottom:0 !important;
  }

  .ati-search-toggle{
    min-height:48px !important;
    margin-top:8px !important;
    padding:7px 9px !important;
    border-radius:15px !important;
  }

  /* Offers header */
  .ati-opportunities{
    padding:12px 10px 16px !important;
  }

  .ati-opportunities>header{
    margin-bottom:10px !important;
  }

  .ati-opportunities>header h2{
    font-size:20px !important;
    line-height:1.08 !important;
    margin-bottom:4px !important;
  }

  .ati-opportunities>header p{
    display:none !important;
  }

  .ati-filter-chips{
    gap:6px !important;
    margin:8px -2px 10px !important;
  }

  .ati-filter-chips button{
    min-height:34px !important;
    padding:7px 10px !important;
    font-size:9px !important;
    border-radius:999px !important;
  }

  /* One compact horizontal card per row */
  .ati-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    overflow:visible !important;
    padding:0 !important;
  }

  .ati-destination{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:216px !important;
    border-radius:19px !important;
    overflow:hidden !important;
    box-shadow:0 9px 22px rgba(44,31,92,.10) !important;
    background:#fff !important;
  }

  .ati-destination-art{
    height:100% !important;
    min-height:216px !important;
    border-radius:0 !important;
  }

  .ati-destination-art img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .ati-destination-art>em{
    left:7px !important;
    right:7px !important;
    top:7px !important;
    width:auto !important;
    padding:5px 7px !important;
    font-size:7px !important;
    line-height:1.15 !important;
    text-align:center !important;
    border-radius:999px !important;
  }

  .ati-heart{
    top:auto !important;
    right:7px !important;
    bottom:7px !important;
    width:35px !important;
    height:35px !important;
  }

  .ati-destination-copy{
    width:100% !important;
    min-width:0 !important;
    padding:10px 10px 9px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
  }

  .ati-destination-copy>header{
    display:flex !important;
    align-items:flex-start !important;
    gap:7px !important;
    margin:0 !important;
  }

  .ati-destination h3{
    margin:0 !important;
    font-size:17px !important;
    line-height:1.05 !important;
  }

  .ati-destination-copy>header small{
    display:block !important;
    margin-top:2px !important;
    font-size:9px !important;
  }

  .ati-destination-copy>header>b{
    flex:0 0 auto !important;
    padding:5px 7px !important;
    font-size:9px !important;
    border-radius:10px !important;
  }

  /* Long prose does not occupy permanent space on phone */
  .ati-destination-copy>p{
    display:none !important;
  }

  /* Date becomes a single compact line */
  .ati-date-block{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:3px 7px !important;
    margin:0 !important;
    padding:7px 8px !important;
    border-radius:11px !important;
  }

  .ati-date-block b{
    width:100% !important;
    font-size:9px !important;
    line-height:1.15 !important;
  }

  .ati-date-block span{
    font-size:8px !important;
  }

  .ati-date-block small{
    display:none !important;
  }

  /* Horizontal smart-information rail */
  .ati-meta{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:5px !important;
    margin:0 !important;
  }

  .ati-meta span{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    min-height:29px !important;
    padding:5px 6px !important;
    border:1px solid #ebe5f7 !important;
    border-radius:9px !important;
    background:#faf9fe !important;
    font-size:7px !important;
    font-weight:850 !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }

  .ati-meta span:last-child{
    grid-column:1/-1 !important;
  }

  /* Price and CTA remain on one compact row */
  .ati-destination footer{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:end !important;
    gap:7px !important;
    margin-top:auto !important;
    padding-top:7px !important;
    border-top:1px solid #eeeaf8 !important;
  }

  .ati-destination footer>div{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    align-items:end !important;
    justify-content:start !important;
    gap:2px !important;
    min-width:0 !important;
  }

  .ati-destination footer strong{
    font-size:18px !important;
    line-height:1 !important;
  }

  .ati-destination footer small{
    font-size:7px !important;
  }

  .ati-destination footer em{
    grid-column:1/-1 !important;
    margin-top:2px !important;
    font-size:7px !important;
    white-space:nowrap !important;
  }

  .ati-destination footer>button{
    width:auto !important;
    min-width:91px !important;
    min-height:39px !important;
    margin:0 !important;
    padding:8px 9px !important;
    border-radius:11px !important;
    font-size:9px !important;
    white-space:nowrap !important;
  }

  .ati-load-more{
    min-height:42px !important;
    margin:13px auto 0 !important;
    padding:9px 15px !important;
  }

  /* Shorter status drawer and safe bottom spacing */
  .ati-mobile-status-toggle{
    min-height:46px !important;
    padding:10px 12px !important;
    margin-bottom:8px !important;
  }

  .ati-main{
    padding-bottom:calc(124px + var(--ati-safe-bottom)) !important;
  }
}

/* Extra-narrow iPhones */
@media (max-width:390px){
  .ati-destination{
    grid-template-columns:100px minmax(0,1fr) !important;
  }

  .ati-destination footer>button{
    min-width:82px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }

  .ati-hero h2{
    font-size:25px !important;
  }
}


/* ==========================================================
   1.5.1 MOBILE CARD COMPACT FIX
   - split date area into small chips instead of one full-width row
   - hide redundant season row like "Αύγ–Οκτ"
   ========================================================== */
@media (max-width:760px){
  .ati-date-block{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
  }

  .ati-date-block b,
  .ati-date-block span{
    display:flex !important;
    align-items:center !important;
    min-height:30px !important;
    padding:6px 8px !important;
    border:1px solid #ebe5f7 !important;
    border-radius:10px !important;
    background:#faf9fe !important;
    font-size:8px !important;
    line-height:1.15 !important;
    font-weight:850 !important;
    width:auto !important;
    max-width:100% !important;
    flex:0 1 auto !important;
  }

  .ati-date-block b{ white-space:nowrap !important; }
  .ati-date-block span{ white-space:normal !important; }
  .ati-date-block small{ display:none !important; }

  .ati-meta{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .ati-meta span:last-child{
    display:none !important;
  }
}


/* ==========================================================
   1.5.2 TABLET COMPACT CARDS
   Scoped only to tablet widths. Phone keeps 1.5.1 layout.
   ========================================================== */
@media (min-width:761px) and (max-width:1180px){
  .ati-shell{
    padding:12px 14px 18px !important;
  }

  .ati-opportunities{
    padding:12px !important;
  }

  .ati-opportunities>header{
    margin-bottom:10px !important;
  }

  .ati-filter-chips{
    gap:8px !important;
    margin-bottom:12px !important;
  }

  .ati-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:start !important;
  }

  .ati-destination{
    display:grid !important;
    grid-template-rows:150px auto !important;
    min-height:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 10px 24px rgba(45,31,91,.10) !important;
  }

  .ati-destination-art{
    width:100% !important;
    height:150px !important;
    min-height:150px !important;
    overflow:hidden !important;
    border-radius:18px 18px 0 0 !important;
    background:#ece9f6 !important;
  }

  .ati-destination-art img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center 52% !important;
    image-rendering:auto !important;
    transform:translateZ(0) !important;
    backface-visibility:hidden !important;
  }

  .ati-destination-copy{
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    min-height:0 !important;
    padding:11px 12px 12px !important;
  }

  .ati-destination-copy>header{
    margin:0 !important;
    align-items:flex-start !important;
  }

  .ati-destination h3{
    margin:0 !important;
    font-size:1.15rem !important;
    line-height:1.05 !important;
  }

  .ati-destination-copy>header small{
    font-size:.74rem !important;
  }

  .ati-destination-copy>header>b{
    padding:5px 8px !important;
    font-size:.72rem !important;
  }

  /* Remove long prose and redundant season on tablet cards. */
  .ati-destination-copy>p:not(.ati-country):not(.ati-card-price),
  .ati-meta span:last-child{
    display:none !important;
  }

  /* Strong date treatment without making the card taller. */
  .ati-date-block{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:3px 8px !important;
    margin:1px 0 0 !important;
    padding:8px 9px !important;
    border:1px solid rgba(104,65,210,.22) !important;
    border-radius:11px !important;
    background:linear-gradient(135deg,#f7f3ff,#ffffff) !important;
  }

  .ati-date-block b{
    width:auto !important;
    color:#5131b7 !important;
    font-size:.84rem !important;
    font-weight:950 !important;
    letter-spacing:.01em !important;
    line-height:1.1 !important;
  }

  .ati-date-block span{
    color:#49415d !important;
    font-size:.69rem !important;
    font-weight:800 !important;
  }

  .ati-date-block small{
    display:none !important;
  }

  .ati-meta{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:5px !important;
    margin:0 !important;
  }

  .ati-meta span{
    display:flex !important;
    align-items:center !important;
    min-height:31px !important;
    padding:5px 7px !important;
    border:1px solid #ebe6f5 !important;
    border-radius:9px !important;
    background:#fbfaff !important;
    font-size:.68rem !important;
    line-height:1.15 !important;
  }

  .ati-destination footer{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:end !important;
    gap:8px !important;
    margin-top:auto !important;
    padding-top:8px !important;
    border-top:1px solid #eeeaf6 !important;
  }

  .ati-destination footer strong{
    font-size:1.35rem !important;
    line-height:1 !important;
  }

  .ati-destination footer small,
  .ati-destination footer em{
    font-size:.66rem !important;
  }

  .ati-destination footer>button{
    min-width:104px !important;
    min-height:39px !important;
    padding:8px 11px !important;
    border-radius:11px !important;
    font-size:.78rem !important;
  }

  .ati-tag{
    max-width:72% !important;
    padding:6px 9px !important;
    font-size:.66rem !important;
  }

  .ati-heart{
    width:38px !important;
    height:38px !important;
  }
}


/* ==========================================================
   1.6.0 FLEXIBLE FLIGHT EXPLORER
   ========================================================== */
.ati-flight-controls{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:10px;
  padding:14px;
  margin-bottom:16px;
  border:1px solid #e8e1f8;
  border-radius:18px;
  background:linear-gradient(135deg,#f8f5ff,#fff);
}
.ati-flight-controls label,
.ati-flex-choice{
  display:grid;
  gap:6px;
  min-width:0;
}
.ati-flight-controls label>span,
.ati-flex-choice>span{
  color:#756b8a;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}
.ati-flight-controls input,
.ati-flight-controls select{
  width:100%;
  min-height:42px;
  padding:9px 10px;
  border:1px solid #ddd4f2;
  border-radius:12px;
  background:#fff;
  color:#241a3c;
  font:inherit;
  font-size:11px;
  font-weight:750;
}
.ati-flex-choice>div{
  display:flex;
  gap:5px;
}
.ati-flex-choice button{
  flex:1;
  min-height:42px;
  padding:7px;
  border:1px solid #ddd4f2;
  border-radius:11px;
  background:#fff;
  color:#6243c5;
  font-weight:900;
  cursor:pointer;
}
.ati-flex-choice button.is-active{
  color:#fff;
  border-color:#6841e3;
  background:#6841e3;
}
.ati-flight-apply{
  align-self:end;
  min-height:42px;
  border:0;
  border-radius:12px;
  background:#6841e3;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.ati-flight-date b{color:#5d39d1}
.ati-flight-empty{
  display:grid;
  place-items:center;
  gap:6px;
  min-height:130px;
  padding:24px;
  border:1px dashed #cfc3ef;
  border-radius:17px;
  background:#fbf9ff;
  color:#706580;
}
.ati-flight-empty span{font-size:10px}
.ati-flight-row small{line-height:1.3}

@media(max-width:980px){
  .ati-flight-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .ati-flight-controls{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:10px;
    gap:8px;
  }
  .ati-flight-apply{grid-column:1/-1}
  .ati-board-head{display:none!important}
  .ati-flight-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:12px!important;
  }
  .ati-flight-row span:nth-child(3),
  .ati-flight-row span:nth-child(7){grid-column:1/-1}
  .ati-flights-dialog{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
}


/* ==========================================================
   1.6.1 TRAVEL ICON CTA
   Replaces the heavy “Δες πτήσεις” text with a recognizable
   travel action while keeping an accessible label.
   ========================================================== */

.ati-travel-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:116px !important;
  min-height:44px !important;
  padding:9px 14px !important;
  border:1px solid rgba(105,65,227,.14) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#f2edff,#e8ddff) !important;
  color:#6038d1 !important;
  font-weight:900 !important;
  box-shadow:0 7px 16px rgba(94,56,202,.10) !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.ati-travel-cta:hover{
  transform:translateY(-2px) !important;
  background:linear-gradient(135deg,#eee7ff,#dfd0ff) !important;
  box-shadow:0 10px 20px rgba(94,56,202,.16) !important;
}

.ati-travel-cta:active{
  transform:translateY(0) scale(.98) !important;
}

.ati-travel-cta:focus-visible{
  outline:3px solid rgba(105,65,227,.22) !important;
  outline-offset:3px !important;
}

.ati-travel-cta__icon{
  display:grid !important;
  place-items:center !important;
  width:27px !important;
  height:27px !important;
  flex:0 0 27px !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#754cf0,#5b35d1) !important;
  color:#fff !important;
  box-shadow:0 5px 10px rgba(86,48,198,.20) !important;
}

.ati-travel-cta__icon svg{
  width:17px !important;
  height:17px !important;
  fill:currentColor !important;
  transform:rotate(-10deg) !important;
}

.ati-travel-cta__label{
  line-height:1 !important;
}

/* Tablet: icon-led compact action */
@media (min-width:761px) and (max-width:1180px){
  .ati-travel-cta{
    min-width:44px !important;
    width:44px !important;
    height:42px !important;
    padding:6px !important;
    border-radius:13px !important;
  }

  .ati-travel-cta__label{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
  }

  .ati-travel-cta__icon{
    width:29px !important;
    height:29px !important;
    flex-basis:29px !important;
  }
}

/* Mobile: keep the icon and one short word */
@media (max-width:760px){
  .ati-travel-cta{
    min-width:94px !important;
    min-height:40px !important;
    gap:6px !important;
    padding:7px 10px !important;
    border-radius:12px !important;
  }

  .ati-travel-cta__icon{
    width:25px !important;
    height:25px !important;
    flex-basis:25px !important;
    border-radius:9px !important;
  }

  .ati-travel-cta__icon svg{
    width:15px !important;
    height:15px !important;
  }

  .ati-travel-cta__label{
    font-size:9px !important;
  }
}


/* ==========================================================
   1.6.2 COMPACT DESTINATION CARDS
   - temperature badge on destination photo
   - removes weather/season/flight detail rows from card body
   - reduces vertical card length
   - keeps price, dates, alternatives and travel action visible
   ========================================================== */

.ati-destination-art{
  position:relative !important;
  overflow:hidden !important;
  background:#ebe8f4 !important;
}

.ati-destination-art img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
  transform:scale(1.01) !important;
  backface-visibility:hidden !important;
}

.ati-photo-temp{
  position:absolute !important;
  right:12px !important;
  bottom:10px !important;
  z-index:4 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  min-height:30px !important;
  padding:5px 10px !important;
  border:1px solid rgba(255,255,255,.56) !important;
  border-radius:999px !important;
  background:rgba(20,27,43,.76) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:0 6px 16px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

/* Weather, sea temperature, flight duration and season are no longer
   repeated below the image. They remain available in Flight Explorer. */
.ati-destination .ati-meta,
.ati-destination .ati-weather,
.ati-destination .ati-flight-meta,
.ati-destination .ati-season{
  display:none !important;
}

.ati-destination-copy > p:not(.ati-country):not(.ati-card-price){
  display:none !important;
}

.ati-destination-copy{
  gap:7px !important;
}

.ati-date-block{
  margin:0 !important;
  padding:7px 9px !important;
  min-height:0 !important;
  border-radius:10px !important;
}

.ati-date-block small{
  display:none !important;
}

.ati-destination footer{
  margin-top:auto !important;
  padding-top:8px !important;
}

/* Tablet / desktop compact grid */
@media (min-width:761px){
  .ati-destination{
    grid-template-rows:clamp(118px,13vw,150px) auto !important;
    min-height:0 !important;
  }

  .ati-destination-art{
    height:clamp(118px,13vw,150px) !important;
    min-height:clamp(118px,13vw,150px) !important;
  }

  .ati-destination-copy{
    padding:10px 12px 11px !important;
  }

  .ati-destination-copy h3{
    margin:0 !important;
    line-height:1.08 !important;
  }

  .ati-country{
    margin:0 !important;
  }

  .ati-date-block{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
  }

  .ati-destination footer{
    min-height:44px !important;
  }
}

/* Phone compact cards keep the horizontal image-left layout */
@media (max-width:760px){
  .ati-destination{
    min-height:176px !important;
    grid-template-columns:118px minmax(0,1fr) !important;
  }

  .ati-destination-art{
    min-height:176px !important;
    height:100% !important;
  }

  .ati-photo-temp{
    right:8px !important;
    bottom:8px !important;
    min-width:36px !important;
    min-height:27px !important;
    padding:4px 8px !important;
    font-size:10px !important;
  }

  .ati-destination-copy{
    padding:9px !important;
    gap:6px !important;
  }

  .ati-date-block{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  .ati-date-block b,
  .ati-date-block span{
    min-height:29px !important;
    padding:5px 7px !important;
  }

  .ati-destination footer{
    padding-top:6px !important;
  }
}


/* ==========================================================
   1.7.0 TRAVEL FINALIZATION FOUNDATION
   Compact cards focused on date, price and date alternatives.
   ========================================================== */
.ati-final-card .ati-destination-copy>p,
.ati-final-card .ati-date-block,
.ati-final-card .ati-meta{display:none!important}
.ati-final-card .ati-destination-art picture,
.ati-final-card .ati-destination-art img{display:block;width:100%;height:100%}
.ati-final-card .ati-destination-art img{object-fit:cover;object-position:center 46%}
.ati-primary-date{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 9px;border:1px solid #e6def8;border-radius:11px;background:#fbf9ff;color:#4d337f}
.ati-primary-date b{font-size:11px;white-space:nowrap}
.ati-primary-date small{margin-left:auto;color:#827796;font-size:9px;white-space:nowrap}
.ati-alternative-dates{display:flex;align-items:center;gap:6px;min-width:0}
.ati-alternative-dates>span{color:#8a8098;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.ati-alternative-dates button{min-width:0;padding:5px 7px;border:0;border-radius:999px;background:#f2edff;color:#6540ca;font-size:8px;font-weight:850;white-space:nowrap;cursor:pointer}
.ati-alternative-dates button:hover{background:#e8ddff}
.ati-final-card footer{margin-top:auto!important}

@media(min-width:761px){
  .ati-final-card{grid-template-rows:132px auto!important;min-height:0!important}
  .ati-final-card .ati-destination-art{height:132px!important;min-height:132px!important}
  .ati-final-card .ati-destination-copy{padding:10px 11px 11px!important;gap:7px!important}
  .ati-final-card .ati-destination-copy h3{font-size:1.03rem!important}
  .ati-final-card footer{padding-top:7px!important}
}

@media(max-width:760px){
  .ati-final-card{grid-template-columns:118px minmax(0,1fr)!important;min-height:190px!important}
  .ati-final-card .ati-destination-art{height:100%!important;min-height:190px!important}
  .ati-final-card .ati-destination-copy{padding:10px!important;gap:7px!important}
  .ati-primary-date{padding:6px 7px!important;min-height:31px!important}
  .ati-primary-date b{font-size:9px!important}
  .ati-primary-date small{font-size:7px!important}
  .ati-alternative-dates{flex-wrap:wrap!important;gap:4px!important}
  .ati-alternative-dates>span{width:100%!important;font-size:7px!important}
  .ati-alternative-dates button{font-size:7px!important;padding:4px 6px!important}
}
\n\n/* 1.7.2 force compact airport label to remain on one line */\n.ati-destination :is(.ati-primary-date,.ati-date-block) small,\n.ati-destination :is(.ati-primary-date,.ati-date-block) span,\n.ati-destination :is(.ati-primary-date,.ati-date-block) b{\n  white-space:nowrap !important;\n}\n
/* 1.8.0 Netflix discovery + sorting */
.ati-discovery{display:grid;gap:18px;margin:4px 0 20px}
.ati-discovery-rail{min-width:0}
.ati-discovery-rail>header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 9px}
.ati-discovery-rail h3{margin:0;font-size:17px;color:#23173e}
.ati-discovery-rail header button{border:0;background:transparent;color:#6541d8;font-weight:900;cursor:pointer}
.ati-discovery-rail>div{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,22%);gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}
.ati-rail-card{scroll-snap-align:start;border:1px solid #ebe5f7;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(45,31,91,.08);cursor:pointer}
.ati-rail-art{position:relative;height:104px;overflow:hidden}
.ati-rail-art img{width:100%;height:100%;object-fit:cover;display:block}
.ati-rail-art span{position:absolute;right:8px;bottom:8px;padding:4px 7px;border-radius:999px;background:rgba(25,25,38,.78);color:#fff;font-size:10px;font-weight:900}
.ati-rail-copy{display:grid;gap:3px;padding:9px 10px}
.ati-rail-copy b{font-size:13px;color:#20152f}
.ati-rail-copy small{font-size:9px;color:#746c83}
.ati-sortbar{display:flex;justify-content:flex-end;gap:10px;margin:4px 0 14px;flex-wrap:wrap}
.ati-sortbar label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:900;color:#736985}
.ati-sortbar select{min-height:38px;padding:7px 30px 7px 10px;border:1px solid #ddd4ef;border-radius:12px;background:#fff;color:#32224d;font-weight:800}
@media(max-width:760px){
 .ati-discovery-rail>div{grid-auto-columns:72%}
 .ati-sortbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .ati-sortbar label{display:grid;gap:4px}
 .ati-sortbar select{width:100%;font-size:10px}
}
@media(min-width:761px) and (max-width:1180px){.ati-discovery-rail>div{grid-auto-columns:31%}}


/* ==========================================================
   1.8.2 DISCOVERY RAILS FIX
   - responsive image loader
   - rails contained inside the main column
   - useful date, nights and price on every discovery card
   - period-aware Christmas / Easter / summer / long-weekend rows
   ========================================================== */

.ati-main,
.ati-opportunities,
.ati-discovery,
.ati-discovery-rail{
  min-width:0 !important;
  max-width:100% !important;
}

.ati-opportunities{
  overflow:hidden !important;
}

.ati-discovery{
  width:100% !important;
  overflow:hidden !important;
  gap:16px !important;
  margin:8px 0 18px !important;
}

.ati-discovery-rail{
  width:100% !important;
  overflow:hidden !important;
}

.ati-discovery-rail>header{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 2px 9px !important;
}

.ati-discovery-rail>header>div{
  display:grid !important;
  gap:2px !important;
  min-width:0 !important;
}

.ati-discovery-rail h3{
  margin:0 !important;
  color:#23173e !important;
  font-size:17px !important;
  line-height:1.15 !important;
}

.ati-discovery-rail>header small{
  color:#857a98 !important;
  font-size:9px !important;
  font-weight:800 !important;
}

.ati-discovery-rail>header button{
  flex:0 0 auto !important;
  border:0 !important;
  background:transparent !important;
  color:#6541d8 !important;
  font-size:10px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.ati-discovery-rail>.ati-rail-track{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:minmax(190px,23%) !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:2px 2px 9px !important;
  scroll-snap-type:x proximity !important;
  overscroll-behavior-inline:contain !important;
  scrollbar-width:none !important;
}

.ati-discovery-rail>.ati-rail-track::-webkit-scrollbar{
  display:none !important;
}

.ati-rail-card{
  display:grid !important;
  grid-template-rows:112px auto !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
  border:1px solid #ebe5f7 !important;
  border-radius:17px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 8px 20px rgba(45,31,91,.08) !important;
  cursor:pointer !important;
  transition:transform .17s ease,box-shadow .17s ease !important;
}

.ati-rail-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 13px 26px rgba(45,31,91,.13) !important;
}

.ati-rail-card:focus-visible{
  outline:3px solid rgba(105,65,227,.22) !important;
  outline-offset:2px !important;
}

.ati-rail-art{
  position:relative !important;
  height:112px !important;
  overflow:hidden !important;
  background:#e7e0fb !important;
}

.ati-rail-art picture,
.ati-rail-art img{
  display:block !important;
  width:100% !important;
  height:100% !important;
}

.ati-rail-art img{
  object-fit:cover !important;
  object-position:center !important;
}

.ati-rail-art>span{
  position:absolute !important;
  right:8px !important;
  bottom:8px !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  background:rgba(25,25,38,.78) !important;
  color:#fff !important;
  font-size:9px !important;
  font-weight:950 !important;
}

.ati-rail-copy{
  display:grid !important;
  gap:7px !important;
  padding:9px 10px 10px !important;
}

.ati-rail-copy>header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}

.ati-rail-copy>header b{
  min-width:0 !important;
  overflow:hidden !important;
  color:#20152f !important;
  font-size:13px !important;
  line-height:1.1 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.ati-rail-copy>header em{
  flex:0 0 auto !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  background:#e9faee !important;
  color:#218247 !important;
  font-size:8px !important;
  font-style:normal !important;
  font-weight:950 !important;
}

.ati-rail-date{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:5px !important;
  min-width:0 !important;
  padding:6px 7px !important;
  border:1px solid #ebe5f7 !important;
  border-radius:10px !important;
  background:#faf8ff !important;
}

.ati-rail-date span{
  font-size:10px !important;
}

.ati-rail-date strong{
  min-width:0 !important;
  overflow:hidden !important;
  color:#5e3dc5 !important;
  font-size:9px !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.ati-rail-date small{
  color:#857b95 !important;
  font-size:8px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

.ati-rail-copy>footer{
  display:flex !important;
  align-items:baseline !important;
  gap:3px !important;
  border:0 !important;
  padding:0 !important;
}

.ati-rail-copy>footer small,
.ati-rail-copy>footer span{
  color:#8b8299 !important;
  font-size:8px !important;
}

.ati-rail-copy>footer strong{
  color:#653ed2 !important;
  font-size:18px !important;
  line-height:1 !important;
}

/* The filter area remains present but no longer dominates the page. */
.ati-sortbar{
  align-items:center !important;
  margin:4px 0 12px !important;
}

.ati-sortbar label{
  font-size:9px !important;
}

.ati-sortbar select{
  min-height:34px !important;
  padding-top:5px !important;
  padding-bottom:5px !important;
  font-size:10px !important;
}

@media (min-width:761px) and (max-width:1180px){
  .ati-discovery-rail>.ati-rail-track{
    grid-auto-columns:minmax(178px,31%) !important;
  }
}

@media (max-width:760px){
  .ati-discovery{
    gap:14px !important;
  }

  .ati-discovery-rail>.ati-rail-track{
    grid-auto-columns:78% !important;
  }

  .ati-rail-card{
    grid-template-rows:126px auto !important;
  }

  .ati-rail-art{
    height:126px !important;
  }

  .ati-discovery-rail h3{
    font-size:15px !important;
  }

  .ati-sortbar{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }
}


/* ==========================================================
   1.8.3 COMPACT ALTERNATIVES FIX
   One visible alternative + compact “+1”; never overflows.
   ========================================================== */

.ati-alternative-dates{
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) 30px !important;
  align-items:center !important;
  gap:5px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.ati-alternative-dates .ati-alt-symbol{
  display:grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  border-radius:8px !important;
  background:#f0eaff !important;
  color:#6841d8 !important;
  font-size:11px !important;
  font-weight:950 !important;
}

.ati-alternative-dates button{
  min-width:0 !important;
  max-width:100% !important;
  height:27px !important;
  padding:4px 7px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#f2edff !important;
  color:#6540ca !important;
  font-size:8px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.ati-alternative-dates .ati-alt-primary{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.ati-alternative-dates .ati-alt-more{
  width:30px !important;
  min-width:30px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  background:#6841df !important;
  color:#fff !important;
}

.ati-alternative-dates button:hover{
  filter:brightness(.97) !important;
}

@media(max-width:760px){
  .ati-alternative-dates{
    grid-template-columns:20px minmax(0,1fr) 28px !important;
    gap:4px !important;
  }

  .ati-alternative-dates .ati-alt-symbol{
    width:20px !important;
    height:20px !important;
    font-size:10px !important;
  }

  .ati-alternative-dates button{
    height:25px !important;
    padding:3px 6px !important;
    font-size:7px !important;
  }

  .ati-alternative-dates .ati-alt-more{
    width:28px !important;
    min-width:28px !important;
  }
}


/* ==========================================================
   1.9.0 PERIOD INTELLIGENCE
   Schedule-aware month / long-range breaks / holidays / price.
   ========================================================== */

.ati-rail-reason{
  min-width:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  color:#80758f !important;
  font-size:8px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.ati-rail-date--flex{
  background:linear-gradient(135deg,#f3edff,#fff8ea) !important;
}

.ati-rail-date--flex>span{
  display:grid !important;
  place-items:center !important;
  width:19px !important;
  height:19px !important;
  border-radius:7px !important;
  background:#6841df !important;
  color:#fff !important;
  font-size:9px !important;
  font-weight:950 !important;
}

[data-ati-period] option:disabled{
  color:#aaa !important;
}

@media(max-width:760px){
  .ati-rail-reason{
    font-size:7px !important;
  }
}


/* ==========================================================
   1.9.1 MOBILE FREEZE FIX
   Progressive discovery rendering and rendering containment.
   ========================================================== */

.ati-discovery-loading{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  min-height:72px !important;
  padding:14px !important;
  border:1px solid #ece5f8 !important;
  border-radius:16px !important;
  background:#faf8ff !important;
  color:#736789 !important;
}

.ati-discovery-loading span{
  width:18px !important;
  height:18px !important;
  border:3px solid #ddd2fa !important;
  border-top-color:#6841df !important;
  border-radius:50% !important;
  animation:atiDiscoverySpin .8s linear infinite !important;
}

.ati-discovery-loading b{
  font-size:10px !important;
}

@keyframes atiDiscoverySpin{
  to{transform:rotate(360deg)}
}

.ati-rail-card,
.ati-destination{
  contain:layout paint style !important;
}

@supports (content-visibility:auto){
  .ati-rail-card,
  .ati-destination{
    content-visibility:auto !important;
    contain-intrinsic-size:220px 190px !important;
  }
}

@media(max-width:760px){
  .ati-discovery-rail:nth-of-type(n+5){
    display:none !important;
  }

  .ati-rail-track{
    overscroll-behavior-x:contain !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .ati-rail-art img{
    decoding:async !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .ati-discovery-loading span{
    animation:none !important;
  }
}


/* ==========================================================
   1.9.2 CATEGORY VIEW + LAPTOP RAIL NAVIGATION
   ========================================================== */

.ati-rail-actions{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex:0 0 auto !important;
}

.ati-rail-arrows{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
}

.ati-rail-arrows button{
  display:grid !important;
  place-items:center !important;
  width:32px !important;
  height:32px !important;
  padding:0 !important;
  border:1px solid #e2daf5 !important;
  border-radius:11px !important;
  background:#fff !important;
  color:#6540d0 !important;
  font-size:22px !important;
  line-height:1 !important;
  box-shadow:0 5px 13px rgba(72,48,133,.08) !important;
  cursor:pointer !important;
  transition:transform .16s ease,background .16s ease !important;
}

.ati-rail-arrows button:hover{
  transform:translateY(-2px) !important;
  background:#f2edff !important;
}

.ati-see-all{
  min-height:32px !important;
  padding:6px 9px !important;
  border-radius:10px !important;
}

.ati-rail-track{
  cursor:grab !important;
  user-select:none !important;
}

.ati-rail-track.is-dragging{
  cursor:grabbing !important;
  scroll-behavior:auto !important;
  scroll-snap-type:none !important;
}

.ati-category-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147482500 !important;
  display:none !important;
  overflow:auto !important;
  padding:22px !important;
  background:rgba(242,238,252,.94) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  backdrop-filter:blur(18px) !important;
  overscroll-behavior:contain !important;
}

.ati-category-modal.is-open{
  display:block !important;
}

.ati-category-dialog{
  width:min(1320px,100%) !important;
  min-height:calc(100dvh - 44px) !important;
  margin:0 auto !important;
  padding:20px !important;
  border:1px solid rgba(105,65,220,.12) !important;
  border-radius:26px !important;
  background:#fbfaff !important;
  box-shadow:0 24px 70px rgba(42,27,88,.18) !important;
}

.ati-category-head{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  margin-bottom:12px !important;
}

.ati-category-head>button{
  display:grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  border:0 !important;
  border-radius:15px !important;
  background:#eee7ff !important;
  color:#6037d2 !important;
  font-size:24px !important;
  cursor:pointer !important;
}

.ati-category-head>div{
  min-width:0 !important;
}

.ati-category-head small{
  color:#6742cf !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
}

.ati-category-head h2{
  margin:3px 0 2px !important;
  color:#211431 !important;
  font-size:27px !important;
  line-height:1.08 !important;
}

.ati-category-head p{
  margin:0 !important;
  color:#81778f !important;
  font-size:11px !important;
}

.ati-category-head>strong{
  padding:8px 11px !important;
  border-radius:999px !important;
  background:#eee8ff !important;
  color:#633fd1 !important;
  font-size:10px !important;
  white-space:nowrap !important;
}

.ati-category-toolbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 14px !important;
  padding:9px 11px !important;
  border:1px solid #ebe5f7 !important;
  border-radius:13px !important;
  background:#fff !important;
}

.ati-category-toolbar span{
  color:#776c88 !important;
  font-size:10px !important;
  font-weight:800 !important;
}

.ati-category-toolbar button{
  border:0 !important;
  background:transparent !important;
  color:#6540cf !important;
  font-size:10px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.ati-category-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:start !important;
  gap:13px !important;
}

.ati-category-grid .ati-rail-card{
  width:100% !important;
  min-width:0 !important;
  scroll-snap-align:none !important;
}

.ati-category-empty{
  grid-column:1/-1 !important;
  display:grid !important;
  place-items:center !important;
  gap:7px !important;
  min-height:260px !important;
  border:1px dashed #cec2ed !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#746985 !important;
}

@media(max-width:1180px){
  .ati-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .ati-rail-arrows{
    display:none !important;
  }

  .ati-rail-track{
    cursor:auto !important;
    user-select:auto !important;
  }

  .ati-category-modal{
    padding:8px !important;
  }

  .ati-category-dialog{
    min-height:calc(100dvh - 16px) !important;
    padding:12px !important;
    border-radius:20px !important;
  }

  .ati-category-head{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:9px !important;
  }

  .ati-category-head>strong{
    grid-column:2 !important;
    justify-self:start !important;
  }

  .ati-category-head h2{
    font-size:20px !important;
  }

  .ati-category-head p{
    font-size:9px !important;
  }

  .ati-category-grid{
    grid-template-columns:1fr !important;
    gap:11px !important;
  }

  .ati-category-grid .ati-rail-card{
    grid-template-columns:120px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
  }

  .ati-category-grid .ati-rail-art{
    height:100% !important;
    min-height:164px !important;
  }
}


/* ==========================================================
   2.0.0 EXPERIENCE FLOW
   Compact category cards + destination detail + events/cruises
   ========================================================== */

/* Full category view: narrower cards and more meaningful image ratio. */
.ati-category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
}

.ati-category-grid .ati-rail-card{
  grid-template-rows:142px auto !important;
  border-radius:16px !important;
}

.ati-category-grid .ati-rail-art{
  height:142px !important;
  aspect-ratio:4/3 !important;
}

.ati-category-grid .ati-rail-copy{
  gap:6px !important;
  padding:8px 9px 9px !important;
}

.ati-category-grid .ati-rail-reason{
  display:none !important;
}

.ati-category-grid .ati-rail-copy>header b{
  font-size:12px !important;
}

.ati-category-grid .ati-rail-copy>footer strong{
  font-size:17px !important;
}

/* Event / concert / cruise cards. */
.ati-experience-card{
  display:grid !important;
  grid-template-rows:126px auto !important;
  min-width:0 !important;
  border:1px solid #ebe5f7 !important;
  border-radius:18px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 8px 20px rgba(45,31,91,.08) !important;
  cursor:pointer !important;
  scroll-snap-align:start !important;
}

.ati-experience-art{
  position:relative !important;
  height:126px !important;
  overflow:hidden !important;
}

.ati-experience-art picture,
.ati-experience-art img{
  display:block !important;
  width:100% !important;
  height:100% !important;
}

.ati-experience-art img{
  object-fit:cover !important;
}

.ati-experience-art>span{
  position:absolute !important;
  left:8px !important;
  top:8px !important;
  max-width:70% !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.9) !important;
  color:#5d3ac6 !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.ati-experience-art>em{
  position:absolute !important;
  right:8px !important;
  bottom:8px !important;
  display:grid !important;
  place-items:center !important;
  width:32px !important;
  height:32px !important;
  border-radius:11px !important;
  background:rgba(32,23,54,.78) !important;
  color:#fff !important;
  font-size:17px !important;
  font-style:normal !important;
}

.ati-experience-copy{
  display:grid !important;
  gap:6px !important;
  padding:9px 10px 10px !important;
}

.ati-experience-copy>header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:8px !important;
}

.ati-experience-copy>header b{
  min-width:0 !important;
  color:#211631 !important;
  font-size:12px !important;
  line-height:1.12 !important;
}

.ati-experience-copy>header i{
  padding:3px 6px !important;
  border-radius:999px !important;
  background:#e9faee !important;
  color:#218247 !important;
  font-size:8px !important;
  font-style:normal !important;
  font-weight:950 !important;
}

.ati-experience-copy>small{
  overflow:hidden !important;
  color:#80768e !important;
  font-size:8px !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.ati-experience-copy>div{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  padding:6px 7px !important;
  border:1px solid #ebe5f7 !important;
  border-radius:10px !important;
  background:#faf8ff !important;
}

.ati-experience-copy>div strong{
  color:#623dcc !important;
  font-size:9px !important;
}

.ati-experience-copy>div span{
  color:#83798f !important;
  font-size:8px !important;
  white-space:nowrap !important;
}

.ati-experience-copy>footer{
  display:flex !important;
  align-items:baseline !important;
  gap:3px !important;
}

.ati-experience-copy>footer b{
  color:#6540d1 !important;
  font-size:18px !important;
}

.ati-experience-copy>footer small,
.ati-experience-copy>footer span{
  color:#867d91 !important;
  font-size:8px !important;
}

.ati-experience-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

/* Destination / event detail step after selecting a card. */
.ati-detail-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147482700 !important;
  display:none !important;
  overflow:auto !important;
  padding:22px !important;
  background:rgba(241,237,251,.94) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  backdrop-filter:blur(18px) !important;
  overscroll-behavior:contain !important;
}

.ati-detail-modal.is-open{
  display:block !important;
}

.ati-detail-dialog{
  width:min(1050px,100%) !important;
  margin:0 auto !important;
  padding:18px !important;
  border:1px solid rgba(103,65,218,.13) !important;
  border-radius:27px !important;
  background:#fbfaff !important;
  box-shadow:0 24px 70px rgba(42,27,88,.2) !important;
}

.ati-detail-hero{
  display:grid !important;
  grid-template-columns:minmax(300px,44%) minmax(0,1fr) !important;
  gap:16px !important;
  min-height:255px !important;
}

.ati-detail-image{
  position:relative !important;
  overflow:hidden !important;
  border-radius:21px !important;
  background:#e7e0f9 !important;
}

.ati-detail-image picture,
.ati-detail-image img{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

.ati-detail-image img{
  object-fit:cover !important;
}

.ati-detail-image>span{
  position:absolute !important;
  right:12px !important;
  bottom:12px !important;
  display:grid !important;
  place-items:center !important;
  min-width:42px !important;
  height:42px !important;
  padding:0 10px !important;
  border-radius:14px !important;
  background:rgba(30,24,45,.82) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:950 !important;
}

.ati-detail-title{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  padding:14px !important;
}

.ati-detail-title>button{
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  width:42px !important;
  height:42px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#eee8fb !important;
  color:#6350a2 !important;
  font-size:24px !important;
  cursor:pointer !important;
}

.ati-detail-title>small{
  color:#6841d7 !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
}

.ati-detail-title h2{
  margin:6px 48px 3px 0 !important;
  color:#211532 !important;
  font-size:34px !important;
  line-height:1.05 !important;
}

.ati-detail-title>p{
  margin:0 !important;
  color:#80758f !important;
  font-size:12px !important;
}

.ati-detail-price{
  display:flex !important;
  align-items:baseline !important;
  gap:5px !important;
  margin-top:20px !important;
}

.ati-detail-price span,
.ati-detail-price small{
  color:#82788f !important;
  font-size:10px !important;
}

.ati-detail-price strong{
  color:#6540d2 !important;
  font-size:34px !important;
  line-height:1 !important;
}

.ati-detail-summary{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:14px 0 !important;
}

.ati-detail-summary article{
  display:grid !important;
  gap:5px !important;
  min-width:0 !important;
  padding:12px !important;
  border:1px solid #ebe5f7 !important;
  border-radius:15px !important;
  background:#fff !important;
}

.ati-detail-summary small{
  color:#7d7092 !important;
  font-size:8px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
}

.ati-detail-summary b{
  color:#282035 !important;
  font-size:13px !important;
}

.ati-detail-summary span{
  color:#81778e !important;
  font-size:9px !important;
  line-height:1.3 !important;
}

.ati-detail-fit{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:13px 14px !important;
  border:1px solid #eadff8 !important;
  border-radius:16px !important;
  background:#f7f3ff !important;
}

.ati-detail-fit>div{
  display:grid !important;
  gap:3px !important;
}

.ati-detail-fit small{
  color:#725fc5 !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.ati-detail-fit b{
  color:#272033 !important;
  font-size:13px !important;
}

.ati-detail-fit span{
  color:#7e748a !important;
  font-size:9px !important;
}

.ati-detail-fit.is-good{
  background:#effbf3 !important;
  border-color:#ccecd7 !important;
}

.ati-detail-fit.is-warning{
  background:#fff8eb !important;
  border-color:#f1dfb4 !important;
}

.ati-detail-fit button{
  flex:0 0 auto !important;
  min-height:38px !important;
  padding:8px 12px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#eee7ff !important;
  color:#6540ce !important;
  font-size:9px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.ati-detail-fit.is-checking{
  opacity:.7 !important;
}

.ati-detail-actions{
  display:grid !important;
  grid-template-columns:1.6fr 1fr 1fr !important;
  gap:9px !important;
  margin:14px 0 !important;
}

.ati-detail-actions button{
  min-height:49px !important;
  padding:10px 13px !important;
  border:1px solid #ded5f3 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#6040bf !important;
  font-size:10px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.ati-detail-actions button.is-primary{
  border-color:#6841df !important;
  background:linear-gradient(135deg,#7048e8,#5c35cf) !important;
  color:#fff !important;
  box-shadow:0 9px 20px rgba(94,55,205,.22) !important;
}

.ati-detail-next{
  padding:14px !important;
  border:1px solid #ebe5f7 !important;
  border-radius:17px !important;
  background:#fff !important;
}

.ati-detail-next header{
  margin-bottom:10px !important;
}

.ati-detail-next header small{
  color:#6841d7 !important;
  font-size:8px !important;
  font-weight:950 !important;
  letter-spacing:.1em !important;
}

.ati-detail-next h3{
  margin:3px 0 0 !important;
  color:#282034 !important;
  font-size:14px !important;
}

.ati-next-steps{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.ati-next-steps li{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  min-width:0 !important;
  padding:8px !important;
  border-radius:11px !important;
  background:#f8f5ff !important;
}

.ati-next-steps span{
  display:grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  border-radius:8px !important;
  background:#6841df !important;
  color:#fff !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.ati-next-steps b{
  min-width:0 !important;
  color:#615670 !important;
  font-size:8px !important;
  line-height:1.2 !important;
}

.ati-cruise-route{
  display:grid !important;
  gap:5px !important;
  margin:10px 0 14px !important;
  padding:12px !important;
  border:1px solid #d8e9ef !important;
  border-radius:14px !important;
  background:#eefaff !important;
}

.ati-cruise-route b{
  color:#215c71 !important;
  font-size:13px !important;
}

.ati-cruise-route span,
.ati-cruise-route small{
  color:#617c87 !important;
  font-size:9px !important;
}

@media(max-width:1280px){
  .ati-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .ati-experience-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:980px){
  .ati-category-grid,
  .ati-experience-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .ati-detail-hero{
    grid-template-columns:minmax(250px,40%) minmax(0,1fr) !important;
  }

  .ati-next-steps{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .ati-category-grid,
  .ati-experience-grid{
    grid-template-columns:1fr !important;
  }

  .ati-category-grid .ati-rail-card,
  .ati-category-grid .ati-experience-card{
    grid-template-columns:118px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
  }

  .ati-category-grid .ati-rail-art,
  .ati-category-grid .ati-experience-art{
    width:118px !important;
    height:100% !important;
    min-height:155px !important;
    aspect-ratio:auto !important;
  }

  .ati-detail-modal{
    padding:8px !important;
  }

  .ati-detail-dialog{
    padding:10px !important;
    border-radius:20px !important;
  }

  .ati-detail-hero{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }

  .ati-detail-image{
    height:185px !important;
  }

  .ati-detail-title{
    padding:8px 5px 5px !important;
  }

  .ati-detail-title h2{
    margin-right:44px !important;
    font-size:25px !important;
  }

  .ati-detail-summary{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .ati-detail-actions{
    grid-template-columns:1fr !important;
  }

  .ati-detail-fit{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .ati-next-steps{
    grid-template-columns:1fr !important;
  }

  .ati-experience-rail .ati-rail-track{
    grid-auto-columns:82% !important;
  }
}


/* ==========================================================
   2.1.0 LIVE DATA CONNECTORS
   ========================================================== */

[data-ati-live-badge]{
  transition:background .2s ease,color .2s ease !important;
}

[data-ati-live-badge].is-live{
  background:#eafaf0 !important;
  color:#23864b !important;
}

.ati-live-loading,
.ati-live-error{
  display:grid !important;
  place-items:center !important;
  gap:7px !important;
  min-height:150px !important;
  padding:22px !important;
  border:1px solid #e7def6 !important;
  border-radius:17px !important;
  background:#faf8ff !important;
  color:#716681 !important;
  text-align:center !important;
}

.ati-live-loading>span{
  width:25px !important;
  height:25px !important;
  border:3px solid #ddd3f7 !important;
  border-top-color:#6841df !important;
  border-radius:50% !important;
  animation:atiLiveSpin .8s linear infinite !important;
}

.ati-live-loading b,
.ati-live-error b{
  color:#2e2439 !important;
  font-size:12px !important;
}

.ati-live-loading small,
.ati-live-error span{
  font-size:9px !important;
}

.ati-live-error button{
  min-height:39px !important;
  padding:8px 12px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#6841df !important;
  color:#fff !important;
  font-size:9px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.ati-live-calc{
  color:#6841d6 !important;
  font-size:11px !important;
  line-height:1.15 !important;
}

.ati-event-provider-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:49px !important;
  padding:10px 13px !important;
  border:1px solid #ded5f3 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#6040bf !important;
  font-size:10px !important;
  font-weight:950 !important;
  text-decoration:none !important;
}

@keyframes atiLiveSpin{
  to{transform:rotate(360deg)}
}

@media(prefers-reduced-motion:reduce){
  .ati-live-loading>span{animation:none !important}
}


/* ==========================================================
   2.2.0 LIVE SETUP & VERIFICATION
   ========================================================== */

.ati-top>[data-ati-live-badge]{border:0!important;border-radius:999px!important;background:#f0edf7!important;color:#71677e!important;padding:7px 10px!important;font-size:9px!important;font-weight:900!important;cursor:pointer!important}
.ati-top>[data-ati-live-badge].is-live{background:#eaf9ef!important;color:#257e48!important}
.ati-source-badge{position:absolute!important;left:8px!important;bottom:8px!important;z-index:4!important;padding:4px 7px!important;border-radius:999px!important;font-size:7px!important;font-weight:950!important;letter-spacing:.04em!important;box-shadow:0 4px 10px rgba(29,22,43,.18)!important}
.ati-source-badge.is-live{background:#e7f9ed!important;color:#207f45!important}.ati-source-badge.is-cached{background:#fff2cf!important;color:#855d08!important}.ati-source-badge.is-demo{background:rgba(255,255,255,.9)!important;color:#776f80!important}
.ati-experience-art>.ati-source-badge{left:auto!important;right:8px!important;top:8px!important;bottom:auto!important}

.ati-live-health{position:absolute!important;top:70px!important;right:22px!important;z-index:2147482400!important;width:min(360px,calc(100vw - 32px))!important}
.ati-live-health[hidden]{display:none!important}
.ati-live-health-card{padding:13px!important;border:1px solid #ded5f2!important;border-radius:18px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 18px 45px rgba(43,29,83,.2)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important}
.ati-live-health-card>header{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:9px!important}
.ati-live-health-card>header small{color:#6942d1!important;font-size:8px!important;font-weight:950!important;letter-spacing:.1em!important}.ati-live-health-card h3{margin:2px 0 0!important;color:#281e34!important;font-size:14px!important}
.ati-live-health-card>header button{width:34px!important;height:34px!important;border:0!important;border-radius:11px!important;background:#f0ecf8!important;color:#655975!important;cursor:pointer!important}
.ati-live-health-card>div{display:grid!important;gap:6px!important}
.ati-live-health-card article{display:grid!important;grid-template-columns:27px minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;padding:8px!important;border:1px solid #ece6f5!important;border-radius:11px!important;background:#faf9fd!important}
.ati-live-health-card article>div{display:grid!important;gap:1px!important}.ati-live-health-card article b{color:#342a40!important;font-size:10px!important}.ati-live-health-card article small{color:#857b8f!important;font-size:8px!important}
.ati-live-health-card article em{padding:3px 6px!important;border-radius:999px!important;background:#eee9f7!important;color:#675b76!important;font-size:8px!important;font-style:normal!important;font-weight:900!important}
.ati-live-health-card article.is-connected{border-color:#cee9d7!important;background:#f2fbf5!important}.ati-live-health-card article.is-connected em{background:#ddf4e5!important;color:#267c48!important}
.ati-live-health-card article.is-error{border-color:#efd2d2!important;background:#fff7f7!important}
.ati-live-health-card>footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:9px!important;margin-top:9px!important;padding-top:9px!important;border-top:1px solid #eee8f5!important}
.ati-live-health-card>footer span{color:#80768a!important;font-size:8px!important}.ati-live-health-card>footer button{min-height:32px!important;padding:6px 9px!important;border:0!important;border-radius:10px!important;background:#6841db!important;color:#fff!important;font-size:8px!important;font-weight:900!important;cursor:pointer!important}
@media(max-width:760px){.ati-live-health{position:fixed!important;top:74px!important;left:10px!important;right:10px!important;width:auto!important}.ati-source-badge{font-size:6px!important}}


/* ==========================================================
   2.3.0 SMART TRIP BUILDER
   ========================================================== */

.ati-detail-actions{grid-template-columns:1.45fr 1fr .9fr .9fr!important}
.ati-my-trips{margin-top:10px!important}.ati-trip-plans{display:grid!important;gap:7px!important}
.ati-trip-plans>p{margin:0!important;padding:10px!important;border:1px dashed #d9d0e8!important;border-radius:11px!important;color:#82798c!important;font-size:8px!important;line-height:1.35!important}
.ati-plan-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:5px!important;padding:6px!important;border:1px solid #e7e0f1!important;border-radius:12px!important;background:#fff!important}
.ati-plan-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2px 7px!important;min-width:0!important;padding:3px!important;border:0!important;background:transparent!important;text-align:left!important;cursor:pointer!important}
.ati-plan-main small{grid-column:1!important;color:#6841cf!important;font-size:7px!important;font-weight:950!important}.ati-plan-main b{grid-column:1!important;overflow:hidden!important;color:#30263a!important;font-size:9px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.ati-plan-main span{grid-column:1!important;overflow:hidden!important;color:#887e91!important;font-size:7px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.ati-plan-main strong{grid-column:2!important;grid-row:1/4!important;align-self:center!important;color:#6540ce!important;font-size:12px!important}
.ati-plan-card>div{display:grid!important;gap:4px!important}.ati-plan-card>div button{width:25px!important;height:25px!important;border:0!important;border-radius:8px!important;background:#f0ecf7!important;color:#675b75!important;font-size:10px!important;cursor:pointer!important}
.ati-plan-card.is-ready{border-color:#c8e8d3!important;background:#f6fcf8!important}

.ati-builder-modal{position:fixed!important;inset:0!important;z-index:2147482900!important;display:none!important;overflow:auto!important;padding:18px!important;background:rgba(239,235,248,.96)!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;overscroll-behavior:contain!important}
.ati-builder-modal.is-open{display:block!important}.ati-builder-dialog{width:min(1240px,100%)!important;min-height:calc(100dvh - 36px)!important;margin:0 auto!important;padding:18px!important;border:1px solid #ddd4ef!important;border-radius:27px!important;background:#faf9fd!important;box-shadow:0 25px 75px rgba(42,28,79,.22)!important}
.ati-builder-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:13px!important;margin-bottom:14px!important}.ati-builder-head>button{width:45px!important;height:45px!important;border:0!important;border-radius:14px!important;background:#ede7fb!important;color:#6038cc!important;font-size:22px!important;cursor:pointer!important}
.ati-builder-head>div{min-width:0!important}.ati-builder-head small{color:#6841d2!important;font-size:8px!important;font-weight:950!important;letter-spacing:.11em!important}.ati-builder-head h2{margin:3px 0 2px!important;color:#241a30!important;font-size:27px!important;line-height:1.06!important}.ati-builder-head p{margin:0!important;color:#82788d!important;font-size:10px!important}
.ati-builder-head select{min-height:39px!important;padding:7px 10px!important;border:1px solid #ddd4ed!important;border-radius:12px!important;background:#fff!important;color:#5f42b9!important;font-size:9px!important;font-weight:900!important}
.ati-builder-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 315px!important;align-items:start!important;gap:13px!important}.ati-builder-main{display:grid!important;gap:10px!important}
.ati-builder-section{padding:13px!important;border:1px solid #e5def0!important;border-radius:17px!important;background:#fff!important}.ati-builder-section>header{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:11px!important}
.ati-builder-section>header>span{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;flex:0 0 28px!important;border-radius:10px!important;background:#6841db!important;color:#fff!important;font-size:9px!important;font-weight:950!important}
.ati-builder-section h3{margin:0!important;color:#30263b!important;font-size:13px!important}.ati-builder-section header small{color:#867b91!important;font-size:8px!important}
.ati-builder-people{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.ati-builder-person{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;padding:8px!important;border:1px solid #e6dff0!important;border-radius:12px!important;background:#faf9fd!important;cursor:pointer!important}
.ati-builder-person input{position:absolute!important;opacity:0!important;pointer-events:none!important}.ati-builder-person>span{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;flex:0 0 28px!important;border-radius:10px!important;background:#eee9f7!important;color:#665a74!important;font-size:10px!important;font-weight:950!important}
.ati-builder-person b{overflow:hidden!important;color:#51465c!important;font-size:9px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.ati-builder-person.is-active{border-color:#bda9ec!important;background:#f3efff!important}.ati-builder-person.is-active>span{background:#6841dc!important;color:#fff!important}
.ati-builder-dates,.ati-builder-fields{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:9px!important}.ati-builder-dates{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ati-builder-section label{display:grid!important;gap:4px!important;color:#746a7f!important;font-size:8px!important;font-weight:850!important}.ati-builder-section input,.ati-builder-section select,.ati-builder-section textarea{width:100%!important;min-height:39px!important;padding:8px 9px!important;border:1px solid #ddd5e8!important;border-radius:11px!important;background:#fbfafd!important;color:#342a3d!important;font-size:10px!important;box-sizing:border-box!important}
.ati-builder-section textarea{min-height:68px!important;resize:vertical!important}.ati-builder-notes{grid-column:span 2!important}
.ati-builder-flight,.ati-builder-event{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:10px!important;padding:10px!important;border:1px dashed #d8cdea!important;border-radius:13px!important;background:#faf8ff!important}.ati-builder-flight.is-selected{border-style:solid!important;border-color:#c6e5d1!important;background:#f3fbf6!important}
.ati-builder-flight>div,.ati-builder-event>div{display:grid!important;gap:2px!important;min-width:0!important}.ati-builder-flight b,.ati-builder-event b{color:#31263c!important;font-size:11px!important}.ati-builder-flight span,.ati-builder-event span{color:#82778d!important;font-size:8px!important}.ati-builder-flight strong{color:#6540cf!important;font-size:18px!important}.ati-builder-flight small{color:#887e91!important;font-size:8px!important}
.ati-builder-flight button{min-height:36px!important;padding:7px 10px!important;border:0!important;border-radius:10px!important;background:#6841d9!important;color:#fff!important;font-size:8px!important;font-weight:950!important;cursor:pointer!important}.ati-builder-event label{min-width:145px!important}
.ati-builder-fit{padding:11px 13px!important;border:1px solid #eadff5!important;border-radius:15px!important;background:#f8f4ff!important}.ati-builder-fit.is-good{border-color:#cce9d6!important;background:#f1fbf4!important}.ati-builder-fit.is-warning{border-color:#eeddb5!important;background:#fff9ed!important}
.ati-builder-fit div{display:grid!important;gap:3px!important}.ati-builder-fit small{color:#6841cb!important;font-size:8px!important;font-weight:950!important}.ati-builder-fit b{color:#33283c!important;font-size:11px!important}.ati-builder-fit span{color:#80758b!important;font-size:8px!important}
.ati-builder-side{position:sticky!important;top:10px!important;display:grid!important;gap:8px!important}.ati-builder-budget{overflow:hidden!important;border:1px solid #ddd4ef!important;border-radius:18px!important;background:#fff!important}
.ati-builder-budget>header{display:grid!important;gap:3px!important;padding:17px!important;background:linear-gradient(135deg,#7047e2,#5c36c8)!important;color:#fff!important}.ati-builder-budget header small{font-size:8px!important;font-weight:950!important;letter-spacing:.1em!important;opacity:.85!important}.ati-builder-budget header strong{font-size:34px!important;line-height:1!important}.ati-builder-budget header span{font-size:9px!important;opacity:.85!important}
.ati-builder-budget>div{display:grid!important;padding:8px 13px!important}.ati-builder-budget article{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 0!important;border-bottom:1px solid #eee8f5!important}.ati-builder-budget article:last-child{border-bottom:0!important}.ati-builder-budget article span{color:#756a80!important;font-size:9px!important}.ati-builder-budget article b{color:#33283e!important;font-size:10px!important}
.ati-builder-budget>p{margin:0!important;padding:10px 13px!important;border-top:1px solid #eee8f5!important;background:#faf8fd!important;color:#877d91!important;font-size:7px!important;line-height:1.35!important}
.ati-builder-side>button{min-height:43px!important;padding:9px 11px!important;border:1px solid #ddd3ed!important;border-radius:12px!important;background:#fff!important;color:#6140bd!important;font-size:9px!important;font-weight:950!important;cursor:pointer!important}.ati-builder-side>.ati-builder-save{min-height:50px!important;border-color:#6841da!important;background:#6841da!important;color:#fff!important;box-shadow:0 9px 21px rgba(95,57,200,.2)!important}
.ati-flight-row[data-ati-flight-pick]{cursor:pointer!important}.ati-flight-row[data-ati-flight-pick]:hover{border-color:#a992e1!important;background:#f5f1ff!important}

@media(max-width:980px){
  .ati-builder-layout{grid-template-columns:1fr!important}.ati-builder-side{position:static!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.ati-builder-budget{grid-column:1/-1!important}.ati-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .ati-builder-modal{padding:6px!important}.ati-builder-dialog{min-height:calc(100dvh - 12px)!important;padding:10px!important;border-radius:19px!important}.ati-builder-head{grid-template-columns:auto minmax(0,1fr)!important}.ati-builder-head select{grid-column:2!important;justify-self:start!important}.ati-builder-head h2{font-size:21px!important}
  .ati-builder-people{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ati-builder-dates,.ati-builder-fields{grid-template-columns:1fr!important}.ati-builder-notes{grid-column:auto!important}.ati-builder-flight,.ati-builder-event{grid-template-columns:1fr!important;align-items:start!important}.ati-builder-event label{min-width:0!important}.ati-builder-side{grid-template-columns:1fr!important}.ati-builder-budget{grid-column:auto!important}.ati-detail-actions{grid-template-columns:1fr!important}
}
@media print{
  body *{visibility:hidden!important}.ati-builder-modal,.ati-builder-modal *{visibility:visible!important}.ati-builder-modal{position:absolute!important;inset:0!important;display:block!important;padding:0!important;background:#fff!important}.ati-builder-dialog{box-shadow:none!important;border:0!important}.ati-builder-head>button,.ati-builder-side>button{display:none!important}
}


/* 2.5.6 modal rescue hardening — closed layers never block cards. */
.ati-overlay .ati-detail-modal:not(.is-open),
.ati-overlay .ati-category-modal:not(.is-open),
.ati-overlay .ati-builder-modal:not(.is-open),
.ati-overlay .ati-flights-modal:not(.is-open),
.ati-overlay .ati-compare-modal:not(.is-open){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.ati-overlay .ati-detail-modal.is-open,
.ati-overlay .ati-category-modal.is-open,
.ati-overlay .ati-builder-modal.is-open{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.ati-overlay .ati-flights-modal.is-open,
.ati-overlay .ati-compare-modal.is-open{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.ati-overlay [data-ati-rail-card],
.ati-overlay [data-ati-experience-card],
.ati-overlay [data-ati-destination],
.ati-overlay [data-ati-period-jump],
.ati-overlay [data-ati-flights]{
  pointer-events:auto !important;
}

/* ==========================================================
   2.6.1 TRUSTED FARE CORRECTION
   - one clear rail per purpose
   - explicit source status
   - compact full catalogue
   - safe: modal layers and event handling remain from 2.5.6
   ========================================================== */

.ati-source-legend{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  margin-top:9px !important;
}
.ati-source-legend span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:22px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  font-size:7px !important;
  font-weight:950 !important;
  letter-spacing:.05em !important;
}
.ati-source-legend .is-live{background:#e5f8eb !important;color:#247b48 !important}
.ati-source-legend .is-cached{background:#fff1cc !important;color:#805a08 !important}
.ati-source-legend .is-demo{background:#efebf6 !important;color:#72697d !important}

.ati-discovery{
  display:grid !important;
  gap:14px !important;
}
.ati-discovery-rail{
  margin:0 !important;
  padding:13px !important;
  border:1px solid #ebe4f6 !important;
  border-radius:20px !important;
  background:#fcfbfe !important;
  box-shadow:0 7px 20px rgba(47,31,91,.045) !important;
}
.ati-hub-deals{
  border-color:#dcd0f5 !important;
  background:linear-gradient(180deg,#faf7ff 0%,#fff 100%) !important;
}
.ati-saved-hub{
  border-style:dashed !important;
  background:#fffdfd !important;
}
.ati-discovery-rail>.ati-rail-track{
  grid-auto-columns:minmax(185px,23%) !important;
  gap:11px !important;
}
.ati-rail-art{
  position:relative !important;
}
.ati-rail-art>.ati-source-badge{
  left:7px !important;
  right:auto !important;
  top:auto !important;
  bottom:7px !important;
}
.ati-experience-card.is-indicative{
  border-color:#ddd4e9 !important;
  background:linear-gradient(180deg,#fff,#fbf9fd) !important;
}
.ati-experience-card.is-indicative .ati-live-calc{
  color:#70677b !important;
}

.ati-hub-empty{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-height:96px !important;
  padding:14px !important;
  border:1px dashed #dcd3e8 !important;
  border-radius:16px !important;
  background:#faf9fc !important;
  color:#766d80 !important;
  box-sizing:border-box !important;
}
.ati-hub-empty>span{
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border-radius:14px !important;
  background:#eee9f6 !important;
  color:#6242be !important;
  font-size:20px !important;
}
.ati-hub-empty>div{display:grid !important;gap:3px !important}
.ati-hub-empty b{color:#43394d !important;font-size:11px !important}
.ati-hub-empty small{max-width:560px !important;color:#857b8f !important;font-size:8px !important;line-height:1.4 !important}
.ati-rail-track.is-empty{
  display:block !important;
  overflow:visible !important;
  padding-bottom:0 !important;
}

.ati-all-results{
  margin-top:14px !important;
  border:1px solid #e2daef !important;
  border-radius:18px !important;
  background:#faf9fc !important;
  overflow:hidden !important;
}
.ati-all-results>summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-height:52px !important;
  padding:11px 14px !important;
  color:#4d3b7d !important;
  cursor:pointer !important;
  list-style:none !important;
  font-weight:950 !important;
}
.ati-all-results>summary::-webkit-details-marker{display:none !important}
.ati-all-results>summary::after{
  content:'⌄' !important;
  display:grid !important;
  place-items:center !important;
  width:29px !important;
  height:29px !important;
  margin-left:auto !important;
  border-radius:10px !important;
  background:#ece7f5 !important;
  color:#6843c9 !important;
  transition:transform .2s ease !important;
}
.ati-all-results[open]>summary::after{transform:rotate(180deg) !important}
.ati-all-results>summary span{font-size:11px !important}
.ati-all-results>summary small{color:#81768c !important;font-size:8px !important;font-weight:800 !important}
.ati-all-results-body{
  padding:13px !important;
  border-top:1px solid #e8e1f1 !important;
  background:#fff !important;
}
.ati-all-results .ati-sortbar{margin-top:0 !important}

.ati-category-grid.ati-saved-grid{
  align-items:start !important;
}

/* Keep the global AGNES status notification useful without covering cards. */
.agnes-toast,
.agnes-notification,
.agnes-live-alert,
.agnes-next-event,
[class*="notification-bar"],
[class*="live-alert"]{
  width:min(318px,calc(100vw - 24px)) !important;
  max-width:318px !important;
  max-height:112px !important;
  padding:9px 11px !important;
  border-radius:15px !important;
  overflow:auto !important;
  box-shadow:0 10px 28px rgba(39,27,69,.16) !important;
}
.agnes-toast h3,.agnes-notification h3,.agnes-live-alert h3,.agnes-next-event h3,
[class*="notification-bar"] h3,[class*="live-alert"] h3{
  margin:0 0 2px !important;
  font-size:11px !important;
  line-height:1.15 !important;
}
.agnes-toast p,.agnes-notification p,.agnes-live-alert p,.agnes-next-event p,
[class*="notification-bar"] p,[class*="live-alert"] p{
  margin:0 !important;
  font-size:8px !important;
  line-height:1.3 !important;
}

@media(max-width:1180px){
  .ati-discovery-rail>.ati-rail-track{grid-auto-columns:minmax(185px,31%) !important}
}

@media(max-width:760px){
  .ati-opportunities{padding:11px 8px 15px !important}
  .ati-source-legend{margin-top:7px !important}
  .ati-discovery{gap:10px !important}
  .ati-discovery-rail{
    display:block !important;
    padding:10px 8px !important;
    border-radius:17px !important;
  }
  .ati-discovery-rail>header{
    align-items:flex-start !important;
    gap:8px !important;
  }
  .ati-discovery-rail>header>div:first-child{min-width:0 !important}
  .ati-discovery-rail h3{font-size:14px !important;line-height:1.12 !important}
  .ati-discovery-rail>header small{font-size:7px !important;line-height:1.25 !important}
  .ati-discovery-rail>.ati-rail-track{
    grid-auto-columns:78% !important;
    gap:9px !important;
  }
  .ati-hub-empty{min-height:82px !important;padding:11px !important}
  .ati-hub-empty>span{width:36px !important;height:36px !important;flex-basis:36px !important;font-size:17px !important}
  .ati-all-results>summary{padding:10px !important}
  .ati-all-results>summary small{display:none !important}
  .ati-all-results-body{padding:9px !important}
  .agnes-toast,.agnes-notification,.agnes-live-alert,.agnes-next-event,
  [class*="notification-bar"],[class*="live-alert"]{
    left:10px !important;
    right:10px !important;
    bottom:calc(78px + env(safe-area-inset-bottom,0px)) !important;
    width:auto !important;
    max-width:none !important;
    max-height:94px !important;
  }
}

/* ==========================================================
   2.6.1 TRUSTED FARE CORRECTION
   ========================================================== */
.ati-price-unavailable{
  color:#75688d!important;
  font-size:13px!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.ati-rail-copy>footer .ati-price-unavailable{
  font-size:12px!important;
}
.ati-destination footer>div .ati-price-unavailable{
  font-size:14px!important;
  max-width:180px;
}
.ati-detail-price .ati-price-unavailable{
  font-size:20px!important;
}
.ati-flight-row.is-cached-reference{
  grid-template-columns:1.15fr 1fr 1.2fr .8fr .85fr 1.1fr!important;
  border-color:#ddd1f6!important;
  background:linear-gradient(90deg,#faf8ff,#fff)!important;
}
.ati-flight-row.is-cached-reference span:nth-child(5) b{
  color:#5f38ca!important;
  font-size:16px!important;
}
@media(max-width:760px){
  .ati-flight-row.is-cached-reference{
    grid-template-columns:1fr 1fr!important;
  }
}

/* 2.6.2 price visibility */
.ati-flight-row.is-estimated-reference{cursor:default;border-style:dashed}.ati-flight-row.is-estimated-reference:hover{transform:none}


/* ==========================================================
   2.6.3 PRICE INTEGRITY
   ========================================================== */
.ati-fare-assessment{display:block!important;margin-top:3px!important;font-size:8px!important;font-weight:950!important;letter-spacing:.035em!important;line-height:1.25!important}
.ati-fare-assessment.is-good{color:#1d7d43!important}.ati-fare-assessment.is-normal{color:#6750b7!important}.ati-fare-assessment.is-high{color:#b34a28!important}.ati-fare-assessment.is-planning{color:#756c7f!important}
.ati-rail-copy>footer{flex-wrap:wrap!important}.ati-rail-copy>footer .ati-fare-assessment{flex-basis:100%!important}
.ati-destination footer>div em.ati-fare-assessment{max-width:220px!important;white-space:normal!important}
.ati-detail-price{flex-wrap:wrap!important}.ati-detail-price .ati-fare-assessment{flex-basis:100%!important;font-size:10px!important}
.ati-flight-row .ati-fare-assessment{font-size:11px!important}
.ati-source-badge.is-cached{background:#fff0c2!important;color:#765004!important}
@media(max-width:760px){.ati-fare-assessment{font-size:7px!important}.ati-detail-price .ati-fare-assessment{font-size:9px!important}}

/* AGNES Travel 3.0.0 — Live Escape Engine */
.ati-live-scan{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 4px}
.ati-live-scan-btn{appearance:none;border:0;border-radius:16px;padding:14px 20px;font-weight:900;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#5b2ae6,#8b5cf6);color:#fff;box-shadow:0 12px 30px rgba(91,42,230,.24);transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}
.ati-live-scan-btn:hover{transform:translateY(-1px);box-shadow:0 15px 34px rgba(91,42,230,.3)}
.ati-live-scan-btn:disabled{opacity:.65;cursor:progress;transform:none}
.ati-live-scan small{font-weight:750;color:rgba(37,25,66,.7);max-width:420px}
.ati-fare-assessment.is-excellent,.ati-fare-assessment.is-good{background:#eaf9ef;color:#16723a}
.ati-fare-assessment.is-normal{background:#eef3ff;color:#3554a5}
.ati-fare-assessment.is-high{background:#fff1ef;color:#a4382b}
.ati-fare-assessment.is-test,.ati-live-badge.is-test{background:#fff6d8!important;color:#7c5a00!important}
.ati-fare-assessment.is-pending{background:#f3f0fb;color:#6d5b96}
.ati-flight-row.is-live-reference{outline:2px solid rgba(35,155,86,.22);background:linear-gradient(90deg,rgba(235,252,241,.72),#fff)}
.ati-flight-row.is-test-reference{outline:2px dashed rgba(190,139,0,.35);background:#fffaf0}
.ati-live-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center;min-height:126px;padding:22px;border:1px dashed rgba(103,78,151,.28);border-radius:18px;background:rgba(247,245,252,.78)}
.ati-live-empty b{font-size:16px;color:#332551}.ati-live-empty span{font-size:13px;line-height:1.5;color:#6e6380}
@media(max-width:760px){.ati-live-scan{align-items:stretch}.ati-live-scan-btn{width:100%;min-height:50px}.ati-live-scan small{text-align:center;width:100%}}


/* AGNES Travel 3.1.1 — Complete Flight Details Layer */
.ati-live-itinerary{margin:14px 0;border:1px solid rgba(103,78,151,.18);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(55,34,93,.06)}
.ati-live-itinerary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;background:linear-gradient(135deg,#f8f5ff,#f2f7ff);border-bottom:1px solid rgba(103,78,151,.12)}
.ati-live-itinerary>header small,.ati-itinerary-slice header small{display:block;font-size:9px;font-weight:950;letter-spacing:.11em;color:#7653cf}.ati-live-itinerary>header h3{margin:4px 0 0;font-size:18px;color:#2e2147}.ati-live-itinerary>header>span{font-size:11px;font-weight:850;color:#6e6380;text-align:right}
.ati-itinerary-slice{padding:17px 20px;border-bottom:1px solid rgba(103,78,151,.1)}.ati-itinerary-slice header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.ati-itinerary-slice header b{display:block;margin-top:3px;font-size:15px;color:#302346}.ati-itinerary-slice header>span{font-size:12px;font-weight:850;color:#655778}
.ati-itinerary-segments{display:flex;flex-direction:column;gap:8px}.ati-segment{display:grid;grid-template-columns:68px 72px minmax(180px,1fr) 68px;align-items:center;gap:10px;padding:11px 12px;border-radius:15px;background:#faf9fd}.ati-segment-time b,.ati-segment-arrive b{display:block;font-size:16px;color:#2b2040}.ati-segment-time span,.ati-segment-arrive span{font-size:9px;font-weight:750;color:#83778f}.ati-segment-arrive{text-align:right}.ati-segment-line{position:relative;height:2px;background:#cbbcf0}.ati-segment-line i{position:absolute;left:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:#7043db}.ati-segment-line em{position:absolute;left:50%;top:-17px;transform:translateX(-50%);font-size:8px;font-style:normal;font-weight:850;color:#776b83;white-space:nowrap}.ati-segment-route b{display:block;font-size:14px;color:#33264b}.ati-segment-route span{display:block;margin-top:2px;font-size:11px;font-weight:850;color:#6048a4}.ati-segment-route small{display:block;margin-top:3px;font-size:9px;color:#82768f}.ati-connection{align-self:center;padding:5px 11px;border-radius:999px;background:#f1ecff;color:#6845be;font-size:9px;font-weight:850}.ati-live-itinerary>footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:13px 20px;background:#fbfaff}.ati-live-itinerary>footer span{padding:5px 9px;border-radius:999px;background:#f0ecf9;font-size:9px;font-weight:850;color:#675978}.ati-live-itinerary>footer b{margin-left:auto;color:#5b2ae6;font-size:14px}
@media(max-width:760px){.ati-live-itinerary>header,.ati-itinerary-slice header{align-items:flex-start;flex-direction:column}.ati-segment{grid-template-columns:48px 34px minmax(120px,1fr) 48px;gap:6px;padding:10px 8px}.ati-segment-time b,.ati-segment-arrive b{font-size:13px}.ati-segment-route b{font-size:12px}.ati-segment-route span{font-size:9px}.ati-live-itinerary>footer b{margin-left:0;width:100%}}

/* AGNES Travel 3.2.0 — Duffel Stays */
.ati-builder-search-stays{width:100%;margin-top:12px;border:0;border-radius:14px;padding:13px 16px;background:linear-gradient(135deg,#7951d9,#a66be6);color:#fff;font-weight:900;cursor:pointer}.ati-builder-search-stays:disabled{opacity:.6;cursor:progress}
.ati-builder-stay-results{display:grid;gap:8px;margin-top:10px;max-height:430px;overflow:auto}.ati-stay-result{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:9px;border:1px solid #e2daf0;border-radius:17px;background:#fff;color:#302545;text-align:left;cursor:pointer}.ati-stay-result>i{width:78px;height:64px;border-radius:12px;overflow:hidden;background:#f0eafa;display:grid;place-items:center;font-style:normal;font-size:28px}.ati-stay-result>i img{width:100%;height:100%;object-fit:cover}.ati-stay-result div b,.ati-stay-result div small,.ati-stay-result div em,.ati-stay-result>strong small{display:block}.ati-stay-result div b{font-size:13px}.ati-stay-result div small{margin-top:3px;color:#7951c7;font-size:10px}.ati-stay-result div em{margin-top:4px;color:#81758c;font-size:9px;font-style:normal}.ati-stay-result>strong{text-align:right;color:#6436bd;font-size:15px}.ati-stay-result>strong small{margin-top:3px;color:#86778f;font-size:8px;font-weight:750}.ati-stay-result.is-selected{border-color:#7542d5;box-shadow:0 0 0 3px rgba(117,66,213,.14)}.ati-stay-result.is-test-reference{background:#fffaf0}.ati-live-loading{padding:18px;border-radius:15px;background:#f4effc;color:#69557f;font-weight:800;font-size:12px}
@media(max-width:760px){.ati-stay-result{grid-template-columns:58px minmax(0,1fr);gap:9px}.ati-stay-result>i{width:58px;height:55px}.ati-stay-result>strong{grid-column:2;text-align:left}.ati-builder-stay-results{max-height:52vh}}
