:root {
  /* Colors */
  --UI-background: #f4f7f9;
  --primary-1: #1665e3;
  --primary-2: #001b38;
  --primary-3: #04b1a7;
  --primary-link-color: #166bc8;
  --active-link-color: var(--primary-1);
  --passive-link-color: var(--primary-2);
  --active-link-line: none;
  --active-link-line-offset: 0px;

  --primary-1-50: rgba(22, 101, 227, 0.5);
  --primary-2-50: rgba(0, 27, 56, 0.5);
  --primary-3-50: rgba(4, 177, 167, 0.5);
  --primary-link-color-50: rgba(22, 107, 200, 0.5);

  --loader-gradient: linear-gradient(var(--primary-1) 0 0),
    linear-gradient(var(--primary-1) 0 0), none;

  --search-button-color: #ff9900;

  --primary-btn-hover-color: hsl(217, 82%, 45%);
  --secondary-btn-hover-color: hsl(207, 24%, 89%);
  --search-button-hover-color: hsl(36, 100%, 46%);

  --ui-1: #ffffff;
  --ui-2: #f0f3f5;
  --ui-3: #e8edf1;
  --ui-4: #bac7d5;
  --ui-5: #4f5e71;
  --ui-6: #252a31;
  --text-2: #494f59;
  --text-3: #929598;
  --text-4: #9ba8b0;

  --success: #2eff8e;
  --error: #d21c1c;
  --warning: #ffd600;

  /* Toasts */
  --toastify-color-light: #ffffff;
  --toastify-color-dark: #001b38 !important;
  --toastify-color-info: var(--primary-1) !important;
  --toastify-color-success: var(--success) !important;
  --toastify-color-warning: var(--warning) !important;
  --toastify-color-error: #d21c1c !important;
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);

  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);

  --toastify-font-family: "Proxima Nova-Regular" !important;

  /* Fonts */
  --font-regular: sans-serif;
  --font-medium: sans-serif;
  --font-semibold: sans-serif;
  --font-bold: sans-serif;

  --regular-w: 400;
  --medium-w: 500;
  --semibold-w: 600;
  --bold-w: 700;

  --fmob-size-40px: 2.5rem;
  --fmob-size-32px: 2rem;
  --fmob-size-28px: 1.75rem;
  --fmob-size-26px: 1.625rem;
  --fmob-size-24px: 1.5rem;
  --fmob-size-20px: 1.25rem;
  --fmob-size-18px: 1.125rem;
  --fmob-size-16px: 1rem;
  --fmob-size-14px: 0.875rem;
  --fmob-size-12px: 0.75rem;
  --fmob-size-10px: 0.625rem;

  --f-size-40px: 2.5rem;
  --f-size-32px: 2rem;
  --f-size-28px: 1.75rem;
  --f-size-24px: 1.5rem;
  --f-size-26px: 1.625rem;
  --f-size-20px: 1.25rem;
  --f-size-18px: 1.125rem;
  --f-size-16px: 1rem;
  --f-size-14px: 0.875rem;
  --f-size-12px: 0.75rem;
  --f-size-10px: 0.625rem;

  --font-style: normal;
  --line-height: normal;

  --modal-anim-time: 400ms;
  --backdrop-anim-time: 200ms;

  --main-page-side-pad-relative: 3%;
  --main-page-content-max-width: 1440px;
  --main-page-inner-max-width: 1236px;
  --main-page-side-pad: 6.37rem;

  --zindex-low: 300;
  --zindex-medium-low: 600;
  --zindex-medium: 700;
  --zindex-high: 850;
  --zindex-highest: 1000;
  /* --scroll-bar-color: #e8edf179; */

  --rt-transition-show-delay: 0.3s !important;
  --rt-transition-closing-delay: 0.3s !important;

  --corner-sm: 3px;
  --corner-md: 5px;
  --corner-lg: 7px;
  --corner-xl: 10px;

  --checkbox-corner: 3px;
  --checkbox-accent-color: var(--primary-1);
  --checkbox-mark-thickness: 2;
  --radio-border: 1px var(--ui-4) solid;
  --radio-accent-bg: var(--primary-1);
  --radio-accent-border: 1px #fff solid;
  --radio-accent-inner: var(--primary-1);

  --sort-tag-best: #367cff;
  --sort-tag-cheap: #00a991;
  --nav-bar-color: #ffffff;
  --nav-bar-shadow: 0rem 0.25rem 0.25rem -0.125rem rgba(37, 42, 49, 0.12);
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
/***FOR DEBUGGING***/
/* *{
  background: #000 !important;
  color: #0f0 !important;
  outline: solid #f00 1px !important;
} */
/******************/
body,
html {
  margin: 0 auto;
  padding: 0;
  font-family: sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  font-size: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background-color: var(--UI-background);
  color: var(--primary-2);
  min-width: 320px;
}
html .mobile,
body .mobile {
  background-color: #fff;
}
html[class*="noscroll"] {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow: hidden;
}
html[class*="noscroll"]::-webkit-scrollbar {
  display: none;
}
a {
  text-decoration: none;
  color: var(--primary-2);
  transition: all 0.15s;
}
a:active {
  color: var(--primary-link-color);
}
a:hover {
  color: var(--primary-link-color);
  transition: all 0.15s;
}
button {
  cursor: pointer;
}
textarea:focus,
input:focus,
select:focus {
  outline: none;
}
a:focus-visible {
  outline: none;
  border-bottom: black 2px dotted;
  padding-bottom: 1px;
  background-color: var(--ui-4);
  color: var(--primary-2) !important;
}
button:focus-visible,
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
  outline: 3px black solid !important;
}
/** Breakpoints for padding change **/
@media only screen and (min-width: 1440px) {
  body {
    align-items: center;
  }
  .padded-view {
    max-width: var(--main-page-content-max-width);
  }
  main#search-results-page.desktop.hotels.map-expanded .results-content .padded-view {
    padding: 0 1rem;
    max-width: calc(1440px + 6.37rem * 2);
  }
}
/** Root React content **/
div#root {
  width: inherit;
  overflow-x: clip;
  position: relative;
  /* padding-left: calc((100vw - 17px - 100%) / -2); */
}
.mob div#root {
  padding-left: 0;
}
div#root-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
/** HOME PAGE **/
main#tickets-home-page.desktop {
  display: flex;
  flex-direction: column;
}
main#tickets-home-page.mobile {
  padding: 0;
}
main#tickets-home-page.desktop .home-content .padded-view {
  padding: 0 var(--main-page-side-pad);
  margin: auto;
}
main#tickets-home-page.mobile .home-content {
  padding: 0 1rem;
}
main#tickets-home-page .home-content.white {
  background-color: var(--ui-1);
}
main#tickets-home-page .home-content.off-white {
  border-top: 1px solid var(--ui-3);
  background-color: var(--UI-background);
}
main#tickets-home-page .home-content > section {
  margin-bottom: 3.75rem;
}
main#tickets-home-page.desktop .home-content > section#search-form-section .padded-view {
  padding: 0;
  margin: 0 auto;
}
/** RESULTS PAGE **/
main#search-results-page {
  display: flex;
  flex-direction: column;
}
section#search-form-section {
  margin: auto;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  background-image: none;
}
.desktop section.results-header {
  position: sticky;
}
main#search-results-page section.results-content {
  background-color: var(--UI-background);
  min-height: 100vh;
  position: relative;
}
.desktop section.results-header .padded-view,
.desktop section.results-content .padded-view {
  padding: 0 var(--main-page-side-pad);
  margin: auto;
}
.desktop section.results-content .padded-view {
  display: grid;
  grid:
    "left-panel sorting right-panel" auto
    "left-panel baggage right-panel" auto
    "left-panel results right-panel" 1fr
    / 1fr 2.92fr 1fr;
  gap: 0 1.25rem;
}
.left-panel,
.right-panel,
.results {
  display: flex;
  flex-direction: column;
}
.left-panel {
  position: sticky;
  grid-area: left-panel;
  justify-content: flex-start;
  padding-bottom: 1rem;
}
.sorting {
  grid-area: sorting;
  background-color: var(--ui-1);
  display: flex;
  flex-direction: row;
}
.right-panel {
  grid-area: right-panel;
  row-gap: 1.25rem;
  max-height: 22.4375rem;
}
.baggage {
  grid-area: baggage;
  background-color: var(--ui-1);
}
.results {
  grid-area: results;
  row-gap: 1rem;
  padding-bottom: 1rem;
}
.desktop section.results-content {
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.mobile section.results-content {
  padding: 1.125rem 1rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  min-height: 100vh;
}
/** BOOKING PAGE **/
main#booking-cancelled-page,
main#order-complete-page,
main#order-completion-error-page,
main#booking-page {
  background-color: var(--UI-background);
  min-height: 100vh;
  padding: 0;
}
main#booking-page.desktop {
  display: grid;
  grid-template-columns:
    minmax(var(--main-page-side-pad), 1fr)
    minmax(auto, var(--main-page-inner-max-width))
    minmax(var(--main-page-side-pad), 1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
}
main#booking-page.mobile {
  display: flex;
  flex-direction: column;
}
main#booking-page.desktop .booking-logo {
  display: flex;
  align-items: center;
}
main#booking-page.desktop .booking-logo img {
  width: 5.4375rem;
  margin-right: 1.5625rem;
}
main#booking-page.desktop .booking-summary {
  grid-column: 2;
  margin-top: 6.125rem;
}
main#booking-page.desktop .booking-content {
  grid-area: 2 / 2;
  align-self: normal;
}
main#booking-page.mobile .booking-content {
  position: relative;
}
section#unknown-error-occured.body,
section#page-not-found.body {
  text-align: center;
  padding: 5rem var(--main-page-side-pad) 7rem;
  /* height: 100vh; */
}
section#unknown-error-occured.body > *,
section#page-not-found.body > * {
  margin: 0 auto;
}
section#unknown-error-occured.body h1,
section#page-not-found.body h1 {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 2.75rem;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  color: var(--ui-4);
}
section#unknown-error-occured.body p,
section#page-not-found.body p {
  font-size: 1.2rem;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  display: flex;
  flex-direction: column;
  text-align: center;
  row-gap: 0.5rem;
  margin: 1rem 0 1.5rem;
}
section#unknown-error-occured.body.mob {
  padding: 3rem 1rem 4.5rem;
  text-align: center;
}
section#page-not-found.body.mob {
  padding: 3rem 1rem 4.5rem;
  text-align: center;
}
section#page-not-found.body.mob h1,
section#unknown-error-occured.body.mob h1 {
  font-size: 2.25rem;
}
section#page-not-found.body.mob p,
section#unknown-error-occured.body.mob p {
  font-size: 1.1rem;
  row-gap: 1rem;
}
main#booking-cancelled-page .order-container,
main#order-completion-error-page .order-container,
main#order-complete-page .order-container {
  position: relative;
  top: 2rem;
  padding: 2.5rem;
  margin: auto;
  max-width: 30rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  background-color: var(--ui-1);
  border-radius: var(--corner-xl);
  box-shadow: var(--booking-card-shadow);
  text-align: center;
}
main#booking-cancelled-page.mobile,
main#order-completion-error-page.mobile,
main#order-complete-page.mobile {
  padding: 1rem;
}
main#booking-cancelled-page.mobile .order-container,
main#order-completion-error-page.mobile .order-container,
main#order-complete-page.mobile .order-container {
  padding: 2rem 1.5rem;
  line-break: loose;
}
main#booking-cancelled-page .order-container > h1,
main#order-completion-error-page .order-container > h1,
main#order-complete-page .order-container > h1 {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: var(--f-size-20px);
  color: #00a991;
  margin-bottom: 1rem;
}
main#booking-cancelled-page .order-container > h1 {
  color: var(--primary-2);
}
main#order-completion-error-page .order-container > h1 {
  color: var(--error);
}
main#booking-cancelled-page .order-container > h2,
main#order-completion-error-page .order-container > h2,
main#order-complete-page .order-container > h2 {
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--f-size-18px);
  margin-bottom: 0.5rem;
}
main#booking-cancelled-page.mobile .order-container > h2,
main#order-completion-error-page.mobile .order-container > h2,
main#order-complete-page.mobile .order-container > h2 {
  font-size: var(--f-size-16px);
}
main#booking-cancelled-page .order-container > h2 span,
main#order-completion-error-page .order-container > h2 span,
main#order-complete-page .order-container > h2 span {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  line-break: normal;
}
main#order-complete-page .order-container pre {
  padding: 2rem 0;
}
main#order-complete-page .order-container > h2 + p {
  margin-bottom: 1.75rem;
}
main#booking-cancelled-page .order-container > h2 + p,
main#order-completion-error-page .order-container > h2 + p {
  margin-top: 1.25rem;
}
.info-body {
  background-color: #fff;
}
main#info-pages-container {
  width: 100%;
  background-color: var(--ui-1);
}
main#info-pages-container.desktop .padded-view {
  padding: 3.75rem var(--main-page-side-pad) 6.5rem;
  margin: auto;
}
main#info-pages-container.mobile {
  width: 100%;
  padding: 2rem 1rem 3.5rem;
}
#info-pages-bottom-graphic {
  position: relative;
  height: 20.93rem;
  margin: 0 -1rem;
  overflow: hidden;
}
#info-pages-bottom-graphic .graphic-container {
  position: absolute;
  width: 100%;
}
#info-pages-bottom-graphic.mobile .graphic-container {
  position: absolute;
  bottom: -5%;
  width: 100%;
}
#info-pages-bottom-graphic.mobile .graphic-container svg {
  position: absolute;
  bottom: 0;
  height: 20rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #info-pages-bottom-graphic .graphic-container svg {
    bottom: 0;
    width: 100%;
    transform: scale(1.5) translateY(2rem);
  }
}
@media screen and (min-width: 2200px) {
  #info-pages-bottom-graphic {
    height: 25rem;
  }

  #info-pages-bottom-graphic .graphic-container svg {
    bottom: 0;
    width: 100%;
  }
}
main#booking-page section.booking-content-loading {
  column-gap: 1.25rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr;
}
main#booking-page section.booking-content-loading .main-panel {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  width: 100%;
  padding-top: 1.5rem;
}
main#booking-page.mobile section.booking-content-loading {
  display: unset;
}
main#booking-page section.booking-content-loading .main-panel > .main-panel-item {
  height: 14.93rem;
  background-color: var(--ui-1);
  border: var(--booking-border);
  border-radius: var(--corner-xl);
  color: var(--primary-2);
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  padding: 1.875rem;
}
main#booking-page.mobile section.booking-content-loading .main-panel > .main-panel-item {
  border-radius: 0;
}
main#booking-page section.booking-content-loading .side-panel {
  margin-top: 1.5rem;
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 21.56rem;
  min-width: 21.56rem;
  overflow-y: clip;
  position: relative;
  background-color: var(--ui-1);
  border: var(--booking-border);
  border-radius: var(--corner-xl);
  color: var(--primary-2);
  height: 27rem;
  padding: 1.875rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@keyframes loadingGradient {
  0% {
    background-position-x: 20%;
  }
  100% {
    background-position-x: -150%;
  }
}
main#booking-page section.booking-content-loading .main-panel > .main-panel-item > div,
main#booking-page section.booking-content-loading .side-panel > div {
  border-radius: 0.25rem;

  background: var(--ui-1);
  background: linear-gradient(
    250deg,
    rgba(233, 238, 242, 0.25) 0%,
    rgba(235, 238, 240, 0.75) 50%,
    rgba(233, 238, 242, 0.25) 100%
  );
  background-size: 250% 100%;
  animation: loadingGradient 1s linear infinite;
  -webkit-animation: loadingGradient 1s linear infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
section#unknown-error-occured svg {
  height: 100%;
  width: auto;
}
.overlay-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.overlay-link:focus-visible {
  outline: none;
}
.focus-container:has([data-focus-trigger]:focus) {
  outline: 1px solid var(--primary-1);
}
/* HOTEL CSS */
.hotel-header::before {
  filter: hue-rotate(75deg) saturate(0.88);
}
.hotel-header div#search-form-backdrop-shadow {
  filter: hue-rotate(75deg) saturate(0.88) brightness(0.9);
}
header#main-app-top-nav:has(+ main > section.hotel-header) {
  box-shadow: none !important;
  background-color: transparent !important;
}
header#main-app-top-nav:has(+ main > section.hotel-header) {
  & nav:last-child {
    & button:nth-child(3) {
      background-color: #db4cad !important;
      &:hover {
        background-color: #8a2e6d !important;
      }
    }
  }
}
main#search-results-page.desktop.hotels {
  section.results-content {
    .padded-view {
      grid:
        "left-panel sorting right-panel" auto
        "left-panel baggage right-panel" auto
        "left-panel results right-panel" 1fr
        / 15rem 3.33fr 1fr;
      transition:
        max-width 0.3s ease-out,
        padding 0.3s ease-out,
        grid 0.3s ease-in;

      .right-panel {
        max-height: 15rem;
        transition: all 0.3s ease-in;

        position: sticky;
        top: 7.25rem;

        &.expanded {
          max-height: calc(100vh - 12.25rem);
        }
      }
    }
  }

  &.map-expanded section.results-content {
    .padded-view {
      padding: 0 1rem;
      grid:
        "left-panel sorting right-panel" auto
        "left-panel baggage right-panel" auto
        "left-panel results right-panel" 1fr
        / 15rem 2fr 2.33fr;
      transition:
        max-width 0.3s ease-in,
        padding 0.3s ease-in,
        grid 0.3s ease-out;

      .sorting {
        visibility: hidden;
        display: none;
      }
    }
  }
}
#hotel-results-loading-status {
  font-size: 13px;
  width: 100%;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fcfcfe;
  box-shadow: var(--booking-card-shadow);
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  overflow-y: hidden;
}
/* Meal plan label: icon must not merge with the text ("MNomeals" bug). */
.meal-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  white-space: nowrap;
}
:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: #e74c3c;
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);
  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;
  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(
    to right,
    #4cd964,
    #5ac8fa,
    #007aff,
    #34aadc,
    #5856d6,
    #ff2d55
  );
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  padding: 4px;
  width: var(--toastify-toast-width);
  box-sizing: border-box;
  color: #fff;
}
.Toastify__toast-container--top-left {
  top: var(--toastify-toast-top);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
}
.Toastify__toast-container--top-right {
  top: var(--toastify-toast-top);
  right: var(--toastify-toast-right);
}
.Toastify__toast-container--bottom-left {
  bottom: var(--toastify-toast-bottom);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
}
.Toastify__toast-container--bottom-right {
  bottom: var(--toastify-toast-bottom);
  right: var(--toastify-toast-right);
}

@media only screen and (max-width : 480px) {
  .Toastify__toast-container {
    width: 100vw;
    padding: 0;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left, .Toastify__toast-container--top-center, .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left, .Toastify__toast-container--bottom-center, .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: initial;
  }
}
.Toastify__toast {
  --y: 0;
  position: relative;
  -ms-touch-action: none;
      touch-action: none;
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 8px;
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  max-height: var(--toastify-toast-max-height);
  font-family: var(--toastify-font-family);
  cursor: default;
  direction: ltr;
  /* webkit only issue #791 */
  z-index: 0;
  overflow: hidden;
}
.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}
.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body, .Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}
.Toastify__toast--stacked[data-collapsed=false] {
  overflow: visible;
}
.Toastify__toast--stacked[data-collapsed=true]:not(:last-child) > * {
  opacity: 0;
}
.Toastify__toast--stacked:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}
.Toastify__toast--stacked[data-pos=top] {
  top: 0;
}
.Toastify__toast--stacked[data-pos=bot] {
  bottom: 0;
}
.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before {
  transform-origin: top;
}
.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before {
  transform-origin: bottom;
}
.Toastify__toast--stacked:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}
.Toastify__toast--rtl {
  direction: rtl;
}
.Toastify__toast--close-on-click {
  cursor: pointer;
}
.Toastify__toast-body {
  margin: auto 0;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding: 6px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.Toastify__toast-body > div:last-child {
  word-break: break-word;
  -ms-flex: 1;
      flex: 1;
}
.Toastify__toast-icon {
  -webkit-margin-end: 10px;
          margin-inline-end: 10px;
  width: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -ms-flexbox;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

@media only screen and (max-width : 480px) {
  .Toastify__toast {
    margin-bottom: 0;
    border-radius: 0;
  }
}
.Toastify__toast-theme--dark {
  background: var(--toastify-color-dark);
  color: var(--toastify-text-color-dark);
}
.Toastify__toast-theme--light {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}
.Toastify__toast-theme--colored.Toastify__toast--default {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}
.Toastify__toast-theme--colored.Toastify__toast--info {
  color: var(--toastify-text-color-info);
  background: var(--toastify-color-info);
}
.Toastify__toast-theme--colored.Toastify__toast--success {
  color: var(--toastify-text-color-success);
  background: var(--toastify-color-success);
}
.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: var(--toastify-text-color-warning);
  background: var(--toastify-color-warning);
}
.Toastify__toast-theme--colored.Toastify__toast--error {
  color: var(--toastify-text-color-error);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: var(--toastify-color-progress-light);
}
.Toastify__progress-bar-theme--dark {
  background: var(--toastify-color-progress-dark);
}
.Toastify__progress-bar--info {
  background: var(--toastify-color-progress-info);
}
.Toastify__progress-bar--success {
  background: var(--toastify-color-progress-success);
}
.Toastify__progress-bar--warning {
  background: var(--toastify-color-progress-warning);
}
.Toastify__progress-bar--error {
  background: var(--toastify-color-progress-error);
}
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  -ms-flex-item-align: start;
      align-self: flex-start;
  z-index: 1;
}
.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}
.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}
.Toastify__close-button:hover, .Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}
.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--toastify-z-index);
  opacity: 0.7;
  transform-origin: left;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
}
.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}
.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}
.Toastify__progress-bar--rtl {
  right: 0;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: initial;
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}
.Toastify__progress-bar--wrp {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
}
.Toastify__progress-bar--wrp[data-hidden=true] {
  opacity: 0;
}
.Toastify__progress-bar--bg {
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}
@keyframes Toastify__bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}
@keyframes Toastify__bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes Toastify__bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.Toastify__bounce-enter--top-left, .Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}
.Toastify__bounce-enter--top-right, .Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}
.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}
.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left, .Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}
.Toastify__bounce-exit--top-right, .Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}
.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}
.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}
@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}
@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}
@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}
.Toastify__slide-enter--top-left, .Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}
.Toastify__slide-enter--top-right, .Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}
.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}
.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left, .Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
.Toastify__slide-exit--top-right, .Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*# sourceMappingURL=ReactToastify.css.map */:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:max-content}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}._dotPulse_zc8lc_1 {
  display: inline-flex;
  column-gap: 0.375rem;
  width: max-content;
}
._dotPulse_zc8lc_1 > span {
  width: 0.5rem;
  max-width: 0.5rem;
  height: 0.5rem;
  background-color: var(--ui-4);
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: _sk-bouncedelay_zc8lc_1 1.4s infinite ease-in-out both;
  animation: _sk-bouncedelay_zc8lc_1 1.4s infinite ease-in-out both;
}
._dotPulse_zc8lc_1 ._bounce1_zc8lc_31 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
._dotPulse_zc8lc_1 ._bounce2_zc8lc_39 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes _sk-bouncedelay_zc8lc_1 {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
  }
}

@keyframes _sk-bouncedelay_zc8lc_1 {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
._loading_1uofe_1 {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.875rem;
}
._mobile_1uofe_13._loading_1uofe_1 {
  display: flex;
  flex-direction: column;
  padding: 1.875rem 1rem;
  background-color: var(--ui-1);
}
._mobile_1uofe_13._loading_1uofe_1 h2 {
  align-self: flex-start;
}

._desktop_1uofe_33._container_1uofe_33 {
  display: flex;
  flex-direction: column;
  padding: 1.875rem 1.875rem 2.5rem;
}
._desktop_1uofe_33 ._paymentTypes_1uofe_43 {
  display: flex;
  flex-direction: column;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--f-size-16px);
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
  box-shadow: 0rem 0.0625rem 0.125rem 0rem rgba(241, 244, 247, 1);
}
._desktop_1uofe_33 ._paymentType_1uofe_43 {
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  transition: all 0.15s;
  -webkit-transition: all 0.15s;
}
._desktop_1uofe_33 ._paymentType_1uofe_43 + ._paymentType_1uofe_43 {
  border-top: 1px var(--ui-3) solid;
}
._desktop_1uofe_33 ._paymentType_1uofe_43:hover {
  background-color: #f6f7f9;
  transition: all 0.15s;
  -webkit-transition: all 0.15s;
}
._desktop_1uofe_33 ._paymentType_1uofe_43 ._details_1uofe_93 {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
._desktop_1uofe_33 ._paymentType_1uofe_43 ._details_1uofe_93 ._icon_1uofe_103,
._desktop_1uofe_33 ._selectedType_1uofe_105 ._header_1uofe_105 ._icon_1uofe_103 {
  background-color: #fff;
  display: grid;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 1.875rem;
  flex-shrink: 0;
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
}

._desktop_1uofe_33 ._selectedType_1uofe_105 ._header_1uofe_105 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--f-size-16px);
  box-shadow: 0rem 0.0625rem 0.125rem 0rem rgba(241, 244, 247, 1);
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._header_1uofe_105 > *:first-of-type {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._header_1uofe_105 ._changeBtn_1uofe_165 {
  border: none;
  padding: 0;
  background: none;
  color: var(--primary-1);
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--f-size-16px);
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._subtypes_1uofe_183 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem;
  padding: 0 4.25rem;
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197 {
  width: 7.5rem;
  height: 3.75rem;
  background-color: rgba(244, 247, 248, 0.5);
  outline: 1px solid var(--ui-3);
  border-radius: var(--corner-md);
  cursor: pointer;
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._slot_1uofe_213 {
  width: 7.5rem;
  /* visibility: collapse; */
  height: 0;
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197._active_1uofe_223 {
  outline-color: var(--primary-1);
  outline-width: 2px;
}
._desktop_1uofe_33 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197 ._icon_1uofe_103 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
}

._desktop_1uofe_33 ._note_1uofe_249 {
  display: inline-flex;
  align-items: baseline;
  column-gap: 0.5rem;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--f-size-14px);
}

._terms_1uofe_267 {
  display: flex;
}
._terms_1uofe_267 svg {
  flex-shrink: 0;
  margin-right: 0.5rem;
}

._desktop_1uofe_33 ._terms_1uofe_267,
._desktop_1uofe_33 ._dealsOptOut_1uofe_285 {
  padding: 0.875rem 1.25rem;
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
}
._desktop_1uofe_33 ._terms_1uofe_267 {
  margin-bottom: 1rem;
  margin-top: 1.25rem;
}

span._text_1uofe_305 b {
  color: var(--primary-2);
  font-style: normal;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: calc(var(--fmob-size-12px) + 2px);
}

._desktop_1uofe_33 div._terms_1uofe_267 span._text_1uofe_305,
._desktop_1uofe_33 div._dealsOptOut_1uofe_285 span._text_1uofe_305 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--f-size-14px);
  line-height: 1.125rem;
}

