/* aviabileti.kg 2026 refresh.
   New blocks use the av- prefix; legacy selectors are overridden only where the refresh needs it. */

:root {
  --av-blue-950: #13284a;
  --av-blue-900: #1c3765;
  --av-blue-800: #284a82;
  --av-blue-600: #345da0;
  --av-blue-500: #4a74b8;
  --av-blue-50: #eef3fa;
  --av-amber: #ffc21a;
  --av-amber-hover: #ffb300;
  --av-ink: #0e1a2b;
  --av-text: #2b3a4f;
  --av-muted: #5f6f86;
  --av-line: #e2e8f2;
  --av-field: #f2f5fa;
  --av-bg: #f3f6fb;
  --av-card: #ffffff;
  --av-green: #15803d;
  --av-whatsapp: #25d366;
  --av-radius: 18px;
  --av-radius-sm: 12px;
  --av-header-h: 76px;
  --av-wrap: 1280px;
  /* Side gutter: roomy on desktops, tighter on tablets; content stays 1240px wide on large screens */
  --av-gutter: clamp(20px, 3vw, 40px);
  --av-cap: 44px;
  --av-cap-sweep: 72px;
  --av-shadow: 0 1px 2px rgba(14, 26, 43, .06), 0 8px 24px rgba(14, 26, 43, .06);
  --av-shadow-hover: 0 2px 4px rgba(14, 26, 43, .06), 0 16px 36px rgba(14, 26, 43, .12);
  --av-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body { background: var(--av-bg); }

.av-container { width: 100%; max-width: calc(var(--av-wrap) - 40px + 2 * var(--av-gutter)); margin: 0 auto; padding: 0 var(--av-gutter); box-sizing: border-box; }
.av, .av *, .av *::before, .av *::after { box-sizing: border-box; }
.av { font-family: var(--av-font); color: var(--av-text); -webkit-font-smoothing: antialiased; }
.av a { text-decoration: none; }
.av-section { padding: 72px 0 0; scroll-margin-top: calc(var(--av-header-h) + 16px); }
.av-section--first { padding-top: 12px; }
.av-section:last-of-type { padding-bottom: 80px; }
.av-h2 { font-family: var(--av-font); font-size: 40px; line-height: 1.12; font-weight: 600; color: var(--av-ink); margin: 0 0 10px; letter-spacing: -.02em; text-align: left; }
.av-lead { font-size: 17px; line-height: 1.5; color: var(--av-muted); margin: 0 0 28px; max-width: 720px; }

/* ---------- Header: white, sticky ---------- */
.site-header { position: sticky; top: 0; z-index: 900; background: #fff; box-shadow: 0 1px 0 rgba(14, 26, 43, .07); }
.site-header .header__unit_fon,
.site-header .header__unit_fon.bg-none,
.site-header .header__unit_fon.position-a {
  position: relative !important; height: var(--av-header-h); background: #fff !important; font-family: var(--av-font);
}
.site-header .header__unit_fon > .container,
.av-hero > .container,
.footer > .container { width: 100% !important; max-width: calc(var(--av-wrap) - 40px + 2 * var(--av-gutter)) !important; margin: 0 auto; padding: 0 var(--av-gutter) !important; box-sizing: border-box; }
.site-header .header__unit { width: 100%; }
.av-logo { display: block; flex: none; }
.site-header .header__logo { display: block; width: 150px !important; height: auto !important; margin: 0 !important; }
.site-header .bell-label, .site-header .wrapper_bell { display: none !important; }

.site-header .menu-left { margin: 0 auto 0 36px; }
.site-header .header__naw { gap: 2px; margin: 0; padding: 0; }
.site-header .header__naw li { list-style: none; }
.site-header .header__naw a {
  display: block; margin: 0; padding: 9px 12px; border-radius: 10px;
  color: #3a4860 !important; font: 500 15px/1.2 var(--av-font) !important; text-decoration: none !important;
  transition: color .15s, background-color .15s;
}
.site-header .header__naw a, .site-header .header__naw a:hover { border-bottom: 0 !important; }
.site-header .header__naw a:hover { color: var(--av-blue-600) !important; background: var(--av-blue-50); }

.av-header-actions { display: flex; align-items: center; gap: 20px; height: 32px; margin-left: 16px; padding-right: 18px; margin-right: 14px; border-right: 1px solid var(--av-line); }
.site-header .menu-phone {
  display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; margin: 0 !important;
  color: var(--av-ink) !important; font: 600 15px/1 var(--av-font) !important; white-space: nowrap; text-decoration: none !important;
}
.site-header .menu-phone svg { width: 17px; height: 17px; color: var(--av-blue-600); }
.site-header .header__unit a.menu-phone { color: var(--av-ink) !important; }
.site-header .header__unit a.menu-phone:hover { color: var(--av-blue-600) !important; }
.av-header-wa { display: inline-flex; align-items: center; gap: 7px; color: #128c4a !important; font: 600 15px/1 var(--av-font); white-space: nowrap; text-decoration: none !important; }
.av-header-wa:hover { color: #0b6b37 !important; }
.av-header-wa svg { width: 18px; height: 18px; }

.site-header .menu-right { width: auto !important; gap: 10px; justify-content: flex-end; }
.site-header .flight {
  order: 1; position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px; background: var(--av-field); color: var(--av-text);
  cursor: pointer; transition: background-color .15s, color .15s;
}
.site-header .flight:hover, .site-header .flight:focus-visible { background: var(--av-blue-50); color: var(--av-blue-600); outline: none; }
.site-header .flight > svg { width: 20px; height: 20px; }
.site-header .flight .flight-wrapper {
  top: 100%; right: 0; left: auto; margin-top: 10px; transform: none; width: 380px; max-width: calc(100vw - 32px);
  background: #fff; border: 1px solid var(--av-line); border-radius: 16px; box-shadow: var(--av-shadow-hover);
  font: 500 14px/1.4 var(--av-font); color: var(--av-muted);
}
.site-header .wrapper-login { order: 2; text-decoration: none !important; }
.site-header .wrapper-login .login-icon {
  gap: 8px; height: 44px; padding: 0 18px; border-radius: 12px; background: var(--av-blue-50); color: var(--av-blue-600);
  transition: background-color .15s;
}
.site-header .wrapper-login .login-icon svg { width: 18px; height: 18px; }
.site-header .wrapper-login .login-icon div { margin: 0 !important; color: inherit !important; font: 600 15px/1 var(--av-font) !important; }
.site-header .wrapper-login:hover .login-icon { background: #dfe7f4; }
.site-header .menu_container { order: 3; }
.site-header .mobile_menu span { background: var(--av-ink) !important; }
/* The legacy stylesheet folds the menu into the burger below 1200px; there is room for it down to 1025px */
@media (min-width: 1025px) {
  .site-header .header__naw { display: flex !important; }
  .site-header .header__naw li { display: block !important; }
  .site-header .mobile_menu { display: none !important; }
}
@media (max-width: 1024px) {
  .site-header .mobile_menu {
    position: static !important; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    width: 40px !important; height: 40px !important; margin: 0 0 0 8px !important; padding: 0 !important; border: 0 !important;
    border-radius: 12px !important; background: var(--av-field) !important; transition: background-color .15s;
  }
  .site-header .mobile_menu:hover { background: var(--av-line) !important; }
  .site-header .mobile_menu span { display: block !important; position: static !important; width: 18px !important; height: 2px !important; margin: 0 !important; border-radius: 2px; transform: none !important; }
}

/* Mobile slide-in menu */
.site-header .mobile-menu {
  width: 290px !important; right: -320px; padding: 20px 24px !important; background: #fff !important;
  box-shadow: -20px 0 50px rgba(7, 31, 69, .22); transition: right .25s ease; z-index: 1000;
}
.site-header .mobile-menu ul { padding: 48px 0 0 !important; margin: 0; }
.site-header .mobile-menu ul li { text-align: left !important; margin: 0 !important; border-bottom: 1px solid var(--av-line); }
.site-header .mobile-menu ul li a { display: block; padding: 14px 0; color: var(--av-ink) !important; font: 600 17px/1.2 var(--av-font) !important; text-align: left !important; }
.site-header .mobile-menu ul li a::after { display: none !important; }
.site-header .mobile-menu .close-menu svg path { fill: var(--av-ink); }

/* ---------- Hero: photo, headline, search card, airlines ---------- */
.main_search_form.av-hero {
  position: relative; z-index: 3; min-height: 0 !important; display: block !important;
  padding: 76px 0 0 !important; background: var(--av-blue-950) !important;
}
.av-hero__bg { position: absolute; inset: 0; z-index: 0; display: block; overflow: hidden; pointer-events: none; }
.av-hero__bg img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; filter: saturate(1.12) contrast(1.04); }
.av-hero__bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(1000px 380px at 50% 20%, rgba(5, 22, 52, .40), transparent 70%),
    linear-gradient(180deg, rgba(8, 32, 74, .62) 0%, rgba(8, 32, 74, .34) 44%, rgba(5, 22, 52, .22) 64%, rgba(5, 22, 52, .62) 100%);
}
/* Rounded "cap" in the page colour: the next block appears to slide over the photo,
   while the hero keeps painting above it so the autocomplete and calendar are never covered. */
.main_search_form.av-hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1;
  height: var(--av-cap); border-radius: var(--av-cap-sweep) var(--av-cap-sweep) 0 0 / var(--av-cap) var(--av-cap) 0 0; background: var(--av-bg);
}
.av-hero > .container, .av-airlines { position: relative; z-index: 2; }

.av-hero .header__offer_title {
  font-family: var(--av-font) !important; font-size: 56px !important; line-height: 1.06 !important;
  font-weight: 600 !important; letter-spacing: -.025em !important; color: #fff !important;
  max-width: 820px; margin: 0 auto 16px !important; text-align: center; text-wrap: balance;
  text-shadow: 0 2px 28px rgba(0, 0, 0, .28);
}
.av-hero .header__offer_description {
  font-family: var(--av-font) !important; font-size: 19px !important; line-height: 1.5 !important;
  font-weight: 500 !important; letter-spacing: 0 !important; color: rgba(255, 255, 255, .92) !important;
  max-width: 620px; margin: 0 auto 36px !important; text-align: center; text-wrap: balance;
  text-shadow: 0 1px 16px rgba(0, 0, 0, .3);
}

/* Search card */
.av-hero .offer__serchs {
  position: relative; background: #fff; border-radius: 22px;
  box-shadow: 0 34px 70px -24px rgba(3, 15, 36, .6), 0 2px 8px rgba(3, 15, 36, .08);
}
.av-hero:not(.av-hero--results) .offer__serchs { min-height: 88px; }
/* While the widget boots, keep the card at its final one-row height so nothing jumps */
.av-hero:not(.av-hero--results) .offer__serchs:has(.nemo-common-appLoader) { height: 88px; overflow: hidden; }
.av-hero .js-nemoApp .nemo-common-appLoader { height: 98px !important; max-height: 98px; margin: 0 !important; overflow: hidden; background-size: 48px auto !important; }

.av-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; margin: 24px 0 0; padding: 0; list-style: none; }
.av-trust li { display: inline-flex; align-items: center; gap: 8px; color: #fff; font: 500 14px/1.3 var(--av-font); text-shadow: 0 1px 10px rgba(0, 0, 0, .35); }
.av-trust svg { width: 18px; height: 18px; flex: none; color: var(--av-amber); }

/* Airlines strip */
.av-airlines { padding: 36px 0 calc(var(--av-cap) + 20px); }
.av-airlines__viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.av-airlines__track { display: flex; align-items: center; width: max-content; margin: 0; padding: 0; list-style: none; animation: av-marquee 100s linear infinite; }
.av-airlines__track li { flex: none; display: flex; align-items: center; height: 34px; padding-right: 72px; }
.av-airlines__track img { display: block; width: auto; max-width: none; height: calc(var(--h, 30px) * .74); opacity: .85; }
.av-airlines:hover .av-airlines__track { animation-play-state: paused; }
@keyframes av-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .av-airlines__track { animation: none; } }

/* Forest theme: one plane over a forest under a dark scrim. The hero is kept short so the
   next section already peeks in at the bottom of the first screen. */
.main_search_form.av-hero--scrim:not(.av-hero--results) { padding-top: 44px !important; }
.main_search_form.av-hero--scrim:not(.av-hero--results) .offer__serchs { margin-top: 86px; }
.av-hero--forest .av-hero__bg img { object-position: 50% 17%; filter: saturate(1.05); }
.av-hero--forest .av-hero__bg::after {
  background:
    radial-gradient(1100px 460px at 50% 42%, rgba(3, 12, 24, .22), transparent 72%),
    linear-gradient(180deg, rgba(3, 12, 24, .50) 0%, rgba(3, 12, 24, .46) 45%, rgba(3, 12, 24, .58) 100%);
}
.av-hero--scrim .header__offer_description { max-width: 840px; }
/* Sky theme: bright blue sky and clouds, so the scrim is tinted blue and a bit stronger */
.av-hero--sky .av-hero__bg img { object-position: 50% 26%; }
/* Photos without the airline strip: the free space under the card shows the aircraft */
.av-hero--sky.av-hero--nostrip:not(.av-hero--results) > .container,
.av-hero--apron.av-hero--nostrip:not(.av-hero--results) > .container { padding-bottom: calc(var(--av-cap) + 150px) !important; }
/* Moon theme, built from one portrait photo: a sky gradient sampled from it, its cloud band
   along the bottom and the moon with the plane shown near native size on the right. */
.main_search_form.av-hero--moon:not(.av-hero--results) {
  background: linear-gradient(180deg, #2459a1 0%, #2d68b0 40%, #3a78b9 75%, #4a86c4 100%) !important;
}
.av-hero--moon.av-hero--nostrip:not(.av-hero--results) > .container { padding-bottom: calc(var(--av-cap) + 150px) !important; }
.av-hero__clouds {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 0; height: 360px; overflow: hidden; pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 55%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 55%);
}
.av-hero__clouds::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(100% + 140px);
  background: url("/img1/v2/hero-clouds.jpg") center bottom / cover no-repeat;
}
/* The moon may hang past the page edge on narrower screens; this layer trims it there without
   clipping the search form's dropdowns, which overflow the hero itself */
