/* P22: stable, properly scaled homepage presentation for ultra-wide screens. */
html.fz-p22,
html.fz-p22 body {
  max-width: 100%;
  overflow-x: clip;
}

html.fz-p22 #pkgGrid {
  overscroll-behavior-inline: contain;
}

@media (min-width: 1800px) {
  html.fz-p22 .container {
    width: calc(100% - clamp(112px, 7vw, 220px)) !important;
    max-width: 1760px !important;
  }

  html.fz-p22 #fz-main {
    overflow: clip !important;
    contain: paint;
  }

  html.fz-p22 #fz-main .searchwrap__bg {
    inset: 0 !important;
    width: 100% !important;
    animation: none !important;
    will-change: auto !important;
  }

  html.fz-p22 #fz-main .searchwrap__in {
    padding-top: 46px !important;
    padding-bottom: 34px !important;
  }

  html.fz-p22 .fz-p20-stage {
    grid-template-columns: minmax(0, 1.28fr) minmax(540px, 0.72fr);
    gap: clamp(58px, 4.5vw, 86px);
  }

  html.fz-p22 #fz-main .fz-p20-copy h1 {
    max-width: 860px;
    font-size: clamp(60px, 3.2vw, 68px) !important;
    line-height: 0.99 !important;
  }

  html.fz-p22 #fz-main .fz-p20-copy > p {
    max-width: 720px;
    font-size: 17.5px !important;
  }

  html.fz-p22 .fz-p20-livecard {
    min-height: 244px;
    padding: 22px;
  }

  html.fz-p22 .fz-p20-zone__copy strong {
    font-size: 14px;
  }

  html.fz-p22 .fz-p20-prices__main strong {
    font-size: 29px;
  }

  html.fz-p22 #fz-main .search {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    margin-top: 28px !important;
  }

  html.fz-p22 #fz-main .sf label {
    font-size: 10.5px;
  }

  html.fz-p22 #fz-main .sf select {
    font-size: 15px;
  }

  html.fz-p22 .sec-h h2 {
    font-size: clamp(30px, 1.75vw, 34px) !important;
    line-height: 1.18 !important;
  }

  html.fz-p22 .sec-h p {
    font-size: 15.5px;
    line-height: 1.6;
  }

  html.fz-p22 #offers #pkgGrid > .pkgcard {
    flex: 0 0 calc((100% - 36px) / 3);
  }

  html.fz-p22 #results .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  html.fz-p22 .marq__row {
    width: 100% !important;
    justify-content: center;
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  html.fz-p22 .marq__row > :nth-child(n + 10) {
    display: none !important;
  }

  html.fz-p22 .fz-p20-kicker i,
  html.fz-p22 .pkgcard.feat,
  html.fz-p22 .pkg__ribbon,
  html.fz-p22 #how .type .i {
    animation: none !important;
  }
}

/* One complete price index fits on the user's 3408px display, so it can be stable. */
@media (min-width: 3100px) {
  html.fz-p22 .fzticker__row {
    width: max-content !important;
    min-width: 0 !important;
    margin-inline: auto;
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  html.fz-p22 .fzticker__row > :nth-child(n + 11) {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.fz-p22 .fzticker__row,
  html.fz-p22 .marq__row,
  html.fz-p22 .fz-p20-kicker i,
  html.fz-p22 .pkgcard.feat,
  html.fz-p22 .pkg__ribbon,
  html.fz-p22 #how .type .i {
    animation: none !important;
    transform: none !important;
  }
}