._lockIcon_1uofe_337 {
  flex-shrink: 0;
  display: flex;
  width: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--primary-tint-dark);
}

/* MOBILE CSS */
._mobile_1uofe_13._container_1uofe_33 {
  display: flex;
  flex-direction: column;
  padding: 1.875rem 1rem;
  background-color: var(--ui-1);
}
._mobile_1uofe_13 h2 {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--fmob-size-20px);
  padding-bottom: 1.25rem;
}
._mobile_1uofe_13 ._paymentTypes_1uofe_43 {
  display: flex;
  flex-direction: column;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--fmob-size-16px);
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
  box-shadow: 0rem 0rem 0.125rem 0rem rgba(79, 94, 113, 0.12),
    0rem 0.125rem 0.25rem 0rem rgba(79, 94, 113, 0.11),
    0rem 0.25rem 0.5rem 0rem rgba(79, 94, 113, 0.1);
}
._mobile_1uofe_13 ._paymentType_1uofe_43 {
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 1rem;
  transition: all 0.15s;
  -webkit-transition: all 0.15s;
}
._mobile_1uofe_13 ._paymentType_1uofe_43 + ._paymentType_1uofe_43 {
  border-top: 1px var(--ui-3) solid;
}
._mobile_1uofe_13 ._paymentType_1uofe_43:hover {
  background-color: #f6f7f9;
  transition: all 0.15s;
  -webkit-transition: all 0.15s;
}
._mobile_1uofe_13 ._paymentType_1uofe_43 ._details_1uofe_93 {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
}

._mobile_1uofe_13 ._paymentType_1uofe_43 ._details_1uofe_93 ._icon_1uofe_103,
._mobile_1uofe_13 ._selectedType_1uofe_105 ._header_1uofe_105 ._icon_1uofe_103 {
  background-color: #fff;
  display: grid;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 1.875rem;
  flex-shrink: 0;
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
}

._mobile_1uofe_13 ._selectedType_1uofe_105 ._header_1uofe_105 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border: 1px var(--ui-3) solid;
  border-radius: var(--corner-sm);
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--fmob-size-16px);
  box-shadow: 0rem 0rem 0.125rem 0rem rgba(79, 94, 113, 0.12),
    0rem 0.125rem 0.25rem 0rem rgba(79, 94, 113, 0.11),
    0rem 0.25rem 0.5rem 0rem rgba(79, 94, 113, 0.1);
}
._mobile_1uofe_13 ._selectedType_1uofe_105 ._header_1uofe_105 > *:first-of-type {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
._mobile_1uofe_13 ._paymentType_1uofe_43 ._details_1uofe_93 ._icon_1uofe_103 + div,
._mobile_1uofe_13 ._selectedType_1uofe_105 ._header_1uofe_105 ._icon_1uofe_103 + span {
  line-break: anywhere;
}
._mobile_1uofe_13 ._selectedType_1uofe_105 ._header_1uofe_105 ._changeBtn_1uofe_165 {
  border: none;
  padding: 0;
  background: none;
  color: var(--primary-1);
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: var(--fmob-size-16px);
}
._mobile_1uofe_13 ._selectedType_1uofe_105 ._subtypes_1uofe_183 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
._mobile_1uofe_13 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197 {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 4.375rem;
  background-color: rgba(244, 247, 248, 0.5);
  outline: 1px solid var(--ui-3);
  border-radius: var(--corner-md);
  cursor: pointer;
}
._mobile_1uofe_13 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197._active_1uofe_223 {
  outline-color: var(--primary-1);
  outline-width: 2px;
}
._mobile_1uofe_13 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197 ._icon_1uofe_103 {
  width: 70%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
}

._mobile_1uofe_13 ._note_1uofe_249 {
  display: inline-flex;
  align-items: baseline;
  column-gap: 0.5rem;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  font-size: var(--fmob-size-14px);
}
._mobile_1uofe_13 ._terms_1uofe_267 {
  margin-bottom: 1rem;
  margin-top: 1.25rem;
  border-radius: var(--corner-md);
  background-color: var(--ui-2);
  padding: 0.75rem;
  border: 1px solid var(--ui-4);
}

._mobile_1uofe_13 ._terms_1uofe_267 > div,
._mobile_1uofe_13 ._dealsOptOut_1uofe_285 > div {
  column-gap: 0.625rem;
}

._mobile_1uofe_13 div._terms_1uofe_267 span._text_1uofe_305,
._mobile_1uofe_13 div._dealsOptOut_1uofe_285 span._text_1uofe_305 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--fmob-size-14px);
  line-height: 1.125rem;
}

._mobile_1uofe_13 ._selectedType_1uofe_105 ._paymentVendor_1uofe_197 ._icon_1uofe_103 img {
  max-width: 7.5rem;
  max-height: 100%;
  height: auto;
  width: auto;
}

._paymentTypes_1uofe_43._warn_1uofe_673 {
  border-color: #d21c1c;
}

button._docbtn_1uofe_681 {
  background: none;
  border: none;
  padding: 0;
}
._desktop_1uofe_33 button._docbtn_1uofe_681 b,
._mobile_1uofe_13 button._docbtn_1uofe_681 b {
  text-decoration: underline solid var(--primary-2) 1px;
  text-underline-offset: 1px;
}

._transfer_1uofe_703,
._cash_1uofe_705 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: 0.9375rem;
}

._transfer_1uofe_703 h3,
._cash_1uofe_705 h3 {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--f-size-18px);
  margin-bottom: 0.25rem;
}

._transfer_1uofe_703 ul,
._cash_1uofe_705 ul {
  margin-left: 1.75rem;
  list-style: disc;
  line-height: normal;
  padding-bottom: 1rem;
}

._transfer_1uofe_703 li + li,
._cash_1uofe_705 li + li {
  margin-top: 0.25rem;
}

._transfer_1uofe_703 ._smb_1uofe_759,
._cash_1uofe_705 ._smb_1uofe_759 {
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
}

._paymentTypeNote_1uofe_771 {
  font-size: 13px;
  color: var(--text-4);
}
._selectedType_1uofe_105._desktop_1uofe_33 ._name_1uofe_779 > span,
._details_1uofe_93._desktop_1uofe_33 ._name_1uofe_779 > span {
  margin-right: 0.5rem;
}
._selectedType_1uofe_105._mobile_1uofe_13 ._name_1uofe_779,
._details_1uofe_93._mobile_1uofe_13 ._name_1uofe_779 {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
}
/* TOP INFORMATION LINE CSS */
._information_azbpp_3 {
  border: 1px var(--tinted-border-color) solid;
  border-left: 0.335rem solid var(--primary-1) !important;
  border-radius: var(--corner-md);
  display: flex;
  column-gap: 0.625rem;
  background-color: var(--primary-tint-darker);
}
._information_azbpp_3 svg {
  flex-shrink: 0;
}

._desktop_azbpp_27._information_azbpp_3 {
  padding: 1rem 1.43rem;
  align-items: flex-start;
}
._desktop_azbpp_27._information_azbpp_3 span {
  font-size: 0.9375rem;
  line-height: 1.2rem;
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
  color: var(--primary-2);
}
._information_azbpp_3 span b {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
}
/* TOP INFORMATION LINE CSS -- END */

/* TOP INFORMATION LINE CSS */
._mobile_azbpp_63._information_azbpp_3 {
  padding: 0.75rem 1rem;
  align-items: flex-start;
  /* margin-bottom: 1.25rem; */
}
._mobile_azbpp_63._information_azbpp_3 span {
  font-size: 0.9375rem;
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  color: var(--primary-2);
  line-height: 1.125rem;
}
/* TOP INFORMATION LINE CSS -- END */

._warning_azbpp_91 {
  border-color: #f5ebc1;
  border-left: 0.335rem solid var(--warning) !important;
  border-radius: var(--corner-md);
  display: flex;
  column-gap: 0.625rem;
  background-color: #fff7d1;
}

._notice_azbpp_109 {
  border-color: var(--ui-4);
  border-left: 0.335rem solid var(--ui-4) !important;
  border-radius: var(--corner-md);
  display: flex;
  column-gap: 0.625rem;
  background-color: var(--ui-2);
}
._container_1mii6_1 {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  grid-column-start: span 2;
}

._checkbox_1mii6_21 {
  align-items: center;
  column-gap: 0.5rem;
  cursor: pointer;
  color: var(--primary-2);
  font-family: var(--font-regular);
  font-size: calc(var(--fmob-size-12px) + 2px);
  font-weight: var(--regular-w);
}
._checkbox_1mii6_21._noTextClick_1mii6_39 {
  cursor: default;
}

._desktop_1mii6_47._checkbox_1mii6_21 {
}

._checkbox_1mii6_21 b {
  color: var(--primary-2);
  font-style: normal;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: calc(var(--fmob-size-12px) + 2px);
}

._checkbox_1mii6_21 input[type="checkbox"] {
  flex-shrink: 0;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  background-color: var(--ui-1);
  border-radius: var(--checkbox-corner);
  border: 1px solid var(--ui-4);
  outline: none;
}

._checkbox_1mii6_21 input[type="checkbox"]:checked {
  background-color: var(--primary-1);
  border-color: var(--primary-1);
}

._desktop_1mii6_47._checkbox_1mii6_21 input[type="checkbox"] {
  background-color: var(--primary-1);
  border-color: var(--ui-1);
}
._desktop_1mii6_47._checkbox_1mii6_21 input[type="checkbox"]:checked {
  background-color: var(--ui-1);
}

._checkbox_1mii6_21 ._checked_1mii6_123 {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

._desktop_1mii6_47._checkbox_1mii6_21 ._checked_1mii6_123 svg {
  position: absolute;
  margin-bottom: 2px;
}

._checkbox_1mii6_21 ._checked_1mii6_123 svg {
  position: absolute;
  margin-bottom: 2px;
  scale: 1.25;
}
._container_wosyf_1 {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

._radio_wosyf_19 {
  align-items: center;
  column-gap: 0.75rem;
  color: var(--primary-2);
  cursor: pointer;
}

._desktop_wosyf_33._radio_wosyf_19 {
  column-gap: 0.625rem;
}

._radio_wosyf_19 input[type="radio"] {
  flex-shrink: 0;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  height: 20px;
  width: 20px;
  cursor: pointer;
  border: 0.0625rem var(--ui-4) solid;
  border-radius: 50%;
  outline: none;
  background-color: var(--ui-1);
}

._radio_wosyf_19 input[type="radio"]:checked {
  background-color: var(--primary-1);
  border: none;
  position: relative;
}

._radio_wosyf_19 input[type="radio"]:checked:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: var(--ui-1);
  border-radius: 50%;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}.button {
  padding: 0.8125rem 1rem; /*13px & 16px*/
  border: none;
  border-radius: var(--corner-md);
  cursor: pointer;
  text-align: center;
  word-break: keep-all;
  font-family: var(--font-bold);
  font-size: var(--fmob-size-16px);
  font-weight: var(--bold-w);
  color: #ffffff;
  user-select: none;
  -webkit-user-select: none;
  transition: all 0.15s;
  min-width: fit-content;
}

.button.primary {
  background-color: var(--primary-1);
}

.button.secondary {
  color: var(--primary-2);
  background-color: var(--ui-3);
}

.button.ternary {
  background-color: var(--primary-3);
}

.button.wide {
  width: 100%;
}

.button.disabled {
  background-color: var(--ui-3);
  color: var(--ui-4);
  cursor: default;
}

.button.shadow {
  box-shadow: 0px 4px 8px 0px rgba(37, 42, 49, 0.16);
}

.button.hover:hover.primary {
  background-color: var(--primary-btn-hover-color);
  transition: all 0.15s;
}

.button.hover:hover.secondary {
  background-color: var(--secondary-btn-hover-color);
  transition: all 0.15s;
}

.button.hover:hover.disabled {
  background-color: var(--ui-3);
  color: var(--ui-4);
  transition: all 0.15s;
}

.roundCornerSm {
  border-radius: var(--corner-sm);
}

.roundCornerMd {
  border-radius: var(--corner-md);
}

.roundCornerLg {
  border-radius: var(--corner-lg);
}
._desktop_nrzzk_1._deals_nrzzk_1 {
  margin: 6rem auto;
}
._mobile_nrzzk_7._deals_nrzzk_1 {
  margin-bottom: 1rem !important;
}
._imgError_nrzzk_13 {
  height: 100%;
  background-color: var(--ui-3);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.6;
}
._imgError_nrzzk_13 + div p,
._imgError_nrzzk_13 + div h2 {
  color: var(--ui-5);
}
._imgError_nrzzk_13 ._frame_nrzzk_37 {
  width: 50%;
  opacity: 0.5;
}

._deals_nrzzk_1 h2 {
  font-family: var(--font-bold);
  font-size: 1.375rem;
  font-weight: var(--bold-w);
  margin: 0 auto 1.25rem;
  text-align: center;
}

._deals_nrzzk_1 p._desc_nrzzk_63 {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-16px);
  font-weight: var(--regular-w);
  margin-bottom: 1.5625rem;
  text-align: center;
  width: 95%;
  line-height: 1.125rem;
}

._desktop_nrzzk_1 ._filterGroup_nrzzk_83 {
  justify-content: center;
}
._filterGroup_nrzzk_83 {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-14px);
  font-weight: var(--semibold-w);
  align-self: stretch;
  display: flex;
  flex-direction: row;
  overflow-y: scroll;
  padding: 0.5rem 0 1.25rem 1rem;
  column-gap: 0.5rem;
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  scrollbar-width: none; /* Firefox */
  margin: 0 -1rem;
}

._filterGroup_nrzzk_83::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
}
._filterGroup_nrzzk_83 > button:last-of-type {
  margin-right: 1rem;
}

._filterGroup_nrzzk_83 button {
  text-wrap: nowrap;
  white-space: nowrap;
  height: 2.75rem;
}

._filterButtonFont_nrzzk_145 {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-16px);
  font-weight: var(--semibold-w);
}
._desktop_nrzzk_1 ._filterButtonFont_nrzzk_145 {
  background-color: var(--ui-1);
  border: 1px solid var(--ui-3);
  height: fit-content;
}
._desktop_nrzzk_1 ._filterButtonFont_nrzzk_145._active_nrzzk_165 {
  background-color: var(--primary-3);
  border: 1px solid var(--primary-3);
}
._mobile_nrzzk_7 ._dealsList_nrzzk_173 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
._desktop_nrzzk_1 ._dealsList_nrzzk_173 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.75rem;
}

._dealsList_nrzzk_173 li {
  aspect-ratio: 1;
  transition: scale 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
._dealsList_nrzzk_173 li:has([data-focus-trigger]:focus) {
  scale: 1.03;
}
._dealsList_nrzzk_173 li ._item_nrzzk_215 {
  position: relative;
  display: block;
  height: 100%;
}

._dealsList_nrzzk_173 img {
  border-radius: var(--corner-md);
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85);
}

._destination_nrzzk_243 h3,
._destination_nrzzk_243 p {
  position: absolute;
  left: 10%;
  bottom: 12%;
  color: var(--ui-1);
}

._destination_nrzzk_243 h3 {
  padding-bottom: 8%;
  font-family: var(--font-bold);
  font-size: var(--fmob-size-20px);
  font-weight: var(--bold-w);
}

._destination_nrzzk_243 p {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-16px);
  font-weight: var(--semibold-w);
}
._hero_89log_1 {
  position: relative;
  overflow: hidden;
  min-height: 12.5rem;
  margin: 0 -1rem;
  padding: 1rem 1.25rem 1.75rem;
  background: linear-gradient(
    160deg,
    var(--primary-1),
    color-mix(in oklch, var(--primary-1) 55%, #1c2560)
  );
  color: #fff;
  text-align: left;
}

/* The image itself is a complete, pre-designed banner (heading/tagline baked in) — just show
   it full-bleed at its own exact aspect ratio (2094x751), so background-size:cover never has to
   crop anything: the box height simply follows the full-bleed width. */
._heroWithImage_89log_37 {
  background: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 2094 / 751;
  min-height: 0;
  height: auto;
  padding: 0 !important;
}

@media (min-width: 992px) {
  ._heroWithImage_89log_37 {
    aspect-ratio: auto;
    /* .hero's own desktop min-height (below) comes later in this file and was winning the
       cascade at equal specificity, silently capping this at 22rem regardless of height. */
    min-height: 19rem !important;
    height: 19rem;
    background-position: center 35%;
  }
}

._doodle_89log_81 {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  display: flex;
  align-items: center;
  column-gap: 0.35rem;
  color: rgba(255, 255, 255, 0.55);
  transform: rotate(-6deg);
}

._doodle_89log_81 svg {
  transform: rotate(45deg);
}

._doodle_89log_81 span {
  font-family: var(--font-semibold);
  font-style: italic;
  font-size: 0.75rem;
  white-space: nowrap;
}

._title_89log_125 {
  position: relative;
  max-width: 80%;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: var(--fmob-size-20px, 1.25rem);
  line-height: 1.2;
  margin: 0.75rem 0 0.35rem;
}

._subtitle_89log_145 {
  position: relative;
  max-width: 85%;
  font-size: 0.75rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}

._benefits_89log_163 {
  position: relative;
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  column-gap: 0.5rem;
}

._benefit_89log_163 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
  text-align: center;
  font-size: 0.625rem;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.9);
}

._benefit_89log_163 svg {
  flex-shrink: 0;
}

/* Desktop: bigger canvas, marketing copy stays left-aligned, benefits become an inline row
   instead of 3 stacked-equal columns, doodle sits further from the edge. */
@media (min-width: 992px) {
  ._hero_89log_1 {
    min-height: 22rem;
    margin: 0;
    padding: 3rem var(--main-page-side-pad) 3.5rem;
  }

  ._doodle_89log_81 {
    top: 2rem;
    right: 3rem;
  }

  ._doodle_89log_81 svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  ._doodle_89log_81 span {
    font-size: 1.0625rem;
  }

  ._title_89log_125 {
    max-width: 42rem;
    font-size: var(--f-size-40px, 2.5rem);
    margin: 1.5rem 0 0.75rem;
  }

  ._subtitle_89log_145 {
    max-width: 38rem;
    font-size: 1.0625rem;
  }

  ._benefits_89log_163 {
    justify-content: flex-start;
    column-gap: 2.5rem;
    margin-top: 1.75rem;
  }

  ._benefit_89log_163 {
    flex: 0 0 auto;
    flex-direction: row;
    column-gap: 0.5rem;
    text-align: left;
    font-size: 0.875rem;
  }

  ._benefit_89log_163 svg {
    width: 1.375rem;
    height: 1.375rem;
  }
}
/* The preceding section#search-form-section already carries a 3.75rem margin-bottom (shared
   generic rule for all home-content sections, left untouched here), so this strip only needs
   its own bottom padding; a 0 top keeps the gap after the search card close to the ~40-56px
   target instead of stacking another 2rem on top of that margin. */
._strip_1us8u_9 {
  padding: 0 0 2rem;
}

._grid_1us8u_17 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.75rem; /* 28px */
}

._item_1us8u_29 {
  display: flex;
  align-items: flex-start;
  column-gap: 0.85rem;
}

._iconWrap_1us8u_41 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background-color: color-mix(in oklch, var(--primary-1) 10%, white);
  color: var(--primary-1);
}

._itemTitle_1us8u_65 {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--f-size-16px);
  color: var(--primary-2);
  margin: 0 0 0.2rem;
}

._itemDesc_1us8u_81 {
  font-size: var(--f-size-13px);
  color: var(--text-3);
  line-height: 1.35;
  margin: 0;
}
._section_1tqtc_1 {
  position: relative;
  padding: 1.75rem; /* 28px */
  /* Soft color identity per section (--section-color, set inline) that fades to transparent at
     the top/bottom edges instead of a hard-edged color block, so it blends into whatever the
     page background is behind it. A section can override this whole `background` (and other
     properties) via the `sectionStyle` prop — inline style wins over this class rule. */
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    var(--section-color) 10%,
    var(--section-color) 90%,
    rgba(255, 255, 255, 0) 100%
  );
  /* Overrides the generic `main .home-content > section { margin-bottom: 3.75rem }` rule so the
     three unified product sections share one consistent 36px gap instead of the page default. */
  margin-bottom: 2.25rem !important;
}

._container_1tqtc_20 {
  /* Explicit z-index (not just relying on position:relative + DOM order) keeps header/cards/
     content painting above any decorative background a section passes in via `decor`. */
  position: relative;
  z-index: 1;
  width: calc(100% - 6rem); /* 96px */
  max-width: 90rem; /* 1440px */
  margin: 0 auto;
}

._header_1tqtc_30 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 1rem;
  margin-bottom: 1.125rem;
}

._headerLeft_1tqtc_38 {
  display: flex;
  align-items: center;
  column-gap: 1rem;
  min-width: 0;
}

._iconCircle_1tqtc_45 {
  flex-shrink: 0;
  width: 4.5rem; /* 72px */
  height: 4.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

._titleBlock_1tqtc_56 {
  min-width: 0;
}

._title_1tqtc_56 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 2rem; /* 32px */
  color: #071b3a;
  line-height: 1.15;
}

._subtitle_1tqtc_69 {
  margin: 0.3rem 0 0;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.4;
  color: #262b33;
  max-width: 43.75rem;
}

._headerRight_1tqtc_77 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
}

._viewAllButton_1tqtc_84 {
  display: inline-flex;
  align-items: center;
  column-gap: 0.35rem;
  background: #fff;
  border: 1px solid #8fc3ff;
  color: #0878f9;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: 0.875rem;
  padding: 0.55rem 1rem;
  border-radius: 0.625rem;
  cursor: pointer;
  white-space: nowrap;
}

._viewAllButton_1tqtc_84:hover {
  background: #eef6ff;
}

._arrows_1tqtc_104 {
  display: flex;
  column-gap: 0.5rem;
}

._arrowButton_1tqtc_109 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem; /* 44px */
  height: 2.75rem;
  border-radius: 50%;
  border: 1px solid #dce9f7;
  background-color: rgba(255, 255, 255, 0.75);
  color: #0878f9;
  cursor: pointer;
  transition: background-color 0.15s;
}

._arrowButton_1tqtc_109:hover {
  background-color: #eef6ff;
}

._arrowButton_1tqtc_109:disabled {
  opacity: 0.4;
  cursor: default;
}

._arrowButtonNext_1tqtc_132 {
  background-color: #0878f9;
  border-color: #0878f9;
  color: #fff;
}

._arrowButtonNext_1tqtc_132:hover {
  background-color: #0067d6;
}

._dots_1tqtc_142 {
  display: flex;
  justify-content: center;
  column-gap: 0.4rem;
  margin-top: 1.25rem;
}

._dot_1tqtc_142 {
  width: 0.4375rem; /* 7px */
  height: 0.4375rem;
  border-radius: 50%;
  border: none;
  background-color: #d3e3fa;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.15s, width 0.15s;
}

._dotActive_1tqtc_160 {
  width: 1.5rem; /* 24px */
  border-radius: 999px;
  background-color: #0878f9;
}
._imageFallback_19liu_1 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--ui-2, #eef1f5);
}

._busBadge_19liu_10 {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  column-gap: 0.3rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.92);
  color: #0878f9;
  font-size: 0.875rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  backdrop-filter: blur(2px);
}

/* Solid tone color + white text (not a translucent tint) — same fix as CharterDealCard's badge:
   a low-alpha tinted background had barely any contrast against a real photo. Bottom-right (not
   top-right) so it doesn't collide with the favorite button, which now owns that corner — same
   convention as TourCard.module.css's .statusBadge. */
._categoryBadge_19liu_31 {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  color: #fff;
  box-shadow: 0 0.125rem 0.375rem rgba(10, 40, 80, 0.25);
}

._badgeRose_19liu_46 {
  background-color: #e23464;
}

._badgeSky_19liu_50 {
  background-color: #0878f9;
}

._badgeMint_19liu_54 {
  background-color: #1f9d63;
}

._badgeAmber_19liu_58 {
  background-color: #d9822e;
}

._badgeViolet_19liu_62 {
  background-color: #7c5cd6;
}

/* Hosts the favorite button as a sibling of the card's own <Link> — a <button> can't nest
   inside an <a>/<Link>, same pattern as TourCard.jsx. */
._favoriteWrap_19liu_68 {
  position: relative;
  height: 100%;
}

._favoriteButton_19liu_73 {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3, #6b7a90);
  cursor: pointer;
}