.av-hero__sky { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.av-hero__moon {
  position: absolute; top: -6px; right: max(-60px, calc((100% - var(--av-wrap)) / 2 - 40px)); z-index: 0;
  display: block; width: clamp(320px, 31vw, 400px); max-width: none; height: auto; pointer-events: none;
  -webkit-mask-image: radial-gradient(closest-side, #000 70%, transparent 100%);
  mask-image: radial-gradient(closest-side, #000 70%, transparent 100%);
}
.av-hero--moon .header__offer_title { text-shadow: 0 2px 24px rgba(5, 25, 60, .35); }
/* Two balanced lines keep the subtitle clear of the moon */
.av-hero--moon .header__offer_description { max-width: 620px; }
/* The glass pills can sit over the bright moon: a navy tint keeps their text readable */
.av-hero--moon:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button,
.av-hero--moon:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle { background-color: rgba(8, 28, 66, .34) !important; }
.av-hero--moon:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button:hover,
.av-hero--moon:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle:hover { background-color: rgba(8, 28, 66, .5) !important; }
.av-hero--results .av-hero__sky, .av-hero--results .av-hero__clouds { display: none; }
/* The airline strip lies on bright clouds: a navy wash at the bottom of the cloud band
   (masked together with it) and a soft shadow keep the white marks readable */
.av-hero__clouds::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 32, 74, 0) 25%, rgba(8, 32, 74, .5) 100%); }
.av-hero--moon .av-airlines__track img { opacity: .95; filter: drop-shadow(0 1px 8px rgba(5, 25, 60, .45)); }
/* Equal space above and below the strip: it sits centred between the card and the next section */
.av-hero--moon .av-airlines { padding-top: 55px; padding-bottom: calc(var(--av-cap) + 55px); }
/* White clouds meet the light page colour: a soft shadow keeps the edge of the next section visible */
.av-hero--moon::after { box-shadow: 0 -16px 28px -14px rgba(7, 31, 69, .22); }

/* Apron theme: the dusk sky is already dark, so a lighter scrim keeps the yellow livery and the wet reflections */
.av-hero--apron .av-hero__bg img { object-position: 50% 0%; filter: saturate(1.05); }
.av-hero--apron .av-hero__bg::after {
  background:
    radial-gradient(900px 380px at 50% 26%, rgba(2, 10, 26, .34), transparent 72%),
    linear-gradient(180deg, rgba(2, 10, 26, .30) 0%, rgba(2, 10, 26, .16) 45%, rgba(2, 10, 26, .46) 100%);
}
.av-hero--sky .av-hero__bg::after {
  background:
    radial-gradient(1100px 460px at 50% 38%, rgba(4, 18, 44, .26), transparent 72%),
    linear-gradient(180deg, rgba(4, 22, 54, .55) 0%, rgba(4, 22, 54, .44) 45%, rgba(4, 22, 54, .62) 100%);
}

/* Flat-lay theme: turquoise backdrop, travel items lying along the bottom edge.
   The source photo is small, so it is shown near its native size and its edges fade
   into a matching gradient instead of being stretched across the screen. */
