body.fl-page{
height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;
background-attachment:fixed;
}
.fl-page input{color-scheme:var(--scheme)}
.fl-main{max-width:var(--container);margin:0 auto;padding:var(--sp-6) var(--gutter) var(--sp-40)}
.fl-main,.fl-foot{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.fl-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-24);margin:var(--sp-20) 0 var(--sp-24)}
.fl-hero-text{max-width:640px}
.fl-h1{
font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.08;
font-size:clamp(30px,5.2vw,52px);margin:0 0 var(--sp-12);
}
.fl-lead{margin:0;color:var(--ink-dim);font-size:clamp(14px,1.6vw,16px);line-height:1.6}
.fl-arc{flex:none;width:260px;height:120px;overflow:visible}
.fl-arc-plane{color:var(--ink);offset-path:path("M18 102 C 70 8, 190 8, 242 102");offset-rotate:auto;animation:fly 7s ease-in-out infinite}
@keyframes fly{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0}}
.fl-tabs{display:flex;gap:var(--sp-8);margin-bottom:-1px;position:relative;z-index:1}
.fl-tab{
display:inline-flex;align-items:center;gap:var(--sp-8);padding:var(--sp-12) var(--sp-20);cursor:pointer;
border-radius:var(--r-lg) var(--r-lg) 0 0;border:1px solid transparent;border-bottom:0;
font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.02em;
color:var(--ink-dim);background:transparent;transition:color var(--dur-2), background var(--dur-2);
}
.fl-tab svg{width:var(--icon-md);height:var(--icon-md)}
@media (hover:hover){.fl-tab:hover{color:var(--ink)}}
.fl-tab.is-active{
color:var(--ink);border-color:var(--line);
background:var(--bg-surface-1);
}
.fl-tab.is-active svg{color:var(--ink)}
.fl-card{
position:relative;z-index:var(--z-raise);padding:var(--sp-24);border-radius:0 var(--r-lg) var(--r-lg) var(--r-lg);
background:linear-gradient(180deg, var(--bg-surface-1), var(--bg-surface-2));
border:1px solid var(--line);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));
box-shadow:var(--sh-2), var(--sh-edge);
}
.fl-form{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) auto;gap:var(--sp-12);align-items:end}
.fl-places{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-12)}
.fl-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-12)}
.fl-field{
position:relative;display:flex;flex-direction:column;justify-content:center;
height:62px;padding:var(--sp-8) var(--sp-14);border-radius:var(--r-md);
background:var(--bg-field);border:1px solid var(--line-field);
transition:border-color var(--dur-2), box-shadow var(--dur-2);
}
.fl-field:focus-within{border-color:var(--border-active);box-shadow:var(--ring)}
.fl-field.is-invalid{border-color:var(--border-warn);box-shadow:var(--ring-warn)}
.fl-field label,.ht-stepper-label{
font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;
color:var(--ink-faint);margin-bottom:3px;
}
.fl-field label{line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-field input,.fl-date-btn{
width:100%;min-width:0;background:none;border:0;outline:0;padding:0;
height:24px;line-height:24px;margin:0;
font-family:var(--font-body);font-size:var(--fs-16);color:var(--ink);
}
.fl-field input::placeholder{color:var(--ink-dim)}
.fl-opt{font-family:var(--font-body);font-size:var(--fs-12);letter-spacing:0;text-transform:none;color:var(--ink-faint)}
.fl-err{margin:var(--sp-4) 0 0;font-size:var(--fs-13);line-height:1.4;color:var(--warn)}
:is(.fl-field,.ht-age){position:relative}
:is(.fl-field,.ht-age) > .fl-err{
position:absolute;z-index:5;inset-inline-start:-1px;top:calc(100% + 8px);margin:0;
width:max-content;min-width:min(100%,220px);max-width:min(340px,calc(100vw - 32px));
padding:var(--sp-8) var(--sp-12);border-radius:var(--r-md);
background:var(--panel-solid);border:1px solid var(--border-warn);box-shadow:var(--sh-2);
color:var(--ink);font-family:var(--font-body);font-size:var(--fs-13);letter-spacing:0;text-transform:none;
animation:fl-err-in var(--dur-2) ease-out;
}
:is(.fl-field,.ht-age) > .fl-err::before{
content:"";position:absolute;inset-inline-start:18px;top:-6px;width:10px;height:10px;transform:rotate(45deg);
background:var(--panel-solid);border-left:1px solid var(--border-warn);border-top:1px solid var(--border-warn);
}
:is(.fl-field,.ht-age) > .fl-err{padding-inline-start:calc(var(--sp-12) + var(--sp-20))}
:is(.fl-field,.ht-age) > .fl-err::after{
content:"!";position:absolute;inset-inline-start:var(--sp-12);top:calc(var(--sp-8) + 1px);width:16px;height:16px;border-radius:50%;
display:grid;place-items:center;font-family:var(--font-head);font-size:var(--fs-11);font-weight:700;line-height:1;
color:var(--on-accent);background:var(--warn);
}
.fl-field.has-msg:not(.is-invalid) > .fl-err{border-color:var(--line)}
.fl-field.has-msg:not(.is-invalid) > .fl-err::before{border-color:var(--line)}
.fl-field.has-msg:not(.is-invalid) > .fl-err::after{content:"i";background:var(--ink-faint)}
.fl-field:has(.fl-sugg:not([hidden])) > .fl-err{display:none}
@keyframes fl-err-in{from{opacity:0;transform:translateY(-4px)}}
.fl-place input{padding-inline-end:var(--sp-40)}
.fl-code{
position:absolute;inset-inline-end:13px;bottom:11px;
font-family:var(--font-head);font-size:var(--fs-12);font-weight:600;letter-spacing:.06em;color:var(--from-soft);
}
.fl-places .fl-place + .fl-place .fl-code{color:var(--to-soft)}
.fl-date input::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer;filter:invert(.8)}
:root[data-theme="light"] .fl-date input::-webkit-calendar-picker-indicator{filter:none}
.fl-date input:invalid,.fl-date input:placeholder-shown{color:var(--ink-dim)}
.fl-date input{-webkit-appearance:none;appearance:none;display:block}
.fl-date input::-webkit-date-and-time-value{text-align:start;margin:0}
.fl-date input::-webkit-datetime-edit{padding:0}
.fl-date-native{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.fl-field.is-enhanced{cursor:pointer}
.fl-field.is-enhanced label{cursor:pointer}
.fl-field.is-enhanced label .fl-opt{display:none}
.fl-date-btn{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8);text-align:start;cursor:pointer}
.fl-date-btn .fl-date-val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-date-btn.is-empty .fl-date-val{color:var(--ink-dim)}
.fl-date-btn svg{flex:none;width:var(--icon-sm);height:var(--icon-sm);color:var(--ink-faint);transition:color var(--dur-1)}
@media (hover:hover){.fl-field.is-enhanced:hover{border-color:var(--border-hover)}.fl-field.is-enhanced:hover .fl-date-btn svg{color:var(--ink)}}
.fl-field.is-enhanced .fl-date-btn::before{content:"";position:absolute;inset:0;border-radius:var(--r-md)}
.fl-field.is-enhanced .fl-clear{z-index:1;inset-inline-end:44px}
.fl-clear{
position:absolute;inset-inline-end:40px;bottom:10px;width:24px;height:24px;padding:0;border:0;border-radius:50%;
display:grid;place-items:center;cursor:pointer;color:var(--ink-faint);background:var(--bg-chip);
}
.fl-clear svg{width:var(--icon-sm);height:var(--icon-sm)}
@media (hover:hover){.fl-clear:hover{color:var(--ink)}}
.fl-swap{
position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);
width:34px;height:34px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
color:var(--ink);background:var(--panel-solid);border:1px solid var(--line);transition:var(--tr-ui);
}
.fl-swap svg{width:var(--icon-md);height:var(--icon-md)}
@media (hover:hover){.fl-swap:hover{box-shadow:var(--glow-accent);transform:translate(-50%,-50%) rotate(180deg)}}
.fl-submit{margin:0;width:auto;min-height:62px;padding:0 var(--sp-32);white-space:nowrap}
#fl-form > .fl-submit{grid-column:3;grid-row:1}
#fl-form > .fl-opts{grid-row:2}
.fl-opts{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-10) var(--sp-20);min-width:0}
.fl-check{
grid-column:1 / -1;display:inline-flex;align-items:center;gap:var(--sp-10);justify-self:start;
cursor:pointer;font-size:var(--fs-14);color:var(--ink-dim);user-select:none;
}
.fl-check input{position:absolute;opacity:0;pointer-events:none}
.fl-check-box{
width:18px;height:18px;border-radius:var(--r-sm);border:1px solid var(--ink-faint);
display:grid;place-items:center;transition:var(--tr-ui-fast);
}
.fl-check input:checked + .fl-check-box{background:var(--accent);border-color:var(--accent)}
.fl-check input:checked + .fl-check-box::after{
content:"";width:9px;height:5px;border:2px solid var(--on-accent);border-top:0;border-right:0;
transform:translateY(-1px) rotate(-45deg);
}
.fl-check input:focus-visible + .fl-check-box{outline:2px solid var(--accent);outline-offset:2px}
.fl-pax{position:relative}
.fl-pax-btn{
display:inline-flex;align-items:center;gap:var(--sp-8);min-height:44px;padding:var(--sp-8) var(--sp-14);border-radius:var(--r-md);cursor:pointer;
font-family:var(--font-body);font-size:var(--fs-14);color:var(--ink);background:var(--bg-field);border:1px solid var(--line-field);transition:var(--tr-ui-fast);
}
.fl-pax-btn svg{width:var(--icon-md);height:var(--icon-md);flex:none;color:var(--ink-dim)}
.fl-pax-btn .fl-pax-chev{width:14px;height:14px;transition:transform var(--dur-2)}
.fl-pax-btn[aria-expanded="true"] .fl-pax-chev{transform:rotate(180deg)}
@media (hover:hover){.fl-pax-btn:hover{border-color:var(--border-hover)}}
.fl-pax-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-pax-pop{
position:absolute;z-index:6;inset-inline-start:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 32px));padding:var(--sp-16);border-radius:var(--r-lg);
background:var(--panel-solid);border:1px solid var(--line);box-shadow:var(--sh-3);
}
.fl-pax-pop{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
.fl-pax-h{margin:0 0 var(--sp-6);font-family:var(--font-head);font-size:var(--fs-13);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.fl-pax-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);padding:var(--sp-10) 0;border-bottom:1px solid var(--line)}
.fl-pax-label{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-15);color:var(--ink)}
.fl-pax-label small{font-size:var(--fs-12);color:var(--ink-faint)}
.fl-pax-step{
width:36px;height:36px;border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-18);line-height:1;
color:var(--ink);background:var(--bg-chip);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
@media (hover:hover){.fl-pax-step:hover{border-color:var(--border-hover)}}
.fl-pax-step:disabled{opacity:.35;cursor:default}
.fl-pax-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-pax-row output{min-width:20px;text-align:center;font-family:var(--font-head);font-size:var(--fs-16)}
.fl-pax-note{margin:var(--sp-10) 0 0;font-size:var(--fs-13);line-height:1.45;color:var(--warn)}
.fl-pax-cls{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin:var(--sp-12) 0 0;padding:0;border:0;min-width:0}
.fl-pax-cls legend{width:100%;padding:0;margin-bottom:var(--sp-8);font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.fl-pax-done{display:flex;width:100%;margin-top:var(--sp-14);min-height:44px;font-size:var(--fs-14)}
.fl-opt-pill{position:relative;display:inline-flex;cursor:pointer}
.fl-opt-pill input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.fl-opt-pill > span{
display:inline-flex;align-items:baseline;gap:var(--sp-6);min-height:36px;padding:var(--sp-8) var(--sp-12);border-radius:var(--r-pill);
font-size:var(--fs-14);color:var(--ink-dim);background:var(--bg-control);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
.fl-opt-pill small{font-size:var(--fs-12);color:var(--ink-faint)}
@media (hover:hover){.fl-opt-pill:hover > span{color:var(--ink);border-color:var(--border-hover)}}
.fl-opt-pill input:checked + span{color:var(--ink);border-color:var(--accent);background:var(--bg-selected)}
.fl-opt-pill input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.fl-recent{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-8);margin-top:var(--sp-14)}
.fl-recent-label{font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.fl-recent-list{display:flex;flex-wrap:wrap;gap:var(--sp-8);min-width:0}
.fl-recent-chip{
max-width:100%;padding:var(--sp-6) var(--sp-12);border-radius:var(--r-pill);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
font-family:var(--font-body);font-size:var(--fs-13);color:var(--ink-dim);background:var(--bg-control);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
@media (hover:hover){.fl-recent-chip:hover{color:var(--ink);border-color:var(--border-hover)}}
.fl-recent-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-sugg{top:calc(100% + 6px);min-width:100%;width:max-content;max-width:min(420px,86vw)}
.fl-sugg .sugg-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-sugg .sugg-sub{display:block;color:var(--ink-faint);font-size:var(--fs-12);margin-top:1px}
.fl-sugg li.is-airport{padding-inline-start:var(--sp-32)}
.sugg-code{
margin-inline-start:auto;font-family:var(--font-head);font-size:var(--fs-12);font-weight:600;letter-spacing:.05em;
color:var(--ink-dim);
}
.ht-form{grid-template-columns:minmax(0,1fr) minmax(0,.95fr) auto auto}
.ht-guests{display:flex;align-items:stretch;gap:var(--sp-10);min-height:62px}
.ht-stepper{
display:flex;flex-direction:column;justify-content:center;padding:var(--sp-8) var(--sp-12);border-radius:var(--r-md);
background:var(--bg-field);border:1px solid var(--line-field);
}
.ht-stepper-ctl{display:flex;align-items:center;gap:var(--sp-8)}
.ht-step{
width:28px;height:28px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-17);line-height:1;
color:var(--ink);background:var(--bg-chip);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
@media (hover:hover){.ht-step:hover{border-color:var(--border-hover)}}
.ht-step:disabled{opacity:.35;cursor:default}
.ht-stepper output{min-width:16px;text-align:center;font-family:var(--font-head);font-size:var(--fs-16)}
.ht-ages{grid-column:1 / -1;display:flex;gap:var(--sp-8);flex-wrap:wrap;align-items:center}
.ht-ages:empty{display:none}
.ht-age{
display:flex;flex-direction:column;justify-content:center;padding:var(--sp-6) var(--sp-10);border-radius:var(--r-md);
background:var(--bg-field);border:1px solid var(--line-field);
}
.ht-age label{font-family:var(--font-head);font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.ht-age{transition:border-color var(--dur-2), box-shadow var(--dur-2)}
.ht-age:focus-within{border-color:var(--border-active);box-shadow:var(--ring)}
.ht-age.is-invalid{border-color:var(--border-warn);box-shadow:var(--ring-warn)}
.ht-age select{
background:transparent;border:0;outline:0;color:var(--ink);font-family:var(--font-body);font-size:var(--fs-15);
padding:2px 0;cursor:pointer;color-scheme:var(--scheme);
}
.ht-go{display:grid;place-items:center;text-decoration:none;text-align:center}
.ht-hint{margin:var(--sp-14) 2px 0;font-size:var(--fs-14);line-height:1.5;color:var(--ink-dim)}
.ht-hint.is-warn{color:var(--warn)}
.fl-note{margin:var(--sp-16) 2px 0;color:var(--ink-faint);font-size:var(--fs-13);line-height:1.55}
.fl-results{margin-top:var(--sp-32);animation:rise var(--dur-4) var(--ease-out) both}
.fl-res-head{margin-bottom:var(--sp-16)}
.fl-res-title{font-family:var(--font-display);font-weight:500;font-size:clamp(20px,3vw,28px);letter-spacing:-.01em;margin:0}
.fl-res-sub{margin:var(--sp-6) 0 0;color:var(--ink-dim);font-size:var(--fs-14)}
.fl-cal-card{
padding:var(--sp-16) var(--sp-16) var(--sp-12);border-radius:var(--r-lg);
background:var(--bg-card);border:1px solid var(--line);margin-bottom:var(--sp-24);
}
.fl-cal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);margin-bottom:var(--sp-10)}
.fl-cal-head .section-title{margin:0}
.fl-cal-heading{min-width:0}
.fl-cal-sub{margin:var(--sp-4) 0 0;font-size:var(--fs-13);line-height:1.45;color:var(--ink-dim)}
.fl-cal-nav{display:flex;align-items:center;gap:var(--sp-8)}
.fl-cal-month{min-width:118px;text-align:center;font-family:var(--font-head);font-size:var(--fs-14);text-transform:capitalize}
.fl-cal-btn{
width:32px;height:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
color:var(--ink-dim);background:var(--bg-control);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
.fl-cal-btn svg{width:var(--icon-sm);height:var(--icon-sm)}
@media (hover:hover){.fl-cal-btn:hover:not(:disabled){color:var(--ink);border-color:var(--border-hover)}}
.fl-cal-btn:disabled{opacity:.3;cursor:default}
.fl-cal{
display:grid;grid-auto-flow:column;grid-auto-columns:minmax(48px,1fr);gap:var(--sp-4);
overflow-x:auto;padding:var(--sp-4) 2px var(--sp-6);
overscroll-behavior-x:contain;
}
.fl-day{
display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 2px var(--sp-6);border-radius:var(--r-md);
cursor:pointer;background:none;border:1px solid transparent;color:var(--ink-dim);transition:var(--tr-ui-fast);
font-family:var(--font-head);
}
@media (hover:hover){.fl-day:hover{background:var(--bg-hover)}}
.fl-day-price{font-size:var(--fs-11);letter-spacing:-.01em;white-space:nowrap;color:var(--ink-dim);min-height:14px}
.fl-day-bar{
width:62%;max-width:22px;height:82px;display:flex;align-items:flex-end;border-radius:var(--r-sm);
background:rgba(var(--line-rgb),.06);overflow:hidden;
}
.fl-day-bar i{display:block;width:100%;border-radius:var(--r-sm) var(--r-sm) 3px 3px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.55),rgba(var(--accent-rgb),.16))}
.fl-day-num{font-size:var(--fs-13);color:var(--ink)}
.fl-day-wd{font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}
.fl-day.is-weekend .fl-day-wd{color:var(--ink-dim)}
.fl-day.is-empty .fl-day-bar i{background:none}
.fl-day.is-empty .fl-day-price{color:var(--ink-faint)}
.fl-day.is-past,.fl-day:disabled{opacity:.28;pointer-events:none;cursor:default}
.fl-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.fl-day.is-cheapest .fl-day-bar i{background:linear-gradient(180deg,rgba(var(--green-rgb),.95),rgba(var(--green-rgb),.35))}
.fl-day.is-cheapest .fl-day-price{color:var(--green-ink);font-weight:600}
.fl-day.is-selected{border-color:var(--border-active);background:var(--bg-selected);box-shadow:var(--glow-accent)}
.fl-day.is-selected .fl-day-price{color:var(--ink)}
.fl-cal-empty{padding:var(--sp-24) var(--sp-8);text-align:center;color:var(--ink-faint);font-size:var(--fs-14)}
.fl-cal-empty p,.fl-empty p{margin:0}
.fl-cal-empty .fl-acts{justify-content:center}
.fl-cal.is-loading{pointer-events:none}
.fl-cal.is-loading .fl-day-bar i{animation:barpulse 1.1s ease-in-out infinite alternate}
@keyframes barpulse{from{opacity:.25}to{opacity:.7}}
.fl-list-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);flex-wrap:wrap;margin-bottom:var(--sp-12)}
.fl-list-head .section-title{margin:0}
.fl-sort{align-self:auto}
.fl-list{display:flex;flex-direction:column;gap:var(--sp-10)}
.fl-flex{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin:0;padding:0;border:0;min-width:0}
.fl-strip{margin-bottom:var(--sp-12)}
.fl-flex-auto{display:flex;align-items:center;gap:var(--sp-8);margin:0 0 var(--sp-12);padding:var(--sp-6) var(--sp-6) var(--sp-6) var(--sp-14);border-radius:var(--r-md);background:var(--bg-tint);border:1px solid var(--border-action)}
.fl-flex-auto-text{flex:1;min-width:0;margin:0;font-size:var(--fs-14);line-height:1.45;color:var(--ink)}
.fl-flex-auto-x{flex:none;display:grid;place-items:center;width:var(--sp-32);height:var(--sp-32);padding:0;border:0;border-radius:var(--r-pill);cursor:pointer;color:var(--ink-dim);background:transparent}
.fl-flex-auto-x svg{width:var(--icon-sm);height:var(--icon-sm)}
@media (hover:hover){.fl-flex-auto-x:hover{color:var(--ink);background:var(--bg-hover)}}
.fl-flex-auto-x:active{background:var(--bg-pressed)}
.fl-flex-auto-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-strip-title{margin:0 0 var(--sp-8);font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.fl-strip-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:var(--sp-4)}
.fl-sday{
display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:44px;padding:var(--sp-6) var(--sp-4);
border-radius:var(--r-md);cursor:pointer;font-family:var(--font-head);color:var(--ink-dim);
background:var(--bg-control);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
@media (hover:hover){.fl-sday:hover{border-color:var(--border-hover)}}
.fl-sday:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-sday-wd{font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}
.fl-sday-num{font-size:var(--fs-13);line-height:1.2;text-align:center;color:var(--ink)}
.fl-sday-price{font-size:var(--fs-11);line-height:1.25;text-align:center;overflow-wrap:anywhere;color:var(--ink)}
.fl-sday:is(.is-none,.is-unknown,.is-wait) .fl-sday-price{color:var(--ink-faint)}
.fl-sday.is-wait .fl-sday-price{animation:barpulse 1.1s ease-in-out infinite alternate}
.fl-sday.is-cheapest{border-color:var(--border-good);background:var(--bg-good)}
.fl-sday.is-cheapest .fl-sday-price{color:var(--green-ink);font-weight:600}
.fl-sday.is-selected{border-color:var(--border-active);background:var(--bg-selected);box-shadow:var(--glow-accent)}
.fl-strip-note{margin:var(--sp-8) 0 0;font-size:var(--fs-13);line-height:1.45;color:var(--ink-dim)}
.fl-nearby{margin-top:var(--sp-24)}
.tk{
display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-14) var(--sp-20);align-items:center;
position:relative;padding:var(--sp-16) var(--sp-20);border-radius:var(--r-lg);background:var(--bg-card);border:1px solid var(--line);
transition:border-color var(--dur-1), background var(--dur-1);animation:tpin var(--dur-3) var(--ease-out) both;
}
@media (hover:hover){.tk:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}}
.tk.is-open{cursor:pointer}
.tk-hit{position:absolute;inset:0;z-index:1;margin:0;padding:0;border:0;border-radius:var(--r-lg);background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tk-hit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tk.is-open:has(.tk-hit:active){background:var(--bg-pressed);transition-duration:var(--dur-press)}
.tk-top{display:flex;align-items:center;gap:var(--sp-10);flex-wrap:wrap;margin-bottom:var(--sp-10)}
.tk-logos{display:inline-flex;align-items:center;flex:none}
.tk-logo-wrap{
position:relative;display:grid;place-items:center;flex:none;width:var(--logo);height:var(--logo);overflow:hidden;
border-radius:var(--r-sm);background:#fff;box-shadow:0 0 0 2px var(--panel-solid);
}
.tk-logos.is-stack .tk-logo-wrap + .tk-logo-wrap{margin-inline-start:calc(var(--logo) * -.36)}
.tk-logo-wrap b{font-family:var(--font-head);font-size:var(--fs-11);font-weight:700;color:#2a3246}
.tk-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.tk-logo-more{margin-inline-start:var(--sp-4);font-family:var(--font-head);font-size:var(--fs-12);color:var(--ink-dim)}
.tk-airline{font-family:var(--font-head);font-size:var(--fs-14);color:var(--ink);min-width:0}
.tk-date-chip{
font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.02em;color:var(--ink-dim);
padding:3px var(--sp-8);border-radius:var(--r-pill);background:var(--bg-chip);border:1px solid var(--line);
}
.tk-legs{display:flex;flex-direction:column;gap:var(--sp-12)}
.tk-leg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-14)}
.tk-leg-dir{
grid-column:1 / -1;margin-bottom:calc(-1*var(--sp-6));font-family:var(--font-head);font-size:var(--fs-11);letter-spacing:.08em;
text-transform:uppercase;color:var(--ink-faint);
}
.tk-point{display:flex;flex-direction:column;min-width:64px}
.tk-point.is-end{align-items:flex-end;text-align:end}
.tk-time{font-family:var(--font-head);font-size:var(--fs-22);font-weight:500;color:var(--ink);line-height:1.1;white-space:nowrap}
.tk-place{font-size:var(--fs-12);color:var(--ink-dim);white-space:nowrap;margin-top:3px}
.tk-place b{font-family:var(--font-head);font-weight:600;color:var(--from-soft);letter-spacing:.04em}
.tk-point.is-end .tk-place b{color:var(--to-soft)}
.tk-path{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);min-width:0}
.tk-dur{padding:0 var(--sp-20);font-size:var(--fs-12);color:var(--ink-dim);white-space:nowrap}
.tl{position:relative;z-index:2;display:flex;align-items:center;width:100%;height:18px}
.tl:has(.tl-wait){margin-bottom:var(--sp-14)}
.tk.is-open .tl{cursor:pointer}
.tl-end{position:relative;flex:none;width:6px;height:6px;border-radius:50%}
.tl-end.is-from{background:var(--from);color:var(--from)}
.tl-end.is-to{background:var(--to);color:var(--to)}
.tl-end svg{position:absolute;bottom:calc(100% + 2px);width:var(--icon-sm);height:var(--icon-sm)}
.tl-end.is-from svg{inset-inline-start:-2px}
.tl-end.is-to svg{inset-inline-end:-2px}
.tl-fly,.tl-wait{position:relative;flex-basis:0;height:18px}
.tl-fly{min-width:var(--sp-10)}
.tl-fly::before{
content:"";position:absolute;inset-inline-start:1px;inset-inline-end:1px;top:50%;height:4px;transform:translateY(-50%);border-radius:3px;
background:linear-gradient(90deg,color-mix(in srgb,var(--to) var(--a,0%),var(--from)),color-mix(in srgb,var(--to) var(--b,100%),var(--from)));
transition:height var(--dur-1);
}
.tl-wait{min-width:var(--sp-12)}
.tl-wait::before{content:"";position:absolute;inset-inline-start:3px;inset-inline-end:3px;top:50%;border-top:1.5px solid var(--ink-faint);transform:translateY(-50%)}
.tl-wait.is-change::before{border-top-style:dashed}
.tl-wait.is-bad::before{border-top-color:var(--bad)}
.tl-wait.is-dot{flex:none;width:12px;min-width:12px}
.tl-wait.is-dot::before{left:50%;right:auto;width:6px;height:6px;border:1.5px solid var(--ink-faint);border-radius:50%;transform:translate(-50%,-50%)}
.tl-wait.is-dot.is-bad::before{border-color:var(--bad)}
.tl-wait b{
position:absolute;top:calc(100% - 2px);left:50%;transform:translateX(-50%);
font-family:var(--font-head);font-size:var(--fs-11);font-weight:600;letter-spacing:.04em;color:var(--ink-faint);white-space:nowrap;
}
.tl-wait.is-bad b{color:var(--bad)}
.tl [data-tip]::after{
content:attr(data-tip);position:absolute;z-index:5;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,4px);
width:max-content;max-width:280px;padding:var(--sp-6) var(--sp-10);border-radius:var(--r-sm);
background:var(--panel-solid);border:1px solid var(--line);box-shadow:var(--sh-2);
font-family:var(--font-head);font-size:var(--fs-12);font-style:normal;font-weight:500;line-height:1.45;letter-spacing:0;
text-align:start;white-space:pre-line;color:var(--ink);
opacity:0;pointer-events:none;transition:opacity var(--dur-1),transform var(--dur-1);
}
.tl .tl-wait.is-bad::after{color:var(--bad)}
.tl .tl-end.is-from::after{inset-inline-start:-2px;bottom:calc(100% + 20px);transform:translate(0,4px)}
.tl .tl-end.is-to::after{inset-inline-start:auto;inset-inline-end:-2px;bottom:calc(100% + 20px);transform:translate(0,4px)}
@media (hover:hover){
.tl-fly:hover::before{height:8px}
.tl-wait:hover::before{border-top-color:var(--ink)}
.tl-wait.is-bad:hover::before{border-top-color:var(--bad)}
.tl [data-tip]:hover::after{opacity:1;transform:translate(-50%,0)}
.tl .tl-end:hover::after{transform:none}
}
.tk-stops{font-size:var(--fs-12);line-height:1.35;color:var(--ink-faint);text-align:center;max-width:100%;overflow-wrap:anywhere}
.tk-stops.is-direct{color:var(--green-ink)}
.tk-stops.is-bad{color:var(--bad)}
.tk-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-8);padding-inline-start:var(--sp-20);border-inline-start:1px dashed var(--line);align-self:stretch;justify-content:center}
.tk-price{font-family:var(--font-head);font-size:var(--fs-22);font-weight:600;color:var(--ink);white-space:nowrap}
.tk-per{font-size:var(--fs-12);color:var(--ink-faint);margin-top:calc(-1*var(--sp-6))}
.tk-per > span{display:block}
.tk-buy{min-width:128px;padding:var(--sp-12) var(--sp-20);font-size:var(--fs-14)}
.tk.is-best{border-color:var(--border-good)}
.fl-list.is-settled .tk{animation:none}
.tk-bag{
display:inline-flex;align-items:center;gap:var(--sp-4);padding:3px var(--sp-8) 3px var(--sp-8);border-radius:var(--r-pill);
font-size:var(--fs-12);white-space:nowrap;border:1px solid var(--line);color:var(--ink-dim);
}
.tk-bag svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}
.tk-bag.is-yes{color:var(--green-ink);border-color:var(--border-good);background:var(--bg-good)}
.tk-bag.is-unknown{border-style:dashed;color:var(--ink-faint)}
.tk-bag.is-part{color:var(--warn);border-color:var(--border-warn-soft)}
.tk-warns{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-8);margin:var(--sp-12) 0 0;padding:0;list-style:none}
.tk-warn{
display:inline-flex;align-items:center;gap:var(--sp-4);padding:3px var(--sp-8);border-radius:var(--r-pill);
font-size:var(--fs-12);line-height:1.3;border:1px solid var(--border-warn-soft);color:var(--warn);
}
.tk-warn.is-bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad) 8%,transparent)}
.tk-warn svg,.tkm-warns h3 svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}
.tkm-warns{margin:0 0 var(--sp-16);padding:var(--sp-12) var(--sp-16);border-radius:var(--r-md);border:1px solid var(--border-warn-soft);background:color-mix(in srgb,var(--warn) 6%,transparent)}
.tkm-warns h3{display:flex;align-items:center;gap:var(--sp-8);color:var(--warn)}
.tkm-warns ul{margin:var(--sp-8) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-8)}
.tkm-warn{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-14);line-height:1.4;color:var(--ink-dim)}
.tkm-warn b{color:var(--warn);font-weight:600}
.tkm-warn.is-bad b{color:var(--bad)}
.tk-offer-note{font-size:var(--fs-12);color:var(--green-ink)}
.tk-offer-note.is-bad{color:var(--bad)}
.tk-offer{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:var(--sp-12);padding:var(--sp-8) 2px}
.tk-offer + .tk-offer{border-top:1px solid rgba(var(--line-rgb),.07)}
.tk-offer-seller{font-size:var(--fs-14);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-offer .tk-bag{justify-self:end}
.tk-offer-price{font-family:var(--font-head);font-size:var(--fs-15);font-weight:600;color:var(--ink);white-space:nowrap;min-width:84px;text-align:end}
.tk-offer-buy{padding:var(--sp-8) var(--sp-14);font-size:var(--fs-13)}
.tk-buy-text{white-space:nowrap}
.tk-ext{display:inline-block;margin-inline-start:var(--sp-4);font-size:.85em;line-height:1;opacity:.8;transform:translateY(-1px)}
.tk-stop.is-warn{color:var(--ink-dim)}
.tk-stop.is-bad{color:var(--bad)}
.tk-fare-per{display:block}
.tk-more{display:inline-flex;align-items:center;gap:var(--sp-6);font-family:var(--font-head);font-size:var(--fs-13);color:var(--ink-dim);white-space:nowrap}
.tk-more svg{width:var(--icon-sm);height:var(--icon-sm);flex:none;transition:var(--tr-ui-fast)}
.tk-sellers{font-size:var(--fs-12);color:var(--ink-faint);margin-inline-end:var(--sp-4)}
@media (hover:hover){
.tk.is-open:hover .tk-more{color:var(--ink)}
.tk.is-open:hover .tk-more svg{transform:translateX(2px)}
}
.fl-gone{margin:0 0 var(--sp-12);padding:var(--sp-10) var(--sp-14);border-radius:var(--r-md);font-size:var(--fs-14);color:var(--warn);border:1px solid var(--border-warn-soft)}
html.tkm-lock body{overflow:hidden}
.tkm{
width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;
background:transparent;color:var(--ink);overflow:hidden;
}
.tkm[open]{display:grid;place-items:center}
.tkm::backdrop{background:rgba(3,5,12,.6);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));animation:dtp-fade var(--dur-3) ease-out}
:root[data-theme="light"] .tkm::backdrop{background:rgba(14,22,40,.32)}
.tkm-box{
display:flex;flex-direction:column;width:min(960px,calc(100% - 2 * var(--sp-24)));max-height:min(90vh,900px);overflow:hidden;
border-radius:var(--r-lg);background:var(--panel-solid);border:1px solid var(--line);box-shadow:var(--sh-3);
animation:tkm-in var(--dur-3) var(--ease-out) both;
}
.tkm-box > div{display:contents}
@keyframes tkm-up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes tkm-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.tkm-head{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-16) var(--sp-16) var(--sp-14) var(--sp-24);border-bottom:1px solid var(--line)}
.tkm-head-text{flex:1;min-width:0}
.tkm-title{margin:0;font-family:var(--font-display);font-weight:500;font-size:var(--fs-22);letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}
.tkm-sub{margin:var(--sp-4) 0 0;font-size:var(--fs-13);color:var(--ink-dim)}
.tkm-share{flex:none}
.tkm-share svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}
.tkm-share.is-done{color:var(--green-ink)}
.tkm-close{flex:none}
.tkm-close svg{width:var(--icon-md);height:var(--icon-md)}
.tkm-body{
flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-24);align-items:start;padding:var(--sp-20) var(--sp-24) var(--sp-24);
}
.tkm-carriers{display:flex;align-items:center;gap:var(--sp-12);margin-bottom:var(--sp-16);font-family:var(--font-head);font-size:var(--fs-15);font-weight:600}
.tkm-leg + .tkm-leg{margin-top:var(--sp-24);padding-top:var(--sp-20);border-top:1px dashed var(--line)}
.tkm-leg-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-12);margin-bottom:var(--sp-10)}
.tkm-leg-head h3{margin:0;font-family:var(--font-head);font-size:var(--fs-16);font-weight:600}
.tkm-leg-head > span{font-size:var(--fs-13);color:var(--ink-dim);white-space:nowrap}
.tkm-leg-dir{margin-inline-end:var(--sp-8);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.tl.is-big{height:24px;margin-bottom:var(--sp-24)}
.tl.is-big{margin-top:var(--sp-24)}
.tl.is-big .tl-fly,.tl.is-big .tl-wait{height:24px}
.tl.is-big .tl-end{width:8px;height:8px}
.tl.is-big .tl-end svg{width:var(--icon-md);height:var(--icon-md)}
.tl.is-big .tl-end::after{bottom:calc(100% + 24px)}
.tl.is-big .tl-fly::before{height:5px}
@media (hover:hover){.tl.is-big .tl-fly:hover::before{height:9px}}
.tkm-flights{display:flex;flex-direction:column;gap:var(--sp-10);margin:0;padding:0;list-style:none}
.tkm-fl{padding:var(--sp-14) var(--sp-16);border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--line)}
.tkm-carrier{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4) var(--sp-10);margin-bottom:var(--sp-12);font-size:var(--fs-13);color:var(--ink-dim)}
.tkm-carrier b{font-family:var(--font-head);font-size:var(--fs-14);font-weight:600;color:var(--ink)}
.tkm-stop-row,.tkm-air{display:grid;grid-template-columns:68px 14px minmax(0,1fr);column-gap:var(--sp-12)}
.tkm-t{display:flex;flex-direction:column}
.tkm-t time{font-family:var(--font-head);font-size:var(--fs-18);font-weight:600;line-height:1.15;white-space:nowrap}
.tkm-t small{font-size:var(--fs-12);color:var(--ink-faint)}
.tkm-dot{width:12px;height:12px;margin-top:var(--sp-4);border-radius:50%;border:2px solid var(--from);background:var(--panel-solid)}
.tkm-stop-row.is-arr .tkm-dot{border-color:var(--to)}
.tkm-where{display:flex;flex-direction:column;min-width:0}
.tkm-city{font-size:var(--fs-15);font-weight:600;color:var(--ink)}
.tkm-code{font-size:var(--fs-12);color:var(--ink-dim)}
.tkm-air{align-items:center;min-height:36px;font-size:var(--fs-12);color:var(--ink-faint)}
.tkm-air-line{grid-column:2;justify-self:center;align-self:stretch;width:2px;margin:3px 0;border-radius:2px;background:linear-gradient(var(--from),var(--to))}
.tkm-air > span:last-child{grid-column:3}
.tkm-tr{
display:flex;align-items:flex-start;gap:var(--sp-10);padding:var(--sp-10) var(--sp-16);border-radius:var(--r-md);
border:1px dashed var(--line);font-size:var(--fs-13);color:var(--ink-dim);
}
.tkm-tr b{display:block;font-weight:600;color:var(--ink)}
.tkm-tr small{display:block;margin-top:2px;font-size:var(--fs-12)}
.tkm-tr.is-bad{border-color:var(--bad);color:var(--bad)}
.tkm-tr.is-bad b{color:var(--bad)}
.tkm-tr-ico svg{display:block;width:var(--icon-md);height:var(--icon-md)}
.tkm-side{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--sp-16)}
.tkm-price-card{
display:flex;flex-direction:column;gap:var(--sp-10);padding:var(--sp-20);
border-radius:var(--r-md);background:var(--bg-surface-2);border:1px solid var(--line);
}
.tkm-price{font-family:var(--font-head);font-size:clamp(26px,3vw,30px);font-weight:600;line-height:1.1}
.tkm-price-card .tk-per{margin:0}
.tkm-tags{display:flex;flex-wrap:wrap;gap:var(--sp-6)}
.tkm-tag{padding:3px var(--sp-8);border-radius:var(--r-pill);background:var(--bg-chip);font-size:var(--fs-12);color:var(--ink-dim)}
.tkm-tag.is-yes{color:var(--green-ink)}
.tkm-tag.is-no{color:var(--ink-faint)}
.tkm-buy{width:100%;margin-top:var(--sp-4);padding:var(--sp-14) var(--sp-20);font-size:var(--fs-15)}
.tkm-h3{margin:0 0 var(--sp-4);font-family:var(--font-head);font-size:var(--fs-12);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.tkm-offers .tk-offer{grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-6) var(--sp-10)}
.tkm-offers .tk-offer .tk-bag{grid-column:1 / 2;grid-row:2;justify-self:start}
.tkm-offers .tk-offer-price{grid-column:2 / 3;grid-row:1;min-width:0}
.tkm-offers .tk-offer-buy{grid-column:2 / 3;grid-row:2}
.tkm-foot{display:none}
.fl-filt{margin:0 0 var(--sp-12);padding:var(--sp-12) var(--sp-14);border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--line)}
.fl-filt-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-8) var(--sp-14)}
.fl-filt-toggle{
display:none;align-items:center;gap:var(--sp-8);min-height:44px;padding:var(--sp-8) var(--sp-14);border-radius:var(--r-md);cursor:pointer;
font-family:var(--font-head);font-size:var(--fs-14);color:var(--ink);background:var(--bg-control);border:1px solid var(--line);
}
.fl-filt-toggle svg{width:var(--icon-md);height:var(--icon-md)}
.fl-filt-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-filt-n:not(:empty){min-width:20px;height:20px;padding:0 var(--sp-6);border-radius:var(--r-pill);display:inline-grid;place-items:center;font-size:var(--fs-12);color:var(--on-accent);background:var(--accent)}
.fl-filt-count{flex:1;margin:0;font-size:var(--fs-13);color:var(--ink-dim)}
.fl-filt-count:empty{display:none}
.fl-filt-reset{margin:0}
.fl-filt-panel{margin-top:var(--sp-8);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-12) var(--sp-24)}
.fl-filt-group{margin:0;padding:0;border:0;min-width:0}
.fl-filt-group legend{padding:0;margin-bottom:var(--sp-8);font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.fl-filt-opts{display:flex;flex-wrap:wrap;gap:var(--sp-6)}
.fl-filt-air{display:flex;flex-direction:column}
.fl-opt-row{display:flex;align-items:center;gap:var(--sp-10);min-height:36px;cursor:pointer;font-size:var(--fs-14);color:var(--ink)}
.fl-opt-row input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--accent)}
.fl-opt-row input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl-opt-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-filt-c{font-size:var(--fs-12);color:var(--ink-faint)}
.fl-filt-more{
align-self:flex-start;margin-top:var(--sp-4);padding:var(--sp-6) 0;min-height:36px;cursor:pointer;background:none;border:0;
font-family:var(--font-head);font-size:var(--fs-13);color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;
}
@media (hover:hover){.fl-filt-more:hover{color:var(--ink)}}
.fl-filt-title{display:none}
.fl-opt-pill b{font-weight:inherit}
.fl-opt-row .fl-filt-c{font-variant-numeric:tabular-nums;white-space:nowrap}
.fl-air-row{display:flex;align-items:center;gap:var(--sp-6);min-width:0}
.fl-air-row .fl-opt-row{flex:1;min-width:0}
.fl-only{
flex:none;padding:var(--sp-4) var(--sp-6);cursor:pointer;background:none;border:0;border-radius:var(--r-sm);
font-family:var(--font-body);font-size:var(--fs-12);color:var(--accent);
}
.fl-only:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media (hover:hover){
.fl-only{opacity:0}
.fl-air-row:hover .fl-only,.fl-only:focus-visible{opacity:1}
.fl-only:hover{text-decoration:underline;text-underline-offset:3px}
}
@media (width >= 960px){
.fl-body.has-side{display:grid;grid-template-columns:252px minmax(0,1fr);column-gap:var(--sp-24);align-items:start}
.fl-body.has-side > .fl-list-head{grid-column:2;grid-row:1}
.fl-body.has-side > .fl-col{grid-column:2;grid-row:2;min-width:0}
.fl-body.has-side > .fl-filt{
grid-column:1;grid-row:1 / span 2;position:sticky;top:var(--sp-16);margin:0;padding:var(--sp-16) var(--sp-16) var(--sp-8);
max-height:calc(100vh - 2 * var(--sp-16));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
}
.has-side .fl-filt-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--sp-4) var(--sp-8)}
.has-side .fl-filt-title{display:block;margin:0;font-family:var(--font-head);font-size:var(--fs-16);font-weight:600;color:var(--ink)}
.has-side .fl-filt-count{grid-column:1 / -1;grid-row:2;font-size:var(--fs-12)}
.has-side .fl-filt-reset{grid-column:2;grid-row:1;min-height:0;padding:0;background:none;border:0;box-shadow:none;
font-size:var(--fs-13);color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.has-side .fl-filt-panel{display:block;margin-top:var(--sp-8)}
.has-side .fl-filt-group{padding:var(--sp-14) 0 var(--sp-10);border-top:1px solid var(--line)}
.has-side .fl-filt-group legend{float:inline-start;width:100%;margin-bottom:var(--sp-8);font-size:var(--fs-14);font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.has-side .fl-filt-group legend + *{clear:both}
.has-side .fl-filt-opts{flex-direction:column;gap:0}
.has-side #fl-filt-times{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6)}
.has-side #fl-filt-times .fl-opt-pill > span{
width:100%;flex-direction:column;align-items:flex-start;gap:0;padding:var(--sp-6) var(--sp-10);border-radius:var(--r-md);line-height:1.3;
}
.has-side #fl-filt-times b{color:var(--ink);font-size:var(--fs-13)}
.has-side #fl-filt-times .fl-filt-c:empty{display:none}
}
.fl-new{
position:sticky;z-index:var(--z-sticky);bottom:calc(14px + env(safe-area-inset-bottom, 0px));display:flex;justify-content:center;
margin-top:var(--sp-12);pointer-events:none;
}
.fl-new-btn{pointer-events:auto;min-height:44px;padding:var(--sp-10) var(--sp-20);font-size:var(--fs-14)}
.fl-cur select{max-width:96px}
.fl-live-status{
position:relative;display:flex;align-items:center;gap:var(--sp-10);margin:-2px 0 var(--sp-12);padding:var(--sp-10) var(--sp-14);border-radius:var(--r-md);overflow:hidden;
font-size:var(--fs-13);line-height:1.45;color:var(--ink-dim);background:var(--bg-card);border:1px solid var(--line);
}
.fl-live-dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.fl-live-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(var(--accent-rgb),.45);opacity:0}
.fl-live-text{flex:1;min-width:0}
.fl-live-bar{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:0;height:2px;overflow:hidden;opacity:0}
.fl-live-bar i{position:absolute;top:0;bottom:0;width:36%;--bar-end:278%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:livebar 1.4s ease-in-out infinite}
.fl-live-status.is-searching .fl-live-bar{opacity:1}
.fl-live-status.is-searching .fl-live-dot::after{animation:livedot 1.4s ease-out infinite}
.fl-live-status.is-done .fl-live-dot{background:rgb(var(--green-rgb))}
.fl-live-status.is-expired,.fl-live-status.is-failed{border-color:var(--border-warn-soft);color:var(--warn)}
.fl-live-status.is-expired .fl-live-dot,.fl-live-status.is-failed .fl-live-dot{background:var(--warn)}
.fl-refresh{flex:none;gap:var(--sp-6);padding:var(--sp-6) var(--sp-12);font-size:var(--fs-13);border-color:var(--border-warn-soft)}
.fl-refresh svg{width:var(--icon-sm);height:var(--icon-sm)}
@media (hover:hover){.fl-refresh:hover{box-shadow:var(--glow-warn)}}
@keyframes livebar{from{transform:translateX(-100%)}to{transform:translateX(var(--bar-end))}}
@keyframes livedot{0%{transform:scale(1);opacity:1}100%{transform:scale(3.25);opacity:0}}
.fl-empty{
padding:var(--sp-32) var(--sp-20);border-radius:var(--r-lg);border:1px solid var(--line);color:var(--ink-dim);
font-size:var(--fs-14);line-height:1.6;background:var(--bg-card);
}
.fl-acts{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-top:var(--sp-12)}
.fl-act{padding:var(--sp-8) var(--sp-14);font-size:var(--fs-13)}
.fl-skel{height:118px;border-radius:var(--r-lg)}
.fl-more{display:flex;width:fit-content;align-self:center;margin:var(--sp-14) auto 0;padding:var(--sp-10) var(--sp-24);font-size:var(--fs-13)}
.fl-more-box{display:flex;flex-direction:column;align-items:center}
.fl-more-count{margin:var(--sp-8) 0 0;text-align:center;font-size:var(--fs-13);color:var(--ink-faint)}
.fl-hotel{
display:flex;align-items:center;gap:var(--sp-16);margin-top:var(--sp-24);padding:var(--sp-16) var(--sp-20);border-radius:var(--r-lg);
border:1px solid var(--line);background:var(--bg-card);
}
.fl-hotel-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-14);color:var(--ink-dim);line-height:1.5}
.fl-hotel-text b{font-family:var(--font-head);font-weight:500;font-size:var(--fs-15);color:var(--ink)}
.fl-hotel-btn{flex:none;padding:var(--sp-12) var(--sp-20);font-size:var(--fs-14);white-space:nowrap}
.fl-hotel-ico{flex:none;width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--ink);background:var(--bg-chip);border:1px solid var(--line)}
.fl-hotel-ico svg{width:var(--icon-lg);height:var(--icon-lg)}
.fl-dirs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--sp-10)}
.dir{
display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-14) var(--sp-16);border-radius:var(--r-md);cursor:pointer;text-align:start;
color:inherit;background:var(--bg-card);border:1px solid var(--line);transition:var(--tr-ui-fast);
animation:tpin var(--dur-3) var(--ease-out) both;font:inherit;
}
@media (hover:hover){.dir:hover{border-color:var(--border-hover);transform:translateY(-2px);background:var(--bg-card-hover)}}
.dir-name{font-family:var(--font-head);font-size:var(--fs-16);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dir-country{font-size:var(--fs-12);color:var(--ink-faint)}
.dir-price{margin-top:var(--sp-6);font-family:var(--font-head);font-size:var(--fs-18);font-weight:600;color:var(--ink)}
.dir-meta{font-size:var(--fs-12);color:var(--ink-dim)}
.fl-from-top{margin-top:var(--sp-32)}
.fl-from-top h2{font-family:var(--font-display);font-weight:500;font-size:clamp(20px,3vw,28px);letter-spacing:-.01em;margin:0 0 var(--sp-12);color:var(--ink)}
.fl-from-top .dp-near{margin:0 0 var(--sp-12);padding:var(--sp-10) var(--sp-14);border-radius:var(--r-md);color:var(--ink);background:var(--bg-chip);border:1px solid var(--line)}
.fl-from-top .dp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 var(--sp-24);margin:0;padding:0;list-style:none}
.fl-from-top .dp-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px var(--sp-12);min-height:44px;padding:var(--sp-10) 0;border-top:1px solid var(--line)}
.fl-from-top .dp-list a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
@media (hover:hover){.fl-from-top .dp-list a:hover{text-decoration:underline}}
.fl-from-top .dp-list span{font-size:var(--fs-13);color:var(--ink-faint);white-space:nowrap}
.fl-from-top .dp-list .dp-money{font-family:var(--font-head);font-size:var(--fs-15);font-weight:600;color:var(--ink)}
.fl-from-top .dp-from-top-more,.fl-all-dest{margin:var(--sp-14) 0 0;font-family:var(--font-head);font-size:var(--fs-15)}
.fl-from-top a,.fl-all-dest a{color:var(--ink);text-decoration-color:var(--border-hover);text-underline-offset:3px}
.fl-from-top .dp-list a{color:var(--ink)}
.fl-from-top .dp-from-top-rates{margin:var(--sp-12) 0 0;font-size:var(--fs-13);color:var(--ink-faint)}
.fl-all-dest{margin-top:var(--sp-32)}
@media (width < 640px){.fl-from-top .dp-list{grid-template-columns:minmax(0,1fr)}}
.fl-foot{max-width:var(--container);margin:0 auto;padding:var(--sp-20) var(--gutter) var(--sp-32);color:var(--ink-faint);font-size:var(--fs-12);line-height:1.5;border-top:1px solid var(--line)}
.go-main{min-height:calc(100vh - 90px);display:grid;place-items:center;padding:var(--sp-12) var(--sp-24) var(--sp-48)}
.go-card{
position:relative;width:min(560px,100%);padding:var(--sp-32) var(--sp-32) var(--sp-24);border-radius:var(--r-lg);text-align:center;
background:var(--bg-surface-1);border:1px solid var(--line);
box-shadow:var(--sh-2);animation:rise var(--dur-4) var(--ease-out) both;
}
.go-arc{display:block;margin:calc(-1*var(--sp-6)) auto var(--sp-6);width:220px;height:100px}
.go-eyebrow{margin:0 0 var(--sp-8);font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.go-h1{margin:0 0 var(--sp-20);font-family:var(--font-display);font-weight:500;font-size:clamp(21px,4.4vw,28px);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.go-ticket{text-align:start;padding:var(--sp-14) var(--sp-16);border-radius:var(--r-lg);background:var(--bg-surface-2);border:1px solid var(--line);margin-bottom:var(--sp-20)}
.go-ticket-top{display:flex;align-items:center;gap:var(--sp-10);margin-bottom:var(--sp-10)}
.go-airline{flex:1;min-width:0;font-family:var(--font-head);font-size:var(--fs-14);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.go-price{font-family:var(--font-head);font-size:var(--fs-22);font-weight:600;color:var(--ink);white-space:nowrap}
.go-legs{display:flex;flex-direction:column;gap:var(--sp-8)}
.go-leg{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-4) var(--sp-12);font-size:var(--fs-14);color:var(--ink-dim)}
.go-leg b{font-family:var(--font-head);font-weight:600;letter-spacing:.04em;color:var(--ink)}
.go-pax{margin:var(--sp-10) 0 0;padding-top:var(--sp-10);border-top:1px dashed var(--line);font-size:var(--fs-13);color:var(--ink-dim)}
.go-pax:empty{display:none}
.go-leg-dir{width:100%;font-family:var(--font-head);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.go-status{display:flex;flex-direction:column;align-items:center;gap:var(--sp-10);margin-bottom:var(--sp-20);font-size:var(--fs-14);line-height:1.5;color:var(--ink-dim)}
.go-bar{position:relative;width:180px;height:3px;border-radius:3px;overflow:hidden;background:rgba(var(--line-rgb),.14)}
.go-bar i{position:absolute;top:0;bottom:0;width:40%;--bar-end:250%;border-radius:3px;background:var(--accent);animation:livebar 1.3s ease-in-out infinite}
.go-card[data-state="ready"] .go-bar i{inset-inline-start:0;width:100%;animation:none}
.go-card[data-state="error"] .go-bar{display:none}
.go-card[data-state="cache"] .go-bar{display:none}
.go-card[data-state="error"] .go-status{color:var(--warn)}
.go-actions{display:flex;flex-direction:column;align-items:center;gap:var(--sp-12)}
.go-pay{min-width:220px;padding:var(--sp-12) var(--sp-24)}
.go-back{display:inline-flex;align-items:center;gap:var(--sp-6);font-size:var(--fs-13);color:var(--ink-dim);text-decoration:none}
.go-back svg{width:var(--icon-sm);height:var(--icon-sm)}
@media (hover:hover){.go-back:hover{color:var(--ink)}}
.go-fine{margin:var(--sp-20) 0 0;font-size:var(--fs-12);line-height:1.55;color:var(--ink-faint)}
.go-fine:empty{display:none}
.fl-sum{display:none}
.fl-tabs{scroll-margin-top:calc(var(--sp-12) + env(safe-area-inset-top,0px))}
html.dtp-open{overflow:hidden}
.dtp{
width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;margin:auto;overflow:auto;
border-radius:var(--r-lg);border:1px solid var(--line);
background:var(--panel-solid);color:var(--ink);box-shadow:var(--sh-3);
font-family:var(--font-body);
}
.dtp::backdrop{background:rgba(3,5,12,.55);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm))}
:root[data-theme="light"] .dtp::backdrop{background:rgba(14,22,40,.28)}
.dtp[open]{animation:dtp-in var(--dur-3) var(--ease-out)}
.dtp[open]::backdrop{animation:dtp-fade var(--dur-3) ease-out}
@keyframes dtp-in{from{opacity:0;transform:translateY(10px) scale(.98)}}
@keyframes dtp-fade{from{opacity:0}}
.dtp-head{display:flex;align-items:stretch;gap:var(--sp-10);padding:var(--sp-16) var(--sp-16) 0}
.dtp-seg{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--sp-8)}
.dtp-seg-btn{
display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:var(--sp-8) var(--sp-14);
border-radius:var(--r-md);cursor:pointer;text-align:start;
background:var(--bg-field);border:1px solid var(--line-field);color:var(--ink);transition:var(--tr-ui-fast);
}
.dtp-seg-btn.is-active{border-color:var(--border-active);box-shadow:var(--ring);background:var(--bg-selected)}
@media (hover:hover){.dtp-seg-btn:not(.is-active):hover{border-color:var(--border-hover)}}
.dtp-seg-name{font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.dtp-seg-val{font-size:var(--fs-16);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dtp-seg-val.is-empty{color:var(--ink-dim)}
.dtp-x{
flex:none;align-self:flex-start;width:40px;height:40px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
color:var(--ink-dim);background:var(--bg-control);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
.dtp-x svg{width:var(--icon-md);height:var(--icon-md)}
@media (hover:hover){.dtp-x:hover{color:var(--ink);border-color:var(--border-hover)}}
.dtp-body{position:relative;padding:var(--sp-16) var(--sp-16) var(--sp-8)}
.dtp-nav{
position:absolute;z-index:1;top:calc(var(--sp-16) - 4px);width:36px;height:36px;border-radius:50%;cursor:pointer;
display:grid;place-items:center;color:var(--ink-dim);background:var(--bg-control);border:1px solid var(--line);transition:var(--tr-ui-fast);
}
.dtp-nav svg{width:var(--icon-sm);height:var(--icon-sm)}
.dtp-prev{inset-inline-start:var(--sp-16)}
.dtp-next{inset-inline-end:var(--sp-16)}
@media (hover:hover){.dtp-nav:hover:not(:disabled){color:var(--ink);border-color:var(--border-hover)}}
.dtp-nav:disabled{opacity:.3;cursor:default}
.dtp-months{display:grid;grid-template-columns:repeat(var(--dtp-n,2),minmax(0,1fr));gap:var(--sp-24)}
.dtp-cap{margin:0 0 var(--sp-12);height:28px;line-height:28px;text-align:center;font-family:var(--font-head);font-weight:600;font-size:var(--fs-15);text-transform:capitalize}
.dtp-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.dtp-grid th{padding:0 0 var(--sp-6);font-family:var(--font-head);font-size:var(--fs-11);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.dtp-grid td{padding:1px 0;text-align:center}
.dtp-day{
position:relative;width:100%;aspect-ratio:1;max-height:44px;display:grid;place-items:center;padding:0;cursor:pointer;
border:0;border-radius:var(--r-md);background:none;color:var(--ink);
font-family:var(--font-head);font-size:var(--fs-14);font-variant-numeric:tabular-nums;transition:var(--tr-ui-fast);
}
@media (hover:hover){.dtp-day:hover:not([aria-disabled="true"]){background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--border-hover)}}
.dtp-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}
.dtp-day.is-today::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:.7}
.dtp-day[aria-disabled="true"]{color:var(--ink-faint);opacity:.4;cursor:default;text-decoration:line-through;text-decoration-color:transparent}
.dtp-day.in-range,.dtp-day.is-preview{background:var(--bg-selected);border-radius:0}
.dtp-day.is-start,.dtp-day.is-end{background:var(--accent);color:var(--on-accent);font-weight:700}
.dtp-day.is-start{border-radius:var(--r-md) 0 0 var(--r-md)}
.dtp-day.is-end{border-radius:0 var(--r-md) var(--r-md) 0}
.dtp-day.is-solo{border-radius:var(--r-md)}
.dtp-foot{
display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-12);
padding:var(--sp-12) var(--sp-16) var(--sp-16);border-top:1px solid var(--line);margin-top:var(--sp-8);
}
.dtp-link{
margin-inline-end:auto;min-height:40px;padding:0 var(--sp-12);border-radius:var(--r-md);cursor:pointer;
font-family:var(--font-body);font-size:var(--fs-14);color:var(--ink-dim);background:none;border:1px solid var(--line);transition:var(--tr-ui-fast);
}
@media (hover:hover){.dtp-link:hover{color:var(--ink);border-color:var(--border-hover)}}
.dtp-done{margin:0;width:auto;min-height:40px;padding:0 var(--sp-24)}
@media (width < 960px){
.fl-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fl-places{grid-column:1 / -1}
.fl-dates{grid-column:1 / 2}
.fl-submit{min-height:62px}
#fl-form > .fl-submit{grid-column:2 / 3;grid-row:2}
#fl-form > .fl-opts{grid-row:3}
.ht-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ht-city,.ht-go{grid-column:1 / -1}
.ht-guests{grid-column:2 / 3}
.fl-arc{display:none}
}
@media (width < 640px){
.fl-main{padding-top:0;padding-bottom:var(--sp-32)}
.fl-hero{margin:var(--sp-8) 0 var(--sp-20)}
.fl-tab{padding:var(--sp-12) var(--sp-16);font-size:var(--fs-14)}
.fl-card{padding:var(--sp-14);border-radius:0 var(--r-lg) var(--r-lg) var(--r-lg)}
.fl-form,.ht-form{grid-template-columns:minmax(0,1fr)}
.fl-places{grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}
.fl-swap{inset-inline-start:auto;inset-inline-end:18px;transform:translateY(-50%) rotate(90deg)}
@media (hover:hover){.fl-swap:hover{transform:translateY(-50%) rotate(270deg)}}
.fl-places .fl-place:first-child .fl-code{inset-inline-end:62px}
.fl-dates,.ht-guests,.fl-submit{grid-column:1 / -1}
#fl-form > .fl-submit,#fl-form > .fl-opts{grid-column:1 / -1;grid-row:auto}
.fl-pax,.fl-pax-btn{width:100%}
.fl-pax-btn #fl-pax-sum{flex:1;text-align:start}
.fl-pax-pop{width:100%}
.fl-filt-toggle{display:inline-flex}
.fl-filt:not(.is-open) .fl-filt-panel{display:none}
.fl-filt.is-open .fl-filt-panel{margin-top:var(--sp-12);grid-template-columns:minmax(0,1fr)}
.fl-cur select{max-width:78px}
.fl-submit{width:100%}
.ht-stepper{flex:1}
.tk{grid-template-columns:minmax(0,1fr);padding:var(--sp-14)}
.tk-side{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--sp-12) 0 0;border-inline-start:0;border-top:1px dashed var(--line)}
.tk-per{margin:0}
.tk-time{font-size:var(--fs-18)}
.tk-leg{gap:var(--sp-10)}
.tk-point{min-width:54px}
.fl-hotel{flex-wrap:wrap}
.fl-hotel-btn{width:100%;justify-content:center}
.tk-side{flex-wrap:wrap}
.tk-more-text{display:none}
.tkm[open]{place-items:end stretch}
.tkm-box{width:100%;max-height:calc(100dvh - var(--sp-24));border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:0;animation-name:tkm-up}
.tkm-head{padding:var(--sp-12) var(--sp-10) var(--sp-12) var(--sp-16)}
.tkm-title{font-size:var(--fs-18)}
.tkm-share{padding:var(--sp-8) var(--sp-10)}
.tkm-share-text{display:none}
.tkm-share.is-done .tkm-share-text{display:inline}
.tkm-body{grid-template-columns:minmax(0,1fr);gap:var(--sp-20);padding:var(--sp-16)}
.tkm-side{position:static}
.tkm-price-card .tkm-buy{display:none}
.tkm-stop-row,.tkm-air{grid-template-columns:56px 14px minmax(0,1fr);column-gap:var(--sp-10)}
.tkm-fl{padding:var(--sp-12)}
.tkm-foot{
display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);
padding:var(--sp-12) var(--sp-16) calc(var(--sp-12) + env(safe-area-inset-bottom,0px));
border-top:1px solid var(--line);background:var(--panel-solid);
}
.tkm-foot-price{font-family:var(--font-head);font-size:var(--fs-20);font-weight:600;line-height:1.1;white-space:nowrap}
.tkm-foot-seller{font-size:var(--fs-12);color:var(--ink-faint)}
.tkm-foot .tkm-buy{width:auto;margin:0;min-width:140px}
.go-card{padding:var(--sp-24) var(--sp-20) var(--sp-20);border-radius:var(--r-lg)}
.go-price{font-size:var(--fs-20)}
.fl-dirs{grid-template-columns:repeat(2,minmax(0,1fr))}
.dir{padding:var(--sp-12)}
.fl-cal-card{padding:var(--sp-12) var(--sp-10) var(--sp-8)}
.fl-cal-head{flex-wrap:wrap}
.fl-day-bar{height:64px}
.fl-sum:not([hidden]){display:flex}
.fl-sum{
position:sticky;z-index:var(--z-sticky);top:calc(8px + env(safe-area-inset-top,0px));
box-sizing:border-box;--sum-h:58px;height:var(--sum-h);margin:0 0 calc(-1*var(--sum-h));padding:var(--sp-6) var(--sp-6) var(--sp-6) var(--sp-14);
align-items:center;gap:var(--sp-10);border-radius:var(--r-md);
background:var(--panel-solid);border:1px solid var(--line);
box-shadow:var(--sh-2);
}
.fl-sum-text{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px;line-height:1.25}
.fl-sum-route,.fl-sum-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-sum-route{font-family:var(--font-head);font-weight:600;font-size:var(--fs-14);color:var(--ink)}
.fl-sum-meta{font-size:var(--fs-13);color:var(--ink-dim)}
.fl-sum-meta:empty{display:none}
.fl-sum-edit{flex:none;gap:var(--sp-6);min-height:44px;padding:0 var(--sp-14);font-size:var(--fs-14)}
.fl-sum-edit svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}
.fl-clear{inset-inline-end:52px;bottom:8px;width:28px;height:28px}
.fl-clear::before{content:"";position:absolute;inset:-8px}
}
@media (width < 640px),(pointer:coarse){
.fl-tab{min-height:44px}
.fl-swap::before{content:"";position:absolute;inset:-5px;border-radius:50%}
.fl-check{min-height:44px}
.fl-pax-step,.ht-step{width:44px;height:44px}
.fl-opt-pill > span{min-height:44px;align-items:center}
.fl-opt-row,.fl-filt-more{min-height:44px}
.fl-recent-chip{min-height:44px;padding:var(--sp-12) var(--sp-14);line-height:20px}
.fl-cal-btn{width:44px;height:44px}
.fl-sort .tp-sort-btn{min-height:44px;padding:var(--sp-8) var(--sp-14)}
.fl-act,.fl-refresh,.fl-more{min-height:44px}
.tk-buy,.fl-hotel-btn{min-height:44px}
.tk-offer-buy{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.go-back{min-height:44px}
}
@media (width < 640px){
.ht-stepper .ht-stepper-ctl{gap:var(--sp-4)}
}
@media (width < 480px){
.site-top{row-gap:var(--sp-8)}
.site-nav{gap:var(--sp-6)}
.site-nav-link[data-home]{display:none}
.site-top .lang-switch select{padding:var(--sp-8) var(--sp-24) var(--sp-8) var(--sp-10);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%}
.fl-dates{grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}
}
@media (prefers-reduced-motion:reduce){
.fl-arc-plane{animation:none;offset-distance:50%}
.fl-skel::after,.fl-cal.is-loading .fl-day-bar i,.fl-sday.is-wait .fl-sday-price,.fl-live-bar i,.fl-live-status.is-searching .fl-live-dot::after,.go-bar i{animation:none!important}
.fl-live-bar i{inset-inline-start:0;width:100%;opacity:.45}
.go-bar i{inset-inline-start:0;width:100%;opacity:.45}
.dtp[open],.dtp[open]::backdrop,.tkm-box,:is(.fl-field,.ht-age) > .fl-err{animation:none}
}
.fl-skip{
position:absolute;inset-inline-start:16px;top:-100px;z-index:var(--z-skip);padding:var(--sp-10) var(--sp-16);border-radius:var(--r-md);
font-family:var(--font-head);font-weight:600;font-size:var(--fs-14);text-decoration:none;
color:var(--on-accent);background:var(--accent);
}
.fl-skip:focus,.fl-skip:focus-visible{top:12px;outline:2px solid var(--accent);outline-offset:2px}
.fl-main:focus{outline:none}
@media print{
.fl-skip,.fl-arc,.fl-tabs,.fl-card,.fl-new,.fl-sum-edit,.fl-refresh{display:none!important}
.fl-main,.fl-foot,.go-main{padding-left:0;padding-right:0}
}