._metaItem_19liu_90 {
  display: inline-flex;
  align-items: center;
  column-gap: 0.35rem;
}

._metaItem_19liu_90 svg {
  flex-shrink: 0;
  color: #0878f9;
}

/* ---- Featured card ---- */

._featuredCard_19liu_103 {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid #e7edf5;
  border-radius: 0.875rem;
  box-shadow: 0 0.3125rem 1.125rem rgba(15, 42, 80, 0.06);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

._featuredImageWrap_19liu_116 {
  position: relative;
  width: 100%;
  height: 21.25rem; /* 340px */
  flex-shrink: 0;
  background-color: var(--ui-2, #eef1f5);
}

._featuredImage_19liu_116 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

._featuredBody_19liu_131 {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.25rem 1.375rem 1.375rem;
  row-gap: 0.4rem;
}

._featuredTitle_19liu_139 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.5rem;
  color: #071b3a;
  line-height: 1.2;
}

._featuredSubtitle_19liu_148 {
  margin: 0;
  font-size: 0.9375rem;
  color: #262b33;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

._featuredMetaRow_19liu_158 {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
  row-gap: 0.375rem;
  margin-top: 0.375rem;
  font-size: 0.875rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: #262b33;
}

._divider_19liu_170 {
  border: none;
  border-top: 1px solid #eaeef4;
  margin: 0.75rem 0 0;
}

._featuredFooter_19liu_176 {
  margin-top: auto;
  padding-top: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 1rem;
}

._priceLabel_19liu_185 {
  display: block;
  font-size: 0.875rem;
  color: #262b33;
  margin-bottom: 0.125rem;
}

._priceLine_19liu_192 {
  display: flex;
  align-items: baseline;
  column-gap: 0.375rem;
}

._priceAmount_19liu_198 {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.75rem;
  color: #0878f9;
}

._ctaButton_19liu_205 {
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
  flex-shrink: 0;
  background-color: #0878f9;
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.75rem 1.125rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: 0.9375rem;
  white-space: nowrap;
  transition: background-color 0.15s;
}

._featuredCard_19liu_103:hover ._ctaButton_19liu_205 {
  background-color: #0067d6;
}

/* ---- Grid card ---- */

._gridCard_19liu_227 {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid #e7edf5;
  border-radius: 0.75rem;
  box-shadow: 0 0.3125rem 1.125rem rgba(15, 42, 80, 0.06);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

._gridImageWrap_19liu_240 {
  position: relative;
  width: 100%;
  height: 8.4375rem; /* 135px */
  flex-shrink: 0;
  background-color: var(--ui-2, #eef1f5);
}

._gridImage_19liu_240 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

._gridBody_19liu_255 {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0.75rem 0.875rem 0.875rem;
  row-gap: 0.3rem;
  min-width: 0;
}

._gridTitle_19liu_264 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 0.9375rem;
  color: #071b3a;
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

._gridMetaRow_19liu_277 {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.7rem;
  row-gap: 0.2rem;
  font-size: 0.875rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: #262b33;
}

._gridFooter_19liu_288 {
  margin-top: auto;
  padding-top: 0.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  column-gap: 0.5rem;
}

._priceLabelSm_19liu_297 {
  display: block;
  font-size: 0.6875rem;
  color: #262b33;
}

._priceAmountSm_19liu_303 {
  display: block;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.0625rem;
  color: #0878f9;
}

._ctaButtonSm_19liu_311 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: #0878f9;
  color: #fff;
  transition: background-color 0.15s;
}

._gridCard_19liu_227:hover ._ctaButtonSm_19liu_311 {
  background-color: #0067d6;
}
/* Scoped to Autobusu ceļojumi only (not the shared ProductSection .section rule). */
._section_1db2i_1 {
  isolation: isolate;
}

/* The single decorative layer: carries the light-blue base itself plus the wave SVGs (one
   coherent layer, one fade system) — sits behind the content (z-index:0, .container in
   ProductSection.module.css is z-index:1), crops only itself (overflow:hidden), never
   intercepts clicks, and fades to the neighboring sections' colors over a fixed 70px at
   top/bottom (within the requested 60-80px). */
._decorLayer_1db2i_11 {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: linear-gradient(135deg, #edf6ff 0%, #e2efff 55%, #eaf3ff 100%);
  -webkit-mask-image: linear-gradient(
    180deg,
    transparent 0,
    #000 4.375rem,
    #000 calc(100% - 4.375rem),
    transparent 100%
  );
  mask-image: linear-gradient(
    180deg,
    transparent 0,
    #000 4.375rem,
    #000 calc(100% - 4.375rem),
    transparent 100%
  );
}

/* Runs behind the large featured card on the left, mostly visible in the section's own left
   margin/padding around it. */
._leftWaves_1db2i_36 {
  position: absolute;
  left: -2rem;
  top: 0;
  width: 20rem;
  height: 100%;
}

/* Bottom-right, diagonal, pointing up and to the right. */
._rightWaves_1db2i_45 {
  position: absolute;
  right: -2rem;
  bottom: 0;
  width: 16rem;
  height: 16rem;
}

@media (max-width: 1099px) {
  ._leftWaves_1db2i_36 {
    width: 11rem;
  }

  ._rightWaves_1db2i_45 {
    width: 10rem;
    height: 10rem;
  }
}

._layout_1db2i_64 {
  display: grid;
  grid-template-columns: minmax(21.25rem, 1.05fr) 1fr;
  gap: 1.25rem;
  align-items: stretch;
}

._featuredWrap_1db2i_71 {
  min-width: 0;
}

._grid_1db2i_75 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 1rem;
  min-height: 21.25rem; /* matches featured card image+body height */
}

@media (max-width: 1099px) {
  ._layout_1db2i_64 {
    grid-template-columns: 1fr;
  }

  ._grid_1db2i_75 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: none;
    min-height: 0;
  }
}
/* Crops the two corner palm silhouettes at the section's own edges instead of letting them
   bleed into neighboring sections — scoped here (not on the shared ProductSection .section
   rule) so it doesn't affect Avio/Autobusu, which don't have any decor to crop. */
._section_1lblv_2 {
  overflow: hidden;
}

/* The palms are decorative background elements, not icons: large and partially cropped by the
   section edges, exactly like a background illustration — visible enough to read as a tropical
   atmosphere, but still never enough to compete with the cards/text; center stays clean. */
._palmTopLeft_1lblv_11,
._palmBottomRight_1lblv_12 {
  position: absolute;
  width: 24rem; /* 384px */
  height: 24rem;
  opacity: 0.1;
  pointer-events: none;
  z-index: 0;
}

._palmTopLeft_1lblv_11 {
  top: -2.5rem;
  left: -3.5rem;
}

._palmBottomRight_1lblv_12 {
  bottom: -2.5rem;
  right: -3.5rem;
  transform: rotate(180deg);
  /* Softens the palm toward the section's bottom edge, where it meets the new cream→lavender
     transition zone into Avio ceļojumi — avoids a visible silhouette right at the seam. The
     mask is defined in the element's own local (pre-rotation) space, so it's inverted here:
     local-bottom (opaque) lands at the visual top after the 180deg flip, local-top
     (transparent) lands at the visual bottom, which is the edge we actually want faded. */
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 45%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 45%, #000 100%);
}

/* Positioning context for the side arrows, which float just outside the card row itself instead
   of sitting in the section header. */
._carouselWrap_1lblv_41 {
  position: relative;
}

._sideArrow_1lblv_45 {
  position: absolute;
  left: -1.375rem; /* -22px */
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.875rem; /* 46px */
  height: 2.875rem;
  border-radius: 50%;
  border: none;
  background: #fff;
  color: #0878f9;
  box-shadow: 0 0.3125rem 1.125rem rgba(20, 50, 90, 0.15);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}

._sideArrow_1lblv_45:hover {
  background: #0878f9;
  color: #fff;
}

._sideArrowNext_1lblv_70 {
  left: auto;
  right: -1.375rem; /* -22px */
}

._track_1lblv_75 {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  column-gap: 1.125rem; /* 18px */
  padding-bottom: 0.25rem;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-y;
}

._track_1lblv_75:active {
  cursor: grabbing;
}

._track_1lblv_75::-webkit-scrollbar {
  display: none;
}

/* Always exactly 4 cards visible on desktop — the rest of charterDeals scrolls in via the side
   arrows / drag / swipe, tracked as carousel "pages" (see dotCount in CharterDealsCarousel.jsx). */
._cardWrap_1lblv_96 {
  flex: 0 0 calc((100% - 3 * 1.125rem) / 4);
  min-width: 0;
  scroll-snap-align: start;
}

@media (max-width: 1099px) {
  ._cardWrap_1lblv_96 {
    flex-basis: calc((100% - 2 * 1.125rem) / 3);
  }
}
._card_1bvvx_1 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid rgba(10, 40, 80, 0.08);
  border-radius: 0.875rem; /* 14px */
  box-shadow: 0 0.375rem 1.125rem rgba(20, 50, 90, 0.06);
  overflow: hidden;
}

._favoriteButton_1bvvx_13 {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3, #6b7a90);
  cursor: pointer;
}

._cardLink_1bvvx_30 {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  color: inherit;
  text-decoration: none;
}

._imageWrap_1bvvx_39 {
  position: relative;
  width: 100%;
  height: 11.5625rem; /* 185px */
  flex-shrink: 0;
  background-color: var(--ui-2, #eef1f5);
}

._image_1bvvx_39 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

._imageFallback_1bvvx_54 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Solid tone color + white text (not a translucent tint) — reads as a proper deal-badge/tag
   against any photo instead of a washed-out pill that needs a plain background to be legible. */
._badge_1bvvx_64 {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  column-gap: 0.3rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  color: #fff;
  box-shadow: 0 0.125rem 0.375rem rgba(10, 40, 80, 0.25);
}

._badgeRose_1bvvx_80 {
  background-color: #e23464;
}

._badgeSky_1bvvx_84 {
  background-color: #0878f9;
}

._badgeMint_1bvvx_88 {
  background-color: #1f9d63;
}

._badgeAmber_1bvvx_92 {
  background-color: #d9822e;
}

._badgeViolet_1bvvx_96 {
  background-color: #7c5cd6;
}

._body_1bvvx_100 {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0.8125rem 1rem; /* 13px 16px */
  row-gap: 0.4375rem; /* 7px */
}

._name_1bvvx_108 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.25rem;
  color: #071b3a;
}

._metaRow_1bvvx_116 {
  display: flex;
  align-items: center;
  column-gap: 0.4rem;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.4;
  color: #262b33;
}

._metaRow_1bvvx_116 svg {
  flex-shrink: 0;
  color: #0878f9;
}

._divider_1bvvx_130 {
  border: none;
  border-top: 1px solid #eaeef4;
  margin: 0.375rem 0 0.5rem;
}

._priceRow_1bvvx_136 {
  margin-top: auto;
}

._priceLabel_1bvvx_140 {
  display: block;
  font-size: 0.875rem;
  color: #262b33;
  margin-bottom: 0.125rem;
}

._priceLine_1bvvx_147 {
  display: flex;
  align-items: baseline;
  column-gap: 0.375rem;
}

._priceAmount_1bvvx_153 {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.75rem;
  color: #0878f9;
}

._pricePerPerson_1bvvx_160 {
  font-size: 0.8125rem;
  color: #262b33;
}

._priceNone_1bvvx_165 {
  font-size: 0.875rem;
  font-style: italic;
  color: #262b33;
}

._ctaWrap_1bvvx_171 {
  padding: 0 1rem 0.875rem;
}

._ctaButton_1bvvx_175 {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.5rem;
  width: 100%;
  min-height: 2.75rem; /* 44px */
  background-color: #0878f9;
  color: #fff;
  border: none;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: 0.9375rem;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.15s;
}

._ctaButton_1bvvx_175:hover {
  background-color: #0067d6;
}

._ctaButtonDisabled_1bvvx_199 {
  background-color: #b7c6dc;
  cursor: default;
  pointer-events: none;
}
._card_45oht_1 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid #e8eaf3;
  border-radius: 0.875rem; /* 14px */
  box-shadow: 0 0.375rem 1.125rem rgba(20, 50, 90, 0.06);
  overflow: hidden;
}

/* Root cause of the CTA button being unclickable: .overlay-link::before (from index.css) is
   `position: absolute; inset: 0;` — with NO position set here, it anchored to the nearest
   positioned ANCESTOR, which was .card (the whole card, image+body+CTA included), so the
   invisible overlay ballooned out over the CTA button that sits outside .cardLink entirely.
   Giving .cardLink its own `position: relative` makes its ::before size itself to .cardLink's
   own box (image+body) instead, so it no longer reaches the button at all — no z-index/clipping
   tricks needed. */
._cardLink_45oht_16 {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  color: inherit;
  text-decoration: none;
}

._imageWrap_45oht_30 {
  position: relative;
  width: 100%;
  height: 11.875rem; /* 190px */
  flex-shrink: 0;
  background-color: var(--ui-2, #eef1f5);
}

._image_45oht_30 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

._imgFallback_45oht_45 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

._typeBadge_45oht_53 {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  column-gap: 0.3rem;
  padding: 0.45rem 0.65rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.92);
  color: #0878f9;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 0.8125rem;
  backdrop-filter: blur(2px);
}

._discountBadge_45oht_70 {
  position: absolute;
  top: 2.9rem;
  left: 0.75rem;
  background-color: #ff2965;
  color: #fff;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: 0.8125rem;
  padding: 0.35rem 0.6rem;
  border-radius: 0.375rem;
}

._favoriteButton_45oht_83 {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3, #6b7a90);
  cursor: pointer;
}

._body_45oht_100 {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0.8125rem 1rem; /* 13px 16px */
  row-gap: 0.375rem;
}

/* Destination is the primary title — the strongest text on the card, opposite hierarchy from a
   plain hotel-listing card where the hotel name would be biggest. */
._destination_45oht_110 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.25rem; /* 20px */
  color: #071b3a;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

._packageLabel_45oht_122 {
  margin: 0;
  display: flex;
  align-items: center;
  column-gap: 0.3rem;
  font-size: 0.8125rem; /* 13px */
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: #0878f9;

  & svg {
    flex-shrink: 0;
  }
}

._metaRow_45oht_137 {
  display: flex;
  align-items: center;
  column-gap: 0.4rem;
  font-size: 0.9375rem; /* 15px */
  color: #262b33;

  & svg {
    flex-shrink: 0;
    color: #0878f9;
  }
}

/* Hotel name is secondary information — small, muted, paired with the rating on one line. */
._hotelRow_45oht_151 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 0.5rem;
  font-size: 0.75rem;
  color: #262b33;
}

._hotelName_45oht_160 {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* 5-star row, filled up to Math.round(rating) — same "rating as star count" convention
   CompactHotelCard already uses on the Viesnīcas page, instead of a single star + raw number. */
._rating_45oht_170 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  column-gap: 0.0625rem;
}

._ratingNumber_45oht_177 {
  margin-left: 0.2rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: var(--text-2, #3a4658);
}

._ratingNone_45oht_184 {
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-style: italic;
}

._divider_45oht_190 {
  border: none;
  border-top: 1px solid #eaeef4;
  margin: 0.125rem 0 0.375rem;
}

._priceRow_45oht_196 {
  margin-top: auto;
}

._priceLabel_45oht_200 {
  display: block;
  font-size: 0.75rem;
  color: #262b33;
  margin-bottom: 0.125rem;
}

._priceLine_45oht_207 {
  display: flex;
  align-items: baseline;
  column-gap: 0.375rem;
}

._priceAmount_45oht_213 {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.75rem; /* 28px */
  color: #0878f9;
}

._pricePerPerson_45oht_220 {
  font-size: 0.8125rem;
  color: #262b33;
}

._priceNone_45oht_225 {
  font-size: 0.875rem;
  font-style: italic;
  color: #262b33;
}

._ctaWrap_45oht_231 {
  /* Needs its own stacking position: the full-card .overlay-link::before (position: absolute,
     z-index: 1) is a *positioned* element, and positioned elements always paint above
     non-positioned ones regardless of DOM order — a plain static button here was invisibly
     sitting *under* that transparent click-catching overlay no matter how late it came in the
     JSX. The favorite button already works because it's position: absolute itself; this just
     gives the CTA the same treatment, one layer higher so it isn't tied with the overlay. */
  position: relative;
  z-index: 2;
  padding: 0 1rem 0.875rem;

  & .button {
    min-height: 2.875rem; /* 46px */
    border-radius: 0.5rem;
    font-size: 0.9375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.35rem;
    background-color: #0878f9;
  }

  & .button:hover {
    background-color: #0067d6;
  }
}
/* Scoped to Avio ceļojumi only (not the shared ProductSection .section rule) — isolation:isolate
   gives the decor layer's z-index:0 and the content's z-index:1 their own stacking context
   without affecting anything outside this section. No overflow:hidden here: that's handled by
   .decorLayer itself now, so it can never clip card shadows or the carousel's side arrows. */
._section_1q95j_1 {
  isolation: isolate;
}

/* marginTop is set inline (see SECTION_STYLE in the .jsx) — only a media-query'd !important can
   override it. Combined with Atpūtas ceļojumi's fixed 36px margin-bottom, this keeps the gap
   between the two sections at the requested 48-64px on narrow widths (vs. 80-96px on desktop). */
@media (max-width: 768px) {
  ._section_1q95j_1 {
    margin-top: 1rem !important; /* 16px */
  }
}

/* The single decorative layer: fills the section exactly (inset:0), sits behind the content
   (z-index:0 — .container in ProductSection.module.css is z-index:1), and never intercepts
   clicks. Carries the lavender base itself (one coherent color+fade system, not a separate
   section-level gradient plus a decor layer on top). opacity:1 here explicitly — the only other
   opacity values in this section live on .cityLeft/.cityRight/.flightPath/.cloudA/.cloudB
   themselves (never also on their inner SVG or paths), so nothing compounds. The mask-image
   fades the whole thing to transparent over a fixed 60px at top/bottom (within the requested
   50-70px), revealing the plain white page behind it. */
._decorLayer_1q95j_4 {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 1;
  pointer-events: none;
  overflow: hidden;
  background: #f5f0fc;
  -webkit-mask-image: linear-gradient(
    180deg,
    transparent 0,
    #000 3.75rem,
    #000 calc(100% - 3.75rem),
    transparent 100%
  );
  mask-image: linear-gradient(
    180deg,
    transparent 0,
    #000 3.75rem,
    #000 calc(100% - 3.75rem),
    transparent 100%
  );
}

._bands_1q95j_50 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Anchored flush to the left edge (left:0, not bled outward) and narrow enough (150px) that the
   tower itself sits inside the section's own visible left margin (~95-100px) rather than mostly
   behind the first card. */
._cityLeft_1q95j_22 {
  position: absolute;
  left: 0;
  top: 0;
  width: 9.375rem; /* 150px */
  height: 15rem; /* 240px */
  color: #ae8bcd;
  opacity: 0.3;
}

/* Flush to the right edge (right:0) — Big Ben sits in the box's right portion (inside the
   visible margin), the Ferris wheel's own circle runs past the viewBox's right edge and gets
   cropped there, reading as "partially off the edge" without an extra negative offset. */
._cityRight_1q95j_22 {
  position: absolute;
  right: 0;
  bottom: 0.5rem;
  width: 11.25rem; /* 180px */
  height: 18.75rem; /* 300px */
  color: #ae8bcd;
  opacity: 0.3;
}

/* Two small, very soft cloud pairs tucked above the card row, left of the city silhouettes —
   never over the title/subtitle text, the cards, or the "Skatīt visus" button. */
._cloudA_1q95j_22,
._cloudB_1q95j_22 {
  position: absolute;
  opacity: 0.6;
  pointer-events: none;
}

._cloudA_1q95j_22 {
  top: 1rem;
  left: 10%;
  width: 6rem;
}

._cloudB_1q95j_22 {
  top: 3rem;
  left: 22%;
  width: 4.5rem;
}

/* Above the third card, well to the left of the "Skatīt visus" button (horizontal separation,
   not just vertical — the button sits in the far-right ~150px of the header row, this starts
   19rem/304px in from the right edge, clearing it with well over the requested 24px). Sits at
   header height, above the card row entirely. */
._flightPath_1q95j_22 {
  position: absolute;
  top: 1.75rem;
  right: 19rem;
  width: 11.25rem; /* 180px */
  height: 4.75rem;
}

@media (max-width: 768px) {
  /* Hidden on mobile per request — the gradient base + the two wave ribbons stay visible. */
  ._cityLeft_1q95j_22,
  ._cityRight_1q95j_22,
  ._cloudA_1q95j_22,
  ._cloudB_1q95j_22,
  ._flightPath_1q95j_22 {
    display: none;
  }
}

._carouselWrap_1q95j_127 {
  position: relative;
}

._sideArrow_1q95j_131 {
  position: absolute;
  left: -1.375rem; /* -22px */
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.875rem; /* 46px */
  height: 2.875rem;
  border-radius: 50%;
  border: none;
  background: #fff;
  color: #0878f9;
  box-shadow: 0 0.3125rem 1.125rem rgba(20, 50, 90, 0.14);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}

._sideArrow_1q95j_131:hover {
  background: #0878f9;
  color: #fff;
}

._sideArrowNext_1q95j_156 {
  left: auto;
  right: -1.375rem; /* -22px */
}

._track_1q95j_161 {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  column-gap: 1.125rem; /* 18px */
  padding-bottom: 0.25rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

._track_1q95j_161::-webkit-scrollbar {
  display: none;
}

/* Card count adapts to how many real deals exist, capped at `--visible-count` (set inline, see
   AvioCeljojumiCarousel.jsx) so 3 real cards fill the row instead of leaving empty space on the
   right — never padded out with fake cards. Responsive breakpoints below still cap it further
   on narrower desktop widths regardless of how many real deals exist. */
._cardWrap_1q95j_179 {
  --gap: 1.125rem; /* 18px */
  flex: 0 0 calc((100% - (var(--visible-count, 4) - 1) * var(--gap)) / var(--visible-count, 4));
  min-width: 0;
  scroll-snap-align: start;
}

@media (max-width: 1399px) {
  ._cardWrap_1q95j_179 {
    flex-basis: calc((100% - 2 * var(--gap)) / 3);
  }
}

@media (max-width: 1049px) {
  ._cardWrap_1q95j_179 {
    flex-basis: calc((100% - 1 * var(--gap)) / 2);
  }
}
._anchor_1nzn1_1 {
  position: relative;
  height: 0;
  pointer-events: none;
}

/* Centered on the boundary (half extends up into the section above, half down into the section
   below) — 160px tall, within the requested 140-180px. Full page width, not the narrower
   content max-width, since it's bridging two full-bleed section bands. */
._glow_1nzn1_10 {
  position: absolute;
  left: 0;
  right: 0;
  top: -5rem; /* -80px */
  height: 10rem; /* 160px */
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #fcfafe 25%,
    #f7f2fc 60%,
    #f0e7fa 100%
  );
}

@media (max-width: 768px) {
  ._glow_1nzn1_10 {
    top: -2rem; /* -32px */
    height: 4rem; /* 64px */
  }
}
._section_1juiw_1 {
  /* .home-content has 1rem side padding on mobile — bleed past it for a true edge-to-edge
     section instead of just filling the already-inset content box. */
  width: auto;
  margin: 0 -1rem;
  /* index.css has `main#tickets-home-page .home-content > section { margin-bottom: 3.75rem }`,
     a global rule for ANY <section> on this page — it outranks this class-only selector on
     specificity (it has an id) and was the real source of the visible gap between sections. */
  margin-bottom: 0 !important;
  border-radius: 0;
  padding: 0.75rem 1rem;
  overflow: hidden;
}

/* Soft white→ivory→cream blend + one wide, shallow wave where this section meets the white
   search-form area above it (was a flat color with a hard edge at y=0). Only the vacation
   variant gets this — it's the first section right under the search form; bus/flightHotel sit
   between two already-colored sections and don't have the same white-to-color seam. Extra
   padding-top makes room for the band so it doesn't crowd the header; the header/track/dots
   below get z-index so the decor (pointer-events: none, purely cosmetic) never sits on top of
   them or intercepts taps. */
._vacation_1juiw_22 {
  position: relative;
  isolation: isolate;
  background-color: #fbf3e7;
  padding-top: 5.5rem; /* 88px: ~24px white air + ~36px wave + ~28px cream gap to header */
}

/* Gradient layer: stays near-white through the first ~24px (room for the form's shadow to
   dissolve into) before fading to the section's flat cream by the time the wave ends — the
   rest of the band (after the wave) is just that same flat cream, no extra layering needed. */
._vacation_1juiw_22::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5.5rem; /* 88px — same band as padding-top, doesn't add to the gap */
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to bottom, #ffffff 0%, #fffcf7 27%, #fbf3e7 68%, #fbf3e7 100%);
}

/* Wave layer: same geometry as before, just moved down ~24px so it no longer sits flush against
   the form — a solid (not blended) cream fill on top of the gradient, painted at full opacity so
   the curve reads as a real edge against the lighter gradient above it, not washed out into it. */
._vacation_1juiw_22::after {
  content: "";
  position: absolute;
  top: 1.5rem; /* 24px — the "white air" gap under the form before the wave starts */
  left: 0;
  right: 0;
  height: 2.25rem; /* 36px, unchanged — same wave geometry as before */
  pointer-events: none;
  z-index: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 80' preserveAspectRatio='none'%3E%3Cpath d='M 0 12 C 220 20, 340 62, 540 55 C 740 48, 860 22, 1000 8 L 1000 80 L 0 80 Z' fill='%23fbf3e7'/%3E%3C/svg%3E")
    top / 100% 100% no-repeat;
}

