html { scroll-behavior: smooth }
.country__el-img img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit }
.country-layout { display: grid; grid-template-columns: minmax(0, 62%) minmax(0, 34%); column-gap: 4%; align-items: start }
.country-layout > .country-navigation-panel { grid-column: 1; grid-row: 1; min-width: 0 }
.country-layout > .main-content { grid-column: 1; grid-row: 2; width: 100%; margin: 0 }
.country-layout > .sidebar-content { display: block; grid-column: 2; grid-row: 1 / span 2; width: 100%; margin: 0; min-width: 0 }
.mob-menu__hamb, .full-menu__close { background: transparent; border: 0; font: inherit; cursor: pointer }
.legacy-mobile { display: none }
.legacy-popular-mobile { display: none }
.legacy-desktop .menu__item:hover .menu__drop-menu, .legacy-desktop .menu__item:focus-within .menu__drop-menu { display: block; opacity: 1; visibility: visible }
.content__row > .legacy-desktop, .country__navigation > .legacy-desktop { display: contents }
.full-menu.hlday-open { display: block; left: 0; transform: none; visibility: visible; opacity: 1; z-index: 1000 }
.full-menu__category-active .full-menu__content { display: block }
.country-table { overflow-x: auto }
.country-page .main-content { min-width: 0 }
.cases__add { display: block; text-decoration: none }
.cases .cases__add { color: #49494b; border: 1px solid #8c8c8e; border-radius: 5px; padding: 15px 0; text-decoration: none }
.cases .cases__add:hover { color: #fff; border-color: #7f7bf8 }
.visa-statistics__el { display: block }
.speedbar { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 20px; font-size: 13px }
.speedbar a { color: #8c8c8e; text-decoration: none }
.speedbar a::after { content: ' /'; margin-left: 8px }
.country-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 18px; margin-bottom: 25px }
.country-filter label { display: block }
.country-filter input[type=search], .country-filter select { display: block; width: 100%; min-height: 48px; padding: 10px; border: 1px solid #999; border-radius: 6px; font: inherit }
.country-filter input[type=checkbox] { appearance: auto; width: 18px; height: 18px }
.country-filter button, .case-form button, .case-submit { padding: 13px 20px; border: 0; border-radius: 6px; background: #6f6af8; color: #fff; font: inherit; cursor: pointer; min-height: 48px }
.case-form { max-width: 760px; margin: 30px auto }
.form-field { margin-block: 20px }
.form-field label { display: block; margin-bottom: 6px }
.form-field input:not([type=checkbox]), .form-field textarea { display: block; width: 100%; min-height: 48px; border: 1px solid #999; border-radius: 6px; padding: 12px; font-size: 1rem; box-sizing: border-box }
.form-field input[type=checkbox] { appearance: auto; width: 22px; height: 22px }
.form-field textarea { resize: vertical }
.errorlist { color: #a30c0c; padding: 0; list-style: none }
.filter-input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap }
.select__el { position: relative }
.category__filter .select__el:focus-within { outline: none }
.category__filter .select__el.select__el-active { background: #f1edff; border-color: #c7b8ef; color: #66509a; box-shadow: none }
.category__filter .select__el:has(.filter-input:focus-visible) { outline: 1px solid #9b86c4; outline-offset: 2px }
.hlday-pagination { display: flex; justify-content: center; gap: 20px; padding: 25px 0 }
:focus-visible { outline: 3px solid #6f6af8; outline-offset: 3px }
.content-wrapper img { max-width: 100%; height: auto }
.guide-content { min-width: 0; overflow-wrap: anywhere }
.guide-content img { max-width: 100%; height: auto }
.guide-content table { display: block; max-width: 100%; overflow-x: auto }
#case-dialog { box-sizing: border-box; width: min(740px, calc(100% - 30px)); max-height: calc(100dvh - 40px); border: 0; border-radius: 10px; padding: 30px; overflow: auto }
#case-dialog .main-form { display: block }
#case-dialog:modal { overscroll-behavior: contain }
#case-dialog::backdrop { background: #0009; overflow: hidden; overscroll-behavior: contain }
.case-dialog__header { display: flex; align-items: start; gap: 20px; justify-content: space-between }
.case-dialog__close { background: transparent; border: 0; padding: 0; font-size: 30px; cursor: pointer; color: #333; min-width: 44px; min-height: 44px }
@media (max-width: 900px) { .legacy-mobile { display: block } .legacy-desktop, .content__row > .legacy-desktop, .country__navigation > .legacy-desktop { display: none } .country-filter { display: block } .country-filter label { margin-bottom: 16px } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto } }
@media (max-width: 900px) { .legacy-popular-table { display: none } .legacy-popular-mobile { display: block } }
@media (max-width: 900px) {
  .country-layout { display: flex; flex-direction: column }
  .country-layout > .country-navigation-panel { order: 0; width: 100%; box-sizing: border-box }
  .country-layout > .sidebar-content { order: 1; width: 100% }
  .country-layout > .main-content { order: 2; width: 100% }
}

/* Keep country names on one line inside the regional menu. */
.drop-menu__list > a,
.full-menu__countries-list > a {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Keep flight tables readable without widening the country page. */
.flight-table-scroll { overflow: auto; max-inline-size: 100%; max-block-size: min(600px, 80vh) }
.flight-table-scroll:focus-visible { outline: 2px solid #8370ff; outline-offset: 3px }
.flight-table { min-inline-size: 480px; border-collapse: separate; border-spacing: 0 }
.flight-table caption { text-align: start; font-weight: 600; padding-block: 12px }
.flight-table thead { position: sticky; inset-block-start: 0; z-index: 1; background: white }
.flight-table tbody th { text-align: start; font-weight: 400; padding: 15px; font-size: 14px }
.flight-table-scroll { container-type: inline-size }
@container (width < 600px) {
  .flight-table { min-inline-size: 0; inline-size: 100% }
  .flight-table thead { display: none }
  .flight-table tbody, .flight-table tr, .flight-table tbody th { display: block }
  .flight-table tbody tr { border-block-end: 1px solid #ddd; padding-block: 10px }
  .flight-table tbody th { padding: 10px 0; font-weight: 600 }
  .flight-table tbody td { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 8px; padding: 8px 0; border: 0 }
  .flight-table tbody td::before { content: attr(data-label) ":"; font-weight: 600; grid-column: 1; grid-row: 1 }
  .flight-table tbody td > * { grid-column: 2 }
}
.flight-table-scroll .flight-table th:nth-child(n) { inline-size: auto; text-align: start }
.flight-table-scroll .flight-table tbody th { font-size: 14px; font-weight: 500; padding: 12px 8px 12px 0 }
@container (width < 600px) {
  .flight-table-scroll .flight-table tbody th:nth-child(n) { inline-size: 100%; padding: 10px 0; font-weight: 600 }
  .flight-table-scroll .flight-table tbody td:nth-child(n) { text-align: start; padding: 8px 0; border: 0 }
}

.flight-country-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 12px }
.flight-country-arrow { font-size: 21px }
.content-wrapper a.content-scroll { color: inherit }
#search-tickets { scroll-margin-top: 90px }

.country__news a.last-new__title { color: #49494b; border: 0; text-decoration: none }
.country__news .last-new:hover a.last-new__title,
.country__news a.last-new__title:focus-visible { color: #6f6af8 }
#ticket-widget { min-height: 320px }
.category__header .page__info { margin-left: 0; padding-left: 0 }
.category-page .category__header--without-tabs { padding-bottom: 32px }