.main_search_form.av-hero--flatlay:not(.av-hero--results) {
  --av-teal: #50a9c2;
  background:
    radial-gradient(900px 420px at 50% 20%, rgba(255, 255, 255, .22), transparent 70%),
    linear-gradient(180deg, #4597b0 0%, #4ea6bf 40%, var(--av-teal) 100%) !important;
}
.av-hero__deco {
  position: absolute; left: 50%; bottom: 0; z-index: 0; display: block;
  width: min(1000px, 100%); max-width: none; height: auto; transform: translateX(-50%); pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 13%, #000 87%, transparent), linear-gradient(180deg, transparent 30%, #000 62%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent, #000 13%, #000 87%, transparent), linear-gradient(180deg, transparent 30%, #000 62%);
  mask-composite: intersect;
}
.av-hero--flatlay:not(.av-hero--results) > .container { padding-bottom: calc(var(--av-cap) + 250px) !important; }
.av-hero--flatlay .header__offer_title { color: var(--av-blue-950) !important; text-shadow: 0 1px 0 rgba(255, 255, 255, .25); }
.av-hero--flatlay .header__offer_description { color: rgba(7, 31, 69, .86) !important; text-shadow: none; }
.av-hero--flatlay .av-trust li { color: var(--av-blue-950); font-weight: 600; text-shadow: none; }
.av-hero--flatlay .av-trust svg { color: #fff; }
.av-hero--flatlay .offer__serchs { box-shadow: 0 34px 70px -26px rgba(6, 50, 72, .6), 0 2px 8px rgba(6, 50, 72, .12); }
.av-hero--results .av-hero__deco { display: none; }

/* Results pages: Nemo renders the whole results app inside the hero, so the photo would
   stretch over a very long page; its white captions also expect a dark backdrop. */
.main_search_form.av-hero--results {
  padding: 28px 0 40px !important;
  background:
    radial-gradient(900px 420px at 88% -12%, rgba(255, 255, 255, .12), transparent 62%),
    linear-gradient(170deg, var(--av-blue-950) 0%, var(--av-blue-900) 420px, #0b2a5e 100%) !important;
}
.av-hero--results::after, .av-hero--results .av-hero__bg, .av-hero--results .av-airlines { display: none; }
html.av-results main.av { display: none; }
.av-hero--results .header__offer_title, .av-hero--results .header__offer_description, .av-hero--results .av-trust { display: none !important; }
.av-hero--results .offer__serchs { background: transparent; box-shadow: none; border-radius: 0; }

/* ---------- Search card, reference style (homepage) ----------
   One row of white fields with thin borders and leading icons; Nemo's route type, class and
   ±3 days controls are lifted above the card onto the photo, previous searches live in the header. */
.av-hero:not(.av-hero--results) .offer__serchs { margin-top: 64px; border-radius: 20px; }
.av-hero:not(.av-hero--results) .nemo-flights-form__formContainer__inner { padding: 16px !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment { padding-bottom: 0 !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__inner {
  position: absolute !important; left: 0; bottom: 100%; display: flex !important; align-items: center; gap: 28px;
  margin-bottom: 14px; padding: 0 !important; white-space: nowrap;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item { height: 40px; margin: 0 !important; gap: 10px; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item_multiDate { order: -1; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__caption { color: rgba(255, 255, 255, .75) !important; font: 500 15px/1 var(--av-font) !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__additional {
  position: absolute !important; right: 0; bottom: 100%; margin: 0 0 14px !important; padding: 0 !important; width: auto !important;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__additional > :has(.nemo-flights-lastSearches__toggler),
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-lastSearches { display: none !important; }
/* Glass pills on the photo */
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle {
  height: 40px !important; line-height: 40px !important; padding: 0 34px 0 16px !important;
  background-color: rgba(255, 255, 255, .14) !important; border: 1px solid rgba(255, 255, 255, .26) !important;
  color: #fff !important; font: 500 15px/38px var(--av-font) !important;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button *,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional__parameters__toggle * { color: #fff !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button:hover,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle:hover { background-color: rgba(255, 255, 255, .24) !important; }
/* Chevrons: white on the photo, grey inside the card (Nemo's own arrow is purple) */
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button::after,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}
/* Room for "1 взрослый" between the icon and the chevron */
.av-hero:not(.av-hero--results) .nemo-flights-form__formContainer__inner > .nemo-flights-form__passengers { width: 172px !important; min-width: 172px; }
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container { width: 100% !important; box-sizing: border-box !important; padding-left: 44px !important; padding-right: 34px !important; white-space: nowrap; }
.av-hero:not(.av-hero--results) .nemo-flights-form__additional { display: flex !important; align-items: center; height: 40px; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-select__dropdown,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-ui-select__dropdown {
  z-index: 20; margin-top: 8px; border: 0 !important; border-radius: 14px !important; background: #fff !important;
  box-shadow: 0 24px 60px -12px rgba(7, 31, 69, .35), 0 2px 8px rgba(7, 31, 69, .08) !important; overflow: hidden;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-ui-select__dropdown { right: 0; left: auto; overflow: visible !important; }
.av-hero .nemo-flights-form__additional .chosen-drop { z-index: 30 !important; }
.av-hero .nemo-flights-form__additional .chosen-results li { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.35 !important; }
/* Nemo flips these lists upwards on short screens, over the headline; keep them opening down over the card */
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-select__dropdown,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-ui-select__dropdown { top: 100% !important; bottom: auto !important; }
/* Switch for "±3 дня" */
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox { position: relative; display: inline-flex !important; align-items: center; margin: 0; cursor: pointer; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__input {
  position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0; pointer-events: none;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption {
  position: relative; padding-left: 56px !important; color: #fff !important; font: 500 15px/28px var(--av-font) !important;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption::before {
  content: "" !important; position: absolute; left: 0; top: 50%; width: 44px; height: 26px; margin: -13px 0 0 !important;
  border: 1px solid rgba(255, 255, 255, .32) !important; border-radius: 999px !important;
  background: rgba(255, 255, 255, .2) !important; background-image: none !important; transition: background-color .2s, border-color .2s;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption::after {
  content: "" !important; position: absolute; left: 4px; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 !important;
  border: 0 !important; border-radius: 50%; background: #fff !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
  transform: none; transition: transform .2s;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__input:checked + .nemo-ui-checkbox__caption::before { background: var(--av-amber) !important; border-color: var(--av-amber) !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__input:checked + .nemo-ui-checkbox__caption::after { transform: translateX(18px); }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__input:focus-visible + .nemo-ui-checkbox__caption::before { outline: 2px solid var(--av-amber); outline-offset: 2px; }

/* White fields with a thin border and a leading icon */
.av-hero:not(.av-hero--results) .nemo-flights-form .nemo-ui-textInput__input,
.av-hero:not(.av-hero--results) .nemo-flights-form .nemo-ui-dummiedInput__dummy,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT,
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container,
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__containerColumn {
  height: 56px !important; background-color: #fff !important; border: 1px solid #dde3ec !important;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT { line-height: 54px !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form .nemo-ui-textInput:hover .nemo-ui-dummiedInput__dummy,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT:hover,
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container:hover { border-color: #b9c6d8 !important; background-color: #fff !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__searchButton { height: 56px !important; line-height: 56px !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item label.nemo-ui-textInput::before,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT::before,
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container::before {
  content: ""; position: absolute; left: 16px; top: 50%; z-index: 3; width: 20px; height: 20px; margin-top: -10px;
  background: center / 20px no-repeat; pointer-events: none;
}
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_from label.nemo-ui-textInput::before,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to label.nemo-ui-textInput::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
}
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to label.nemo-ui-textInput::before { left: 24px; }
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_date label.nemo-ui-textInput::before,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT { position: relative; }
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M12 13v5M9.5 15.5h5'/%3E%3C/svg%3E");
}
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item .nemo-ui-dummiedInput__dummy,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item .nemo-ui-textInput__input,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__switchToRT,
.av-hero:not(.av-hero--results) .nemo-flights-form__passengers__container { padding-left: 46px !important; }
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to .nemo-ui-dummiedInput__dummy,
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to .nemo-ui-textInput__input { padding-left: 54px !important; }
/* The leading calendar icon replaces Nemo's trailing one */
.av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item__date__indicator { display: none !important; }

/* ---------- Nemo search form skin (inside the white card) ---------- */
.av-hero .nemo-flights-form { font-family: var(--av-font) !important; }
.av-hero .nemo-flights-form__route__segment__item { padding-right: 8px !important; box-sizing: border-box !important; }

.av-hero .nemo-flights-form .nemo-ui-textInput__input,
.av-hero .nemo-flights-form .nemo-ui-dummiedInput__dummy,
.av-hero .nemo-flights-form .nemo-flights-form__route__segment__input_date {
  height: 58px !important; font-size: 16px !important; color: var(--av-ink) !important;
  background: var(--av-field) !important; border: 1px solid transparent !important; border-radius: var(--av-radius-sm) !important;
  box-shadow: none !important; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.av-hero .nemo-flights-form .nemo-ui-textInput:hover .nemo-ui-dummiedInput__dummy,
.av-hero .nemo-flights-form .nemo-ui-textInput:hover .nemo-ui-textInput__input { border-color: #cfd9e8 !important; }
.av-hero .nemo-flights-form .nemo-ui-textInput__input:focus {
  background: #fff !important; border-color: var(--av-blue-500) !important; box-shadow: 0 0 0 4px rgba(52, 93, 160, .18) !important; outline: none;
}
.av-hero .nemo-flights-form .nemo-ui-dummiedInput__dummy { display: flex !important; align-items: center; gap: 2px; padding-top: 0 !important; padding-bottom: 0 !important; }
/* While typing, Nemo hides the dummy layer so the real input text shows */
.av-hero .nemo-flights-form .nemo-ui-dummiedInput__input:focus ~ .nemo-ui-dummiedInput__dummy { display: none !important; }
.av-hero .nemo-flights-form .nemo-ui-dummiedInput__dummy__main { font-weight: 500; font-size: 16px !important; color: var(--av-ink) !important; }
.av-hero .nemo-flights-form .nemo-ui-dummiedInput__dummy__aux { font-size: 12px !important; color: var(--av-muted) !important; }
.av-hero .nemo-flights-form .nemo-ui-dummiedInput__dummy__placeholder { font-size: 16px !important; color: #7b8aa0 !important; }
/* Country hint next to the city overlaps the swap button; the city name is enough */
.av-hero .nemo-flights-form__route__segment__item_from .nemo-ui-dummiedInput__dummy__aux,
.av-hero .nemo-flights-form__route__segment__item_to .nemo-ui-dummiedInput__dummy__aux { display: none !important; }
.av-hero .nemo-flights-form__route__segment__item .nemo-ui-dummiedInput__dummy,
.av-hero .nemo-flights-form__route__segment__item .nemo-ui-textInput__input { padding-left: 16px !important; text-indent: 0 !important; }
/* Leave room for the swap button that overlaps the start of the "to" field */
.av-hero .nemo-flights-form__route__segment__item_to .nemo-ui-dummiedInput__dummy,
.av-hero .nemo-flights-form__route__segment__item_to .nemo-ui-textInput__input { padding-left: 24px !important; }

/* Swap button sits on the gap between "from" and "to" */
.av-hero .nemo-flights-form__route__segment__item__citySwap {
  top: 13px !important; right: -20px !important; left: auto !important; z-index: 3;
  width: 32px !important; height: 32px !important; border-radius: 50% !important;
  background-color: #fff !important; border: 1px solid var(--av-line) !important; box-shadow: 0 2px 6px rgba(14, 26, 43, .1);
  background-position: center !important; transition: transform .2s, border-color .15s;
}
.av-hero .nemo-flights-form__route__segment__item__citySwap:hover { border-color: var(--av-blue-500) !important; transform: rotate(180deg); }
.av-hero .nemo-flights-form__route__segment__item__citySwap::before {
  content: "" !important; position: absolute !important; display: block !important; left: 50% !important; top: 50% !important; width: 16px !important; height: 16px !important; margin: -8px 0 0 -8px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h15l-4-4M20 16H5l4 4'/%3E%3C/svg%3E") center / 16px no-repeat !important;
}
.av-hero .nemo-flights-form__route__segment__item__citySwap::after { display: none !important; }

.av-hero .nemo-flights-form__route__switchToRT {
  height: 58px !important; line-height: 58px !important; padding: 0 16px !important;
  background: var(--av-field) !important; color: var(--av-blue-600) !important; border-radius: var(--av-radius-sm) !important; box-shadow: none !important;
  font: 500 15px/58px var(--av-font) !important; text-align: left; white-space: nowrap; transition: background-color .15s;
}
.av-hero .nemo-flights-form__route__switchToRT:hover { background: var(--av-blue-50) !important; }
.av-hero .nemo-flights-form__formContainer__inner > .nemo-ui-select { padding-left: 0 !important; }
/* Nemo renders two passenger toggles (row and column layouts) and shows one of them */
.av-hero .nemo-flights-form__passengers__container { display: flex !important; }
.av-hero .nemo-flights-form__passengers__container,
.av-hero .nemo-flights-form__passengers__containerColumn {
  height: 58px !important; align-items: center; padding: 0 16px !important;
  background: var(--av-field) !important; color: var(--av-ink) !important; border: 0 !important; border-radius: var(--av-radius-sm) !important;
  box-shadow: none !important; font: 500 15px/1.2 var(--av-font) !important;
}
.av-hero .nemo-flights-form__buttonContainer { padding-left: 0 !important; }
.av-hero .nemo-flights-form__searchButton {
  height: 58px !important; min-width: 168px; padding: 0 26px !important; margin-left: 8px;
  border: 0 !important; border-radius: var(--av-radius-sm) !important;
  background: var(--av-amber) !important; color: var(--av-ink) !important;
  font: 600 17px/58px var(--av-font) !important; letter-spacing: 0 !important;
  box-shadow: 0 8px 20px -6px rgba(255, 170, 0, .55); transition: background-color .15s;
}
.av-hero .nemo-flights-form__searchButton:hover { background: var(--av-amber-hover) !important; }

/* Options rows: route type, class, ±3 days, more parameters, previous searches */
.av-hero .nemo-flights-form__routeOptions,
.av-hero .nemo-flights-form__routeOptions__inner { background: transparent !important; }
/* Nemo paints a 25% white band behind the options row through this pseudo-element */
.av-hero .nemo-flights-form__routeOptions__inner::before { display: none !important; }
.av-hero .nemo-flights-form__routeOptions__item { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; height: 34px; margin: 0 22px 0 0 !important; vertical-align: middle; }
.av-hero .nemo-flights-form__routeOptions__item__caption { display: inline-block !important; margin: 0 !important; }
.av-hero .nemo-flights-form__routeOptions__item__caption,
.av-hero .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption { color: var(--av-muted) !important; font: 500 14px/1.2 var(--av-font) !important; }
.av-hero .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption { color: var(--av-text) !important; }
.av-hero .nemo-flights-form__routeOptions__item__selector__button,
.av-hero .nemo-flights-form__additional__parameters__toggle,
.av-hero .nemo-flights-form__additional .nemo-ui-select__toggle {
  height: 34px !important; line-height: 34px !important; padding: 0 30px 0 14px !important;
  border: 0 !important; border-radius: 999px !important; background-color: var(--av-field) !important; background-image: none !important;
  color: var(--av-ink) !important; font: 600 14px/34px var(--av-font) !important; box-shadow: none !important; transition: background-color .15s;
}
.av-hero .nemo-flights-form__routeOptions__item__selector__button *,
.av-hero .nemo-flights-form__additional__parameters__toggle *,
.av-hero .nemo-flights-form__additional .nemo-ui-select__toggle * { color: var(--av-ink) !important; }
.av-hero .nemo-flights-form__routeOptions__item__selector__button:hover,
.av-hero .nemo-flights-form__additional__parameters__toggle:hover,
.av-hero .nemo-flights-form__additional .nemo-ui-select__toggle:hover { background-color: var(--av-blue-50) !important; }
.av-hero .nemo-flights-form__routeOptions .nemo-ui-select__dropdown,
.av-hero .nemo-flights-form__routeOptions .nemo-ui-select__dropdown * { color: var(--av-ink) !important; }

/* City suggestions (jQuery UI menu rendered by Nemo) */
.nemo-flights-form__geoAC.ui-autocomplete {
  min-width: 320px; max-height: 360px; overflow-y: auto; padding: 6px !important; margin-top: 6px !important;
  border: 0 !important; border-radius: 16px !important; background: #fff !important;
  box-shadow: 0 24px 60px -12px rgba(7, 31, 69, .35), 0 2px 8px rgba(7, 31, 69, .08) !important;
  font-family: var(--av-font) !important;
}
.nemo-flights-form__geoAC__item {
  position: relative; margin: 0 !important; padding: 10px 66px 10px 12px !important; border: 0 !important; border-radius: 10px;
  font: 600 15px/1.3 var(--av-font) !important; color: var(--av-ink) !important; background: transparent !important; cursor: pointer;
}
.nemo-flights-form__geoAC__item[class*="aggregationChild"] { padding-left: 28px !important; font-weight: 500 !important; }
.nemo-flights-form__geoAC__item.ui-state-focus, .nemo-flights-form__geoAC__item.ui-state-active,
.nemo-flights-form__geoAC__item:hover { background: var(--av-blue-50) !important; margin: 0 !important; }
.nemo-flights-form__geoAC .nemo-ui-autocomplete__match { background: none !important; color: var(--av-blue-600) !important; font-weight: 600; }
.nemo-flights-form__geoAC__item__country { margin-left: 8px; font: 500 13px/1.3 var(--av-font) !important; color: var(--av-muted) !important; }
/* The airport code is pinned to the right edge, so a long name or country wraps beside it instead of pushing it onto a line of its own */
.nemo-flights-form__geoAC__item__code {
  position: absolute; top: 50%; right: 12px; margin-top: -11px; padding: 2px 8px; border-radius: 6px; background: var(--av-field);
  font: 600 12px/18px var(--av-font) !important; letter-spacing: .04em; color: var(--av-muted) !important;
}

/* Date picker (Nemo "pmu") */
.nemo-pmu-wrapper {
  padding: 10px !important; border-radius: 18px !important; background: #fff !important; font-family: var(--av-font) !important;
  box-shadow: 0 24px 60px -12px rgba(7, 31, 69, .35), 0 2px 8px rgba(7, 31, 69, .08) !important;
}
.nemo-pmu-wrapper .nemo-pmu-monthHeader { background: transparent !important; }
.nemo-pmu-wrapper .nemo-pmu-month { font: 600 16px/1.2 var(--av-font) !important; color: var(--av-ink) !important; text-transform: capitalize; }
.nemo-pmu-wrapper .nemo-pmu-dayOfWeek { font: 600 12px/1.2 var(--av-font) !important; color: var(--av-muted) !important; }
.nemo-pmu-wrapper .nemo-pmu-days_day { font: 600 14px/29px var(--av-font) !important; color: var(--av-ink) !important; border-radius: 9px; transition: background-color .12s; }
.nemo-pmu-wrapper .nemo-pmu-days_day.nemo-pmu-disabled,
.nemo-pmu-wrapper .nemo-pmu-days_day.nemo-pmu-notInMonth { color: #c3cbd8 !important; font-weight: 500 !important; }
.nemo-pmu-wrapper .nemo-pmu-days_day:not(.nemo-pmu-disabled):not(.nemo-pmu-notInMonth):hover { background: var(--av-blue-50) !important; color: var(--av-blue-600) !important; }
.nemo-pmu-wrapper .nemo-pmu-days_day.nemo-pmu-today { box-shadow: inset 0 0 0 1.5px var(--av-blue-500); }
.nemo-pmu-wrapper .nemo-pmu-days_day.nemo-pmu-selected { background: var(--av-blue-600) !important; color: #fff !important; }

/* ---------- Destinations ---------- */
.av-featured { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 28px; }
.av-dest {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 280px; padding: 24px; border-radius: 22px; overflow: hidden;
  color: #fff; background: var(--av-blue-800) center / cover no-repeat;
  box-shadow: var(--av-shadow); transition: box-shadow .2s; isolation: isolate;
}
.av-dest::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 31, 69, 0) 30%, rgba(7, 31, 69, .86) 100%); }
.av-dest:hover { box-shadow: var(--av-shadow-hover); }
.av-dest__country { display: block; font: 600 13px/1 var(--av-font); text-transform: uppercase; letter-spacing: .08em; opacity: .85; }
.av-dest__city { display: block; font: 600 26px/1.15 var(--av-font); letter-spacing: -.01em; margin: 6px 0 12px; }
.av-dest__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.av-dest__price { display: block; font: 700 22px/1.1 var(--av-font); }
.av-dest__price small { font-size: 14px; font-weight: 600; opacity: .9; }
.av-dest__meta { display: block; font: 500 13px/1.35 var(--av-font); opacity: .85; margin-top: 4px; }
.av-dest__cta { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--av-amber); color: var(--av-ink); transition: background .15s; }
.av-dest:hover .av-dest__cta { background: var(--av-amber-hover); }
.av-dest__cta svg { width: 20px; height: 20px; }

.av-tabs > input { position: absolute; opacity: 0; pointer-events: none; }
.av-tabs__bar { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: #fff; box-shadow: var(--av-shadow); margin-bottom: 18px; }
.av-tabs__bar label { margin: 0; padding: 10px 20px; border-radius: 999px; cursor: pointer; font: 600 15px/1 var(--av-font); color: var(--av-muted); transition: background .15s, color .15s; }
.av-tabs__panel { display: none; }
#av-from-BSZ:checked ~ .av-tabs__bar label[for="av-from-BSZ"],
#av-from-OSS:checked ~ .av-tabs__bar label[for="av-from-OSS"] { background: var(--av-blue-600); color: #fff; }
#av-from-BSZ:checked ~ .av-tabs__panel--BSZ,
#av-from-OSS:checked ~ .av-tabs__panel--OSS { display: block; }
#av-from-BSZ:focus-visible ~ .av-tabs__bar label[for="av-from-BSZ"],
#av-from-OSS:focus-visible ~ .av-tabs__bar label[for="av-from-OSS"] { outline: 2px solid var(--av-blue-500); outline-offset: 2px; }

.av-routes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.av-route {
  display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 14px;
  background: var(--av-card); box-shadow: var(--av-shadow); color: var(--av-text); transition: box-shadow .15s;
}
.av-route:hover { box-shadow: var(--av-shadow-hover); }
.av-route__code { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: var(--av-blue-50); color: var(--av-blue-600); font: 600 13px/1 var(--av-font); letter-spacing: .04em; }
.av-route__main { flex: 1; min-width: 0; }
.av-route__city { display: block; font: 600 17px/1.25 var(--av-font); color: var(--av-ink); }
.av-route__meta { display: block; font: 500 13px/1.35 var(--av-font); color: var(--av-muted); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.av-route__price { flex: none; text-align: right; font: 700 18px/1.15 var(--av-font); color: var(--av-ink); }
.av-route__price small { display: block; font-size: 12px; font-weight: 600; color: var(--av-muted); }
.av-route__price--ask { font-size: 15px; color: var(--av-blue-600); }

/* Legacy a:hover / a:focus colours must not repaint the cards */
.av a.av-dest, .av a.av-dest:hover, .av a.av-dest:focus, .av a.av-dest:visited { color: #fff; }
.av a.av-route, .av a.av-route:hover, .av a.av-route:focus, .av a.av-route:visited { color: var(--av-text); }
.av a.av-dest:focus-visible, .av a.av-route:focus-visible { outline: 3px solid var(--av-amber); outline-offset: 3px; }

/* ---------- Benefits ---------- */
.av-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.av-benefit { padding: 24px; border-radius: var(--av-radius); background: var(--av-card); box-shadow: var(--av-shadow); }
.av-benefit__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: var(--av-blue-50); color: var(--av-blue-600); margin-bottom: 16px; }
.av-benefit__icon svg { width: 24px; height: 24px; }
.av-benefit h3 { font: 600 18px/1.3 var(--av-font); color: var(--av-ink); margin: 0 0 8px; }
.av-benefit p { font: 400 15px/1.5 var(--av-font); color: var(--av-muted); margin: 0; }

/* ---------- How to buy + payment ---------- */
.av-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; counter-reset: av-step; margin: 0 0 24px; padding: 0; list-style: none; }
.av-step { position: relative; padding: 24px 24px 24px 76px; border-radius: var(--av-radius); background: var(--av-card); box-shadow: var(--av-shadow); counter-increment: av-step; }
.av-step::before { content: counter(av-step); position: absolute; left: 24px; top: 24px; width: 36px; height: 36px; border-radius: 50%; background: var(--av-blue-600); color: #fff; font: 600 16px/36px var(--av-font); text-align: center; }
.av-step h3 { font: 600 18px/1.3 var(--av-font); color: var(--av-ink); margin: 0 0 6px; }
.av-step p { font: 400 15px/1.5 var(--av-font); color: var(--av-muted); margin: 0; }
.av-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; padding: 20px 24px; border-radius: var(--av-radius); background: var(--av-card); box-shadow: var(--av-shadow); }
.av-pay__label { font: 600 15px/1.3 var(--av-font); color: var(--av-ink); }
.av-pay__logos { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.av-pay__logos img { height: 30px; width: auto; object-fit: contain; }
.av-pay__cash { font: 600 14px/1 var(--av-font); color: var(--av-text); padding: 8px 12px; border-radius: 999px; background: var(--av-bg); }
.av-pay__link { margin-left: auto; font: 600 14px/1.3 var(--av-font); color: var(--av-blue-600) !important; }

/* ---------- Offices ---------- */
.av-offices { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.av-office { position: relative; display: flex; flex-direction: column; padding: 22px; border-radius: var(--av-radius); background: var(--av-card); box-shadow: var(--av-shadow); }
.av-office--accent { background: var(--av-blue-800); color: #fff; }
.av-office__badge { align-self: flex-start; margin-bottom: 12px; padding: 5px 10px; border-radius: 999px; background: var(--av-amber); color: var(--av-ink); font: 600 12px/1 var(--av-font); }
.av-office h3 { font: 600 17px/1.3 var(--av-font); color: inherit; margin: 0 0 8px; }
.av-office--accent h3 { color: #fff; }
.av-office:not(.av-office--accent) h3 { color: var(--av-ink); }
.av-office__addr { font: 400 15px/1.45 var(--av-font); margin: 0 0 6px; }
.av-office__hours { font: 600 14px/1.4 var(--av-font); color: var(--av-green); margin: 0 0 16px; }
.av-office--accent .av-office__hours { color: var(--av-amber); }
.av-office__map { margin-top: auto; font: 600 14px/1 var(--av-font); color: var(--av-blue-600) !important; }
.av-office--accent .av-office__map { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; }

.av-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding: 24px 28px; border-radius: var(--av-radius); background: linear-gradient(135deg, var(--av-blue-800), var(--av-blue-600)); color: #fff; }
.av-help h3 { font: 600 22px/1.25 var(--av-font); color: #fff; margin: 0 0 4px; }
.av-help p { font: 400 15px/1.45 var(--av-font); color: rgba(255, 255, 255, .85); margin: 0; }
.av-help__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.av-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 20px; border-radius: 12px; font: 600 15px/1 var(--av-font); transition: background .15s, transform .15s; white-space: nowrap; }
.av-btn svg { width: 18px; height: 18px; }
.av-btn--wa { background: var(--av-whatsapp); color: #06301a !important; }
.av-btn--wa:hover { background: #1fc05c; }
.av-btn--ghost { background: rgba(255, 255, 255, .14); color: #fff !important; }
.av-btn--ghost:hover { background: rgba(255, 255, 255, .24); }

/* ---------- FAQ ---------- */
.av-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px 16px; }
.av-faq details { border-radius: var(--av-radius-sm); background: var(--av-card); box-shadow: var(--av-shadow); }
.av-faq summary { position: relative; list-style: none; cursor: pointer; padding: 20px 56px 20px 22px; font: 600 17px/1.35 var(--av-font); color: var(--av-ink); }
.av-faq summary::-webkit-details-marker { display: none; }
.av-faq summary::after { content: ""; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; margin-top: -7px; border-right: 2px solid var(--av-blue-600); border-bottom: 2px solid var(--av-blue-600); transform: rotate(45deg); transition: transform .2s; }
.av-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.av-faq__body { padding: 0 22px 20px; font: 400 15px/1.6 var(--av-font); color: var(--av-text); }
.av-faq__body p { margin: 0 0 10px; }
.av-faq__body a { color: var(--av-blue-600) !important; font-weight: 600; }

/* ---------- About (SEO text) ---------- */
.av-about { padding: 28px; border-radius: var(--av-radius); background: var(--av-card); box-shadow: var(--av-shadow); font: 400 15px/1.65 var(--av-font); color: var(--av-text); }
.av-about h3 { font: 600 17px/1.35 var(--av-font); color: var(--av-ink); margin: 22px 0 8px; }
.av-about p { margin: 0 0 12px; }
.av-about ul { margin: 0 0 12px 22px; padding: 0; list-style: disc; }
.av-about ul li { list-style: disc !important; margin: 0 0 6px; padding-left: 4px; }
.av-about ul li::marker { color: var(--av-blue-600); }
.av-about a { color: var(--av-blue-600) !important; }
.av-about details summary { cursor: pointer; font: 600 15px/1 var(--av-font); color: var(--av-blue-600); list-style: none; margin-top: 4px; }
.av-about details summary::-webkit-details-marker { display: none; }
.av-about details[open] summary { display: none; }

/* Nothing on the site lifts on hover (legacy cards on inner pages moved up by 3px) */
.ftco-media.ftco-media-shadow:hover, .ftco-media.ftco-media-shadow:focus { top: 0 !important; }

/* Grid items default to min-width:auto, so a long nowrap line would widen the track */
.av-routes > li, .av-featured > *, .av-benefits > *, .av-offices > *, .av-steps > * { min-width: 0; }

/* ---------- Footer touches ---------- */
.footer .av-footer-copy { font-family: var(--av-font); }
.binotel, .support-button, .phone-block, .contactBlock { display: none !important; }
#callback_content .call-button { display: none !important; }
.footer .footer__twoblock_help, .footer .footer__twoblock_contacts { border-radius: 12px !important; transition: background-color .15s, border-color .15s; }
.footer .footer__twoblock_help { background: var(--av-amber) !important; border-color: var(--av-amber) !important; color: var(--av-ink) !important; }
.footer .footer__twoblock_help:hover { background: var(--av-amber-hover) !important; border-color: var(--av-amber-hover) !important; }
.footer .footer__twoblock_contacts { background: rgba(255, 255, 255, .1) !important; border: 1px solid rgba(255, 255, 255, .3) !important; color: #fff !important; }
.footer .footer__twoblock_contacts:hover { background: rgba(255, 255, 255, .18) !important; }
/* Inner pages: office list on top of the footer, in the site's type instead of the old uppercase block */
.footer .footer__oneblock { margin: 0 0 32px !important; padding: 44px 0 32px !important; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.footer .footer__oneblock_title {
  margin: 0 0 22px !important; text-align: left !important; text-transform: none !important; letter-spacing: 0 !important;
  color: #fff !important; font: 600 22px/1.3 var(--av-font) !important;
}
.footer .footer__oneblock_unions { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 28px; }
.footer .footer__oneblock_union { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.footer .footer__oneblock_union li { margin: 0 0 8px !important; color: rgba(255, 255, 255, .78) !important; font: 400 14px/1.45 var(--av-font) !important; }
.footer .footer__oneblock_union li:not(.footer__oneblock_sub-title) { padding-left: 26px !important; }
.footer .footer__oneblock_union li::after { left: 0 !important; }
.footer .footer__oneblock_union li a { color: rgba(255, 255, 255, .9) !important; }
.footer .footer__oneblock_union li a:hover { color: #fff !important; }
.footer .footer__oneblock_union .footer__oneblock_sub-title { margin-bottom: 10px !important; padding: 0 !important; color: #fff !important; font: 600 15px/1.3 var(--av-font) !important; }
@media (max-width: 1100px) { .footer .footer__oneblock_unions { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .footer .footer__oneblock { padding-top: 32px !important; }
  .footer .footer__oneblock_title { font-size: 20px !important; }
  .footer .footer__oneblock_unions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
}
/* The homepage already lists offices above; avoid repeating them in the footer there */
html:not(.av-results) body:has(main.av) .footer__oneblock { display: none; }

/* Single floating help button */
.pulse.pulse-block {
  right: 20px !important; bottom: 20px !important; left: auto !important; top: auto !important;
  width: auto !important; height: 52px !important; padding: 0 18px 0 14px !important; border-radius: 999px !important;
  background: var(--av-whatsapp) !important; color: #06301a !important; display: inline-flex !important;
  align-items: center; gap: 8px; box-shadow: 0 10px 26px rgba(6, 48, 26, .28) !important;
  font: 600 15px/1 var(--av-font) !important; z-index: 9990 !important; transform: none !important;
}
.pulse.pulse-block::before { display: none !important; }
.pulse.pulse-block.btn-support {
  overflow: visible !important; background: linear-gradient(135deg, #2fd571, #1fb855) !important; color: #fff !important;
  box-shadow: 0 10px 26px rgba(17, 120, 60, .35) !important; transition: box-shadow .2s, background-color .2s;
}
.pulse.pulse-block.btn-support:hover { box-shadow: 0 12px 30px rgba(17, 120, 60, .45) !important; }
.pulse.pulse-block.btn-support span { color: #fff; }
/* Two soft waves leave the button along its own shape, then it rests; the icon nudges with them */
.pulse.pulse-block.btn-support::after {
  content: "" !important; display: block !important; position: absolute; inset: 0; border-radius: inherit;
  background: transparent; box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); pointer-events: none;
  opacity: 1 !important; border: 0 !important; /* the legacy .pulse:after rule hides it and draws a blue frame */
}
@media (prefers-reduced-motion: no-preference) {
  .pulse.pulse-block.btn-support::after { animation: av-fab-waves 5s ease-out 1s infinite; }
  .pulse.pulse-block.btn-support svg { animation: av-fab-nudge 5s ease-in-out 1s infinite; transform-origin: 50% 70%; }
  .pulse.pulse-block.btn-support:hover::after, .pulse.pulse-block.btn-support:hover svg { animation-play-state: paused; }
}
@keyframes av-fab-waves {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); }
  20% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  20.01% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .45); }
  40% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
}
/* The WhatsApp mark is round, so a tilt alone is hard to see: it also pops a little */
@keyframes av-fab-nudge {
  0%, 20%, 100% { transform: scale(1) rotate(0deg); }
  4% { transform: scale(1.22) rotate(-14deg); }
  8% { transform: scale(1.22) rotate(12deg); }
  12% { transform: scale(1.14) rotate(-8deg); }
  16% { transform: scale(1.05) rotate(4deg); }
}

.pulse.pulse-block .fa { display: none !important; }
.pulse.pulse-block svg { width: 22px; height: 22px; }

/* Help popup (av-popup: .av-help is the homepage help band) */
.popup-book { background: rgba(9, 20, 40, .55) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); padding: 16px; box-sizing: border-box; }
.popup-book .popup__box.av-popup {
  position: relative; width: 100% !important; max-width: 520px !important; height: auto !important; margin: auto; padding: 28px !important;
  border-radius: 22px !important; background: #fff !important; box-shadow: 0 30px 80px rgba(7, 31, 69, .35); text-align: left; box-sizing: border-box;
  font-family: var(--av-font) !important; color: var(--av-text);
}
.popup-book .av-popup__close {
  position: absolute !important; top: 16px !important; right: 16px !important; left: auto !important; display: inline-flex; align-items: center; justify-content: center;
  width: 36px !important; height: 36px !important; padding: 0; border: 0; border-radius: 50%; background: var(--av-field) !important; color: var(--av-ink); cursor: pointer; transition: background-color .15s;
}
.popup-book .av-popup__close:hover { background: var(--av-line) !important; }
.popup-book .av-popup__close svg { position: static !important; display: block; width: 16px !important; height: 16px !important; margin: 0 !important; transform: none !important; }
.popup-book .av-popup__close::before, .popup-book .av-popup__close::after { display: none !important; }
.av-popup__head { display: flex; align-items: center; gap: 18px; padding-right: 40px; margin-bottom: 22px; }
.av-popup__photo { position: relative; flex: none; width: 88px; height: 88px; }
.av-popup__photo img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.av-popup__status { position: absolute; right: 4px; bottom: 4px; width: 18px; height: 18px; border: 3px solid #fff; border-radius: 50%; background: #22c55e; box-sizing: border-box; }
.av-popup__title { margin: 0 0 6px !important; color: var(--av-ink) !important; font: 600 24px/1.2 var(--av-font) !important; letter-spacing: -.01em; text-align: left !important; }
.av-popup__text { margin: 0; color: var(--av-muted); font: 400 15px/1.5 var(--av-font); }
.av-popup__actions { display: grid; gap: 10px; width: 100%; }
.popup-book .popup__box .av-popup__action {
  display: flex !important; align-items: center; justify-content: flex-start !important; gap: 14px; width: 100% !important; box-sizing: border-box; height: auto !important; margin: 0 !important; padding: 14px 16px !important;
  border: 1px solid var(--av-line) !important; border-radius: 14px !important; background: #fff !important; color: var(--av-ink) !important;
  font: inherit !important; text-align: left !important; text-decoration: none !important; transition: border-color .15s, background-color .15s;
}
.popup-book .popup__box .av-popup__action::before, .popup-book .popup__box .av-popup__action::after { display: none !important; }
.popup-book .popup__box .av-popup__action:hover { border-color: #c8d4e6 !important; background: var(--av-bg) !important; }
.av-popup__action strong { display: block; color: inherit; font: 600 16px/1.3 var(--av-font); }
.av-popup__action small { display: block; margin-top: 2px; color: var(--av-muted); font: 400 13px/1.35 var(--av-font); }
.av-popup__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--av-blue-50); color: var(--av-blue-600); }
.av-popup__icon svg { width: 22px; height: 22px; }
.popup-book .popup__box .av-popup__action--wa { border-color: #1fb855 !important; background: #1fb855 !important; color: #fff !important; }
.popup-book .popup__box .av-popup__action--wa:hover { border-color: #17a54b !important; background: #17a54b !important; }
.av-popup__action--wa .av-popup__icon { background: rgba(255, 255, 255, .2); color: #fff; }
.av-popup__action--wa small { color: rgba(255, 255, 255, .85); }

/* ---------- Search options: layering, lists, extra parameters ---------- */
/* Lists opened above the card must cover the airline strip and the field icons */
.av-hero > .container { z-index: 3; }
.av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__inner,
.av-hero:not(.av-hero--results) .nemo-flights-form__additional { z-index: 10; }

/* Route type and class lists */
.av-hero .nemo-flights-form__routeOptions .nemo-ui-select__dropdown__item {
  padding: 12px 16px !important; border-color: var(--av-line) !important; background: #fff !important;
  color: var(--av-ink) !important; font: 500 15px/1.3 var(--av-font) !important; cursor: pointer;
}
.av-hero .nemo-flights-form__routeOptions .nemo-ui-select__dropdown__item:hover,
.av-hero .nemo-flights-form__routeOptions .nemo-ui-select__dropdown__item[class*="_selected"],
.av-hero .nemo-flights-form__routeOptions .nemo-ui-select__dropdown__item[class*="_active"] { background: var(--av-blue-50) !important; color: var(--av-blue-600) !important; }

/* Extra parameters panel */
.av-hero .nemo-flights-form__additional__parameters__dropdown {
  width: 440px !important; padding: 18px 20px 14px !important; color: var(--av-text) !important; font-family: var(--av-font) !important;
}
.av-hero .nemo-flights-form__additional__parameters__header { margin: 0 0 14px !important; color: var(--av-ink) !important; font: 600 16px/1.3 var(--av-font) !important; }
.av-hero .nemo-flights-form__additional__parameters__item { display: flex !important; align-items: center; gap: 12px; margin: 0 0 12px !important; }
/* Nemo's form model has no price limit or travel time (only carriers and short transfers reach the search URL), so these two controls did nothing */
.av-hero .nemo-flights-form__additional__parameters__item.nemo-flights-form__additional__parameters__item_maxPrice,
.av-hero .nemo-flights-form__additional__parameters__item.nemo-flights-form__additional__parameters__item_timeEnRoute { display: none !important; }
/* Airline picker that replaces the native multi-select on phones (js1/suport.js) */
.av-hero .nemo-flights-form__additional select.av-carriers__native { display: none !important; }
.av-carriers { display: flex; flex: 1 1 100%; flex-direction: column; gap: 8px; min-width: 0; }
.av-carriers__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.av-carriers__chips:empty { display: none; }
.av-carriers__chip {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%; height: 30px; padding: 0 8px 0 11px; border: 0; border-radius: 999px;
  background: var(--av-blue-50); color: var(--av-blue-600); font: 600 13px/1 var(--av-font); cursor: pointer;
}
.av-carriers__chip::after {
  content: ""; flex: none; width: 14px; height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.av-hero .av-carriers__search {
  width: 100%; height: 44px; margin: 0; padding: 0 12px 0 40px; border: 1px solid #dde3ec; border-radius: 10px; box-shadow: none; outline: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 13px center / 17px no-repeat;
  color: var(--av-ink); font: 500 16px/1.2 var(--av-font); -webkit-appearance: none; appearance: none;
}
.av-hero .av-carriers__search::placeholder { color: #8a97ab; font-weight: 400; }
.av-hero .av-carriers__search:focus { border-color: var(--av-blue-500); box-shadow: 0 0 0 3px rgba(52, 93, 160, .15); }
.av-carriers__list {
  max-height: 248px; padding: 4px; overflow-y: auto; border: 1px solid #dde3ec; border-radius: 10px; background: #fff;
  overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.av-carriers__item {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; margin: 0; padding: 6px 8px; border: 0; border-radius: 8px;
  background: transparent; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.av-carriers__item[hidden] { display: none; }
.av-carriers__item:hover, .av-carriers__item:active { background: var(--av-blue-50); }
.av-carriers__item:focus-visible { outline: 2px solid var(--av-blue-500); outline-offset: -2px; }
.av-carriers__tick { flex: none; width: 20px; height: 20px; border: 1.5px solid #c3cddb; border-radius: 5px; background: #fff; box-sizing: border-box; }
.av-carriers__item[aria-checked="true"] .av-carriers__tick {
  border-color: var(--av-blue-600);
  background: var(--av-blue-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.av-carriers__name { flex: 1; min-width: 0; color: var(--av-ink); font: 500 15px/1.3 var(--av-font); }
.av-carriers__item[aria-checked="true"] .av-carriers__name { font-weight: 600; }
.av-carriers__code { flex: none; padding: 2px 7px; border-radius: 6px; background: var(--av-field); color: var(--av-muted); font: 600 12px/18px var(--av-font); letter-spacing: .04em; }
.av-carriers__empty { padding: 6px 2px; color: var(--av-muted); font: 500 14px/1.3 var(--av-font); }
.av-carriers__empty[hidden] { display: none; }
.av-hero .nemo-flights-form__additional__parameters__item__title { flex: 0 0 118px; color: var(--av-muted) !important; font: 500 14px/1.3 var(--av-font) !important; }
.av-hero .nemo-flights-form__additional__parameters__item__content { flex: 1; display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.av-hero:not(.av-hero--results) .nemo-flights-form .nemo-flights-form__additional .nemo-ui-textInput__input {
  width: 130px !important; height: 40px !important; padding: 0 12px !important; border: 1px solid #dde3ec !important; border-radius: 10px !important;
  background: #fff !important; color: var(--av-ink) !important; font: 500 15px/38px var(--av-font) !important; box-shadow: none !important;
}
.av-hero .nemo-flights-form__additional .chosen-container { width: 100% !important; max-width: 100%; font: 500 15px/1.3 var(--av-font) !important; }
.av-hero .nemo-flights-form__timeEnRoute__select + .chosen-container,
.av-hero .nemo-flights-form__additional [class*="timeEnRoute"] .chosen-container { width: auto !important; flex: 1; }
.av-hero .nemo-flights-form__additional .chosen-choices,
.av-hero .nemo-flights-form__additional .chosen-single {
  display: flex !important; align-items: center; min-height: 40px; height: auto !important; padding: 4px 34px 4px 12px !important;
  border: 1px solid #dde3ec !important; border-radius: 10px !important; background: #fff !important; background-image: none !important;
  box-shadow: none !important; color: var(--av-ink) !important; line-height: 30px !important;
}
.av-hero .nemo-flights-form__additional .chosen-default,
.av-hero .nemo-flights-form__additional .chosen-choices .search-field input.default { color: #8a97ab !important; }
.av-hero .nemo-flights-form__additional .chosen-choices .search-field input { height: 30px !important; margin: 0 !important; font: 500 15px/30px var(--av-font) !important; }
.av-hero .nemo-flights-form__additional .chosen-single div { top: 0 !important; right: 10px !important; width: 18px !important; height: 100% !important; }
.av-hero .nemo-flights-form__additional .chosen-single div b { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat !important; }
.av-hero .nemo-flights-form__additional .chosen-drop { margin-top: 4px; border: 1px solid #dde3ec !important; border-radius: 10px !important; box-shadow: var(--av-shadow-hover) !important; overflow: hidden; }
.av-hero .nemo-flights-form__additional .chosen-results li { padding: 8px 12px !important; font: 500 14px/1.3 var(--av-font) !important; }
.av-hero .nemo-flights-form__additional .chosen-results li.highlighted { background: var(--av-blue-600) !important; background-image: none !important; color: #fff !important; }
.av-hero .nemo-flights-form__additional .chosen-choices li.search-choice {
  margin: 2px 6px 2px 0 !important; padding: 4px 24px 4px 8px !important; border: 0 !important; border-radius: 8px !important;
  background: var(--av-blue-50) !important; background-image: none !important; box-shadow: none !important; color: var(--av-blue-600) !important; font: 500 13px/1.3 var(--av-font) !important;
}
/* Checkboxes in the panel */
.av-hero .nemo-flights-form__additional .nemo-ui-checkbox { position: relative; display: flex !important; align-items: center; margin: 0 0 8px !important; cursor: pointer; }
/* Nemo toggles these on the label's click; the hidden input must not take the click itself */
.av-hero .nemo-flights-form__additional .nemo-ui-checkbox__input { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0; pointer-events: none; }
.av-hero .nemo-flights-form__additional .nemo-ui-checkbox__caption { position: relative; padding-left: 28px !important; color: var(--av-text) !important; font: 500 14px/20px var(--av-font) !important; }
.av-hero .nemo-flights-form__additional .nemo-ui-checkbox__caption::before {
  content: "" !important; position: absolute; left: 0; top: 1px; width: 18px !important; height: 18px !important; margin: 0 !important; box-sizing: border-box;
  border: 1.5px solid #c3cddb !important; border-radius: 5px !important; background: #fff !important; background-image: none !important;
}
.av-hero .nemo-flights-form__additional .nemo-ui-checkbox__caption::after { display: none !important; }
.av-hero .nemo-flights-form__additional .nemo-ui-checkbox__input:checked + .nemo-ui-checkbox__caption::before {
  border-color: var(--av-blue-600) !important; background: var(--av-blue-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat !important;
}

/* ---------- Previous searches (header) ---------- */
.site-header .flight .flight-wrapper { width: 400px; max-height: 440px; overflow-y: auto; padding: 8px !important; }
.av-history-title { padding: 8px 10px 6px; color: var(--av-muted); font: 600 12px/1.2 var(--av-font); letter-spacing: .06em; text-transform: uppercase; }
.av-history-item {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px; border: 0; border-radius: 12px;
  background: transparent; text-align: left; cursor: pointer; transition: background-color .15s;
}
.av-history-item:hover, .av-history-item:focus-visible { background: var(--av-blue-50); outline: none; }
.av-history-item__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--av-blue-50); color: var(--av-blue-600); }
.av-history-item:hover .av-history-item__icon { background: #fff; }
.av-history-item__icon svg { width: 18px; height: 18px; }
.av-history-item__body { min-width: 0; }
.av-history-item__route { display: block; color: var(--av-ink); font: 600 15px/1.3 var(--av-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.av-history-item__meta { display: block; margin-top: 2px; color: var(--av-muted); font: 500 13px/1.35 var(--av-font); }
.site-header .flight .flight-item-not-found .flight-label { padding: 14px 10px; color: var(--av-muted); font: 500 14px/1.3 var(--av-font); }

/* ---------- Hover states (nothing moves up) ---------- */
/* Destination cards: the photo slowly zooms inside the card, the scrim deepens, the arrow turns white */
.av-dest::after {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background: inherit; background-size: cover; background-position: center;
  /* scale animates on hover; the scroll-linked translate lives in the motion block below */
  scale: 1.12;
  transition: scale .7s cubic-bezier(.2, .7, .2, 1);
}
.av-dest::before { background-color: rgba(7, 31, 69, 0); transition: background-color .3s; }
.av-dest:hover::after { scale: 1.19; }
.av-dest:hover::before { background-color: rgba(7, 31, 69, .14); }
.av-dest__cta { transition: background-color .2s, color .2s; }
.av-dest__cta svg { transition: transform .25s; }
.av-dest:hover .av-dest__cta { background: #fff; color: var(--av-blue-600); }
.av-dest:hover .av-dest__cta svg { transform: translateX(3px); }
/* Route rows: a thin outline, the airport code fills with blue, the price turns blue */
.av-route { border: 1px solid transparent; transition: box-shadow .15s, border-color .15s; }
.av-route:hover { border-color: #d6e0ef; }
.av-route__code, .av-route__price { transition: background-color .15s, color .15s; }
.av-route:hover .av-route__code { background: var(--av-blue-600); color: #fff; }
.av-route:hover .av-route__price { color: var(--av-blue-600); }

/* Benefit icons: each in its own colour */
.av-benefit:nth-child(1) .av-benefit__icon { background: #fff3d6; color: #d97706; }
.av-benefit:nth-child(2) .av-benefit__icon { background: #e3f6ea; color: #16a34a; }
.av-benefit:nth-child(3) .av-benefit__icon { background: #fde8ea; color: #e0464f; }
.av-benefit:nth-child(4) .av-benefit__icon { background: #e1f3f8; color: #0891b2; }

/* ---------- Callback dialog (SunPBX widget, Material Components) ---------- */
#callback_content { --mdc-theme-primary: #345da0; --mdc-theme-secondary: #345da0; --mdc-theme-on-primary: #fff; }
#callback_content .mdc-dialog__scrim { background: rgba(9, 20, 40, .55) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
#callback_content .mdc-dialog__surface {
  width: 100%; max-width: 440px !important; padding: 8px 8px 4px; border-radius: 22px !important;
  box-shadow: 0 30px 80px rgba(7, 31, 69, .35) !important; font-family: var(--av-font) !important;
}
#callback_content .mdc-dialog__title { padding: 24px 24px 4px !important; margin: 0 !important; color: var(--av-ink) !important; font: 600 24px/1.25 var(--av-font) !important; letter-spacing: -.01em !important; }
#callback_content .mdc-dialog__title::before { display: none !important; }
#callback_content .mdc-dialog__content { padding: 4px 24px 8px !important; }
#callback_content .call-dialog-text { margin: 0 0 18px !important; color: var(--av-muted) !important; font: 400 15px/1.5 var(--av-font) !important; letter-spacing: 0 !important; }
#callback_content .mdc-text-field { width: 100% !important; height: 56px !important; }
#callback_content .mdc-text-field__input { color: var(--av-ink) !important; font: 500 16px/1 var(--av-font) !important; letter-spacing: 0 !important; caret-color: var(--av-blue-600) !important; }
#callback_content .mdc-floating-label { font: 500 15px/1 var(--av-font) !important; letter-spacing: 0 !important; }
#callback_content .mdc-notched-outline__leading { width: 14px !important; border-radius: 12px 0 0 12px !important; }
#callback_content .mdc-notched-outline__trailing { border-radius: 0 12px 12px 0 !important; }
#callback_content .mdc-notched-outline__leading, #callback_content .mdc-notched-outline__notch, #callback_content .mdc-notched-outline__trailing { border-color: #dde3ec; }
#callback_content .mdc-text-field:hover .mdc-notched-outline__leading,
#callback_content .mdc-text-field:hover .mdc-notched-outline__notch,
#callback_content .mdc-text-field:hover .mdc-notched-outline__trailing { border-color: #b9c6d8; }
#callback_content .mdc-text-field--focused .mdc-floating-label { color: var(--av-blue-600) !important; }
#callback_content .mdc-text-field--focused .mdc-notched-outline__leading,
#callback_content .mdc-text-field--focused .mdc-notched-outline__notch,
#callback_content .mdc-text-field--focused .mdc-notched-outline__trailing { border-color: var(--av-blue-600) !important; border-width: 2px !important; }
#callback_content .mdc-dialog__actions { gap: 8px; padding: 12px 24px 24px !important; }
#callback_content .mdc-button {
  height: 44px !important; padding: 0 18px !important; border-radius: 12px !important; margin: 0 !important;
  font: 600 15px/1 var(--av-font) !important; letter-spacing: 0 !important; text-transform: none !important;
}
#callback_content .mdc-button:not(.mdc-button--raised):not(.mdc-button--unelevated) { color: var(--av-text) !important; background: var(--av-field) !important; }
#callback_content .mdc-button--raised, #callback_content .mdc-button--unelevated { background: var(--av-blue-600) !important; color: #fff !important; box-shadow: none !important; }
#callback_content .mdc-button--raised:hover, #callback_content .mdc-button--unelevated:hover { background: var(--av-blue-800) !important; }

/* ---------- Scroll motion (classes come from /js1/av-motion.js) ---------- */
html.av-motion .av-reveal { opacity: 0; transform: translate3d(0, 28px, 0); }
html.av-motion .av-reveal.is-visible {
  opacity: 1; transform: none;
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .9s cubic-bezier(.16, 1, .3, 1), box-shadow .2s, border-color .15s;
  transition-delay: calc(var(--av-i, 0) * 70ms), calc(var(--av-i, 0) * 70ms), 0s, 0s;
}
/* Parallax is tied to the scroll position by scroll timelines, which the browser runs together
   with scrolling itself, so layers cannot lag or shake. Browsers without them keep a still page. */
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    /* Hero depth: the clouds lag behind the page, the moon with the plane flies off up and away,
       the headline rises and fades before it could reach the controls below it */
    .av-hero:not(.av-hero--results) .av-hero__moon {
      animation: av-moon-depth linear both; animation-timeline: scroll(root); animation-range: 0 700px; will-change: transform;
    }
    .av-hero:not(.av-hero--results) .av-hero__clouds::before {
      animation: av-clouds-depth linear both; animation-timeline: scroll(root); animation-range: 0 700px; will-change: transform;
    }
    .av-hero:not(.av-hero--results) .header__offer_title,
    .av-hero:not(.av-hero--results) .header__offer_description {
      animation: av-copy-depth linear both; animation-timeline: scroll(root); animation-range: 0 360px; will-change: transform, opacity;
    }
    /* Destination photos shift inside their cards, like a view through a window */
    .av-dest::after { animation: av-card-depth linear both; animation-timeline: view(); will-change: translate; }
  }
}
@keyframes av-moon-depth { to { transform: translate3d(40px, -70px, 0) scale(.94); } }
@keyframes av-clouds-depth { to { transform: translate3d(0, 126px, 0); } }
@keyframes av-copy-depth { to { transform: translate3d(0, -36px, 0); opacity: 0; } }
@keyframes av-card-depth { from { translate: 0 -18px; } to { translate: 0 18px; } }

/* ---------- Search form details ---------- */
/* Return date: Nemo's "back to one-way" cross sits inside the field instead of hanging off its corner */
.av-hero .nemo-flights-form__route__switchToOW {
  top: 50% !important; right: 18px !important; left: auto !important; z-index: 4;
  width: 26px !important; height: 26px !important; margin-top: -13px !important; border-radius: 50%;
  background: #eef2f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6f86' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 12px no-repeat !important; cursor: pointer; transition: background-color .15s;
}
.av-hero .nemo-flights-form__route__switchToOW:hover { background-color: #dfe6f1 !important; }
.av-hero .nemo-flights-form__route__segment__item_date + .nemo-flights-form__route__segment__item_date .nemo-ui-dummiedInput__dummy,
.av-hero .nemo-flights-form__route__segment__item_date + .nemo-flights-form__route__segment__item_date .nemo-ui-textInput__input { padding-right: 40px !important; }

/* Passengers: one row per age group, name and age on the left, a round stepper on the right */
.av-hero .nemo-flights-form__passengers .nemo-flights-form__passengers__buttonSelect.nemo-ui-select__dropdown {
  width: 340px !important; margin-top: 8px; padding: 6px !important; border: 0 !important; border-radius: 16px !important; background: #fff !important;
  box-shadow: 0 24px 60px -12px rgba(7, 31, 69, .35), 0 2px 8px rgba(7, 31, 69, .08) !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item {
  display: grid !important; grid-template-columns: 1fr auto; grid-template-areas: "name count" "desc count"; align-items: center; column-gap: 16px;
  width: auto !important; box-sizing: border-box; padding: 12px 12px !important; margin: 0 !important; border: 0 !important; border-radius: 12px; background: transparent !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item + .nemo-flights-form__passengers__buttonSelect__item { box-shadow: inset 0 1px 0 var(--av-line); border-radius: 0; }
.av-hero .nemo-flights-form__passengers__buttonSelect__item__name {
  grid-area: name; width: auto !important; float: none !important; margin: 0 !important; color: var(--av-ink) !important; font: 600 15px/1.3 var(--av-font) !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item__desc {
  grid-area: desc; width: auto !important; float: none !important; margin: 2px 0 0 !important; text-align: left !important;
  color: var(--av-muted) !important; font: 400 13px/1.3 var(--av-font) !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count {
  grid-area: count; display: flex !important; align-items: center; gap: 8px; width: auto !important; float: none !important; margin: 0 !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__count {
  min-width: 22px; width: auto !important; text-align: center; color: var(--av-ink) !important; font: 600 16px/1 var(--av-font) !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__minus,
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__plus {
  position: relative; flex: none; width: 34px !important; height: 34px !important; margin: 0 !important; float: none !important;
  border: 1px solid #cfd9e8 !important; border-radius: 50% !important; background: #fff !important; cursor: pointer; transition: border-color .15s, background-color .15s;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__minus::after,
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__plus::after {
  content: "" !important; position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; margin: 0 !important; transform: none !important;
}
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__minus::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat !important; }
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__plus::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat !important; }
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__minus:hover,
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count__plus:hover { border-color: var(--av-blue-500) !important; background: var(--av-blue-50) !important; }
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count [class*="_disabled"] { opacity: .35; cursor: default; }
.av-hero .nemo-flights-form__passengers__buttonSelect__item__count [class*="_disabled"]:hover { border-color: #cfd9e8 !important; background: #fff !important; }

/* Calendar: light header with round arrows, no clip-art icons, weekends marked, a clear range between the dates */
html body .nemo-pmu-wrapper { padding: 14px !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-monthHeader.nemo-pmu-monthHeader {
  position: relative; display: flex !important; align-items: center; justify-content: center; height: 44px !important;
  margin-bottom: 6px; background: transparent !important; background-color: transparent !important;
}
html body .nemo-pmu-wrapper .nemo-pmu-month { float: none !important; margin: 0 !important; padding: 0 !important; color: var(--av-ink) !important; font: 600 16px/1.2 var(--av-font) !important; }
html body .nemo-pmu-wrapper .nemo-pmu-month::before { display: none !important; }
html body .nemo-pmu-wrapper .nemo-pmu-prev,
html body .nemo-pmu-wrapper .nemo-pmu-next {
  position: absolute !important; top: 50% !important; z-index: 2; width: 36px !important; height: 36px !important;
  margin: -18px 0 0 !important; padding: 0 !important; border: 1px solid var(--av-line) !important; border-radius: 50% !important; cursor: pointer;
  transition: border-color .15s, background-color .15s;
}
html body .nemo-pmu-wrapper .nemo-pmu-prev { left: 4px !important; right: auto !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center / 16px no-repeat !important; }
html body .nemo-pmu-wrapper .nemo-pmu-next { right: 4px !important; left: auto !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / 16px no-repeat !important; }
html body .nemo-pmu-wrapper .nemo-pmu-prev:hover, html body .nemo-pmu-wrapper .nemo-pmu-next:hover { border-color: var(--av-blue-500) !important; background-color: var(--av-blue-50) !important; }
html body .nemo-pmu-wrapper .nemo-pmu-prev_hidden, html body .nemo-pmu-wrapper .nemo-pmu-next_hidden { visibility: hidden !important; }
html body .nemo-pmu-wrapper .nemo-pmu-dayOfWeek_5, html body .nemo-pmu-wrapper .nemo-pmu-dayOfWeek_6 { color: #d4582f !important; }
/* Nemo marks the chosen dates with date_hilighted and the days between them with date_period;
   its own "selected" class only follows the cursor date, so it gets no colour of its own */
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day { padding: 0 !important; line-height: 30px !important; text-align: center !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-selected { background: transparent !important; color: var(--av-ink) !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-saturday:not(.nemo-pmu-disabled):not(.nemo-pmu-notInMonth),
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-sunday:not(.nemo-pmu-disabled):not(.nemo-pmu-notInMonth) { color: #d4582f !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day:not(.nemo-pmu-disabled):not(.nemo-pmu-notInMonth):hover { background: #eef2f8 !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-today { box-shadow: inset 0 0 0 1.5px var(--av-blue-500) !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-date_period:not(.nemo-pmu-notInMonth) { background: var(--av-blue-50) !important; color: var(--av-blue-600) !important; }
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-date_hilighted:not(.nemo-pmu-notInMonth),
html body .nemo-pmu-wrapper .nemo-pmu-instance .nemo-pmu-days_day.nemo-pmu-date_hilighted:not(.nemo-pmu-notInMonth):hover { background: var(--av-blue-600) !important; color: #fff !important; box-shadow: none !important; }

/* ---------- Dialogs: payment guide and office map ---------- */
html.av-modal-open { overflow: hidden; }
.av-modal {
  width: min(1120px, calc(100vw - 48px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 0;
  background: transparent; color: var(--av-ink); overflow: visible;
}
.av-modal::backdrop { background: rgba(9, 22, 44, .58); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.av-modal[open] { animation: av-modal-in .24s cubic-bezier(.2, .8, .2, 1); }
.av-modal[open]::backdrop { animation: av-modal-fade .24s ease-out; }
@keyframes av-modal-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }
@keyframes av-modal-fade { from { opacity: 0; } }
.av-modal__panel {
  position: relative; display: flex; flex-direction: column; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px);
  overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 40px 100px -24px rgba(7, 23, 48, .55);
}
.av-modal__close {
  position: absolute; top: 18px; right: 18px; z-index: 1100; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
  background: var(--av-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e1a2b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 15px no-repeat; cursor: pointer; transition: background-color .15s;
}
.av-modal__close:hover { background-color: var(--av-line); }
.av-modal__close:focus-visible, .av-guide__nav:focus-visible, .av-guide__thumb:focus-visible, .av-map__office:focus-visible { outline: 3px solid rgba(74, 116, 184, .45); outline-offset: 2px; }
.av-modal__head { display: flex; align-items: center; gap: 16px; padding: 20px 76px 18px 28px; border-bottom: 1px solid var(--av-line); }
.av-modal__title { margin: 0; color: var(--av-ink); font: 600 20px/1.25 var(--av-font); letter-spacing: -.01em; }
.av-modal__sub { margin: 4px 0 0; color: var(--av-muted); font: 400 14px/1.4 var(--av-font); }
.av-modal__action {
  flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; margin-left: auto; padding: 0 16px 0 40px; border-radius: 12px;
  background: var(--av-blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E") 14px center / 18px no-repeat; color: var(--av-blue-600) !important; font: 600 14px/1 var(--av-font);
  text-decoration: none !important; transition: background-color .15s;
}
.av-modal__action:hover { background-color: #e1eaf6; }

.av-guide__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 22px 84px; background: var(--av-bg); touch-action: pan-y; }
.av-guide__slide {
  display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 300px); max-height: calc(100dvh - 300px);
  border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(14, 26, 43, .06), 0 12px 36px -10px rgba(14, 26, 43, .22);
  transition: opacity .2s; user-select: none; -webkit-user-drag: none;
}
.av-guide__slide.is-loading { opacity: .4; }
.av-guide__nav {
  position: absolute; top: 50%; width: 48px; height: 48px; margin-top: -24px; padding: 0; border: 1px solid var(--av-line); border-radius: 50%;
  background: #fff center / 20px no-repeat; box-shadow: 0 6px 18px -6px rgba(14, 26, 43, .25); cursor: pointer; transition: border-color .15s, opacity .15s;
}
.av-guide__nav:hover:not(:disabled) { border-color: var(--av-blue-500); }
.av-guide__nav:disabled { opacity: .35; cursor: default; }
.av-guide__nav--prev { left: 20px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e1a2b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E"); }
.av-guide__nav--next { right: 20px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e1a2b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E"); }
.av-guide__thumbs { flex: none; display: flex; gap: 10px; padding: 14px 28px 18px; overflow-x: auto; scrollbar-width: thin; border-top: 1px solid var(--av-line); }
.av-guide__thumb {
  flex: none; width: 92px; padding: 0; border: 2px solid transparent; border-radius: 9px; background: #fff; overflow: hidden; cursor: pointer;
  opacity: .6; box-shadow: 0 0 0 1px var(--av-line); transition: opacity .15s, border-color .15s;
}
.av-guide__thumb img { display: block; width: 100%; height: auto; }
.av-guide__thumb:hover { opacity: 1; }
.av-guide__thumb[aria-current="true"] { border-color: var(--av-blue-600); opacity: 1; box-shadow: none; }

.av-modal--map { width: min(1080px, calc(100vw - 48px)); }
.av-map { display: grid; grid-template-columns: minmax(0, 1fr) 340px; height: min(600px, calc(100vh - 48px)); height: min(600px, calc(100dvh - 48px)); }
.av-map__canvas { position: relative; min-height: 0; background: #e8edf4; }
.av-map__canvas.leaflet-container { font: 12px/1.4 var(--av-font); }
.av-map__status { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0; padding: 24px; text-align: center; color: var(--av-muted); font: 500 15px/1.4 var(--av-font); }
.av-map__side { display: flex; flex-direction: column; min-height: 0; padding: 24px 0 0; border-left: 1px solid var(--av-line); }
.av-map__side .av-modal__title { margin: 4px 72px 14px 22px; }
.av-map__list { display: grid; align-content: start; gap: 8px; flex: 1 1 auto; min-height: 0; margin: 0; padding: 2px 22px 14px; list-style: none; overflow-y: auto; overscroll-behavior: contain; }
.av-map__list li { margin: 0; padding: 0; list-style: none; }
.av-map__office {
  display: block; width: 100%; padding: 11px 14px; border: 1px solid var(--av-line); border-radius: 14px; background: #fff;
  text-align: left; font: inherit; color: inherit; cursor: pointer; transition: border-color .15s, background-color .15s;
}
.av-map__office:hover { border-color: #c9d5e6; }
.av-map__office[aria-pressed="true"] { border-color: var(--av-blue-600); background: var(--av-blue-50); box-shadow: inset 0 0 0 1px var(--av-blue-600); }
.av-map__name { display: flex; align-items: center; gap: 8px; color: var(--av-ink); font: 600 15px/1.3 var(--av-font); }
.av-map__badge { padding: 3px 8px; border-radius: 999px; background: var(--av-blue-600); color: #fff; font: 600 11px/1.2 var(--av-font); }
.av-map__addr { display: block; margin-top: 4px; color: var(--av-text); font: 400 13px/1.4 var(--av-font); }
.av-map__hours { display: block; margin-top: 2px; color: var(--av-muted); font: 400 13px/1.4 var(--av-font); }
.av-map__actions { flex: none; display: grid; gap: 8px; padding: 14px 22px 22px; border-top: 1px solid var(--av-line); background: #fff; }
.av-map__btn {
  display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px; border-radius: 12px; font: 600 15px/1 var(--av-font);
  text-decoration: none !important; transition: background-color .15s;
}
.av-map__btn::before { content: ""; width: 18px; height: 18px; background: center / contain no-repeat; }
.av-map__btn--primary { background: var(--av-amber); color: var(--av-ink) !important; }
.av-map__btn--primary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e1a2b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='2'/%3E%3Ccircle cx='18' cy='5' r='2'/%3E%3Cpath d='M8 19h8.5a3.5 3.5 0 0 0 0-7h-9a3.5 3.5 0 0 1 0-7H16'/%3E%3C/svg%3E"); }
.av-map__btn--primary:hover { background: var(--av-amber-hover); }
.av-map__btn--light { background: var(--av-blue-50); color: var(--av-blue-600) !important; }
.av-map__btn--light::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E"); }
.av-map__btn--light:hover { background: #e1eaf6; }
.av-map__pin { background: none !important; border: 0 !important; }
.av-map__pin span {
  position: absolute; left: 3px; top: 0; width: 30px; height: 30px; border: 3px solid #fff; border-radius: 50% 50% 50% 0;
  background: #7f93b3; box-shadow: 0 6px 14px -2px rgba(7, 23, 48, .45); transform: rotate(-45deg); transform-origin: center; transition: background-color .2s;
}
.av-map__pin span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: #fff; }
.av-map__pin.is-active span { background: var(--av-blue-600); }

@media (max-width: 760px) {
  .av-modal, .av-modal--map { width: 100vw; margin: auto 0 0; }
  .av-modal__panel { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 22px 22px 0 0; }
  @keyframes av-modal-in { from { transform: translateY(40px); opacity: 0; } }
  .av-modal__head { flex-wrap: wrap; padding: 18px 68px 14px 18px; }
  .av-modal__title { font-size: 18px; }
  .av-modal__action { margin-left: 0; }
  .av-modal__close { top: 14px; right: 14px; }
  .av-guide__stage { padding: 14px 12px 62px; }
  .av-guide__slide { max-height: none; }
  .av-guide__nav { top: auto; bottom: 10px; margin-top: 0; width: 42px; height: 42px; }
  .av-guide__nav--prev { left: calc(50% - 50px); }
  .av-guide__nav--next { right: calc(50% - 50px); }
  .av-guide__thumbs { padding: 12px 18px 16px; }
  .av-guide__thumb { width: 72px; }
  .av-map { grid-template-columns: 1fr; grid-template-rows: 240px minmax(0, 1fr); height: calc(100vh - 24px); height: calc(100dvh - 24px); }
  .av-map__side { border-left: 0; border-top: 1px solid var(--av-line); padding-top: 16px; }
  .av-map__side .av-modal__title { margin: 0 16px 12px; }
  .av-map__list { padding: 2px 16px 12px; }
  .av-map__actions { padding: 12px 16px calc(16px + env(safe-area-inset-bottom)); }
}
@media (min-width: 761px) and (max-height: 760px) {
  .av-modal__head { padding-top: 14px; padding-bottom: 12px; }
  .av-modal__close { top: 12px; }
  .av-guide__stage { padding-top: 14px; padding-bottom: 14px; }
  .av-guide__slide { max-height: calc(100vh - 240px); max-height: calc(100dvh - 240px); }
  .av-guide__thumbs { padding-top: 10px; padding-bottom: 12px; }
  .av-guide__thumb { width: 72px; }
  .av-map__office { padding: 9px 12px; }
  .av-map__btn { height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .av-modal[open], .av-modal[open]::backdrop { animation: none; }
}

/* ---------- Tablets and small laptops ---------- */
/* Below 1024px the legacy sheet lifts the "more options" toggle 25px above its row */
.av-hero .nemo-flights-form__additional__parameters { top: 0 !important; }
/* One row of six fields gets cramped below ~1180px: the route takes the first row,
   passengers and the search button the second. Nemo stacks every field by itself below 700px. */
@media (min-width: 701px) and (max-width: 1180px) {
  .av-hero:not(.av-hero--results) .nemo-flights-form__formContainer__inner { display: flex !important; flex-wrap: wrap; align-items: stretch; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route { display: block !important; flex: 1 1 100%; width: 100% !important; margin-bottom: 8px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__passengers { flex: 3 1 0; width: auto !important; min-width: 0; margin-right: 8px !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__buttonContainer { display: block !important; flex: 2 1 0; width: auto !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__searchButton { width: 100% !important; margin-left: 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions { flex: 1 1 100%; }
}
/* At 970px and below Nemo adds route-type tabs inside the card and anchors the option pills to the
   bottom of the form. The pills above the card already offer the same choice, so the tabs go and the
   pills stay where they are on desktops; the four route fields form a 2 x 2 grid. */
@media (min-width: 701px) and (max-width: 970px) {
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeTypeSelector_buttons { display: none !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions { position: static !important; margin-top: 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item_class { position: static !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__inner { right: 186px !important; width: auto !important; gap: 8px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item { margin: 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__passengers { margin-bottom: 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__caption { display: none !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT { display: flex !important; flex-wrap: wrap; gap: 8px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW > .nemo-flights-form__route__segment,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT > .nemo-flights-form__route__segment { display: contents !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW .nemo-flights-form__route__segment__item,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT .nemo-flights-form__route__segment__item {
    flex: 1 1 calc(50% - 4px); width: auto !important; min-width: 0; height: auto !important; margin: 0 !important; padding: 0 !important;
  }
}
/* Footer: logo and address on top, the link columns and buttons in one row under it */
@media (max-width: 1100px) {
  .footer .footer__twoblock_units { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; }
  .footer .footer__twoblock_units > .footer__twoblock_unit:first-child { grid-column: 1 / -1; order: 0 !important; display: flex; align-items: center; gap: 24px; }
  .footer .footer__twoblock_units > .footer__twoblock_unit { width: auto !important; max-width: none !important; margin: 0 !important; padding-top: 0 !important; }
  .footer .footer__twoblock_unitmarks li { margin-left: 0 !important; }
  .footer .footer__twoblock_unitmarks li { margin: 0 0 10px !important; }
  .footer .footer__twoblock_unitmarks a { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 46px; margin: 0 !important; padding: 0 14px !important; font-size: 15px !important; line-height: 1 !important; white-space: nowrap; box-sizing: border-box; }
}
@media (max-width: 860px) {
  .footer .footer__twoblock_units { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer .footer__twoblock_unitmarks { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
  .footer .footer__twoblock_unitmarks li { margin: 0 !important; }
}
@media (max-width: 640px) {
  .footer .footer__twoblock_units { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
  .footer .footer__twoblock_units > .footer__twoblock_unit:first-child { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer .footer__twoblock_unitmarks { grid-template-columns: 1fr; }
  .footer .footer__twoblock_description { margin-top: 0 !important; }
}
/* "Политика конфиденциальности" does not fit half of a 320px screen and pushed the page sideways */
@media (max-width: 360px) {
  .footer .footer__twoblock_units { grid-template-columns: 1fr; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
  .site-header .menu-phone { display: none !important; }
  .av-header-actions { gap: 0; }
}
@media (max-width: 1100px) {
  .av-header-actions { display: none; }
  .site-header .menu-left { margin-left: 20px; }
}
@media (max-width: 1024px) {
  .av-benefits, .av-offices { grid-template-columns: repeat(2, 1fr); }
  .av-steps { grid-template-columns: 1fr; }
  .av-hero .header__offer_title { font-size: 46px !important; }
}
@media (max-width: 860px) {
  .av-faq { grid-template-columns: 1fr; }
  .av-featured { grid-template-columns: 1fr; }
  .av-dest { min-height: 210px; }
  .av-routes { grid-template-columns: 1fr; }
  .av-hero .nemo-flights-form__searchButton { margin-left: 0; width: 100%; }
}
/* Phones: Nemo's route-type tabs become a segmented control, the cities take a row each with the swap
   button between them, the dates share a row, and the "±3 days" switch and class sit under the button
   inside the card (the pill row above the card has no room here) */
@media (max-width: 700px) {
  /* Padding on the form, not a margin on the tabs: that margin collapsed through the card and left the tabs touching its edge */
  .av-hero:not(.av-hero--results) .nemo-flights-form { padding-top: 16px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeTypeSelector_buttons { display: flex !important; gap: 4px; margin: 0 16px; padding: 4px; border-radius: 14px; background: var(--av-field); text-align: left; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeTypeSelector__button {
    display: flex !important; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0 !important; height: auto !important; min-height: 36px;
    margin: 0 !important; padding: 4px 6px !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important;
    color: var(--av-muted) !important; font: 600 13px/1.2 var(--av-font) !important; text-align: center; white-space: normal;
  }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeTypeSelector__button::after { display: none !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeTypeSelector__button_active { background: #fff !important; color: var(--av-blue-600) !important; box-shadow: 0 1px 3px rgba(14, 26, 43, .14) !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT { display: flex !important; flex-wrap: wrap; gap: 8px; width: 100% !important; margin-bottom: 8px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW > .nemo-flights-form__route__segment,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT > .nemo-flights-form__route__segment { display: contents !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW .nemo-flights-form__route__segment__item,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT .nemo-flights-form__route__segment__item {
    flex: 1 1 100%; width: auto !important; min-width: 0; height: auto !important; margin: 0 !important; padding: 0 !important;
  }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_OW .nemo-flights-form__route__segment__item_date,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route_RT .nemo-flights-form__route__segment__item_date { flex-basis: calc(50% - 4px); }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item__citySwap { display: block !important; top: auto !important; bottom: -20px !important; right: 18px !important; left: auto !important; z-index: 4; transform: rotate(90deg); }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item__citySwap:hover { transform: rotate(270deg); }
  .av-hero:not(.av-hero--results) .nemo-flights-form__formContainer__inner > .nemo-flights-form__passengers { width: 100% !important; min-width: 0; margin: 0 0 8px !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__buttonContainer,
  .av-hero:not(.av-hero--results) .nemo-flights-form__searchButton { display: block !important; width: 100% !important; margin-left: 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions { position: static !important; display: block !important; margin: 14px 0 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__inner {
    position: static !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 16px;
    width: auto !important; margin: 0 !important; white-space: normal;
  }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item { position: static !important; height: 36px; margin: 0 !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item_routeType,
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__caption { display: none !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button {
    height: 36px !important; padding: 0 32px 0 14px !important; border: 0 !important; background-color: var(--av-field) !important;
    color: var(--av-ink) !important; font: 600 14px/36px var(--av-font) !important;
  }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button * { color: var(--av-ink) !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button:hover { background-color: var(--av-blue-50) !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions__item__selector__button::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption { color: var(--av-text) !important; font-size: 14px !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeOptions .nemo-ui-checkbox__caption::before { background: #dfe5ee !important; border-color: #dfe5ee !important; }
  /* Both city fields start at the same line: the swap button sits on the right here */
  .av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to label.nemo-ui-textInput::before { left: 16px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to .nemo-ui-dummiedInput__dummy,
  .av-hero:not(.av-hero--results) .nemo-flights-form__route__segment__item_to .nemo-ui-textInput__input { padding-left: 46px !important; }
  /* "Откуда (город или аэропорт)" has to fit a narrow field; the input itself stays at 16px so iOS does not zoom in on focus */
  .av-hero:not(.av-hero--results) .nemo-flights-form .nemo-ui-dummiedInput__dummy__placeholder { font-size: 15px !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form .nemo-ui-textInput__input::placeholder { font-size: 15px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form .nemo-ui-textInput__input { text-overflow: ellipsis; }
  /* The moon sits right behind the headline on phones: a navy wash over the sky keeps the white text crisp */
  .av-hero--moon:not(.av-hero--results) .av-hero__sky::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(8, 28, 66, .55) 0%, rgba(8, 28, 66, .42) 40%, rgba(8, 28, 66, 0) 75%);
  }
  .av-hero--moon .header__offer_title, .av-hero--moon .header__offer_description { text-shadow: 0 1px 12px rgba(5, 25, 60, .55); }
  /* Nothing sits above the card here: "Еще параметры" moves under the form as a quiet text button */
  .main_search_form.av-hero:not(.av-hero--results) .offer__serchs { margin-top: 28px; }
  /* z-index 1: the class list above it lives in a flex item with z-index 2 and must cover this row */
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional {
    position: relative !important; left: auto; right: auto; bottom: auto; z-index: 1; justify-content: center; height: auto;
    margin: 0 16px !important; padding: 4px 0 8px !important; border-top: 1px solid var(--av-line);
  }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle,
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle:hover {
    height: 34px !important; padding: 0 32px 0 14px !important; border: 0 !important; background-color: transparent !important;
    color: var(--av-blue-600) !important; font: 600 14px/34px var(--av-font) !important;
  }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle:hover { background-color: var(--av-blue-50) !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional__parameters__toggle * { color: inherit !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__toggle::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23345da0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 13px no-repeat !important; }
  /* Extra parameters open across the whole card, titles above their controls */
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional__parameters { position: static !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__dropdown { left: 0 !important; right: 0 !important; width: auto !important; max-width: none !important; padding: 16px !important; }
  .av-hero .nemo-flights-form__additional__parameters__item { flex-direction: column; align-items: stretch; gap: 8px; margin-bottom: 16px !important; }
  .av-hero .nemo-flights-form__additional__parameters__item__title { flex: none; }
  .av-hero:not(.av-hero--results) .nemo-flights-form .nemo-flights-form__additional .nemo-ui-textInput__input { flex: 1; width: auto !important; min-width: 0; max-width: none !important; }
  /* iPhone and Android get the native selects (chosen switches itself off there); 16px keeps iOS from zooming in */
  .av-hero .nemo-flights-form__additional select {
    flex: 1 1 0; width: 100% !important; min-width: 0; max-width: 100%; height: 44px !important; margin: 0 !important; padding: 0 36px 0 12px !important;
    border: 1px solid #dde3ec !important; border-radius: 10px !important; box-shadow: none !important; outline: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8aa0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 14px no-repeat !important;
    color: var(--av-ink) !important; font: 500 16px/1.25 var(--av-font) !important; -webkit-appearance: none; appearance: none;
  }
  .av-hero .nemo-flights-form__additional select[multiple] { flex-basis: 100%; height: auto !important; min-height: 44px; max-height: 140px; padding: 6px 8px !important; background-image: none !important; overflow-y: auto; }
  .av-hero .nemo-flights-form__additional select[multiple] option { padding: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .av-hero .nemo-flights-form__additional select:focus { border-color: var(--av-blue-500) !important; box-shadow: 0 0 0 3px rgba(52, 93, 160, .15) !important; }
  /* City suggestions stay as wide as the field instead of pushing the page sideways */
  .nemo-flights-form__geoAC.ui-autocomplete { min-width: 0; max-width: calc(100vw - 2 * var(--av-gutter) - 24px); }
}
@media (max-width: 640px) {
  :root { --av-header-h: 64px; --av-cap: 28px; --av-gutter: 16px; }
  .av-hero--flatlay:not(.av-hero--results) > .container { padding-bottom: calc(var(--av-cap) + 150px) !important; }
  .av-hero__deco { width: 100%; -webkit-mask-image: linear-gradient(180deg, transparent 30%, #000 60%); mask-image: linear-gradient(180deg, transparent 30%, #000 60%); }
  .av-container { padding: 0 16px; }
  .site-header .header__unit_fon > .container { padding: 0 16px; }
  .site-header .header__logo { width: 128px !important; }
  .av-section { padding-top: 52px; }
  .av-section--first { padding-top: 22px; }
  .av-h2 { font-size: 28px; }
  .av-lead { font-size: 15px; margin-bottom: 20px; }
  .main_search_form.av-hero { padding: 36px 0 0 !important; }
  .av-hero__bg img { object-position: 50% 20%; }
  /* Phones: centred copy, plane left out of frame */
  .av-hero--forest .av-hero__bg img { object-position: 0% 0%; }
  .av-hero--forest .header__offer_title, .av-hero--forest .header__offer_description { text-align: center; margin-left: auto !important; }
  .av-hero .header__offer_title { font-size: 31px !important; margin-bottom: 12px !important; }
  .av-hero .header__offer_description { font-size: 16px !important; margin-bottom: 24px !important; }
  .av-hero .offer__serchs { border-radius: 20px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form { padding-top: 12px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__routeTypeSelector_buttons { margin: 0 12px; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__formContainer__inner { padding: 12px !important; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional .nemo-flights-form__additional__parameters__dropdown { padding: 14px !important; }
  /* Previous searches: the menu button sits to the right of the history button, so the list is
     anchored to the header's right edge and never runs off the left side of the screen */
  .site-header .flight { position: static; }
  .site-header .flight .flight-wrapper { top: 100%; right: 16px; margin-top: 0; }
  .av-hero:not(.av-hero--results) .nemo-flights-form__additional { margin: 0 12px !important; padding: 2px 0 6px !important; }
  .av-trust { justify-content: flex-start; gap: 8px 16px; }
  .av-trust li { font-size: 13px; }
  .av-airlines { padding-top: 28px; }
  .av-hero--moon .av-airlines { padding-top: 34px; padding-bottom: calc(var(--av-cap) + 34px); }
  .av-airlines__track li { padding-right: 40px; }
  .av-airlines__track img { height: calc(var(--h, 30px) * .78); }
  .av-benefits, .av-offices { grid-template-columns: 1fr; }
  .av-benefit, .av-step, .av-office { padding: 20px; }
  .av-step { padding-left: 68px; }
  .av-step::before { left: 20px; top: 20px; }
  .av-route { padding: 14px; gap: 12px; }
  .av-route__code { width: 42px; height: 42px; }
  .av-pay__link { margin-left: 0; }
  .av-help { padding: 22px; }
  .av-help__actions, .av-help__actions .av-btn { width: 100%; }
  .pulse.pulse-block { right: 14px !important; bottom: 14px !important; padding: 0 14px !important; }
  .pulse.pulse-block span { display: none; }
}