._vacation_1juiw_22 ._header_1juiw_60,
._vacation_1juiw_22 ._track_1juiw_61,
._vacation_1juiw_22 ._dots_1juiw_62 {
  position: relative;
  z-index: 1;
}

/* Same idea as .flightHotel's top transition (cream→lavender), now lavender→light-blue where
   Lidojums + viesnīca meets Autobusu ceļojumi. padding-top is the one source of the gap — the
   decorative band fits inside it, doesn't add to it. */
._bus_1juiw_70 {
  position: relative;
  isolation: isolate;
  background-color: #eaf3fd;
  padding-top: 3rem; /* 48px — combined with .flightHotel's own 12px bottom padding = 60px */
}

/* Flat solid fills, not a blended linear-gradient — lavender/blue are close pastel tones, so a
   gradient (even with a translucent wave on top) read as a near-straight blur with no visible
   curve. Three crisp flat layers instead: lavender base, a mid light-blue back wave, a solid
   final-blue front wave — real color steps the eye can actually see as two contours. */
._bus_1juiw_70::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.75rem; /* 44px decorative band, within the 40-48px asked for */
  pointer-events: none;
  z-index: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 18 C 160 12, 260 70, 420 72 C 620 74, 790 8, 1000 16 L 1000 100 L 0 100 Z' fill='%23edf1fc'/%3E%3C/svg%3E")
      top / 100% 100% no-repeat,
    #f2eefb;
}

._bus_1juiw_70::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.75rem;
  pointer-events: none;
  z-index: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 46 C 170 34, 280 94, 440 88 C 650 80, 830 38, 1000 48 L 1000 100 L 0 100 Z' fill='%23eaf3fd'/%3E%3C/svg%3E")
    top / 100% 100% no-repeat;
}

._bus_1juiw_70 ._header_1juiw_60,
._bus_1juiw_70 ._track_1juiw_61,
._bus_1juiw_70 ._dots_1juiw_62 {
  position: relative;
  z-index: 1;
}

/* Same idea as .vacation's top transition (form→cream), now cream→lavender where Atpūtas
   ceļojumi meets Lidojums + viesnīca. Two wave contours (not just a gradient): a lighter,
   semi-transparent "back" wave folded into the gradient layer, and a solid "front" wave on top
   that resolves to the section's own flat lavender at its bottom edge. padding-top is the one
   source of the gap — the decorative band fits inside it, doesn't add to it. */
._flightHotel_1juiw_67 {
  position: relative;
  isolation: isolate;
  background-color: #f2eefb;
  padding-top: 2.75rem; /* 44px — combined with .vacation's own 12px bottom padding = ~56px */
}

._flightHotel_1juiw_67::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.75rem; /* 44px — same band as padding-top, doesn't add to the gap */
  pointer-events: none;
  z-index: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 20 C 220 22, 360 78, 570 62 C 750 48, 900 10, 1000 0 L 1000 100 L 0 100 Z' fill='rgba(242,234,251,0.55)'/%3E%3C/svg%3E")
      top / 100% 100% no-repeat,
    linear-gradient(to bottom, #fbf3e7 0%, #f5f0fb 55%, #f2eefb 100%);
}

._flightHotel_1juiw_67::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.75rem; /* 44px, same band */
  pointer-events: none;
  z-index: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 48 C 240 42, 370 90, 580 78 C 760 66, 920 24, 1000 38 L 1000 100 L 0 100 Z' fill='%23f2eefb'/%3E%3C/svg%3E")
    top / 100% 100% no-repeat;
}

._flightHotel_1juiw_67 ._header_1juiw_60,
._flightHotel_1juiw_67 ._track_1juiw_61,
._flightHotel_1juiw_67 ._dots_1juiw_62 {
  position: relative;
  z-index: 1;
}

._header_1juiw_60 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  column-gap: 0.5rem;
  margin-bottom: 0.75rem; /* 12px, within the 12-16px gap asked for between subtitle and cards */
}

._headerMain_1juiw_171 {
  display: flex;
  align-items: flex-start;
  column-gap: 0.4rem;
  min-width: 0;
  flex: 1 1 auto;
}

._icon_1juiw_179 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin-top: 0.1rem;
}

._titleBlock_1juiw_186 {
  min-width: 0;
}

._title_1juiw_186 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.375rem;
  color: var(--primary-2);
  line-height: 1.25;
}

._subtitle_1juiw_199 {
  margin: 0.1rem 0 0;
  font-size: 0.875rem;
  color: #262b33;
  line-height: 1.3;
}

._viewAll_1juiw_206 {
  flex: 0 0 auto;
  background: none;
  border: none;
  padding: 0.15rem 0;
  color: var(--primary-1);
  font-size: 0.8125rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  white-space: nowrap;
  cursor: pointer;
  align-self: flex-start;
}

/* Native horizontal scroll-snap; padding-right keeps the next card peeking past the edge. */
._track_1juiw_61 {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  column-gap: 0.75rem;
  padding-right: 1.5rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

._track_1juiw_61::-webkit-scrollbar {
  display: none;
}

/* Same fixed card width across all three carousels (was 145/155/148px — close but visibly
   inconsistent between sections). */
._cardWrap_1juiw_237,
._busCardWrap_1juiw_238,
._flightHotelCardWrap_1juiw_239 {
  flex: 0 0 15rem; /* 240px */
  scroll-snap-align: start;
}

._dots_1juiw_62 {
  display: flex;
  justify-content: center;
  column-gap: 0.35rem;
  margin-top: 0.75rem; /* 12px, within the 12-16px gap asked for between cards and dots */
}

._dot_1juiw_62 {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(0, 0, 0, 0.15);
  padding: 0;
  cursor: pointer;
  transition: background-color 0.15s, width 0.15s;
}

._dotActive_1juiw_262 {
  width: 1rem;
  border-radius: 0.2rem;
  background-color: var(--primary-1);
}
/* --- Vacation (Atpūtas ceļojumi) --- */
/* Fixed total height (same value as .busCard/.fhCard below) instead of content-driven height —
   the three sections are separate carousels/tracks, so `align-items: stretch` only keeps cards
   equal *within* one section; across Atpūtas/Autobusu/Avio they need an explicit shared height
   to actually match, since each card type shows a different number of info rows. */
._vacationCard_fe393_6 {
  display: flex;
  flex-direction: column;
  height: 24.5rem; /* 392px */
  color: inherit;
  text-decoration: none;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0.125rem 0.5rem rgba(37, 42, 49, 0.06);
}

/* Hosts the favorite button as a sibling of the card's own <Link> — a <button> can't nest
   inside an <a>/<Link>, same pattern as .busFavoriteWrap. */
._vacationFavoriteWrap_fe393_20 {
  position: relative;
  height: 100%;
}

._vacationFavoriteButton_fe393_25 {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3);
  cursor: pointer;
}

._vacationImageWrap_fe393_42 {
  position: relative;
  width: 100%;
  height: 14rem;
  flex-shrink: 0;
  background-color: var(--ui-2);
}

._vacationImage_fe393_42 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background-color: var(--ui-2);
}

._vacationImageFallback_fe393_58 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--ui-2);
}

/* Solid tone color + white text, same treatment as desktop's CharterDealCard badge (see that
   module's comment — a translucent tint had no contrast against a real photo). */
._vacationBadge_fe393_69 {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  color: #fff;
  box-shadow: 0 0.125rem 0.375rem rgba(10, 40, 80, 0.25);
}

._vacationBadgeRose_fe393_84 {
  background-color: #e23464;
}

._vacationBadgeSky_fe393_88 {
  background-color: #0878f9;
}

._vacationBadgeMint_fe393_92 {
  background-color: #1f9d63;
}

._vacationBadgeAmber_fe393_96 {
  background-color: #d9822e;
}

._vacationBadgeViolet_fe393_100 {
  background-color: #7c5cd6;
}

._vacationBody_fe393_104 {
  padding: 0.625rem 0.75rem 0.75rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  row-gap: 0.3rem;
}

._vacationName_fe393_113 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.25rem;
  color: #071b3a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._vacationMetaRow_fe393_124 {
  display: flex;
  align-items: center;
  column-gap: 0.35rem;
  font-size: 1.125rem;
  color: #262b33;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._vacationMetaRow_fe393_124 svg {
  flex-shrink: 0;
  color: #0878f9;
}

._vacationDivider_fe393_140 {
  border: none;
  border-top: 1px solid #eaeef4;
  margin: 0.1rem 0 0.2rem;
}

/* Stacked "no / amount + per person" layout like desktop, not the shared .priceRow's inline
   label+amount pair (that one's still used by the bus card, which has no per-person line). */
._vacationPriceRow_fe393_148 {
  display: block;
  margin-top: auto;
}

._vacationPriceLine_fe393_153 {
  display: flex;
  align-items: baseline;
  column-gap: 0.25rem;
}

._vacationPricePerPerson_fe393_159 {
  font-size: 0.8125rem;
  color: #262b33;
}

._priceRow_fe393_146 {
  display: flex;
  align-items: baseline;
  column-gap: 0.3rem;
}

._priceLabel_fe393_170 {
  font-size: 0.9375rem;
  color: #262b33;
}

._priceAmountSm_fe393_175 {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.5rem;
  color: #0878f9;
}

._priceNone_fe393_182 {
  font-size: 0.875rem;
  font-style: italic;
  color: #262b33;
}

/* --- Bus tours: image + date badge overlay + route + price + one meta line --- */
._busCard_fe393_2 {
  display: flex;
  flex-direction: column;
  height: 24.5rem; /* 392px — same fixed height as .vacationCard/.fhCard, see comment there */
  color: inherit;
  text-decoration: none;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0.125rem 0.5rem rgba(37, 42, 49, 0.06);
}

._busImageWrap_fe393_201 {
  position: relative;
  width: 100%;
  height: 14rem;
  flex-shrink: 0;
  background-color: var(--ui-2);
}

._busImage_fe393_201 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hosts the favorite button as a sibling of the card's own <Link> — a <button> can't nest
   inside an <a>/<Link>, same pattern as the desktop BusTourCards.jsx wrapper. */
._busFavoriteWrap_fe393_19 {
  position: relative;
  height: 100%;
}

._busFavoriteButton_fe393_223 {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3);
  cursor: pointer;
}

._dateBadge_fe393_240 {
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  background-color: rgba(0, 27, 56, 0.85);
  color: #fff;
  font-size: 1rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  padding: 0.3rem 0.6rem;
  border-radius: 0.375rem;
}

._busBody_fe393_253 {
  padding: 0.625rem 0.75rem 0.75rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  row-gap: 0.2rem;
}

._busBody_fe393_253 ._priceRow_fe393_146 {
  margin-top: auto;
}

._busName_fe393_266 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.25rem;
  color: #071b3a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._busSubtitle_fe393_277 {
  margin: 0;
  font-size: 0.875rem;
  color: #262b33;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

._busMetaRow_fe393_288 {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 0.1rem;
  font-size: 0.875rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: #262b33;
}

._busMetaItem_fe393_299 {
  display: inline-flex;
  align-items: center;
  column-gap: 0.2rem;
  white-space: nowrap;
}

._busMetaItem_fe393_299 svg {
  flex-shrink: 0;
  color: #0878f9;
}

._busDivider_fe393_311 {
  border: none;
  border-top: 1px solid #eaeef4;
  margin: 0.1rem 0 0.2rem;
}

/* --- Flight + Hotel: same info blocks as desktop's AvioHotelCard (badge, package label,
   dates, hotel+rating, divider, price "no .../per person"), just resized for the ~148px
   mobile scroll card instead of the 4-up desktop grid. --- */
._fhCard_fe393_2 {
  display: flex;
  flex-direction: column;
  height: 24.5rem; /* 392px — same fixed height as .vacationCard/.busCard, see comment there */
  color: inherit;
  text-decoration: none;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0.125rem 0.5rem rgba(37, 42, 49, 0.06);
}

/* Hosts the favorite button as a sibling of the card's own <Link> — a <button> can't nest
   inside an <a>/<Link>, same pattern as .busFavoriteWrap/.vacationFavoriteWrap. */
._fhFavoriteWrap_fe393_334 {
  position: relative;
  height: 100%;
}

._fhFavoriteButton_fe393_339 {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3);
  cursor: pointer;
}

._fhImageWrap_fe393_356 {
  position: relative;
  width: 100%;
  height: 14rem;
  flex-shrink: 0;
  background-color: var(--ui-2);
}

._fhImage_fe393_356 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Pill badge matching desktop's .typeBadge style (white pill, blue icons) instead of the
   previous plain white circle. */
._fhBadge_fe393_373 {
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  display: inline-flex;
  align-items: center;
  column-gap: 0.2rem;
  background-color: rgba(255, 255, 255, 0.92);
  color: #0878f9;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 0.8125rem;
  box-shadow: 0 0.0625rem 0.25rem rgba(37, 42, 49, 0.15);
}

._fhBody_fe393_390 {
  padding: 0.5rem 0.625rem 0.625rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  row-gap: 0.2rem;
}

._fhName_fe393_399 {
  margin: 0;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  font-size: 1.25rem;
  color: #071b3a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._fhPackageLabel_fe393_410 {
  margin: 0;
  display: flex;
  align-items: center;
  column-gap: 0.2rem;
  font-size: 0.875rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: #0878f9;
}

._fhPackageLabel_fe393_410 svg {
  flex-shrink: 0;
}

._fhMetaRow_fe393_425 {
  display: flex;
  align-items: center;
  column-gap: 0.3rem;
  font-size: 1rem;
  color: #262b33;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._fhMetaRow_fe393_425 svg {
  flex-shrink: 0;
  color: #0878f9;
}

/* 5-star row, filled up to Math.round(rating) (same "rating as star count" convention
   CompactHotelCard already uses on the Viesnīcas page — there's no separate hotel-class field
   in this API response) + the raw score in parens, e.g. "★★★★☆ (9.8)" — hotel name on its own
   line below, unlike desktop's AvioHotelCard which keeps them on one line (more width there). */
._fhStars_fe393_445 {
  display: flex;
  align-items: center;
  column-gap: 0.15rem;
}

._fhRatingParen_fe393_451 {
  margin-left: 0.15rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  color: #262b33;
}

._fhHotelName_fe393_458 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #262b33;
}

._fhRatingNone_fe393_466 {
  font-size: 0.75rem;
  font-style: italic;
  color: #262b33;
}

._fhDivider_fe393_472 {
  border: none;
  border-top: 1px solid #eaeef4;
  margin: 0.1rem 0 0.2rem;
}

/* Stacked "no / amount + per person" layout like desktop, not the shared .priceRow's inline
   label+amount pair (that one's used by the vacation/bus cards, which have no per-person line).
   No margin-top: auto here (unlike the vacation/bus cards) — this card's content (badge, dates,
   stars, hotel row) doesn't reliably fill the fixed card height, and pushing the price all the
   way to the bottom left a large empty gap above it instead of below. */
._fhPriceRow_fe393_483 {
  display: block;
}

._fhPriceLine_fe393_487 {
  display: flex;
  align-items: baseline;
  column-gap: 0.25rem;
}

._fhPricePerPerson_fe393_493 {
  font-size: 0.75rem;
  color: #262b33;
}
._container_18eci_1 {
  margin: 2rem 0;
}

._container_18eci_1 h2 {
  grid-column: 1 / -1;
  grid-row: 1;
  margin-bottom: 1.5rem;
  font-size: var(--f-size-28px);
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
}

._flight-booking-guide_18eci_27 {
  position: relative;
  display: grid;
  grid-template-areas: ". reading-progress";
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  padding: 2.875rem 2.5rem;
  border-radius: var(--corner-md);
  background-color: white;
  border: 1px solid var(--ui-3);
  overflow-y: clip;
  max-height: 5000px;
  transition: max-height 0.5s ease-in-out;
}
._flight-booking-guide_18eci_27::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6rem;
  opacity: 0;
  transition: opacity 0.4s ease 0.2s;
}
._flight-booking-guide_18eci_27._collapsed_18eci_75 {
  max-height: 500px;
  transition: max-height 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
._flight-booking-guide_18eci_27._collapsed_18eci_75::after {
  background: linear-gradient(to top, var(--ui-2), rgba(255, 255, 255, 0));
  opacity: 1;
}

/* READING PROGRESS UI */
._readingProgress_18eci_95 {
  grid-area: reading-progress;
  padding: 1.25rem 1.5rem;
  width: 16rem;
  border-radius: var(--corner-md);
  background-color: white;
  box-shadow: var(--booking-card-shadow);
  height: fit-content;
  margin-left: 1.875rem;
  position: sticky;
  top: 2.875rem;
}

._readingProgress_18eci_95 ._milestones_18eci_121 {
  height: 100%;
  display: flex;
  flex-direction: column;
}

._readingProgress_18eci_95 ._milestones_18eci_121 li {
  flex-grow: 1;
  position: relative;
  display: flex;
}

._readingProgress_18eci_95 ._milestones_18eci_121 li ._link_18eci_145 {
  padding-bottom: 4rem;
  border-left: 2px var(--ui-4) solid;
  font-size: var(--f-size-14px);
  padding-left: 1rem;
  height: 100%;
  flex-grow: 1;
}
._readingProgress_18eci_95 ._milestones_18eci_121 li:last-of-type {
  flex-grow: 0;
}
._readingProgress_18eci_95 ._milestones_18eci_121 li:last-of-type ._link_18eci_145 {
  border-left: none;
  padding-bottom: 0;
}

._readingProgress_18eci_95 ._milestones_18eci_121 li ._link_18eci_145::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  opacity: 0.6;
  background-color: transparent;
  transition: background-color 200ms ease-in-out;
}
._readingProgress_18eci_95 ._milestones_18eci_121 li._past_18eci_199 ._link_18eci_145::before {
  background-color: var(--primary-1-50);
}

._readingProgress_18eci_95 ._milestones_18eci_121 li ._link_18eci_145::after {
  content: "";
  position: absolute;
  top: 0;
  left: -5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: white;
  border: 2px solid var(--ui-4);
  transition: all 200ms ease-in-out;
}
._readingProgress_18eci_95 ._milestones_18eci_121 li._past_18eci_199 ._link_18eci_145::after {
  border-color: var(--primary-1);
}
._readingProgress_18eci_95 ._milestones_18eci_121 li._current_18eci_237 ._link_18eci_145::after {
  border-color: var(--primary-1);
  background-color: var(--primary-1);
}

._readingProgress_18eci_95 ._milestones_18eci_121 li ._link_18eci_145 > h4 {
  color: var(--text-4);
  scale: 1;
  transition: color 200ms ease-out, scale 200ms ease-out;
}
._readingProgress_18eci_95 ._milestones_18eci_121 li._past_18eci_199 ._link_18eci_145 > h4,
._readingProgress_18eci_95 ._milestones_18eci_121 li._current_18eci_237 ._link_18eci_145 > h4 {
  font-family: var(--font-medium);
  font-weight: var(--medium-w);
}
._readingProgress_18eci_95 ._milestones_18eci_121 li._past_18eci_199 ._link_18eci_145 > h4 {
  color: var(--primary-2);
}
._readingProgress_18eci_95 ._milestones_18eci_121 li._current_18eci_237 ._link_18eci_145 > h4 {
  scale: 1.05;
  color: var(--primary-1);
}

._toggle-button_18eci_283 {
  grid-column: 1 / span 2;
  grid-row: 2;
  margin-top: 0.5rem;
  width: fit-content;
  display: inline-flex;
  column-gap: 0.25rem;
  border: none;
  padding: 0;
  background: none;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--f-size-14px);
  text-decoration-color: var(--ui-4);
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  color: var(--primary-2);
}

@media screen and (max-width: 991px) {
  ._container_18eci_1 h2,
  ._section-title_18eci_325 {
    font-family: var(--font-bold);
    font-size: 1.375rem;
    font-weight: var(--bold-w);
  }
  ._flight-booking-guide_18eci_27 {
    padding-left: 0;
    padding: 1.75rem 1.5rem 1.75rem 0;
    grid-template-areas: "reading-progress .";
    grid-template-columns: auto 1fr;
  }
  ._container_18eci_1 {
    padding: 2.75rem 0rem 4.25rem;
    margin: 0;
  }

  ._readingProgress_18eci_95 {
    visibility: hidden;
    width: fit-content;
    background-color: transparent;
    height: calc(100vh - 2 * 2.875rem);
    transform: scale(85%);
    padding: 0;
    margin-left: 0;
    margin-right: 0.75rem;
    box-shadow: none;
  }

  ._readingProgress_18eci_95 ._milestones_18eci_121 h4 {
    display: none;
  }
}
._cheapDestinations_bddac_1 {
  margin-top: 5rem;
  margin-bottom: 5.25rem !important;
}
._cheapDestinations_bddac_1 ._heading_bddac_9 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.25rem;
}
._cheapDestinations_bddac_1 ._more_bddac_21 {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-16px);
  font-weight: var(--semibold-w);
  text-decoration-line: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--primary-2-50);
}
._cheapDestinations_bddac_1 ._tripsList_bddac_37 + ._more_bddac_21 {
  display: inline-block;
  width: 100%;
  text-align: right;
  margin-top: 0.5rem;
}
._cheapDestinations_bddac_1 h2 {
  font-family: var(--font-bold);
  font-size: var(--fmob-size-20px);
  font-weight: var(--bold-w);
}
._cheapDestinations_bddac_1 p._desc_bddac_59 {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-16px);
  font-weight: var(--regular-w);
  margin-bottom: 2.375rem;
  width: 95%;
  line-height: 1.125rem;
}

._imgError_bddac_77 {
  height: 100%;
  background-color: var(--ui-3);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.6;
}
._imgError_bddac_77 + div p,
._imgError_bddac_77 + div h2 {
  color: var(--ui-5);
}
._imgError_bddac_77 ._frame_bddac_101 {
  width: 50%;
  opacity: 0.5;
}

._mobile_bddac_111 ._tripsList_bddac_37 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
._desktop_bddac_123 ._tripsList_bddac_37 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.75rem;
}

._tripsList_bddac_37 li {
  transition: scale 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
._tripsList_bddac_37 li:has([data-focus-trigger]:focus) {
  scale: 1.02;
}

._item_bddac_151 {
  position: relative;
  border-radius: var(--corner-md);
  background-color: white;
  box-shadow: var(--booking-card-shadow);
  display: grid;
  grid-template-columns: 0.48fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 6.25rem;
}

._item_bddac_151 img {
  border-radius: var(--corner-md);
  height: 100%;
  width: 100%;
  object-fit: cover;
  filter: brightness(0.85);
}

._mobile_bddac_111 ._imgError_bddac_77 ._frame_bddac_101 {
  height: 100%;
}

._imgError_bddac_77,
._item_bddac_151 img {
  grid-column: 1;
  grid-row: 1 / -1;
}

._link_bddac_209 {
  grid-row: 1 / -1;
  display: grid;
  grid-template-rows: subgrid;
  height: 100%;
  padding: 0.75rem;
}

._link_bddac_209 h3 {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-18px);
  font-weight: var(--semibold-w);
  align-self: self-end;
  color: var(--primary-2);
}

._link_bddac_209 p {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-14px);
  font-weight: var(--semibold-w);
  margin-top: 0.25rem;
  color: var(--primary-1);
}

@media screen and (min-width: 992px) and (max-width: 1440px) {
  ._cheapDestinations_bddac_1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

._mobile_bddac_111._cheapDestinations_bddac_1 {
  margin-bottom: 0 !important;
  margin-top: 2rem;
}
._mobile_bddac_111._cheapDestinations_bddac_1 ._heading_bddac_9 ._more_bddac_21 {
  display: none;
}
._desktop_bddac_123._cheapDestinations_bddac_1 ._tripsList_bddac_37 + ._more_bddac_21 {
  display: none;
}
._container_aywiq_1 {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

/* Home/hotels desktop: cap the whole page's content width like the reference (~1280px) —
   otherwise on a normal/wide monitor the search grid stretches edge to edge and fields end up
   far apart. Scoped to .padded-view so it applies consistently across the page's sections. */
main#tickets-home-page.desktop .padded-view {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

section._container_aywiq_1 {
  flex-direction: column;
  justify-content: flex-start;
  row-gap: 1rem;
}

section._container_aywiq_1 > * {
  width: 100%;
}

._search_aywiq_51 > h1 {
  color: var(--primary-2);
  font-family: var(--font-bold);
  font-size: var(--fmob-size-24px);
  font-weight: var(--bold-w);
  margin-bottom: 0.25rem;
}

._search_aywiq_51 > h1._results_aywiq_67 {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
}

._fontclass_aywiq_77 {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--fmob-size-16px);
}

/* Home/hotels desktop: this div is the search card's own content wrapper. Its padding is set
   to 0 here because the card's actual inner gutter now lives on section#search-form-section
   itself (see the rule below) — and, separately, main#tickets-home-page.desktop .home-content >
   section#search-form-section .padded-view in index.css wins the cascade for this exact element
   anyway (two ids vs. this rule's zero ids), so this padding value never actually painted the
   old 4.25rem gap; kept at 0 for consistency rather than left stale. row-gap is the real ~16px
   spacing between tabs / trip-type row / field row. */
._desktop_aywiq_19 div.padded-view {
  padding: 0;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  height: fit-content;
  position: relative;
}

._desktop_aywiq_19._search_aywiq_51 div._titleHeader_aywiq_121 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.88rem;
}
._desktop_aywiq_19._search_aywiq_51 div._titleHeader_aywiq_121 > h1 {
  font-family: var(--font-bold);
  font-size: var(--f-size-40px);
  font-weight: var(--bold-w);
  color: var(--ui-1);
  align-self: flex-end;
}

/* Home/hotels desktop: Hero already carries the big marketing heading and the blue backdrop —
   this section becomes a plain white card sitting under it instead of a second blue banner
   with a duplicate heading. Only background/heading are touched, not the field/dropdown grid. */
