
/* V84.13 — one-way date state must visually match the submitted search. */
.ft849-dates [data-ft849-return-block][hidden],
.ft849-dates [data-ft849-date-arrow][hidden]{display:none!important}
.ft849-dates.is-oneway{grid-template-columns:minmax(0,1fr) auto!important}
.ft849-dates.is-oneway>span:first-child{min-width:0}

/* FinTours Original Site — isolated app-style flight search (V84.9)
   This stylesheet owns only the homepage flight-search UI. */
.ft849{position:relative;overflow:visible!important}
.ft849-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.ft849-control,.ft849-currency select{height:44px;min-height:44px;border:1px solid #ded7cb;border-radius:12px;background:#fff;color:#171612;box-shadow:0 1px 0 rgba(255,255,255,.86) inset;font:inherit;font-size:.77rem;font-weight:780}
.ft849-control{display:inline-flex;align-items:center;gap:8px;padding:0 12px;cursor:pointer;transition:.15s ease}
.ft849-control:hover,.ft849-control[aria-expanded="true"]{border-color:#c9b37f;background:#faf7f1;box-shadow:0 0 0 3px rgba(184,132,40,.08)}
.ft849-control-icon{display:grid;place-items:center;width:17px;height:17px;color:#a06e1d;font-size:.72rem}
.ft849-control strong{white-space:nowrap;line-height:1}.ft849-chevron{font-size:.72rem;color:#756d62;margin-left:1px}
.ft849-currency{display:block;height:44px}.ft849-currency select{min-width:76px;padding:0 30px 0 12px;cursor:pointer}

.ft849-searchbar{display:grid;grid-template-columns:minmax(180px,1fr) 36px minmax(180px,1fr) minmax(260px,.9fr) 145px;align-items:end;gap:8px;padding:10px;border:1px solid #e5ded3;border-radius:16px;background:#f8f6f1;box-shadow:0 8px 24px rgba(24,20,14,.04)}
.ft849-airport{display:grid;gap:6px;min-width:0}.ft849-airport>span{padding-left:2px;color:#746b60;font-size:.6rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.ft849-airport>div{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:7px;align-items:center;min-height:58px;padding:7px 11px;border:1px solid #ddd6ca;border-radius:12px;background:#fff;transition:.15s ease}
.ft849-airport:focus-within>div{border-color:#b88428;box-shadow:0 0 0 3px rgba(184,132,40,.09)}
.ft849-airport i{grid-row:1/3;color:#b88428;font-style:normal;font-size:.52rem}.ft849-airport input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;color:#171612;font:inherit;font-size:.9rem;font-weight:780;line-height:1.2}.ft849-airport input::placeholder{color:#81796f;font-weight:650}.ft849-airport small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9a9288;font-size:.61rem;line-height:1.2}
.ft849-swap{align-self:end;width:36px;height:58px;border:0;background:transparent;color:#6d655a;font-size:1.02rem;cursor:pointer}
.ft849-dates{align-self:end;display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;width:100%;height:58px;padding:7px 10px;border:1px solid #ddd6ca;border-radius:12px;background:#fff;color:#171612;text-align:left;cursor:pointer;transition:.15s ease}.ft849-dates:hover{border-color:#c9b37f}.ft849-dates span{display:grid;gap:2px;min-width:0}.ft849-dates small{color:#857b70;font-size:.56rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ft849-dates strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.ft849-dates>b{color:#a47a32;font-size:.75rem}.ft849-dates>i{color:#b88428;font-style:normal;font-size:.72rem}
.ft849-submit{height:58px!important;min-height:58px!important;padding:0 18px!important;border-radius:12px!important;white-space:nowrap}
.ft849-note{padding:8px 2px 0;color:#8b8379;font-size:.61rem;line-height:1.35}.ft849-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* Global overlay. It is appended directly to body; it can never resize or be clipped by .planner. */
.ft849-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px}.ft849-overlay[hidden]{display:none!important}.ft849-overlay-backdrop{position:absolute;inset:0;background:rgba(15,14,12,.35);backdrop-filter:blur(2px)}
.ft849-sheet{position:relative;z-index:1;width:min(430px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 40px));overflow:auto;border:1px solid #ded7cc;border-radius:22px;background:#fff;color:#171612;box-shadow:0 30px 100px rgba(19,16,11,.30);animation:ft849SheetIn .16s ease both}
@keyframes ft849SheetIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.ft849-sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 14px;border-bottom:1px solid #eee8df;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.ft849-sheet-head>div{display:grid;gap:2px}.ft849-sheet-head small{color:#9a6a19;font-size:.61rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.ft849-sheet-head h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;font-weight:500}.ft849-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e0d9ce;border-radius:50%;background:#f8f5ef;color:#29251f;font-size:1.2rem;cursor:pointer}
.ft849-options{display:grid;gap:8px;padding:14px}.ft849-option{display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;min-height:64px;padding:10px 12px;border:1px solid transparent;border-radius:14px;background:#fff;color:#171612;text-align:left;cursor:pointer}.ft849-option:hover{background:#f8f5ef;border-color:#e7dfd3}.ft849-option.is-selected{background:#f4eee2;border-color:#d8c5a1}.ft849-radio{grid-row:1/3;width:18px;height:18px;border:1.5px solid #bbb2a6;border-radius:50%;position:relative}.ft849-option.is-selected .ft849-radio{border-color:#b88428}.ft849-option.is-selected .ft849-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#b88428}.ft849-option strong{font-size:.88rem}.ft849-option small{color:#827a70;font-size:.68rem}
.ft849-passengers{padding:4px 18px 16px}.ft849-pax-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #eee8df}.ft849-pax-row>div:first-child{display:grid;gap:2px}.ft849-pax-row strong{font-size:.88rem}.ft849-pax-row small{color:#80786e;font-size:.68rem}.ft849-stepper{display:grid;grid-template-columns:36px 32px 36px;align-items:center;text-align:center}.ft849-stepper button{width:36px;height:36px;border:1px solid #d8d1c5;border-radius:50%;background:#fff;color:#211e1a;font-size:1.05rem;cursor:pointer}.ft849-stepper button:hover:not(:disabled){background:#f4eee2;border-color:#c9b17f}.ft849-stepper button:disabled{opacity:.3;cursor:not-allowed}.ft849-stepper b{font-size:.85rem}.ft849-auto-save{display:flex;align-items:center;gap:7px;margin:14px 0 0;padding:10px 11px;border-radius:10px;background:#f7f4ee;color:#6f675c;font-size:.67rem;line-height:1.35}.ft849-auto-save i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#171612;color:#fff;font-style:normal;font-size:.62rem}

/* Date sheet */
.ft849-date-sheet{width:min(500px,calc(100vw - 32px));padding-bottom:14px}.ft849-calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;padding:14px 16px 10px}.ft849-calendar-head button{width:38px;height:38px;border:1px solid #ddd6cb;border-radius:10px;background:#f7f4ee;color:#292621;font-size:1.2rem;cursor:pointer}.ft849-calendar-head div{display:grid;gap:2px;text-align:center}.ft849-calendar-head strong{font-size:.92rem}.ft849-calendar-head small{color:#7d766d;font-size:.67rem}.ft849-weekdays,.ft849-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:0 16px}.ft849-weekdays span{display:grid;place-items:center;height:27px;color:#8b847b;font-size:.59rem;font-weight:850;text-transform:uppercase}.ft849-day{height:42px;border:0;border-radius:10px;background:transparent;color:#1d1a17;font:inherit;font-size:.8rem;font-weight:720;cursor:pointer}.ft849-day:hover:not(:disabled){background:#f2ede4}.ft849-day:disabled{color:#c8c1b7;cursor:not-allowed}.ft849-day.is-outside{color:#c8c1b7}.ft849-day.is-in-range{background:#f4e9d1}.ft849-day.is-start,.ft849-day.is-end,.ft849-day.is-selected{background:#b88428;color:#fff;box-shadow:0 5px 14px rgba(184,132,40,.22)}.ft849-date-actions{display:flex;justify-content:flex-end;gap:8px;margin:12px 16px 0;padding-top:11px;border-top:1px solid #ece6dc}.ft849-date-actions button{min-height:40px;padding:0 16px;border:1px solid #ddd6ca;border-radius:10px;background:#f5f2ec;color:#312d27;font-weight:800;cursor:pointer}.ft849-date-actions .primary{border-color:#111;background:#111;color:#fff}

/* Airport results live under body as well. */
.ft849-airports{position:fixed;z-index:2147482999;width:min(430px,calc(100vw - 24px));max-height:min(430px,55vh);overflow:auto;border:1px solid #ded7cc;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(19,16,11,.24)}.ft849-airports[hidden]{display:none!important}.ft849-airport-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #eee8df}.ft849-airport-head strong{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.ft849-airport-head small{color:#8a8278;font-size:.62rem}.ft849-airport-option{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;width:100%;min-height:62px;padding:9px 12px;border:0;border-bottom:1px solid #f0ebe3;background:#fff;color:#171612;text-align:left;cursor:pointer}.ft849-airport-option:hover,.ft849-airport-option.is-active{background:#f8f5ef}.ft849-airport-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f5efe3;color:#a06e1d}.ft849-airport-copy{display:grid;gap:2px;min-width:0}.ft849-airport-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.ft849-airport-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#80786f;font-size:.65rem}.ft849-airport-code{padding:6px 8px;border-radius:8px;background:#171612;color:#fff;font-size:.67rem;letter-spacing:.06em}.ft849-airport-empty{padding:18px;color:#777067;font-size:.75rem}
body.ft849-locked{overflow:hidden}

@media(min-width:1020px){.public-site .hero-inner{grid-template-columns:1fr!important;gap:30px!important;align-items:start!important}.public-site .hero-copy{max-width:720px}.public-site .planner{width:min(1080px,100%);max-width:none!important}.public-site .planner-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.public-site .planner-head p{max-width:430px;text-align:right}.public-site .service-tabs{max-width:560px}}
@media(max-width:1120px){.ft849-searchbar{grid-template-columns:minmax(180px,1fr) 36px minmax(180px,1fr) 145px}.ft849-dates{grid-column:1/4;grid-row:2}.ft849-submit{grid-column:4;grid-row:2}}
@media(max-width:760px){.public-site .ft849-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ft849-control,.ft849-currency,.ft849-currency select{width:100%;height:46px;min-height:46px}.ft849-searchbar{display:grid;grid-template-columns:1fr;gap:9px;padding:9px}.ft849-airport,.ft849-dates,.ft849-submit{grid-column:1!important;grid-row:auto!important}.ft849-swap{position:absolute;right:24px;margin-top:68px;z-index:4;width:38px;height:38px;border:1px solid #ddd6ca;border-radius:50%;background:#fff;box-shadow:0 5px 15px rgba(20,17,12,.08)}.ft849-airport>div,.ft849-dates,.ft849-submit{height:58px!important;min-height:58px!important}.ft849-overlay{place-items:end center;padding:0}.ft849-sheet,.ft849-date-sheet{width:100%;max-height:80vh;border-radius:24px 24px 0 0;border-bottom:0;animation:ft849MobileIn .2s ease both}@keyframes ft849MobileIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.ft849-airports{left:12px!important;right:12px!important;bottom:12px!important;top:auto!important;width:auto!important;max-height:58vh;border-radius:18px}.public-site .service-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;overflow:hidden!important}.public-site .service-tab{min-width:0!important;padding:0 5px!important;font-size:.64rem!important;white-space:nowrap!important}.public-site .planner-head p{text-align:left!important}}

/* V84.10 — anchored desktop popovers + staging-safe airport search */
.ft849-popover-title{padding:13px 14px 9px;color:#171612;font:500 1.02rem/1.2 Georgia,'Times New Roman',serif;border-bottom:1px solid #eee8df}
.ft849-options-compact{gap:4px;padding:7px}
.ft849-options-compact .ft849-option{min-height:52px;padding:8px 10px;border-radius:11px}
.ft849-passenger-sheet .ft849-passengers{padding:2px 14px 10px}
.ft849-passenger-sheet .ft849-pax-row{padding:11px 0}
.ft849-airport-empty{display:grid;gap:3px;padding:16px;color:#777067;font-size:.75rem;line-height:1.4}
.ft849-airport-empty strong{color:#302b25;font-size:.78rem}
.ft849-airport-empty span{color:#8a8176}
.ft849-airport-empty.is-loading{color:#7f776d}

@media(min-width:761px){
  .ft849-overlay{display:block;position:fixed;inset:0;padding:0;pointer-events:none;background:transparent}
  .ft849-overlay[hidden]{display:none!important}
  .ft849-overlay-backdrop{position:absolute;inset:0;background:transparent;backdrop-filter:none;pointer-events:auto}
  .ft849-sheet{position:fixed;z-index:1;pointer-events:auto;margin:0;width:330px;max-height:calc(100vh - 24px);overflow:auto;border:1px solid #ded7cc;border-radius:15px;background:#fff;box-shadow:0 18px 48px rgba(23,19,13,.19);animation:ft8410PopoverIn .13s ease both}
  @keyframes ft8410PopoverIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .ft849-date-sheet{padding-bottom:10px;border-radius:16px}
  .ft849-calendar-head{padding-top:11px}
  .ft849-sheet-head{position:static;padding:12px 14px 9px;background:#fff;backdrop-filter:none}
  .ft849-close{display:none}
  body.ft849-locked{overflow:auto}
}

@media(max-width:760px){
  .ft849-overlay{display:grid;place-items:end center;padding:0}
  .ft849-overlay-backdrop{background:rgba(15,14,12,.34);backdrop-filter:blur(2px)}
  .ft849-sheet,.ft849-date-sheet{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-height:80vh!important;border-radius:24px 24px 0 0!important;border-bottom:0!important;box-shadow:0 -18px 60px rgba(19,16,11,.22)}
  .ft849-popover-title{padding:18px 18px 12px;font-size:1.18rem}
  .ft849-options-compact{padding:10px 12px 18px}
  .ft849-passenger-sheet .ft849-passengers{padding:4px 18px 20px}
}

/* V84.12 — mobile-first refinement. Desktop rules above remain untouched. */
@media(max-width:760px){
  body.ft849-airport-mobile-open{overflow:hidden!important;overscroll-behavior:none}

  /* Compact app-style option rail instead of a tall 2x2 toolbar. */
  .public-site .ft849-toolbar{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:1px 1px 4px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .public-site .ft849-toolbar::-webkit-scrollbar{display:none}
  .public-site .ft849-control,
  .public-site .ft849-currency,
  .public-site .ft849-currency select{
    flex:0 0 auto!important;
    width:auto!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:11px!important;
  }
  .public-site .ft849-control{padding:0 11px!important}
  .public-site .ft849-currency select{min-width:72px!important;padding-left:11px!important;padding-right:28px!important}

  /* Stable stacked search card. No absolutely-positioned controls. */
  .public-site .ft849-searchbar{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:17px!important;
    overflow:visible!important;
  }
  .public-site .ft849-airport,
  .public-site .ft849-dates,
  .public-site .ft849-submit,
  .public-site .ft849-swap{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .public-site .ft849-airport>div{min-height:66px!important;padding:9px 13px!important;border-radius:14px!important}
  .public-site .ft849-airport input{font-size:1rem!important}
  .public-site .ft849-airport small{font-size:.68rem!important}

  /* The swap button is now an in-flow separator between From and To. */
  .public-site .ft849-swap{
    position:static!important;
    justify-self:center!important;
    align-self:center!important;
    width:38px!important;
    height:38px!important;
    margin:-4px 0!important;
    border:1px solid #ddd5c8!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#776b5e!important;
    box-shadow:0 4px 12px rgba(24,20,14,.08)!important;
    transform:rotate(90deg)!important;
    z-index:1!important;
  }
  .public-site .ft849-dates{height:66px!important;min-height:66px!important;padding:9px 13px!important;border-radius:14px!important}
  .public-site .ft849-dates strong{font-size:.83rem!important}
  .public-site .ft849-submit{height:58px!important;min-height:58px!important;margin-top:1px!important;border-radius:14px!important;font-size:.95rem!important}
  .public-site .ft849-note{padding:9px 2px 0!important;font-size:.66rem!important}

  /* Airport selection becomes a dedicated app screen on phones. */
  .ft849-airports.is-mobile-sheet{
    position:fixed!important;
    inset:0!important;
    z-index:2147483646!important;
    display:flex!important;
    flex-direction:column!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:max(10px,env(safe-area-inset-top)) 0 max(8px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#f8f6f1!important;
    box-shadow:none!important;
  }
  .ft849-mobile-airport-top{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:8px 14px 12px;
    border-bottom:1px solid #e4ddd2;
    background:#f8f6f1;
  }
  .ft849-mobile-airport-back{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #ded6ca;
    border-radius:50%;
    background:#fff;
    color:#1c1915;
    font-size:1.25rem;
    line-height:1;
  }
  .ft849-mobile-airport-search{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:9px;
    min-height:54px;
    padding:7px 13px;
    border:1px solid #d8cdbb;
    border-radius:15px;
    background:#fff;
    box-shadow:0 2px 10px rgba(28,22,14,.04);
  }
  .ft849-mobile-airport-search small{
    color:#9a6a19;
    font-size:.65rem;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .ft849-mobile-airport-search input{
    width:100%;
    min-width:0;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#171612!important;
    font:inherit!important;
    font-size:1rem!important;
    font-weight:720!important;
  }
  .ft849-mobile-airport-search input::placeholder{color:#9a9288;font-weight:580}
  .ft849-mobile-airport-results{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:8px 12px 24px;
    overscroll-behavior:contain;
  }
  .ft849-airports.is-mobile-sheet .ft849-airport-option{
    min-height:76px;
    margin:0 0 7px;
    padding:11px 12px;
    border:1px solid #e2dbcf;
    border-radius:14px;
    background:#fff;
    box-shadow:0 3px 12px rgba(26,21,14,.035);
  }
  .ft849-airports.is-mobile-sheet .ft849-airport-option:last-child{margin-bottom:0}
  .ft849-airports.is-mobile-sheet .ft849-airport-copy b{font-size:.98rem}
  .ft849-airports.is-mobile-sheet .ft849-airport-copy small{font-size:.75rem;white-space:normal;line-height:1.28}
  .ft849-airports.is-mobile-sheet .ft849-airport-code{padding:8px 9px;border-radius:10px;font-size:.76rem}
  .ft849-airports.is-mobile-sheet .ft849-airport-empty{
    margin:8px 2px;
    padding:18px;
    border:1px solid #e2dbcf;
    border-radius:14px;
    background:#fff;
    font-size:.82rem;
  }
}

@media(max-width:760px){
  /* Keep all four primary selectors visible without horizontal clipping. */
  .public-site .ft849-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .public-site .ft849-control,
  .public-site .ft849-currency,
  .public-site .ft849-currency select{
    width:100%!important;
    min-width:0!important;
  }
  .public-site .ft849-control{justify-content:flex-start!important}
  .public-site .ft849-control strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .public-site .ft849-chevron{margin-left:auto!important}
  .public-site .ft849-currency select{display:block!important}
}