main#tickets-home-page.desktop section#search-form-section {
  background-image: none !important;
  background-color: var(--ui-1, #fff) !important;
  border-radius: 1.25rem;
  margin-top: -2rem;
  scroll-margin-top: 6rem;
  box-shadow: 0 0.5rem 1.5rem rgba(37, 42, 49, 0.1);
  /* This section is the compact white card itself: cap + center its own box (the generic
     section#search-form-section rule elsewhere already gives it margin:auto/width:100%, so this
     just adds the upper bound) and give it the small inner gutter that index.css's
     .padded-view padding used to (badly) provide at 4.25rem. */
  max-width: 1320px;
  padding: 1.25rem 1.5rem 1.375rem;
  position: relative;
  z-index: 2;
}

/* Hotels desktop has no hero above the search card (removed per request) — the -2rem overlap
   used on the home page would otherwise pull this card straight up under the nav with nothing
   to overlap into. Give it normal breathing room instead. */
main#tickets-home-page.hotels-page.desktop section#search-form-section {
  margin-top: 2rem;
}

/* The tenant stylesheet paints the actual blue backdrop via an absolutely-positioned ::before
   (not the section's own background), so the override above alone doesn't remove it. */
main#tickets-home-page.desktop section#search-form-section::before {
  content: none !important;
}

main#tickets-home-page.desktop ._titleHeader_aywiq_121 > h1 {
  display: none;
}

main#tickets-home-page.desktop section#search-form-section .padded-view {
  row-gap: 0.625rem;
}

main#tickets-home-page.desktop ._titleHeader_aywiq_121 {
  justify-content: flex-start;
  margin-bottom: 0.75rem;
}

._flexbox_aywiq_239 {
  position: absolute;
  display: flex;
  flex-direction: row;
  top: 16rem;
  left: initial;
  pointer-events: none;
}
._flexbox_aywiq_239._hotels_aywiq_193 {
  top: 14.75rem;
}

._flexbox_aywiq_239._results_aywiq_67 {
  top: 6rem;
  left: initial;
}
._flexbox_aywiq_239._results_aywiq_67._hotels_aywiq_193 {
  top: 5.25rem;
}

._dropdownGrid_aywiq_279 {
  display: grid;
  grid-template-columns: repeat(2, 15rem) 22.5rem 19.25% 6.5rem auto;
  align-items: stretch;
}
._oneway_aywiq_289 ._dropdownGrid_aywiq_279 {
  grid-template-columns: repeat(2, 17.14rem) 15.98rem 23.75% 2.5rem auto;
}

._dropdown_aywiq_279 {
  padding: 1.87rem 1.25rem 2.25rem;
  width: 25rem;
  max-height: 30.5rem;
  z-index: var(--zindex-medium);
  overflow-y: scroll;
  overflow-x: hidden;
  pointer-events: all;
}
._dropdown_aywiq_279:focus-visible {
  outline: 1px solid var(--primary-1);
}

._dropdown_aywiq_279::-webkit-scrollbar {
  display: none;
}

._dropdown_aywiq_279._src-location_aywiq_331 {
  grid-column-start: 1;
  grid-column-end: span 6;
}

._dropdown_aywiq_279._dest-location_aywiq_341 {
  grid-column-start: 2;
  grid-column-end: span 5;
}

._dropdown_aywiq_279._src-location_aywiq_331,
._dropdown_aywiq_279._dest-location_aywiq_341 {
  min-width: 25rem;
  width: max-content;
}

._dropdown_aywiq_279._start-date_aywiq_363,
._dropdown_aywiq_279._end-date_aywiq_365 {
  display: grid;
  grid-column-start: 3;
  grid-column-end: span 1;
  justify-self: center;
  width: 40.375rem;
  min-height: 21.25rem;
  /* The direct-flight legend at the bottom of the calendar must stay
     visible: keep the dropdown tall enough for calendar + legend and let
     it scroll instead of clipping the legend. */
  max-height: min(30.5rem, calc(100vh - 13rem));
  overflow-y: auto;
}

._dropdown_aywiq_279._passengers_aywiq_393 {
  padding: 1.56rem 1.25rem 1.25rem;
  width: 21.75rem;
  height: fit-content;
  grid-column-start: -4;
  justify-self: end;
}

._noSFButton_aywiq_409._flexbox_aywiq_239 {
  display: grid;
  position: absolute;
  width: calc(var(--main-page-content-max-width) - var(--main-page-side-pad) * 2);
}
._noSFButton_aywiq_409 ._dropdownGrid_aywiq_279 {
  grid-template-columns: repeat(2, minmax(19%, 17rem)) minmax(30%, 26rem) minmax(auto, 32%);
}
._noSFButton_aywiq_409._oneway_aywiq_289 ._dropdownGrid_aywiq_279 {
  grid-template-columns: repeat(2, 25%) 19.7% auto;
}
._noSFButton_aywiq_409 ._dropdown_aywiq_279._dest-location_aywiq_341 {
  grid-column-start: 2;
}
._noSFButton_aywiq_409 ._dropdown_aywiq_279._passengers_aywiq_393 {
  grid-column-start: -2;
}

@media only screen and (max-width: 1439px) and (min-width: 991px) {
  ._flexbox_aywiq_239,
  ._flexbox_aywiq_239._results_aywiq_67 {
    display: grid;
    position: absolute;
    width: calc(100% - var(--main-page-side-pad) * 2);
  }

  ._dropdownGrid_aywiq_279 {
    grid-template-columns: repeat(2, 19%) 30% 19.43% 0.5rem auto;
  }

  ._oneway_aywiq_289:not(._noSFButton_aywiq_409) ._dropdownGrid_aywiq_279 {
    grid-template-columns: repeat(2, 21.85%) 21.38% 22.34% 0.5rem auto;
  }

  ._results_aywiq_67 ._dropdownGrid_aywiq_279 {
    grid-template-columns: repeat(2, 19%) 28.5% 20.9% 0.5rem auto;
  }
  ._results_aywiq_67._oneway_aywiq_289 ._dropdownGrid_aywiq_279 {
    grid-template-columns:
      repeat(2, 21.85%)
      21.38%
      22.34% 0.5rem auto;
  }

  ._dropdown_aywiq_279._start-date_aywiq_363,
  ._dropdown_aywiq_279._end-date_aywiq_365 {
    grid-column-start: 3;
    grid-column-end: span 1;
    margin: 0 calc(-100vw * 0.25);
  }

  ._oneway_aywiq_289 ._dropdown_aywiq_279._start-date_aywiq_363 {
    grid-column-start: -4;
    justify-self: end;
    margin: 0 0;
  }

  ._noSFButton_aywiq_409._oneway_aywiq_289._flexbox_aywiq_239 {
    display: grid;
    position: absolute;
    width: calc(100% - var(--main-page-side-pad) * 2);
  }

  ._noSFButton_aywiq_409:not(._oneway_aywiq_289) ._dropdownGrid_aywiq_279 {
    grid-template-columns: repeat(2, 21.65%) minmax(30%, auto) auto;
  }

  ._noSFButton_aywiq_409._oneway_aywiq_289 ._dropdownGrid_aywiq_279 {
    grid-template-columns: repeat(2, 25%) 21.38% auto;
  }

  ._noSFButton_aywiq_409 ._dropdown_aywiq_279._start-date_aywiq_363,
  ._noSFButton_aywiq_409 ._dropdown_aywiq_279._end-date_aywiq_365 {
    grid-column-start: 2;
    grid-column-end: span 3;
    justify-self: center;
  }

  ._noSFButton_aywiq_409._oneway_aywiq_289 ._dropdown_aywiq_279._start-date_aywiq_363,
  ._noSFButton_aywiq_409._oneway_aywiq_289 ._dropdown_aywiq_279._end-date_aywiq_365 {
    grid-column-start: 3;
    grid-column-end: span 1;
    justify-self: center;
  }

  ._dropdownGrid_aywiq_279 ._passengers_aywiq_393 {
    grid-column-start: -4;
    justify-self: end;
  }

  ._noSFButton_aywiq_409 ._dropdown_aywiq_279._passengers_aywiq_393 {
    grid-column-start: 1;
    grid-column-end: -1;
    justify-self: end;
  }
  ._noSFButton_aywiq_409._oneway_aywiq_289 ._dropdown_aywiq_279._passengers_aywiq_393 {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}

/* Home page mobile only: the search form sits as a white card overlapping the Hero banner. */
main#tickets-home-page.mobile section#search-form-section-mob {
  position: relative;
  z-index: 1;
  margin-top: -1.5rem;
  /* index.css has `main#tickets-home-page .home-content > section { margin-bottom: 3.75rem }`,
     a global rule for ANY <section> on this page — this id selector outranks it on specificity.
     The vacation ProductCarouselSection right below already sets its own padding-top for the
     form→header gap; without this override that 60px stacked on top of it, doubling the gap. */
  margin-bottom: 0;
  background-color: var(--ui-1, #fff);
  border-radius: 1.125rem;
  padding: 0.75rem;
  box-shadow: 0 0.625rem 1.75rem rgba(15, 42, 80, 0.1);
}

main#tickets-home-page.mobile section#_search-form-section-mob_aywiq_1 .padded-view,
main#tickets-home-page.mobile section._container_aywiq_1 {
  row-gap: 0.5rem !important;
}

main#tickets-home-page.mobile section#search-form-section-mob > h1 {
  display: none;
}

/** SEARCH TYPE SWITCH */
._searchTypeSwitch_aywiq_663 {
  display: flex;
  padding: 0.5rem;
  border-radius: var(--corner-lg);
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  width: fit-content;
  column-gap: 0.5rem;

  & > button {
    color: white;
    border: none;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: var(--corner-md);
    font-family: var(--font-bold);
    font-size: var(--f-size-16px);
    font-weight: var(--bold-w);
    transition: all 0.15s;
    -webkit-transition: all 0.15s;
  }

  & > button._active_aywiq_713 {
    color: var(--primary-1);
    background-color: white;
  }
}

/* Desktop home/hotels: full-width row, underline-style active tab — not a filled pill — sitting
   flush across the top of the white card (see reference: tabs occupy the whole top edge). */
main#tickets-home-page.desktop ._searchTypeSwitch_aywiq_663 {
  width: 100%;
  column-gap: 1.75rem;
  padding: 0;
  border: none;
  border-bottom: 1px solid #e8edf5;
  border-radius: 0;

  & > button {
    flex: 0 0 auto;
    flex-direction: row;
    column-gap: 0.4rem;
    height: 3.25rem;
    color: var(--text-2, #494959);
    padding: 0;
    border-radius: 0;
    font-size: var(--f-size-14px);
    border-bottom: 0.1875rem solid transparent;
  }

  & > button._active_aywiq_713 {
    color: #0878f9;
    background: none;
    border-bottom: 0.1875rem solid #0878f9;
  }
}

main.mobile ._searchTypeSwitch_aywiq_663 {
  margin: 0 auto;
  width: fit-content;
  padding: 0.75rem;
  margin-top: -1.5rem;
  margin-bottom: 1rem;
  background-color: var(--primary-tint);
  border: 1px solid var(--ui-3);

  & > button {
    color: var(--primary-1-50);
    padding: 0.75rem;
    font-size: var(--f-size-18px);
  }

  & > button._active_aywiq_713 {
    color: var(--primary-1);
    background-color: var(--ui-3);
    border: 1px solid var(--ui-4);
  }
}

/* Mobile search hub pages (flights/hotels home + tours catalog): 4 equal-width tabs in one row.
   Soft pastel background per category in BOTH states (never white, never a solid saturated
   fill) — active just gets a thicker same-color border + colored shadow + slight lift on top of
   the same pastel card. */
main#tickets-home-page.mobile ._searchTypeSwitch_aywiq_663,
main#tours-catalog-page.mobile ._searchTypeSwitch_aywiq_663 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 0.375rem;
  width: 100%;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  border-radius: 0;

  & > button {
    flex-direction: column;
    justify-content: center;
    row-gap: 0.3rem;
    min-height: 4.75rem;
    padding: 0.625rem 0.3125rem;
    font-size: 0.8125rem;
    line-height: 1.15;
    font-weight: var(--regular-w);
    border-radius: 0.75rem;
    background-color: var(--tab-bg);
    border: 1px solid transparent;
    color: var(--tab-color);
    box-shadow: none;
    transition: transform 0.15s, box-shadow 0.15s;
  }

  & > button svg {
    flex-shrink: 0;
    color: var(--tab-color);
  }

  & > button._active_aywiq_713 {
    border: 2px solid var(--tab-color);
    box-shadow: 0 0.3125rem 0.875rem color-mix(in srgb, var(--tab-color) 20%, transparent);
    transform: translateY(-0.0625rem);
    font-family: var(--font-bold);
    font-weight: var(--bold-w);
  }

  & > button._active_aywiq_713 svg {
    stroke-width: 2.25;
  }

  & > button[data-type="charters"] {
    --tab-bg: #f6e8d8; /* Atpūtas ceļojumi — beige/orange */
    --tab-color: #8a5a1f;
  }
  & > button[data-type="charters"]._active_aywiq_713 {
    --tab-color: #c9822e;
  }

  & > button[data-type="flights"] {
    --tab-bg: #e7f1ff; /* Aviobiļetes — blue */
    --tab-color: #1e63d6;
  }
  & > button[data-type="flights"]._active_aywiq_713 {
    --tab-color: #1264d8;
  }

  & > button[data-type="tours"] {
    --tab-bg: #e4f4ec; /* Autobusu ceļojumi — mint/green */
    --tab-color: #2e7d5b;
  }
  & > button[data-type="tours"]._active_aywiq_713 {
    --tab-color: #1f9d63;
  }

  & > button[data-type="hotels"] {
    --tab-bg: #efe8fa; /* Viesnīcas — lavender/purple */
    --tab-color: #6f59a8;
  }
  & > button[data-type="hotels"]._active_aywiq_713 {
    --tab-color: #7c5cd6;
  }
}
@keyframes slideInFromLeft {
  0% {
    right: -500px;
  }
  100% {
    right: 0;
  }
}

@keyframes slideOutToLeft {
  0% {
    right: 0;
  }
  100% {
    right: -500px;
  }
}

.card {
  background: #ffffff;
  border-style: solid;
  border-color: #e8edf1;
  border-width: 1px;
  height: fit-content;
  width: fit-content;
  padding: 20px;
  border-radius: 0px;
}

.sidebar {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  z-index: var(--zindex-high);
}

.sidebar.open {
  animation: slideInFromLeft var(--modal-anim-time) ease forwards;
}

.sidebar.close {
  animation: slideOutToLeft var(--modal-anim-time) ease forwards;
}

.card.withShadowSm {
  box-shadow: var(--booking-card-shadow);
}

.card.withShadowLg {
  box-shadow: 0px 8px 24px 0px rgba(49, 49, 49, 0.18), 0px 4px 8px 0px rgba(49, 49, 49, 0.16);
}

.card.roundCornerXSm {
  border-radius: var(--corner-sm);
}

.card.roundCornerSm {
  border-radius: var(--corner-md);
}

.card.roundCornerLg {
  border-radius: var(--corner-xl);
}
label._frame_1rr8d_1 {
  height: 4rem;
  border-style: solid;
  border-width: 0.0625rem;
  background-color: rgba(233, 238, 242, 0.3);
  position: relative;

  & > input {
    padding: 1rem 1rem 0;
    height: 100%;
    width: 100%;
    border: none;
    background-color: transparent;
  }
}

._bigText_1rr8d_17,
._smallText_1rr8d_18 {
  pointer-events: none;
  position: absolute;
  left: 0;
  padding: 0 1rem;
}

._leftIcon_1rr8d_25 {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary-1);
  pointer-events: none;
}

label._frame_1rr8d_1._hasIcon_1rr8d_34 ._bigText_1rr8d_17,
label._frame_1rr8d_1._hasIcon_1rr8d_34 ._smallText_1rr8d_18 {
  padding-left: 2.75rem;
}

label._frame_1rr8d_1._hasIcon_1rr8d_34 > input {
  padding-left: 2.75rem;
}

main#tickets-home-page.mobile label._frame_1rr8d_1 {
  height: 3.5rem;
  border: 1px solid #dce4ef !important;
  border-radius: 0.75rem;
  background-color: #fff;
}

main#tickets-home-page.mobile span._smallText_1rr8d_18 {
  top: 0.45rem;
  font-size: calc(var(--fmob-size-10px) + 2px);
  color: #262b33;
}

main#tickets-home-page.mobile span._bigText_1rr8d_17 {
  color: #262b33;
}

main#tickets-home-page.mobile span._smallText_1rr8d_18 + input {
  padding-top: 1.2rem;
  font-size: calc(var(--fmob-size-14px) + 1px);
  color: #253858 !important;
}

main#tickets-home-page.mobile label._frame_1rr8d_1._hasIcon_1rr8d_34 ._leftIcon_1rr8d_25 {
  top: 50%;
  width: 1.3rem;
  height: 1.3rem;
  color: #0878f9;
}

main#tickets-home-page.mobile button._icon_1rr8d_73 {
  right: 0.6rem;
}

span._bigText_1rr8d_17 {
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: calc(var(--fmob-size-14px) + 2px);
  transition: font-size 100ms ease-out;
}

span._smallText_1rr8d_18 {
  top: 0.75rem;
  color: var(--text-2);
  font-family: var(--font-regular);
  font-size: calc(var(--fmob-size-10px) + 4px);
  font-weight: var(--regular-w);
  transition: font-size 100ms ease-out;
}

span._smallText_1rr8d_18 + input,
span._bigText_1rr8d_17 + input {
  border: none;
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--semibold-w);
}

span._smallText_1rr8d_18 + input:focus,
span._bigText_1rr8d_17 + input:focus {
  outline-width: 0;
}

button._icon_1rr8d_73 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.9rem;
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  padding: 0.5rem;
  margin: 0 -0.5rem;
  border-radius: 0.5rem;
}

button._icon_1rr8d_73 svg path {
  fill: #7d8998;
}

main.desktop label._frame_1rr8d_1 {
  background-color: var(--ui-1);
  border-width: 1px;
  border-color: transparent;
  border-right-color: var(--ui-3);
  height: 5rem;
  width: 100%;
  grid-row-start: 1;
}

/* Home/hotels desktop: these fields relied on the old blue backdrop for contrast (near-
   transparent borders). On the new white card they need a real visible border. */
main#tickets-home-page.desktop label._frame_1rr8d_1 {
  border: 1px solid #bac7d5 !important;
  height: 4rem !important;
  padding: 0.625rem 1rem;
}

main#tickets-home-page.desktop span._bigText_1rr8d_17,
main#tickets-home-page.desktop span._smallText_1rr8d_18 {
  padding: 0 1rem;
}

main#tickets-home-page.desktop span._smallText_1rr8d_18 {
  top: 0.55rem;
  font-size: 0.8125rem;
  color: #718096;
}

main#tickets-home-page.desktop span._smallText_1rr8d_18 + input {
  padding-top: 1.1rem;
  font-size: 1rem;
  font-weight: 600;
  color: #071b3a;
}

main#tickets-home-page.desktop button._icon_1rr8d_73 {
  right: 0.85rem;
}

main.desktop button._icon_1rr8d_73 {
  padding: 0.5rem;
  margin: 0 -0.5rem;
}

main.desktop button._icon_1rr8d_73 svg path {
  fill: var(--ui-5);
}

main.desktop span._smallText_1rr8d_18,
main.desktop span._bigText_1rr8d_17 {
  padding: 0 1.25rem;
}

main.desktop span._smallText_1rr8d_18 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--f-size-14px);
  top: 1.125rem;
}

main.desktop span._bigText_1rr8d_17 {
  font-family: var(--font-regular);
  font-size: var(--f-size-18px);
  font-weight: var(--regular-w);
}

main.desktop span._bigText_1rr8d_17 + input,
main.desktop span._smallText_1rr8d_18 + input {
  font-family: var(--font-semibold);
  font-size: var(--f-size-18px);
  font-weight: var(--semibold-w);
  padding: 1.125rem 1.25rem 0;
}

._disabled_1rr8d_202 {
  cursor: default;
}

main.desktop .results-header label._frame_1rr8d_1 {
  height: 3rem;
  border-right-width: 0;
  border-color: var(--ui-4);
}

main.desktop .results-header span._smallText_1rr8d_18 {
  top: 0.35rem;
  padding: 0 1rem;
}

main.desktop .results-header span._bigText_1rr8d_17 {
  font-size: var(--f-size-16px);
}

main.desktop .results-header span._smallText_1rr8d_18 + input {
  font-size: var(--f-size-16px);
  padding: 0.85rem 1rem 0;
}
label._frame_68xza_1 {
  height: 4rem;
  border-style: solid;
  border-width: 0.0625rem;
  background-color: #e9eef24d;
  position: relative;

  & > input {
    padding: 1rem 1rem 0;
    height: 100%;
    width: 100%;
    border: none;
    background-color: transparent;
  }
}

/* Home/hotels desktop: these fields relied on the old blue backdrop for contrast. On the new
   white card they need a real visible border and solid (not translucent) background. */
main#tickets-home-page.desktop label._frame_68xza_1 {
  border: 1px solid #bac7d5 !important;
  background-color: var(--ui-1, #fff);
  height: 4rem !important;
  padding: 0.625rem 1rem;
}

main#tickets-home-page.desktop span._bigText_68xza_26,
main#tickets-home-page.desktop span._smallText_68xza_27 {
  padding: 0 1rem;
}

main#tickets-home-page.desktop span._smallText_68xza_27 {
  top: 0.55rem;
  font-size: 0.8125rem;
  color: #718096;
}

main#tickets-home-page.desktop span._smallText_68xza_27 + input {
  padding-top: 1.1rem;
  font-size: 1rem;
  font-weight: 600;
  color: #071b3a;
}

/* This field's summary text varies a lot by trip type — "1 pasažieris, visas klases" (flights)
   fits, but the hotels version ("2 pasažieri, 1 numurs, visi vecumi") is longer and was getting
   hard-clipped mid-word with no visual cue. Smaller font + ellipsis so it always reads cleanly. */
main#tickets-home-page.desktop input#_passengers_68xza_1 {
  font-size: 0.75rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

._bigText_68xza_26,
._smallText_68xza_27 {
  pointer-events: none;
  position: absolute;
  left: 0;
  padding: 0 1rem;
  color: var(--text-2);
}

._leftIcon_68xza_63 {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary-1);
  pointer-events: none;
}

label._frame_68xza_1._hasIcon_68xza_72 ._bigText_68xza_26,
label._frame_68xza_1._hasIcon_68xza_72 ._smallText_68xza_27 {
  padding-left: 2.75rem;
}

label._frame_68xza_1._hasIcon_68xza_72 > input {
  padding-left: 2.75rem;
}

main#tickets-home-page.mobile label._frame_68xza_1 {
  height: 3.5rem;
  border: 1px solid #dce4ef !important;
  border-radius: 0.75rem;
  background-color: #fff;
}

main#tickets-home-page.mobile span._smallText_68xza_27 {
  top: 0.45rem;
  font-size: calc(var(--fmob-size-10px) + 2px);
  color: #262b33;
}

main#tickets-home-page.mobile span._bigText_68xza_26 {
  color: #262b33;
}

main#tickets-home-page.mobile span._smallText_68xza_27 + input {
  padding-top: 1.2rem;
  font-size: calc(var(--fmob-size-14px) + 1px);
  color: #253858 !important;
}

main#tickets-home-page.mobile label._frame_68xza_1._hasIcon_68xza_72 ._leftIcon_68xza_63 {
  top: 50%;
  width: 1.3rem;
  height: 1.3rem;
  color: #0878f9;
}

span._bigText_68xza_26 {
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: calc(var(--fmob-size-14px) + 2px);
}

span._smallText_68xza_27 {
  top: 0.75rem;
  color: var(--text-2);
  font-family: var(--font-regular);
  font-size: calc(var(--fmob-size-10px) + 4px);
  font-weight: var(--regular-w);
}

span._smallText_68xza_27 + input,
span._bigText_68xza_26 + input {
  border: none;
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--semibold-w);
}

span._smallText_68xza_27 + input:focus,
span._bigText_68xza_26 + input:focus {
  outline-width: 0;
}

main.desktop span._smallText_68xza_27 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--f-size-14px);
  top: 1.125rem;
  padding: 0 1.25rem;
}

main.desktop span._smallText_68xza_27 + input {
  font-family: var(--font-semibold);
  font-size: var(--f-size-18px);
  font-weight: var(--semibold-w);
  padding: 1.125rem 1.25rem 0;
}

main.desktop .results-header label._frame_68xza_1 {
  border: 1px solid var(--ui-4);
  height: 3rem;
  border-radius: 0rem var(--corner-sm) var(--corner-sm) 0rem;
}

main.desktop .results-header span._smallText_68xza_27 {
  top: 0.35rem;
  padding: 0 1rem;
}

main.desktop .results-header span._bigText_68xza_26 {
  font-size: var(--f-size-16px);
}

main.desktop .results-header span._smallText_68xza_27 + input {
  font-size: var(--f-size-16px);
  padding: 0.85rem 1rem 0;
}
form._search_54u5t_1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(5, minmax(3.4375rem, max-content));
  grid-auto-rows: 1fr;
}

._roundtrip_54u5t_15 {
  grid-template-areas:
    "src src"
    "dest dest"
    "start-date end-date"
    "passengers passengers"
    ". ."
    "search-button search-button";
}

._oneway_54u5t_35 {
  grid-template-areas:
    "src src"
    "dest dest"
    "start-date start-date"
    "passengers passengers"
    ". ."
    "search-button search-button";
}

._src_54u5t_55 {
  grid-area: src;
  border-radius: var(--corner-sm) var(--corner-sm) 0rem 0rem;
  border-color: #bac7d5;
}
._dest_54u5t_65 {
  grid-area: dest;
  border-color: transparent #bac7d5 #bac7d5;
}
._startDate_54u5t_73 {
  grid-area: start-date;
  border-color: transparent #bac7d5 #bac7d5;
}
._endDate_54u5t_81 {
  grid-area: end-date;
  border-color: transparent #bac7d5 #bac7d5 transparent;
}
._passengers_54u5t_89 {
  grid-area: passengers;
  border-radius: 0rem 0rem var(--corner-sm) var(--corner-sm);
  border-color: transparent #bac7d5 #bac7d5;
}

form._search_54u5t_1:not(._desktop_54u5t_101) > button:last-of-type {
  grid-area: search-button;
  margin-top: 0.25rem;
  min-height: 3.5rem;
}

/* Home page mobile: individual rounded, gapped field cards instead of one connected block,
   and the return date drops to its own row instead of sharing one with the depart date. */
main#tickets-home-page.mobile form._search_54u5t_1:not(._desktop_54u5t_101) {
  row-gap: 0.5rem;
}

main#tickets-home-page.mobile form._search_54u5t_1:not(._desktop_54u5t_101) > button:last-of-type {
  /* Overrides the inline gridRow:"5" the JS sets when hideCheckboxes is true (hotels form) —
     that positioning was calibrated for the old grid, which had an empty spacer row 5; this
     grid has no spacer, so without this the button lands on top of the passengers field. */
  grid-area: search-button !important;
  background: linear-gradient(90deg, #0ea5e9, #146ef5) !important;
  border-radius: 0.75rem !important;
  min-height: 3.5rem !important;
  margin-top: 0.1rem !important;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.5rem;
  box-shadow: 0 0.375rem 1rem rgba(20, 110, 245, 0.3);
}

main#tickets-home-page.mobile form._search_54u5t_1:not(._desktop_54u5t_101) > button:last-of-type:hover {
  background: linear-gradient(90deg, #0b8fcb, #0f5cd6) !important;
}

main#tickets-home-page.mobile form._roundtrip_54u5t_15:not(._desktop_54u5t_101) {
  grid-template-rows: repeat(6, minmax(3rem, max-content));
  grid-template-areas:
    "src src"
    "dest dest"
    "start-date start-date"
    "end-date end-date"
    "passengers passengers"
    "search-button search-button";
}

main#tickets-home-page.mobile ._src_54u5t_55,
main#tickets-home-page.mobile ._dest_54u5t_65,
main#tickets-home-page.mobile ._startDate_54u5t_73,
main#tickets-home-page.mobile ._endDate_54u5t_81,
main#tickets-home-page.mobile ._passengers_54u5t_89 {
  height: 3.25rem !important;
  border-radius: 0.4375rem !important;
  border: 1px solid #dce6f2 !important;
  background-color: var(--ui-1, #fff);
  transition: border-color 0.15s, box-shadow 0.15s;
}

main#tickets-home-page.mobile ._src_54u5t_55:hover,
main#tickets-home-page.mobile ._dest_54u5t_65:hover,
main#tickets-home-page.mobile ._startDate_54u5t_73:hover,
main#tickets-home-page.mobile ._endDate_54u5t_81:hover,
main#tickets-home-page.mobile ._passengers_54u5t_89:hover {
  border-color: #0878f9 !important;
}

main#tickets-home-page.mobile ._src_54u5t_55:focus-within,
main#tickets-home-page.mobile ._dest_54u5t_65:focus-within,
main#tickets-home-page.mobile ._startDate_54u5t_73:focus-within,
main#tickets-home-page.mobile ._endDate_54u5t_81:focus-within,
main#tickets-home-page.mobile ._passengers_54u5t_89:focus-within {
  border-color: #0878f9 !important;
  box-shadow: 0 0 0 0.1875rem rgba(0, 120, 255, 0.12);
}

main#tickets-home-page.mobile ._src_54u5t_55::after,
main#tickets-home-page.mobile ._dest_54u5t_65::after,
main#tickets-home-page.mobile ._passengers_54u5t_89::after {
  content: "";
  position: absolute;
  right: 1.1rem;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-right: 2px solid #8b97a8;
  border-bottom: 2px solid #8b97a8;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}

/* SF MODAL BUTTONS ON RESULTS PAGE */
form._search_54u5t_1:not(._desktop_54u5t_101) > button._back_54u5t_279 {
  grid-column-start: 1;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--fmob-size-14px);
  color: var(--primary-2);
}

form._search_54u5t_1:not(._desktop_54u5t_101) > button._back_54u5t_279 + button:last-of-type {
  grid-column-start: 2;
  justify-self: end;
  width: 7.5rem;
}
form._search_54u5t_1:not(._desktop_54u5t_101) > button._back_54u5t_279,
form._search_54u5t_1:not(._desktop_54u5t_101) > button._back_54u5t_279 + button:last-of-type {
  grid-row-start: 5;
  grid-row-end: 5;
  margin-top: 1.88rem;
  align-self: center;
}
/* SF MODAL BUTTONS ON RESULTS PAGE --- END */

._desktop_54u5t_101._oneway_54u5t_35,
._desktop_54u5t_101._roundtrip_54u5t_15 {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  grid-auto-rows: auto;
  align-items: stretch;
}

._desktop_54u5t_101._roundtrip_54u5t_15 {
  grid-template-columns:
    repeat(2, minmax(19%, 15rem))
    repeat(2, minmax(14.25%, 11.25rem))
    20% 0.5rem auto;
}

._desktop_54u5t_101._oneway_54u5t_35 {
  grid-template-columns:
    repeat(2, minmax(19%, 17.14rem))
    minmax(17.75%, 15.98rem)
    22.9% 0.5rem 0rem auto;
}

._desktop_54u5t_101 ._passengers_54u5t_89,
._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 {
  grid-row-start: 1;
}

._desktop_54u5t_101 ._passengers_54u5t_89,
._desktop_54u5t_101._search_54u5t_1:not(._results_54u5t_381) ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button {
  border-width: 1px;
  border-color: transparent;
  height: 5rem;
  width: 100%;
}

._desktop_54u5t_101 ._src_54u5t_55,
._desktop_54u5t_101 ._dest_54u5t_65 {
  grid-row-start: 1;
}

._desktop_54u5t_101 ._src_54u5t_55 {
  border-radius: var(--corner-sm) 0rem 0rem var(--corner-sm);
  grid-column-start: 1;
  grid-column-end: 2;
}
._desktop_54u5t_101 ._dest_54u5t_65 {
  border-radius: 0rem;
  grid-column-start: 2;
  grid-column-end: 3;
}

._desktop_54u5t_101 ._startDate_54u5t_73 {
  grid-column-start: 3;
  grid-column-end: 4;
}

._desktop_54u5t_101 ._endDate_54u5t_81 {
  grid-column-start: 4;
  grid-column-end: 5;
}

._desktop_54u5t_101 ._passengers_54u5t_89 {
  background-color: var(--ui-1);
  border-right-color: transparent;
  border-radius: 0rem var(--corner-md) var(--corner-md) 0rem;
  grid-column-start: 5;
  grid-column-end: 6;
}

._desktop_54u5t_101._oneway_54u5t_35 ._passengers_54u5t_89 {
  grid-column-start: 4;
  grid-column-end: 5;
}

._desktop_54u5t_101 ._endDate_54u5t_81 div,
._desktop_54u5t_101 ._startDate_54u5t_73 div {
  padding: 1.25rem 0.75rem;
  margin: -1.25rem -0.75rem;
}

form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 {
  grid-column: -2 / -1;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
}

form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button {
  background-color: var(--search-button-color);
  border-right-color: transparent;
  text-align: center;
  margin: 0;
}

form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button:hover {
  background-color: var(--search-button-hover-color);
}

/* Home/hotels desktop: brand blue CTA (not the tenant's --search-button-color, which is
   orange/pink depending on environment) at the target compact height, matching the field row. */
main#tickets-home-page.desktop ._passengers_54u5t_89,
main#tickets-home-page.desktop form._desktop_54u5t_101._search_54u5t_1:not(._results_54u5t_381) ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button {
  height: 4rem !important;
}

main#tickets-home-page.desktop form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button {
  background-color: #0878f9 !important;
  border-radius: 0.5rem !important;
  font-weight: 700;
}

main#tickets-home-page.desktop form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button:hover {
  background-color: #0067d6 !important;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._passengers_54u5t_89 + div,
form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 > ._searchBtn_54u5t_371 + div {
  grid-row-start: 2;
  grid-column-start: 1;
  justify-self: start;
  text-wrap: nowrap;
  margin-top: 1.25rem;
}

form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 + div {
  grid-row-start: 2;
  grid-column-start: 1;
  margin-top: 1.25rem;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._passengers_54u5t_89 + div + div,
form._desktop_54u5t_101._search_54u5t_1 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 + div + div {
  justify-self: end;
  grid-column: 2 / -1;
  grid-row-start: 2;
  text-wrap: nowrap;
  margin-top: 1.25rem;
}

._fontclass_54u5t_605 {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--fmob-size-18px);
}

._desktop_54u5t_101 ._fontclass_54u5t_605 {
  font-family: var(--font-bold);
  font-size: var(--f-size-18px);
  font-weight: var(--bold-w);
}

span._checkbox2_54u5t_629 b {
  color: #003580;
}

._desktop_54u5t_101 span._checkbox2_54u5t_629,
._desktop_54u5t_101 span._checkbox1_54u5t_639,
._desktop_54u5t_101 span._checkbox2_54u5t_629 b {
  color: var(--ui-1);
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--f-size-16px);
}

/* Home/hotels desktop: these checkboxes now sit on a white card (not the old blue backdrop),
   so the white label text needs to be dark to stay visible. */
main#tickets-home-page.desktop ._desktop_54u5t_101 span._checkbox2_54u5t_629,
main#tickets-home-page.desktop ._desktop_54u5t_101 span._checkbox1_54u5t_639,
main#tickets-home-page.desktop ._desktop_54u5t_101 span._checkbox2_54u5t_629 b {
  color: var(--primary-2);
}

/* Checkbox.module.css's shared ".desktop.checkbox input" rule paints the box solid blue when
   UNCHECKED and white when CHECKED — backwards, and unreadable on this white card (an untouched
   box looks selected, a selected one looks empty). Fix just the unchecked state here; the
   existing checked state (white + accent-colored tick) already reads fine once this is fixed. */
main#tickets-home-page.desktop ._desktop_54u5t_101 input[type="checkbox"] {
  background-color: #fff !important;
  border: 1.5px solid #bac7d5 !important;
}

._desktop_54u5t_101._results_54u5t_381 {
  margin: 0.5rem 0 0.75rem;
  transition: all 1s ease;
}

form._desktop_54u5t_101._results_54u5t_381 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button {
  height: 3rem;
  border-radius: var(--corner-sm);
  font-size: 1rem;
  background-color: var(--primary-1);
  width: 100%;
  visibility: visible;
}

form._desktop_54u5t_101._results_54u5t_381 ._passengers_54u5t_89 + ._searchBtn_54u5t_371 button:hover {
  background-color: var(--primary-btn-hover-color);
}

._desktop_54u5t_101._results_54u5t_381 ._searchBtn_54u5t_371 button._hideBtn_54u5t_725 {
  visibility: hidden;
  width: 100%;
}

._desktop_54u5t_101._roundtrip_54u5t_15._noSFButton_54u5t_557 {
  transition: all 1s ease;
  transition-delay: 0.25s;
  grid-template-columns:
    repeat(2, minmax(21.65%, 17rem))
    repeat(2, minmax(17.1%, 13rem))
    22.5% 0rem 0fr;
}

._desktop_54u5t_101._oneway_54u5t_35._noSFButton_54u5t_557 {
  transition: all 1s ease;
  transition-delay: 0.25s;
  grid-template-columns:
    repeat(2, minmax(auto, 25%))
    minmax(17.75%, 24%)
    26% 0rem 0rem 0rem;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._src_54u5t_55 {
  grid-row-start: 1;
  grid-column: 1 / 2;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._dest_54u5t_65 {
  grid-row-start: 1;
  grid-column: 2 / 3;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._startDate_54u5t_73 {
  grid-row-start: 1;
  grid-column: 3 / 4;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._endDate_54u5t_81 {
  grid-row-start: 1;
  grid-column: 4 / 5;
}

._desktop_54u5t_101._noSFButton_54u5t_557 ._passengers_54u5t_89 {
  grid-row-start: 1;
  grid-column: 5 / 6;
}

._desktop_54u5t_101._oneway_54u5t_35._noSFButton_54u5t_557 ._passengers_54u5t_89 {
  grid-row-start: 1;
  grid-column: 4 / 5;
}

._back_54u5t_279 {
  border: none;
  background: none;
  padding: 0;
  text-align: left;
}

@media only screen and (max-width: 1439px) and (min-width: 991px) {
  ._desktop_54u5t_101._roundtrip_54u5t_15 {
    grid-template-columns:
      repeat(2, 19%)
      repeat(2, 15%)
      19.43% 0.5rem 1fr;
  }
  ._desktop_54u5t_101._roundtrip_54u5t_15._noSFButton_54u5t_557 {
    transition: all 1s ease;
    transition-delay: 0.25s;
    grid-template-columns:
      repeat(2, 21.65%)
      repeat(2, 17.1%)
      22.5% 0rem 0fr;
  }

  ._desktop_54u5t_101._oneway_54u5t_35 {
    grid-template-columns:
      repeat(2, 21.85%)
      21.38%
      22.34% 0.5rem 0rem auto;
  }
  ._desktop_54u5t_101._oneway_54u5t_35._noSFButton_54u5t_557 {
    transition: all 1s ease;
    transition-delay: 0.25s;
    grid-template-columns:
      repeat(2, 25%)
      21.38%
      28.62% 0rem 0rem 0fr;
  }
}
._switch_rrkct_1 {
}

._switchButton_rrkct_7 {
  grid-row-start: 1;
  grid-row-end: span 2;
  align-self: center;
  grid-column-start: 2;
  justify-self: end;
  margin: 1.25rem;
  padding: 2px 3px 0;
  z-index: var(--zindex-medium-low);
  border: none;
  background: none;
  border-radius: 100%;
}

main#tickets-home-page.mobile ._switchButton_rrkct_7 {
  box-shadow: 0 0.125rem 0.375rem rgba(15, 42, 80, 0.15);
  border-radius: 100%;
}

main.desktop ._switchButton_rrkct_7 {
  padding: 0.25rem;
  grid-row: 1 / 2;
  grid-column: 1 / span 2;
  justify-self: center;
  align-self: center;
  margin: 0;
}

main.desktop ._switchButton_rrkct_7 svg {
  height: 1.875rem;
  width: 1.875rem;
  cursor: pointer;
  display: block;
}

main.desktop ._switchButton_rrkct_7 svg rect + rect {
  stroke: var(--ui-3);
  stroke-opacity: 1;
}

main.desktop .results-header ._switchButton_rrkct_7 {
  background: none;
  width: fit-content;
}

main.desktop .results-header ._switchButton_rrkct_7 svg {
  height: 1.6rem;
  width: 1.6rem;
}

main.desktop .results-header ._switchButton_rrkct_7 svg rect + rect {
  stroke: #bad1f7;
}

._switchButton_rrkct_7 svg path,
._switch_rrkct_1 svg path {
  transform: rotate(0deg);
  transform-origin: center;
  transition: none;
}

._switchButton_rrkct_7._anim_rrkct_129 svg path,
._switch_rrkct_1._anim_rrkct_129 svg path {
  transform: rotate(180deg);
  transition: all 200ms linear;
}
label._frame_ux0x2_1 {
  height: 3.5rem;
  border: solid 0.0625rem #bac7d5;
  border-radius: var(--corner-sm);
  background-color: rgba(233, 238, 242, 0.3);
  position: relative;

  & > input {
    padding: 1rem 1.25rem 0;
    height: 100%;
    width: 100%;
    border: none;
    background-color: transparent;
  }
}

label._frame_ux0x2_1._active_ux0x2_17 {
  border-color: var(--primary-1);
}

main#tickets-home-page.mobile label._frame_ux0x2_1 {
  height: 3.5rem;
  border: 1px solid #dce4ef !important;
  border-radius: 0.75rem;
  background-color: #fff;
}

main.desktop label._frame_ux0x2_1 {
  flex-direction: column;
  row-gap: 0.25rem;
  justify-content: center;
  align-items: flex-start;
  background-color: var(--ui-1);
  border-width: 1px;
  border-color: transparent;
  border-right-color: var(--ui-3);
  height: 5rem;
  width: 100%;
}

/* Home/hotels desktop: relied on the old blue backdrop for contrast. On the new white card
   these need a real visible border, matching the rest of the field row. */
main#tickets-home-page.desktop label._frame_ux0x2_1 {
  border: 1px solid #bac7d5 !important;
  height: 4rem !important;
  padding: 0.625rem 1rem;
}

main#tickets-home-page.desktop span._bigText_ux0x2_49,
main#tickets-home-page.desktop span._smallText_ux0x2_50 {
  padding: 0 1rem;
}

main#tickets-home-page.desktop span._smallText_ux0x2_50 {
  top: 0.55rem;
  font-size: 0.8125rem;
  color: #718096;
}

main#tickets-home-page.desktop span._smallText_ux0x2_50 + input {
  padding-top: 1.1rem;
  font-size: 1rem;
  font-weight: 600;
  color: #071b3a;
}

span._bigText_ux0x2_49,
span._smallText_ux0x2_50 {
  position: absolute;
  left: 0;
  padding: 0 1.25rem;
}

span._bigText_ux0x2_49 {
  color: var(--text-2);
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: calc(var(--fmob-size-14px) + 2px);
}
span._smallText_ux0x2_50 {
  top: 0.75rem;
}

span._bigText_ux0x2_49 + input {
  color: var(--primary-2);
  caret-color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--semibold-w);
}

span._bigText_ux0x2_49 + input::placeholder {
  color: var(--ui-5);
  font-family: var(--font-regular);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--regular-w, 400);
}

main.desktop span._bigText_ux0x2_49,
main.desktop span._smallText_ux0x2_50 {
  pointer-events: none;
}

main.desktop span._bigText_ux0x2_49 {
  font-family: var(--font-regular);
  font-size: var(--f-size-18px);
  font-weight: var(--regular-w);
  transition: font-size 100ms ease-out;
}

main.desktop span._smallText_ux0x2_50 + input {
  font-family: var(--font-semibold);
  font-size: var(--f-size-18px);
  font-weight: var(--semibold-w);
  color: var(--primary-2);
  caret-color: var(--primary-2);
  padding-top: 1.125rem;
}

main.desktop span._smallText_ux0x2_50 {
  top: 1.125rem;
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--f-size-14px);
  color: var(--text-2);
  transition: font-size 100ms ease-out;
}

main.desktop span._iata_ux0x2_131 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--f-size-14px);
  color: var(--text-2);
  transition: font-size 100ms ease-out;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.56rem;
}

span._bigText_ux0x2_49 + input:focus {
  outline-width: 0;
}

button._icon_ux0x2_147 {
  border: none;
  background: none;
  padding: 0.5rem;
  margin: -0.5rem -0.813rem -0.5rem -0.5rem;
}

button._icon_ux0x2_147 img {
  text-align: center;
  vertical-align: middle;
}

main.desktop .results-header label._frame_ux0x2_1 {
  height: 3rem;
  border-right-width: 0;
  border-color: var(--ui-4);
}

main.desktop .results-header span._smallText_ux0x2_50 {
  top: 0.35rem;
  padding: 0 1rem;
}

main.desktop .results-header span._bigText_ux0x2_49 {
  font-size: var(--f-size-16px);
}

main.desktop .results-header label._frame_ux0x2_1:first-child {
  border-radius: var(--corner-sm) 0rem 0rem var(--corner-sm);
}

main.desktop .results-header span._smallText_ux0x2_50 + input {
  font-size: var(--f-size-16px);
  padding: 0.85rem 1rem 0;
}
._button_1p0hi_1 {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-style: var(--font-style);
  font-weight: var(--semibold-w);
  line-height: var(--line-height);
  font-size: var(--f-size-14px);
}

._container_1p0hi_27 {
  display: flex;
  flex-direction: row;
  align-items: center;
}

._icon_1p0hi_39 {
  padding: 0;
}

._icon_1p0hi_39 + span,
._container_1p0hi_27:has(._icon_1p0hi_39) > span {
  margin-left: 0.3rem;
}

nav button:last-child ._icon_1p0hi_39 + span {
  margin: 0;
}

._button_1p0hi_1:last-of-type ._icon_1p0hi_39 + span {
  margin: 0;
}
._container_1kjn1_1 {
  display: flex;
  flex-direction: row;
  position: relative;
}

._directions_1kjn1_13 {
  cursor: pointer;
}

._directions_1kjn1_13 li {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: solid var(--ui-3);
  border-width: 0.0625rem;
  word-break: break-all;
}

._directions_1kjn1_13 button {
  padding: 0.625rem;
  font-family: var(--font-medium);
  font-size: 0.9375rem;
  font-weight: var(--semibold-w);
  color: var(--primary-2);
  user-select: none;
  -webkit-user-select: none;
  width: 100%;
  height: 3.25rem;
}

._directions_1kjn1_13 button span {
  justify-content: center;
  word-break: break-word;
  padding-left: 0.25rem;
}

._directions_1kjn1_13 ._selected_1kjn1_79 button span img {
  filter: invert(0.75) brightness(40%) sepia(100%) hue-rotate(178deg) saturate(8)
    contrast(0.85);
}
._directions_1kjn1_13 ._leftmost_1kjn1_87 {
  border-radius: var(--corner-sm) 0rem 0rem var(--corner-sm);
}

._directions_1kjn1_13 ._rightmost_1kjn1_95 {
  border-radius: 0 var(--corner-sm) var(--corner-sm) 0;
}

._directions_1kjn1_13 ._middle_1kjn1_103 {
  border-left-color: transparent;
  border-right-color: transparent;
}

._directions_1kjn1_13 ._selected_1kjn1_79 {
  border-color: var(--primary-1);
  background-color: #e8f2fe;
}

._directions_1kjn1_13 ._selected_1kjn1_79 button {
  color: var(--primary-1);
}

._directions_1kjn1_13._desktop_1kjn1_131 {
  width: max-content;
  column-gap: 1.25rem;
}

._directions_1kjn1_13._desktop_1kjn1_131 li {
  border: none;
}

/* Hardcoded rather than the tenant's --radio-accent-* vars: locally those resolve to a
   blue-on-blue combination that makes both checked and unchecked states look like solid blue
   circles of different sizes with no clear "selected" signal. */
._directions_1kjn1_13._desktop_1kjn1_131 li :not(._results_1kjn1_155) input[type="radio"] {
  background-color: #fff;
  border: 1.5px solid #bac7d5;
}

._directions_1kjn1_13._desktop_1kjn1_131 li :not(._results_1kjn1_155) input[type="radio"]:checked {
  background-color: #0878f9;
  border: 1.5px solid #0878f9;
  position: relative;
}

._directions_1kjn1_13._desktop_1kjn1_131 li :not(._results_1kjn1_155) input[type="radio"]::before {
  content: "";
  opacity: 0;
  width: 0;
  height: 0;
}

._directions_1kjn1_13._desktop_1kjn1_131 li :not(._results_1kjn1_155) input[type="radio"]:checked::before {
  content: "";
  opacity: 1;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  box-sizing: border-box;
}

._directions_1kjn1_13._desktop_1kjn1_131 li :not(._results_1kjn1_155) input[type="radio"]:checked + span._radioText_1kjn1_221 {
  color: #0878f9 !important;
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
}

._directions_1kjn1_13._desktop_1kjn1_131 span._radioText_1kjn1_221 {
  color: var(--ui-1);
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  font-size: var(--f-size-16px);
}

/* Home/hotels desktop: this row now sits on a white card (not the old blue backdrop), so the
   white label text needs to be dark to stay visible. */
main#tickets-home-page.desktop ._directions_1kjn1_13._desktop_1kjn1_131 span._radioText_1kjn1_221 {
  color: var(--primary-2);
}

._directions_1kjn1_13._desktop_1kjn1_131 ._results_1kjn1_155 span._radioText_1kjn1_221 {
  color: var(--direction-results-color);
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: var(--f-size-16px);
}

main.desktop ._directions_1kjn1_13 li {
  width: auto;
}
._container_i7m8c_1 {
  display: flex;
  flex-direction: column;
}

._container_i7m8c_1 h2 {
  margin-top: 1.15rem;
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: var(--fmob-size-18px);
  font-weight: var(--medium-w);
}

main.desktop ._container_i7m8c_1 h2 {
  margin-bottom: 1.25rem;
  margin-top: 0;
  font-family: var(--font-semibold);
  font-size: var(--f-size-18px);
  font-weight: var(--semibold-w);
}

._content_i7m8c_43 {
  display: grid;
  grid-auto-rows: max-content;
}

._searchInput_i7m8c_53 h1 {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-20px);
  font-weight: var(--semibold-w);
  margin-bottom: 0.75rem;
}

._searchInput_i7m8c_53 {
  margin-bottom: 0.75rem;
}

._emptyResult_i7m8c_77 {
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: var(--fmob-size-16px);
  font-weight: var(--medium-w);
  line-height: 1.125rem;
  transition: all 200ms ease;
}

main.desktop ._emptyResult_i7m8c_77 {
  height: 9.38rem;
  line-height: 1.25rem;
  max-width: 25rem;
}

div._frame_i7m8c_107 {
  height: 3.5rem;
  padding: 0 1.25rem;
  border: solid 0.0625rem #bac7d5;
  border-radius: var(--corner-sm);
  background-color: rgba(233, 238, 242, 0.3);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  cursor: text;
}

div._frame_i7m8c_107._active_i7m8c_135 {
  border-color: var(--primary-1);
}

._bigText_i7m8c_143 {
  color: var(--text-2);
}

label._bigText_i7m8c_143,
div._frame_i7m8c_107 {
  cursor: text;
}

label._bigText_i7m8c_143 {
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  font-size: calc(var(--fmob-size-14px) + 2px);
  display: flex;
  flex-direction: row;
  column-gap: 0.6rem;
  align-items: baseline;
  width: 100%;
}

label._bigText_i7m8c_143 input {
  width: 100%;
  background-color: transparent;
  border: none;
  color: var(--primary-2);
  caret-color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--semibold-w);
}

label._bigText_i7m8c_143 input::placeholder {
  color: var(--ui-5);
  font-family: var(--font-regular);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--small-text-regular-font-weight, 400);
}

label._bigText_i7m8c_143 input:focus {
  outline-width: 0;
}

button._icon_i7m8c_227 {
  border: none;
  background: none;
  padding: 0.5rem;
  margin: -0.5rem -0.813rem -0.5rem -0.5rem;
}

button._icon_i7m8c_227 img {
  text-align: center;
  vertical-align: middle;
}
._container_9q2lc_1 {
  display: flex;
  flex-direction: column;
}

ul._cityList_9q2lc_11 {
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--medium-w);
  margin-top: 0.7rem;
  row-gap: 0.25rem;
}

ul._cityList_9q2lc_11._filtered_9q2lc_29 {
  row-gap: 0.25rem;
  margin-top: 0;
}

main.desktop ul._cityList_9q2lc_11 {
  row-gap: 0rem;
  font-family: var(--font-medium);
  font-size: var(--f-size-16px);
  font-weight: var(--medium-w);
  margin-top: 0;
}

main.desktop ul._cityList_9q2lc_11._filtered_9q2lc_29 {
  margin-top: -0.625rem;
}

li._cityItem_9q2lc_63 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

main.desktop li._cityItem_9q2lc_63 {
  min-height: 3.125rem;
  justify-content: center;
}

li._cityItem_9q2lc_63 div._row_9q2lc_85 {
  column-gap: 1.25rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  min-height: fit-content;
  overflow: hidden;
  width: 100%;
}

main.desktop ul._cityList_9q2lc_11._filtered_9q2lc_29 div._row_9q2lc_85 ._airportList_9q2lc_105 {
  row-gap: 0;
}

main.desktop li._cityItem_9q2lc_63 div._row_9q2lc_85:first-of-type {
  height: 3.125rem;
}
li._cityItem_9q2lc_63 div._row_9q2lc_85:first-of-type {
  height: 3.125rem;
}

li._cityItem_9q2lc_63 img,
li._cityItem_9q2lc_63 p,
li._cityItem_9q2lc_63 div._col_9q2lc_131 {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

li._cityItem_9q2lc_63 ._row_9q2lc_85 img,
li._cityItem_9q2lc_63 ._col_9q2lc_131::after {
  min-width: 1.125rem;
  max-width: 1.125rem;
}

li._cityItem_9q2lc_63 ._row_9q2lc_85 p {
  display: inline;
}
li._cityItem_9q2lc_63 ._row_9q2lc_85 p > span {
  font-family: var(--font-bold);
  font-weight: var(--bold-w);
  background-color: var(--ui-2);
  border-radius: 0.3125rem;
  padding: 0.25rem;
  font-size: var(--f-size-14px);
  margin-left: 0.25rem;
}
li._cityItem_9q2lc_63 ._row_9q2lc_85:hover p > span {
  background-color: var(--ui-4);
}

li._cityItem_9q2lc_63 div._col_9q2lc_131::after {
  content: "";
}

main.desktop li._cityItem_9q2lc_63 div._col_9q2lc_131 {
  width: 0.5rem;
}

ul._airportList_9q2lc_105 {
  flex-basis: 100%;
  overflow: hidden;
}

main.desktop ul._airportList_9q2lc_105 {
  row-gap: 0.5rem;
  margin: 0 0 0 2.5rem;
}

li._airportItem_9q2lc_223 {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: 1rem;
  opacity: 0;
  transform: translateY(-110%);
  transition: all 50ms ease-out;
  height: 3.125rem;
}

main.desktop li._cityItem_9q2lc_63,
main.desktop li._airportItem_9q2lc_223 {
  height: 3.125rem;
  align-items: center;
  border-radius: var(--corner-sm);
  padding: 0 1rem;
  column-gap: 1.25rem;
}

main.desktop li._cityItem_9q2lc_63:hover,
main.desktop li._airportItem_9q2lc_223:hover {
  background-color: var(--ui-2);
}

main.desktop li._cityItem_9q2lc_63:focus-visible,
main.desktop li._airportItem_9q2lc_223:focus-visible {
  outline: none;
  background-color: var(--ui-2);
}

main.desktop li._cityItem_9q2lc_63,
main.desktop li._airportItem_9q2lc_223 {
  cursor: pointer;
}

main.desktop li._airportItem_9q2lc_223 > div {
  row-gap: 0;
}

li._airportItem_9q2lc_223._anim_9q2lc_303 {
  opacity: 100%;
  transform: none;
  transition: all 50ms ease-out;
}

li._airportItem_9q2lc_223 > div {
  row-gap: 0.12rem;
}

li._cityItem_9q2lc_63._cityOnly_9q2lc_323 p + p,
li._airportItem_9q2lc_223 p + p {
  color: var(--ui-5);
  font-family: var(--font-regular);
  font-weight: var(--regular-w);
  line-height: 1.375rem;
}

._airportOnly_9q2lc_339 li {
  column-gap: 1.25rem;
}
._container_19xon_1 {
  display: flex;
  flex-direction: column;
}

ul._savedSearchesList_19xon_11 {
  row-gap: 0.25rem;
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: var(--fmob-size-16px);
  font-weight: var(--medium-w);
  margin-bottom: 0.42rem;
  margin-top: 1.25rem;
}

main.desktop ul._savedSearchesList_19xon_11 {
  row-gap: 0rem;
  margin-bottom: 1.875rem;
  margin-top: 0;
  font-family: var(--font-medium);
  font-size: var(--f-size-16px);
  font-weight: var(--medium-w);
}

li._savedSearchItem_19xon_49 {
  display: flex;
  flex-direction: row;
  grid-column-start: 2;
  column-gap: 1rem;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  height: 3.125rem;
}

main.desktop li._savedSearchItem_19xon_49 {
  height: 3.125rem;
  border-radius: var(--corner-sm);
  padding: 0 1rem;
  column-gap: 1.25rem;
  align-items: center;
}

main.desktop li._savedSearchItem_19xon_49:hover {
  background-color: var(--ui-2);
}

main.desktop li._savedSearchItem_19xon_49 > div {
  row-gap: 0;
}

li._savedSearchItem_19xon_49 > div {
  row-gap: 0.12rem;
}

li._savedSearchItem_19xon_49 p + p {
  color: var(--ui-5);
}

main.desktop li._savedSearchItem_19xon_49 p + p {
  font-family: var(--font-regular);
  font-size: var(--f-size-16px);
  line-height: 1.375rem;
  font-weight: var(--regular-w);
}

li._savedSearchItem_19xon_49 p > img {
  vertical-align: middle;
  padding: 0 0.38rem;
}

li._savedSearchItem_19xon_49 p > span {
  padding: 0 0.25rem;
}

li._savedSearchItem_19xon_49 > div {
  flex-basis: 100%;
}
._exit_k3hvd_1 {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  cursor: pointer;
  padding: .75rem;
  margin: -0.75rem;
  border-radius: var(--corner-sm);
  padding-bottom: 0.25rem;
}

._exit_k3hvd_1:hover {
  background-color: var(--ui-3);
  transition: background-color 0.15s;
}

._exit_k3hvd_1 svg {
  vertical-align: text-top;
}

._mobile_k3hvd_41._exit_k3hvd_1 svg {
  height: 0.625rem;
  width: 0.625rem;
}
.scroll-calendar {
  padding-top: 0.75rem;
  overflow-y: scroll;
}

.mobile-datepicker {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-14px);
  font-weight: var(--semibold-w);
}

.mobile-datepicker .month .month-title {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  column-gap: 0.25rem;
  margin: 1.25rem 0 0.35rem;
  font-size: calc(var(--fmob-size-14px) + 2px);
}

.mobile-datepicker .month .month-title span {
  order: 1;
}

.mobile-datepicker .month ul {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: auto;
  gap: 0.25rem;
  place-items: stretch;
}

.mobile-datepicker .month ul.date li {
  cursor: pointer;
  border-radius: var(--corner-sm);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.mobile-datepicker .month ul.date li:before {
  content: "";
  padding: 42.5% 0;
}

.mobile-datepicker .month ul.date li.disabled {
  pointer-events: none;
}
.mobile-datepicker .month ul.date li.disabled span {
  color: var(--text-3);
  cursor: not-allowed;
  font-family: var(--font-regular);
  font-size: var(--fmob-size-14px);
  font-weight: var(--regular-w);
}

.mobile-datepicker .month ul.date li.today {
  color: var(--primary-1);
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-14px);
  font-weight: var(--semibold-w);
}

.mobile-datepicker .month ul.date li.range {
  background: var(--ui-2);
}

.mobile-datepicker .month ul.date li.active {
  background: var(--primary-1);
  color: var(--ui-1);
}

/* Direct-flight dates: light rounded-square background. When selected the
   date turns dark blue with a white number. */
.mobile-datepicker .month ul.date li.direct-flight:not(.disabled):not(.active) {
  background: rgba(22, 101, 227, 0.12);
  border-radius: var(--corner-md);
}

.mobile-datepicker .month ul.date li.direct-flight.active {
  background: var(--primary-2);
  color: var(--ui-1);
}

.mobile-datepicker .month ul.date li.vis-hidden {
  opacity: 0;
  filter: alpha(opacity=0);
  visibility: hidden;
  pointer-events: none;
}
.desktop-datepicker {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: var(--f-size-14px);
  font-weight: var(--semibold-w);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  column-gap: 2.06rem;
}

.desktop-datepicker .month .month-header {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  margin-bottom: 1.25rem;
}
.desktop-datepicker .month .month-header button:disabled {
  opacity: 0.5;
  cursor: default;
}

.desktop-datepicker .month .month-header.previous {
  justify-items: start;
}

.desktop-datepicker .month .month-header p {
  grid-column-start: 2;
  grid-column-end: span 1;
  justify-self: center;
}

.desktop-datepicker .month .month-header.next {
  justify-items: end;
}

.desktop-datepicker .month .month-header button {
  border: none;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 0.53rem;
  background-color: var(--ui-2);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.desktop-datepicker .month button.previous {
  order: -1;
  filter: drop-shadow(0px 2px 4px rgba(214, 218, 220, 0.6));
}

.desktop-datepicker .month button.next {
  order: 1;
  filter: drop-shadow(0px 2px 4px rgba(214, 218, 220, 0.6));
}

.desktop-datepicker .month .month-title {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  column-gap: 0.25rem;
  align-items: center;
  font-family: var(--font-semibold);
  font-size: var(--f-size-16px);
  font-weight: var(--semibold-w);
}

.desktop-datepicker .month .month-title span {
  order: 1;
}

.desktop-datepicker .month .weekdays {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: var(--f-size-14px);
  font-weight: var(--semibold-w);
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 1fr;
  gap: 0.25rem;
  place-items: center;
  justify-self: center;
  margin-bottom: 1.25rem;
  word-break: break-all;
  width: 100%;
}

.desktop-datepicker .month .weekdays li {
  width: 100%;
  overflow: hidden;
  text-align: center;
}

.desktop-datepicker .month ul.date {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: auto;
  gap: 0.25rem;
  place-items: stretch;
}

.desktop-datepicker .month ul.date li {
  cursor: pointer;
  border-radius: var(--corner-sm);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.desktop-datepicker .month ul.date li button {
  border: none;
  background: none;
  height: 100%;
  width: 100%;
  font-family: var(--font-semibold);
  font-size: var(--f-size-14px);
  font-weight: var(--semibold-w);
}

.desktop-datepicker .month ul.date li:before {
  content: "";
  padding: 50% 0;
}

.desktop-datepicker .month ul.date li.disabled {
  pointer-events: none;
}
.desktop-datepicker .month ul.date li.disabled button {
  color: var(--text-3);
  cursor: not-allowed;
  font-family: var(--font-regular);
  font-size: var(--f-size-14px);
  font-weight: var(--regular-w);
}

.desktop-datepicker .month ul.date li.today button {
  color: var(--primary-1);
  font-family: var(--font-semibold);
  font-size: var(--f-size-14px);
  font-weight: var(--semibold-w);
}

.desktop-datepicker .month ul.date li.range {
  background: var(--ui-2);
}

.desktop-datepicker .month ul.date li.potential:hover {
  background: var(--ui-2);
}

.desktop-datepicker .month ul.date li.active {
  background: var(--primary-1);

  & button {
    color: var(--ui-1);
  }
}

/* Direct-flight dates: light rounded-square background. When selected the
   date turns dark blue with a white number. The background marker is the
   square itself, so no extra glyph is rendered inside the cell. */
.desktop-datepicker .month ul.date li.direct-flight:not(.disabled):not(.active) {
  background: rgba(22, 101, 227, 0.12);
  border-radius: var(--corner-md);
}

.desktop-datepicker .month ul.date li.direct-flight.active {
  background: var(--primary-2);

  & button {
    color: var(--ui-1);
  }
}

.desktop-datepicker .month ul.date li.vis-hidden,
.desktop-datepicker .month ul.date li.visible-hidden {
  opacity: 0;
  filter: alpha(opacity=0);
  /* visibility: hidden; */
  pointer-events: all;
  cursor: default;
}

/* Legend swatch shown under the calendar for direct-flight dates */
.calendar-direct-flights-legend {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ui-3);

  & .legend-title {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    font-family: var(--font-semibold);
    font-weight: var(--semibold-w);
    font-size: var(--f-size-14px);
    color: var(--primary-2);
  }

  & .legend-swatch {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: var(--corner-sm);
    background: rgba(22, 101, 227, 0.12);
    border: 1px solid rgba(22, 101, 227, 0.35);
    flex-shrink: 0;
  }

  & .legend-caption {
    font-family: var(--font-regular);
    font-weight: var(--regular-w);
    font-size: var(--f-size-12px);
    color: var(--text-3);
  }
}
._exit_ckfl4_1 {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  cursor: pointer;
}

._exit_ckfl4_1 img {
  vertical-align: text-top;
}

._weekdays_ckfl4_23 {
  color: var(--primary-2);
  font-family: var(--font-bold);
  font-size: var(--fmob-size-12px);
  font-weight: var(--bold-w);
  width: calc(100% + 2rem) !important;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 1fr;
  gap: 0.25rem;
  place-items: center;
  margin-top: 2.35rem;
  padding: 0 1rem 0.75rem;
  justify-self: center;
  box-shadow: 0rem 0.25rem 0.25rem -0.125rem rgba(37, 42, 49, 0.12);
  word-break: break-all;
}

._drawer_ckfl4_59 {
  justify-self: center;
  border-top: 0.0625rem solid var(--ui-3);
  border-radius: var(--corner-sm) var(--corner-sm) 0rem 0rem;
  width: calc(100% + 2rem) !important;
  padding: 1.25rem 1rem 0;
}

._datepicker_ckfl4_75 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
  justify-content: stretch;
}

._startDate_ckfl4_97,
._endDate_ckfl4_99 {
  max-height: 4rem;
  border-radius: var(--corner-sm);
  border-color: #bac7d5;
  overflow: hidden;
}

._startDate_ckfl4_97._selected_ckfl4_113,
._endDate_ckfl4_99._selected_ckfl4_113 {
  border-color: var(--primary-1);
  background-color: var(--primary-tint-dark);
}

@keyframes _textZoom_ckfl4_1 {
  0% {
    font-size: var(--fmob-size-14px);
  }
  50% {
    font-size: 0.9375rem;
    color: var(--primary-1);
    font-family: var(--font-semibold);
    font-weight: var(--semibold-w);
  }
  100% {
    font-size: var(--fmob-size-14px);
  }
}

._endDate_ckfl4_99._small_ckfl4_155 label {
  font-size: var(--fmob-size-14px);
  animation: _textZoom_ckfl4_1 0.75s ease-in;
}

._fontclass_ckfl4_165 {
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-16px) + 2px);
  font-weight: var(--semibold-w);
}
._container_iisp7_1 {
  display: flex;
  flex-direction: row;
}

span._radioText_iisp7_11 {
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--medium-w);
}

main.desktop span._radioText_iisp7_11 {
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: var(--f-size-16px);
  font-weight: var(--medium-w);
}._container_1xery_1 {
  display: flex;
  flex-direction: row;
}

li._container_1xery_1 {
  justify-content: space-between;
  align-items: center;
}

._passenger_1xery_21 {
  display: flex;
  flex-direction: column;
  row-gap: 0.12rem;
  justify-content: center;
  line-height: normal;
}

._passenger_1xery_21 > span {
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: calc(var(--fmob-size-14px) + 2px);
  font-weight: var(--medium-w);
}

._passenger_1xery_21 span + span {
  color: var(--ui-5);
  font-family: var(--font-regular);
  font-size: var(--fmob-size-12px);
  font-weight: var(--regular-w);
}

main.desktop ._passenger_1xery_21 {
  row-gap: 0;
}

main.desktop ._passenger_1xery_21 > span {
  font-family: var(--font-medium);
  font-size: var(--f-size-16px);
  font-weight: var(--medium-w);
}

main.desktop ._passenger_1xery_21 span + span {
  font-family: var(--font-regular);
  font-size: var(--f-size-14px);
  font-weight: var(--regular-w);
}
._container_hwude_1 {
  display: flex;
  flex-direction: row;
}

._counter_hwude_11 {
  align-items: center;
  column-gap: 0.75rem;
}

._counter_hwude_11 ._count_hwude_11 {
  min-width: 0.65rem;
  text-align: center;
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: var(--fmob-size-16px);
  font-weight: var(--medium-w);
}

main.desktop ._counter_hwude_11 {
  font-size: 1.125rem;
  line-height: 1.1875rem;
}

._counter_hwude_11 button:disabled {
  cursor: default;
}button.increment {
  background: none;
  border: none;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  padding: 0;
  margin: 0;
  line-height: 0;
}

button.increment svg path {
  stroke: var(--primary-1);
  fill: var(--primary-1);
  transform-origin: center;
  transition: all 150ms linear;
}

button.increment svg > path + path {
  stroke: white;
}

button.increment:disabled svg path {
  stroke: rgb(211, 212, 215);
  fill: white;
}

button.increment.anim svg path {
  transform: scale(1.15);
  transition: all 150ms linear;
}
button.decrement {
  background: none;
  border: none;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  padding: 0;
  margin: 0;
  line-height: 0;
}

button.decrement svg path {
  stroke: var(--primary-1);
  fill: var(--primary-1);
  transform-origin: center;
  transition: all 150ms linear;
}

button.decrement svg > path + path {
  stroke: white;
}

button.decrement:disabled svg path {
  stroke: rgb(211, 212, 215);
  fill: white;
}

button.decrement.anim svg path {
  transform: scale(1.15);
  transition: all 150ms linear;
}
._container_1n2mc_1 {
  display: flex;
  flex-direction: row;
}

._content_1n2mc_11 {
  display: grid;
  grid-template-rows: max-content max-content 1fr;
}

._passengers_1n2mc_21 ul {
  padding: 0.87rem 0;
  flex-direction: column;
  row-gap: 1.12rem;
}

main.desktop ._passengers_1n2mc_21 ul {
  padding: 1.25rem 0;
  row-gap: 0.9375rem;
}

._passengers_1n2mc_21 h1 {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-18px) + 2px);
  font-weight: var(--semibold-w);
}

._cabin_1n2mc_57 {
  margin-top: 1rem;
}
._cabin_1n2mc_57._hide_1n2mc_63 {
  display: none;
  visibility: hidden;
}
._cabin_1n2mc_57._mobHide_1n2mc_71 {
  visibility: hidden;
}

main.desktop ._cabin_1n2mc_57 {
  margin-top: 0.625rem;
}

._cabin_1n2mc_57 h2 {
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: calc(var(--fmob-size-16px) + 2px);
  font-weight: var(--medium-w);
}

._cabin_1n2mc_57 ul {
  padding: 1.25rem 0;
  flex-direction: column;
  row-gap: 1rem;
}

main.desktop ._cabin_1n2mc_57 ul {
  padding: 1.25rem 0;
  flex-direction: column;
  row-gap: 0.625rem;
}

main.desktop ._passengers_1n2mc_21 h1,
main.desktop ._cabin_1n2mc_57 h2 {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: var(--f-size-18px);
  font-weight: var(--semibold-w);
}

._cabin_1n2mc_57 + button {
  align-self: end;
  min-height: 3.5rem;
}

main.desktop ._cabin_1n2mc_57 + div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

main.desktop ._cabin_1n2mc_57 + div button {
  width: 6.25rem;
  height: 2.5rem;
  padding: 0;
  margin-top: 0.56rem;
  font-size: var(--f-size-16px);
}

._fontclass_1n2mc_179 {
  font-family: var(--font-semibold);
  font-size: calc(var(--fmob-size-16px) + 2px);
  font-weight: var(--semibold-w);
}
body:has(dialog[open]) {
  overflow: hidden;
}

._body_1kc2y_9 {
  overflow: hidden;
}

dialog._fullscreen_1kc2y_17 {
  display: grid;
  grid-template: 1fr / 1fr;
  min-width: 100%;
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 1.87rem 1rem;
  border: none;
  background: var(--ui-1);
  z-index: var(--zindex-highest);
}

dialog._halfscreen_1kc2y_43 {
  /* position: absolute; */
  inset-block-start: unset;
  min-width: 100%;
  height: fit-content;
  margin: 0;
  padding: 1.87rem 1rem 1.56rem;
  border: none;
  background: var(--ui-1);
  border-radius: var(--corner-xl) var(--corner-xl) 0rem 0rem;
  z-index: var(--zindex-highest);
}

dialog::backdrop {
  /* display: none; */
  background: rgb(0, 0, 0, 0.5);
  animation: _opacity-down_1kc2y_1 200ms linear forwards;
}

dialog[open]::backdrop {
  animation: _opacity-up_1kc2y_1 200ms linear forwards;
}

._backdrop_1kc2y_89 {
  position: fixed;
  inset: 0;
  width: 100%;
  /* height: 100vh; */
  z-index: var(--zindex-high);
  /* background: rgb(0, 0, 0, 0.5); */
}

._fadein_1kc2y_107 {
  animation: _opacity-up_1kc2y_1 var(--backdrop-anim-time) linear forwards;
}

._fadeout_1kc2y_115 {
  animation: _opacity-down_1kc2y_1 var(--backdrop-anim-time) linear forwards;
}

@keyframes _opacity-up_1kc2y_1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100%;
  }
}

@keyframes _opacity-down_1kc2y_1 {
  from {
    opacity: 100%;
  }
  to {
    opacity: 0;
  }
}

@media print {
  body:has(dialog[open]) {
    overflow: visible;
  }

  dialog::backdrop {
    display: none;
    background: none;
    animation: none;
  }

  dialog[open]::backdrop {
    animation: none;
  }

  ._backdrop_1kc2y_89,
  ._body_1kc2y_9,
  dialog._fullscreen_1kc2y_17,
  dialog._halfscreen_1kc2y_43 {
    position: absolute;
    display: contents;
    height: 100%;
    min-width: 100%;
    overflow: visible;
    visibility: hidden;
    padding: 0;
    margin: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
  }
}
.charter-iframe-wrapper {
  width: 100%;
  min-height: 500px;
  position: relative;
}
._cheapHotelDeals_1an59_1 {
  margin-top: 5rem;
  margin-bottom: 5.25rem !important;
}
._cheapHotelDeals_1an59_1 ._heading_1an59_9 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.25rem;
}
._cheapHotelDeals_1an59_1 ._more_1an59_21 {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-16px);
  font-weight: var(--semibold-w);
  text-decoration-line: underline;
  text-underline-offset: 0.125rem;
  text-decoration-color: var(--primary-2-50);
}
._cheapHotelDeals_1an59_1 ._tripsList_1an59_37 + ._more_1an59_21 {
  display: inline-block;
  width: 100%;
  text-align: right;
  margin-top: 0.5rem;
}
._cheapHotelDeals_1an59_1 h2 {
  font-family: var(--font-bold);
  font-size: var(--fmob-size-20px);
  font-weight: var(--bold-w);
}
._cheapHotelDeals_1an59_1 p._desc_1an59_59 {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-16px);
  font-weight: var(--regular-w);
  margin-bottom: 2.375rem;
  width: 95%;
  line-height: 1.125rem;
}

/* Hotel Item Styles - similar to cheap flight offers */
._hotelItem_1an59_79 {
  position: relative;
  background: white;
  border-radius: var(--corner-lg);
  overflow: hidden;
  box-shadow: var(--booking-card-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 0.0625rem solid var(--ui-3);
  /* Remove CSS transitions - let Framer Motion handle animations */
  transform: translateZ(0); /* Force GPU acceleration */
  backface-visibility: hidden; /* Prevent blurriness */
  -webkit-font-smoothing: antialiased; /* Crisp text */
  position: relative;
}

._cardLink_1an59_113 {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-decoration: none;
  color: inherit;
}

._buttonContainer_1an59_129 {
  padding: 0 1rem 1rem 1rem;
  margin-top: auto;
}

._hotelImageContainer_1an59_139 {
  position: relative;
  height: 11.25rem;
  overflow: hidden;
}

._hotelImage_1an59_139 {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

._lowAvailabilityBadge_1an59_163 {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  background: linear-gradient(135deg, #f97316, #ea580c);
  color: white;
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-12px);
  font-weight: var(--semibold-w);
  padding: 0.25rem 0.5rem;
  border-radius: var(--corner-md);
  z-index: 1;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
}

._favoriteButton_1an59_193 {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--text-3);
  cursor: pointer;
}

._imgError_1an59_227 {
  height: 100%;
  background-color: var(--ui-3);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.6;
}

._frame_1an59_245 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

._hotelDetails_1an59_261 {
  padding: 1rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

._hotelHeader_1an59_275 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

._hotelName_1an59_289 {
  font-family: var(--font-bold);
  font-size: var(--fmob-size-18px);
  font-weight: var(--bold-w);
  color: var(--primary-2);
  margin: 0;
  flex: 1;
  line-height: 1.3;
}

._starRating_1an59_309 {
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
}

._starRating_1an59_309 svg {
  margin-right: 0.125rem;
}

._ratingText_1an59_329 {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-12px);
  color: var(--text-3);
  margin-left: 0.25rem;
}

._location_1an59_343 {
  display: flex;
  align-items: center;
  font-family: var(--font-regular);
  font-size: var(--fmob-size-14px);
  color: var(--text-4);
  margin: 0 0 0.75rem 0;
}

._location_1an59_343 svg {
  margin-right: 0.375rem;
  color: #9ca3af;
}

._detailsRow_1an59_371 {
  display: flex;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

._detailItem_1an59_383 {
  display: flex;
  align-items: center;
  font-family: var(--font-regular);
  font-size: var(--fmob-size-14px);
  color: #4b5563;
}

._detailItem_1an59_383 svg {
  margin-right: 0.375rem;
  color: #9ca3af;
}

._amenities_1an59_409 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

._amenity_1an59_423 {
  display: flex;
  align-items: center;
  background: var(--ui-2);
  color: var(--primary-2);
  font-family: var(--font-regular);
  font-size: var(--fmob-size-12px);
  padding: 0.1875rem 0.5rem;
  border-radius: 0.75rem;
  border: 0.0625rem solid var(--ui-3);
}

._amenity_1an59_423 svg {
  margin-right: 0.25rem;
  color: var(--primary-2);
  flex-shrink: 0;
}

._amenityText_1an59_459 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 5rem;
}

._pricingSection_1an59_473 {
  margin-top: auto;
  border-top: 0.0625rem solid #e5e7eb;
  padding-top: 0.75rem;
}

._priceContainer_1an59_485 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

._pricePerPerson_1an59_497 {
  display: flex;
  /* flex-direction: column; */
  align-items: flex-end;
}

._priceLabel_1an59_509 {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-12px);
  color: var(--text-3);
  margin-bottom: 0.125rem;
  text-transform: uppercase;
  letter-spacing: 0.01875rem;
}

._priceAmount_1an59_527 {
  font-family: var(--font-bold);
  font-size: var(--fmob-size-24px);
  color: var(--primary-2);
  font-weight: var(--bold-w);
  color: #ff2965;
}

/* Button is now styled via Button component props (primary, cornerLg, wide, shadow) */

._viewDealButton_1an59_547 button {
  width: 100%;
  justify-content: center;
}
._imgError_1an59_227 ._frame_1an59_245 {
  width: 50%;
  opacity: 0.5;
}

._mobile_1an59_565 ._tripsList_1an59_37 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
._desktop_1an59_577 ._tripsList_1an59_37 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.75rem;
}

._tripsList_1an59_37 li {
  transition: scale 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
._tripsList_1an59_37 li:has([data-focus-trigger]:focus) {
  scale: 1.02;
}

._item_1an59_605 {
  position: relative;
  border-radius: var(--corner-md);
  background-color: white;
  box-shadow: var(--booking-card-shadow);
  display: grid;
  grid-template-columns: 0.48fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 6.25rem;
}

._item_1an59_605 img {
  border-radius: var(--corner-md);
  height: 100%;
  width: 100%;
  object-fit: cover;
  filter: brightness(0.85);
}

._mobile_1an59_565 ._imgError_1an59_227 ._frame_1an59_245 {
  height: 100%;
}

._imgError_1an59_227,
._item_1an59_605 img {
  grid-column: 1;
  grid-row: 1 / -1;
}

._link_1an59_663 {
  grid-row: 1 / -1;
  display: grid;
  grid-template-rows: subgrid;
  height: 100%;
  padding: 0.75rem;
}

._link_1an59_663 h3 {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-18px);
  font-weight: var(--semibold-w);
  align-self: self-end;
  color: var(--primary-2);
}

._link_1an59_663 p {
  font-family: var(--font-semibold);
  font-size: var(--fmob-size-14px);
  font-weight: var(--semibold-w);
  margin-top: 0.25rem;
  color: var(--primary-1);
}

@media screen and (min-width: 62rem) and (max-width: 90rem) {
  ._cheapHotelDeals_1an59_1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

._mobile_1an59_565._cheapHotelDeals_1an59_1 {
  margin-bottom: 2.5rem !important;
  margin-top: 2rem;
}
._mobile_1an59_565._cheapHotelDeals_1an59_1 ._heading_1an59_9 ._more_1an59_21 {
  display: none;
}
._desktop_1an59_577._cheapHotelDeals_1an59_1 ._tripsList_1an59_37 + ._more_1an59_21 {
  display: none;
}

._emptyState_1an59_745 {
  max-width: 100%;
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
  margin: -1rem auto;
  border: 0.0625rem dashed var(--ui-3);
  border-radius: var(--corner-lg);
}

._emptyState_1an59_745 svg {
  max-height: 10rem;
  margin-bottom: 0.5rem;
  opacity: 0.7;
}

._emptyText_1an59_785 {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-16px);
  color: var(--ui-4);
  margin-top: 1rem;
}

/* Grid Layout */
._hotelsGrid_1an59_801 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

._hotelGridItem_1an59_815 {
  display: flex;
  flex-direction: column;
}

/* Mobile Responsive */
._mobile_1an59_565 ._hotelsGrid_1an59_801 {
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

._desktop_1an59_577 ._hotelsGrid_1an59_801 {
  /* Oshibki 3 letter: desktop must show exactly 3 cards per row (3x3),
     with "Vairāk piedāvājumu" loading the next 9. */
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* View More Button */
._viewMoreContainer_1an59_851 {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

._viewMoreButton_1an59_865 {
  background: var(--primary-2);
  color: white;
  border: none;
  border-radius: var(--corner-md);
  padding: 0.75rem 2rem;
  font-family: var(--font-semibold);
  font-size: 1rem;
  font-weight: var(--semibold-w);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 0.125rem 0.5rem rgba(59, 130, 246, 0.3);
}

._viewMoreButton_1an59_865:hover {
  background: var(--primary-2-dark);
  transform: translateY(-0.125rem);
  box-shadow: 0 0.25rem 0.75rem rgba(59, 130, 246, 0.4);
}

._viewMoreButton_1an59_865:active {
  transform: translateY(0);
  box-shadow: 0 0.125rem 0.25rem rgba(59, 130, 246, 0.3);
}

/* Responsive adjustments */
@media (max-width: 48rem) {
  ._hotelImageContainer_1an59_139 {
    height: 10rem;
  }
  
  ._hotelName_1an59_289 {
    font-size: 1rem;
  }
  
  ._amenities_1an59_409 {
    gap: 0.375rem;
  }
  
  ._amenity_1an59_423 {
    font-size: 0.6875rem;
    padding: 0.1875rem 0.375rem;
  }
  
  ._viewMoreButton_1an59_865 {
    padding: 0.625rem 1.5rem;
    font-size: 0.875rem;
    width: 100%;
    max-width: 18.75rem;
  }
}._container_t4k14_1 {
  position: fixed;
  inset: 0;
  z-index: var(--zindex-highest);
  min-height: 100vh;
  width: 100%;
  padding: 0;
  display: grid;
}

._content_t4k14_21 {
  position: relative;
  align-items: center;
  text-align: center;
  margin: auto;
}
.hotel-prebook-progress-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 38%, rgb(32 111 210 / 18%), transparent 34%),
    rgb(9 28 51 / 48%);
  backdrop-filter: blur(5px);
}

.hotel-prebook-progress-card {
  width: min(460px, 100%);
  padding: 32px;
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 20px;
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 28px 80px rgb(13 42 74 / 28%);
  color: #17324d;
}

.hotel-prebook-progress-kicker {
  display: block;
  margin-bottom: 10px;
  color: #176bc0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hotel-prebook-progress-card h2 {
  margin: 0 0 10px;
  font-size: clamp(22px, 4vw, 30px);
  line-height: 1.15;
}

.hotel-prebook-progress-card p {
  margin: 0 0 24px;
  color: #536b82;
  line-height: 1.5;
}

.hotel-prebook-progress-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #dce8f4;
}

.hotel-prebook-progress-value {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #176bc0, #29a3e6);
  box-shadow: 0 0 18px rgb(41 163 230 / 45%);
  transition: width 360ms ease-out;
}

.hotel-prebook-progress-percent {
  display: block;
  margin-top: 10px;
  color: #176bc0;
  font-size: 13px;
  text-align: right;
}

@media (prefers-reduced-motion: reduce) {
  .hotel-prebook-progress-value {
    transition: none;
  }
}
.footer-mobile footer {
  margin-top: auto;
}
.footer-mobile footer .footer-view {
  margin-top: 1rem !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 0 !important;
  padding: 1rem !important;
}
.footer-mobile footer .footer-view .footer-social div,
.footer-mobile footer .footer-view .footer-social div a {
  width: 1.875rem;
  height: 1.875rem;
}
.footer-mobile footer .footer-view .footer-social,
.footer-mobile footer .footer-view .footer-logo img {
  max-height: 1.5rem !important;
}
.footer-mobile footer .footer-view .footer-social {
  margin-bottom: 1.5rem !important;
}
.footer-mobile footer .footer-view .footer-column {
  flex-basis: 100%;
}
.footer-mobile footer .footer-heading {
  margin-top: 0 !important;
  padding: 1rem 0 !important;
  font-size: var(--f-size-14px);
  font-weight: var(--bold-w);
  letter-spacing: 0.01rem;
}
.footer-mobile footer .footer-heading.collapsed {
  border-bottom: 1px solid var(--ui-3);
}
.footer-mobile footer .footer-heading::after {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  background-image: url("data:image/svg+xml,%3csvg%20class='vector'%20width='10'%20height='6'%20viewBox='0%200%2010%206'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cpath%20d='M9%205L5%201L1%205'%20stroke='%23001B38'%20stroke-linecap='round'%20stroke-linejoin='round'%20/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  right: 1rem;
  margin-top: 3px;
}
.footer-mobile footer .footer-heading.collapsed::after {
  background-image: url("data:image/svg+xml,%3csvg%20class='vector'%20width='10'%20height='6'%20viewBox='0%200%2010%206'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cpath%20d='M1%200.999999L5%205L9%200.999999'%20stroke='%23001B38'%20stroke-linecap='round'%20stroke-linejoin='round'%20/%3e%3c/svg%3e");
}
.footer-mobile footer .footer-links {
  font-size: var(--f-size-16px);
  margin: 0.75rem 0 !important;
  row-gap: 1rem !important;
}
.footer-mobile footer .footer-heading.collapsed + .footer-links {
  display: none;
}
.footer-mobile footer .footer-links a:hover {
  color: var(--primary-link-color) !important;
}

.footer-notice-logos {
  background-color: white;
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 4rem;
  padding-bottom: 1rem;
}

.footer-notice-logos.desktop {
  column-gap: 2rem;
  margin-top: 0;
  padding-right: 5rem;
  justify-content: flex-end;
}

.footer-notice-logos > img {
  height: 50px;
}

.footer-notice-logos.desktop > img {
  height: 3.3rem;
  width: auto;
}

.footer-notice {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  width: 2.5rem;
  height: 2.5rem;
  margin-left: -2rem;
  border-radius: var(--corner-md);
  background-color: var(--ui-3);
}

.footer-notice:hover {
  background-color: var(--ui-4);
}

.footer-notice-text {
  position: absolute;
  bottom: 3rem;
  right: 0;
  background-color: var(--primary-2);
  border-radius: var(--corner-md);
  color: white;
  padding: 1rem;
  max-height: 7rem;
  width: 80vw;
  overflow: hidden;
}

.footer-notice-text .inner {
  padding: 0.5rem;
  overflow: auto;
  max-height: 5rem;
  max-width: 80vw;
  text-align: left;
  scrollbar-width: thin;
  overflow-y: scroll;
}

.desktop .footer-notice-text {
  width: 30rem;
}
.desktop .footer-notice-text .inner {
  max-width: 30rem;
}

.footer-desktop footer .footer-note {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
._bar_4dxw1_1 {
  width: 100%;
  background-color: var(--ui-2, #f3f6fa);
  font-size: 0.8125rem;
  color: var(--ui-6, #5b6470);
}

._inner_4dxw1_8 {
  max-width: 90rem;
  margin: 0 auto;
  padding: 0.5rem var(--main-page-side-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 1.5rem;
}

._left_4dxw1_18,
._right_4dxw1_19 {
  display: flex;
  align-items: center;
  column-gap: 1.25rem;
}

._socialGroup_4dxw1_25 {
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
}

/* Mobile: two columns — addresses stacked on the left, phone/email stacked on the right. */
@media (max-width: 991px) {
  ._inner_4dxw1_8 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    padding: 0.375rem 0.75rem;
    column-gap: 0.625rem;
  }

  ._left_4dxw1_18,
  ._right_4dxw1_19 {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0.25rem;
    column-gap: 0;
  }

  ._desktopOnly_4dxw1_49 {
    display: none;
  }

  ._item_4dxw1_53 {
    font-size: 0.6875rem;
  }
}

._item_4dxw1_53 {
  display: inline-flex;
  align-items: center;
  column-gap: 0.35rem;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

._item_4dxw1_53:hover {
  color: var(--primary-1);
}

._item_4dxw1_53 svg {
  flex-shrink: 0;
  color: var(--primary-1);
}

._social_4dxw1_25 {
  display: inline-flex;
  align-items: center;
  color: inherit;
}

._social_4dxw1_25:hover {
  color: var(--primary-1);
}
._menu_1e9eq_1 {
  width: 100%;
  font-family: var(--font-semibold);
  font-style: var(--font-style);
  font-weight: var(--semibold-w);
  line-height: var(--line-height);
  font-size: var(--f-size-14px);
  background-color: var(--nav-bar-color);
  box-shadow: var(--nav-bar-shadow);
  z-index: var(--zindex-medium);
}

._menu_1e9eq_1._mobile_1e9eq_25 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 3%;
  column-gap: 0.5rem;
  z-index: var(--zindex-medium);
  box-shadow: 0rem 0.25rem 0.25rem -0.125rem rgba(37, 42, 49, 0.12);
}

._menu_1e9eq_1._desktop_1e9eq_47 {
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  line-height: 1rem;
}

._menu_1e9eq_1._desktop_1e9eq_47 div.padded-view {
  width: 100%;
  padding: 1rem var(--main-page-side-pad);
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr auto;
  white-space: nowrap;
  column-gap: 1.5rem;
}

._mobile_1e9eq_25 ._logo_1e9eq_83 {
  width: 7.5rem;
}

._logo_1e9eq_83 {
  width: 7.3125rem;
  margin-right: 0.5125rem;
  cursor: pointer;
}

._menuLeft_1e9eq_103 {
  column-gap: 1.85rem;
  display: flex;
  align-items: center;
}

._menuLeft_1e9eq_103 a:first-of-type {
  display: flex;
}

._moreMenu_1e9eq_123 {
  position: relative;
}

._moreMenuTrigger_1e9eq_131 {
  display: flex;
  align-items: center;
  column-gap: 0.3rem;
  border: none;
  background: none;
  padding: 0;
  color: var(--passive-link-color);
  font: inherit;
  cursor: pointer;
  transition: color 0.15s;
}

._moreMenuTrigger_1e9eq_131:hover {
  color: var(--primary-link-color);
}

._moreMenuTrigger_1e9eq_131 svg:first-child {
  color: var(--primary-1);
}

._moreMenuChevron_1e9eq_173 {
  transition: transform 180ms ease;
}

._moreMenuChevronOpen_1e9eq_181 {
  transform: rotate(180deg);
}

._moreMenuDropdown_1e9eq_189 {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.125rem;
  min-width: 13.75rem;
  background-color: #fff;
  border: 1px solid #e7edf5;
  border-radius: 0.75rem;
  box-shadow: 0 0.625rem 1.875rem rgba(15, 42, 80, 0.12);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.25rem);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;

  & a {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    color: var(--primary-2) !important;
    white-space: nowrap;
  }

  & a:hover {
    background-color: #f3f7ff;
    color: var(--primary-1) !important;
  }
}

._moreMenuDropdownOpen_1e9eq_261 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* NavLink default */
._menu_1e9eq_1 a {
  color: var(--passive-link-color);
  transition: all 0.15s;
}

._menu_1e9eq_1 a:active {
  color: var(--primary-link-color);
  opacity: 0.7;
}

._menu_1e9eq_1 a:hover {
  color: var(--primary-link-color);
  transition: all 0.15s;
}

a._active_1e9eq_307 {
  color: var(--active-link-color);
  border-bottom: var(--active-link-line);
  padding-bottom: var(--active-link-line-offset);
  margin-top: var(--active-link-line-offset);
}

._menuRight_1e9eq_321 {
  justify-self: end;
  column-gap: 1.5rem;
  display: flex;
  flex-direction: row;
  align-items: center;
}

._menuRight_1e9eq_321 button {
  color: var(--passive-link-color);
}
._menuRight_1e9eq_321 button:focus-visible {
  outline-offset: 2px;
}
._menuRight_1e9eq_321 button svg {
  color: var(--passive-link-color);
}

._favoritesBadge_1e9eq_357 {
  position: absolute;
  top: -0.35rem;
  right: -0.5rem;
  min-width: 1.05rem;
  height: 1.05rem;
  padding: 0 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background-color: #ff2965;
  color: #fff;
  font-size: 0.625rem;
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
  line-height: 1;
}

._desktop_1e9eq_47 ._menuRight_1e9eq_321 {
  min-width: 100%;
}

._mobile_1e9eq_25 ._menuRight_1e9eq_321 {
  column-gap: 1rem;
}
._parent_1c1wq_1 ._child_1c1wq_1 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  min-height: 3.4375rem;
  cursor: pointer;
}

._parent_1c1wq_1 ._child_1c1wq_1:focus-visible {
  background-color: var(--ui-2);
  margin-bottom: 0.5rem;
}

._border_1c1wq_31 {
  border: solid #e8edf1;
  border-width: 0 0 1px;
}

._border_1c1wq_31._none_1c1wq_41 {
  border: solid transparent;
  border-width: 0 0 1px;
}

._link_1c1wq_51 {
  color: var(--primary-2);
  font-family: var(--font-semibold);
  font-size: var(--f-size-16px);
  font-weight: var(--semibold-w);
}

._link_1c1wq_51 + ._link_1c1wq_51 {
  margin-top: 0.33rem;
}

._container_1c1wq_73 {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  row-gap: 0.625rem;
  padding-bottom: 1.125rem;
}
._container_1b0qn_1 {
  display: flex;
  flex-direction: row;
  align-items: center;
}

._container_1b0qn_1._guestMenu_1b0qn_13 {
  flex-direction: column;
  justify-content: flex-start;
  width: 360px;
  row-gap: 15px;
  height: calc(100vh - 60px);
  padding-bottom: 25px;
  padding-top: 25px;
}

._container_1b0qn_1._guestMenu_1b0qn_13._mobile_1b0qn_33 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  row-gap: 0;
  padding: 0.625rem 0 0;
  min-height: 100%;
}

._banner_1b0qn_53 {
  margin: 1rem 0;
  width: 17.5rem;
  height: 8.75rem;
}

._banner_1b0qn_53 img {
  height: 100%;
}

._mobile_1b0qn_33 ._banner_1b0qn_53 {
  margin-top: 1rem;
  margin-bottom: 1rem;
  width: 14.5rem;
  max-height: 8rem;
}

._mobile_1b0qn_33 ._banner_1b0qn_53 img {
  height: 100%;
  width: 100%;
}

._mobile_1b0qn_33 ._middle_1b0qn_97 {
  margin-bottom: 2.5rem;
  row-gap: 0.75rem;
}

._middle_1b0qn_97 {
  width: 100%;
  flex-direction: column;
  justify-content: flex-start;
  row-gap: 18px;
  margin-bottom: 15px;
}

p._container_1b0qn_1 {
  flex-direction: column;
  font-family: var(--font-regular);
  font-size: var(--fmob-size-16px);
  font-weight: var(--regular-w);
  line-height: 1.125rem;
  color: var(--primary-2);
}

p._container_1b0qn_1 span {
  text-align: center;
}

p._container_1b0qn_1 span b {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
}

._mobile_1b0qn_33 p._container_1b0qn_1 {
  margin-bottom: 0.5rem;
}

._mobile_1b0qn_33 p._container_1b0qn_1 > * {
  font-family: var(--font-regular);
  font-size: var(--fmob-size-16px);
  line-height: 1.125rem;
  font-weight: var(--regular-w);
}

._textLink_1b0qn_181 {
  color: var(--primary-1);
  font-family: var(--font-bold);
  font-size: var(--f-size-16px);
  font-weight: var(--bold-w);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-skip-ink: none;
  background: none;
  padding: 0;
  border: none;
}

._mobile_1b0qn_33 ._textLink_1b0qn_181 {
  font-family: var(--font-bold);
  font-size: var(--fmob-size-18px);
  font-weight: var(--bold-w);
}

._infolinks_1b0qn_219 {
  width: 100%;
  color: var(--primary-2);
  font-family: var(--font-medium);
  font-size: var(--fmob-size-16px);
  font-weight: var(--medium-w);
}

._infolinks_1b0qn_219 span._container_1b0qn_1 {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  margin: auto;
  min-height: 55px;
  border: solid #e8edf1;
  border-width: 0 0 1px;
}

._infolinks_1b0qn_219 span._container_1b0qn_1 span {
  font-family: var(--font-semibold);
  font-weight: var(--semibold-w);
}

._mobile_1b0qn_33 ._infolinks_1b0qn_219 {
  font-family: var(--font-medium);
  font-size: var(--fmob-size-16px);
  font-weight: var(--medium-w);
}

._icon_1b0qn_279 {
  width: 16px;
  height: 16px;
  margin-right: 7px;
}

._container_1b0qn_1._imageGroup_1b0qn_291 {
  justify-content: center;
  column-gap: 1rem;
  width: 22.5rem;
  flex-basis: 10%;
}

._mobile_1b0qn_33 ._container_1b0qn_1._imageGroup_1b0qn_291 {
  padding-top: 1.44rem;
  padding-bottom: 1.88rem;
  justify-content: center;
  column-gap: 0.62rem;
  width: 100%;
}

._mobile_1b0qn_33 ._container_1b0qn_1._imageGroup_1b0qn_291 img {
  width: 50%;
}

._mobile_1b0qn_33 ._container_1b0qn_1._imageGroup_1b0qn_291 a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--ui-2);
  width: 2.5rem;
  height: 2.5rem;
}

._close_1b0qn_351 {
  position: absolute;
  display: inline-flex;
  justify-content: center;
  right: 0.625rem;
  top: 0.625rem;
  border: none;
  background: none;
  border-radius: var(--corner-sm);
  padding: 0.7rem;
}
._close_1b0qn_351:hover {
  background-color: var(--ui-3);
  transition: all 0.15s;
}
._close_1b0qn_351 svg {
  width: 70%;
}
._container_13ft5_1 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

._container_13ft5_1._menu_13ft5_13 {
  flex-direction: column;
  width: 225px;
}

._menu_13ft5_13 li:not(._divider_13ft5_23) > a,
._menu_13ft5_13 ._signout_13ft5_25 {
  color: var(--primary-2) !important;
  opacity: 1 !important;
  font-family: var(--font-semibold);
  font-size: var(--f-size-16px);
  font-weight: var(--semibold-w);
  line-height: var(--line-height);
  font-style: var(--font-style);
}

._menu_13ft5_13 li:not(._divider_13ft5_23) > a:hover,
._menu_13ft5_13 ._signout_13ft5_25:hover {
  color: var(--primary-link-color) !important;
}

._menu_13ft5_13 li:not(._divider_13ft5_23):not(:last-child) {
  margin-bottom: 15px;
}

._divider_13ft5_23 {
  margin-top: 5px;
  margin-bottom: 20px;
  border-style: solid;
  border-color: #d6e3f0;
  border-width: 1px 0 0 0;
}

._container_13ft5_1._user_13ft5_79 {
  justify-content: flex-start;
  align-items: center;
  column-gap: 5px;
}

._miniIcon_13ft5_91 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  user-select: none;
  background-color: var(--ui-4);
}

._name_13ft5_115 {
  overflow-x: hidden;
  text-overflow: ellipsis;
  color: var(--primary-2) !important;
  font-family: var(--font-medium);
  font-size: var(--f-size-14px);
  font-weight: var(--medium-w);
  line-height: var(--line-height);
  font-style: var(--font-style);
}
._signout_13ft5_25 {
  border: none;
  background: none;
  padding: 0;
}
._avatar_21pgf_1 {
  width: 100%;
  height: 100%;
  min-width: 1rem;
  min-height: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  container-type: size;
  background-color: var(--ui-4);
  border-radius: 50%;
  overflow: hidden;
}

._letter_21pgf_29 {
  font-size: 60cqw;
}