﻿@media (max-width: 767px) {
  :root {
    --yz-river-900: #062f67;
    --yz-river-800: #084989;
    --yz-river-700: #0b63c4;
    --yz-river-500: #1d8bea;
    --yz-shell-ink: #10233f;
    --yz-shell-muted: #60708a;
    --yz-shell-line: rgba(20, 48, 88, 0.12);
    --yz-shell-safe-bottom: env(safe-area-inset-bottom, 0px);
  }

  html,
  body.yz-booking-site {
    overflow-x: hidden !important;
  }

  body.yz-booking-site {
    padding-top: 0 !important;
    padding-bottom: calc(96px + var(--yz-shell-safe-bottom)) !important;
    background:
      radial-gradient(circle at 10% 12%, rgba(46, 210, 197, 0.18), transparent 32%),
      linear-gradient(135deg, #edf7fb 0%, #f8fbff 44%, #edf3f6 100%) !important;
  }

  body.yz-booking-site.page-booking-detail {
    padding-bottom: calc(90px + var(--yz-shell-safe-bottom)) !important;
  }

  body.yz-booking-site .yz-booking-header,
  body.yz-booking-site.page-booking-home > header.yz-booking-header,
  body.yz-booking-site .yz-booking-header-inner,
  body.yz-booking-site .yz-booking-brand {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-submit-ref-top,
  body.yz-booking-site .yz-shell-topbar,
  body.yz-booking-site[class] .yz-shell-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 100000 !important;
    display: grid !important;
    grid-template-columns: 142px 118px 38px !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    color: #fff !important;
    background:
      linear-gradient(180deg, rgba(4, 41, 93, 0.95) 0%, rgba(5, 55, 118, 0.82) 62%, rgba(5, 55, 118, 0.04) 100%) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 22px rgba(6, 47, 103, 0.18) !important;
    overflow: hidden !important;
    backdrop-filter: blur(14px);
  }

  body.yz-booking-site .yz-shell-logo,
  body.yz-booking-site .yz-shell-search,
  body.yz-booking-site .yz-shell-phone {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.yz-booking-site .yz-shell-logo {
    justify-content: flex-start !important;
    width: 142px !important;
    height: 38px !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-shell-logo img {
    display: block !important;
    width: 142px !important;
    max-width: 142px !important;
    height: auto !important;
    max-height: 38px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.14));
  }

  body.yz-booking-site .yz-shell-search {
    width: 118px !important;
    height: 38px !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-shell-search svg,
  body.yz-booking-site .yz-shell-phone svg,
  body.yz-booking-site .yz-shell-tab svg {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
  }

  body.yz-booking-site .yz-shell-search svg {
    width: 18px !important;
    height: 18px !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  body.yz-booking-site .yz-shell-search span {
    display: block !important;
    min-width: 0 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 38px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.yz-booking-site .yz-shell-phone {
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
  }

  body.yz-booking-site .yz-shell-phone svg {
    color: #fff !important;
    width: 19px !important;
    height: 19px !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo {
    position: static !important;
    grid-column: 1 !important;
    display: flex !important;
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    overflow: visible !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img {
    display: block !important;
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    height: auto !important;
    max-height: 38px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search {
    position: static !important;
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 11px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone {
    position: static !important;
    grid-column: 3 !important;
    display: flex !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a::before,
  body.yz-booking-site .yz-submit-ref-top > a::after,
  body.yz-booking-site .yz-booking-mobile-nav > a::before,
  body.yz-booking-site .yz-booking-mobile-nav > a::after,
  body.yz-booking-site .yz-shell-tab::before,
  body.yz-booking-site .yz-shell-tab::after,
  body.yz-booking-site .yz-shell-tab-main::before,
  body.yz-booking-site .yz-shell-tab-main::after,
  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a::before,
  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a::after {
    content: none !important;
    display: none !important;
  }

  body.page-booking-home .yz-booking-hero {
    margin: 0 !important;
    padding: 0 !important;
    background:
      linear-gradient(180deg, rgba(2, 35, 78, 0.16), rgba(243, 248, 251, 0.98) 100%),
      url("../sanxia-hero-banner-local.png") center top / cover no-repeat !important;
  }

  body.yz-booking-site.page-booking-home .yz-booking-home,
  body.yz-booking-site.page-booking-home main.yz-booking-home,
  body.yz-booking-site.page-booking-home .yz-booking-search,
  body.yz-booking-site.page-booking-home .yz-booking-announcement-bar,
  body.yz-booking-site.page-booking-home .yz-booking-mobile-icons,
  body.yz-booking-site.page-booking-home .yz-booking-section {
    background: #eef5f8 !important;
  }

  body.yz-booking-site.page-booking-home .yz-booking-search > .container,
  body.yz-booking-site.page-booking-home .yz-booking-announcement-bar > .container,
  body.yz-booking-site.page-booking-home .yz-booking-mobile-icons > .container,
  body.yz-booking-site.page-booking-home .yz-booking-section > .container {
    background: transparent !important;
  }

  body.yz-booking-site.page-booking-home .yz-booking-mobile-icon-grid,
  body.yz-booking-site.page-booking-home .yz-series-ref-title,
  body.yz-booking-site.page-booking-home .yz-booking-series-grid {
    background: transparent !important;
  }

  body.page-booking-home .yz-booking-hero .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body.page-booking-home .yz-booking-hero-panel {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.page-booking-home .yz-booking-hero-banner,
  body.page-booking-home .yz-booking-hero-banner-ref {
    display: block !important;
    width: 100% !important;
    height: 216px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: url("../sanxia-hero-banner-local.png") center top / cover no-repeat !important;
    overflow: hidden !important;
  }

  body.page-booking-home .yz-booking-hero-banner img,
  body.page-booking-home .yz-booking-hero-banner-ref img {
    display: block !important;
    width: 100% !important;
    height: 216px !important;
    object-fit: cover !important;
    object-position: center top !important;
    content: url("../sanxia-hero-banner-local.png") !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav,
  body.yz-booking-site .yz-shell-tabbar,
  body.yz-booking-site[class] .yz-shell-tabbar {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(8px, var(--yz-shell-safe-bottom)) !important;
    z-index: 100000 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 72px 1fr 1fr !important;
    align-items: end !important;
    gap: 4px !important;
    width: auto !important;
    max-width: none !important;
    height: 82px !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 10px 8px 12px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(13, 70, 128, 0.12) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 42px rgba(6, 47, 103, 0.24) !important;
    overflow: visible !important;
    backdrop-filter: blur(18px);
  }

  body.yz-booking-site .yz-shell-tab {
    position: relative !important;
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    color: #53657d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-shell-tab.is-active:not(.yz-shell-tab-main) {
    color: var(--yz-river-700) !important;
    background: #eef7ff !important;
  }

  body.yz-booking-site .yz-shell-tab i {
    display: none !important;
  }

  body.yz-booking-site .yz-shell-tab svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: currentColor !important;
  }

  body.yz-booking-site .yz-shell-tab span {
    display: block !important;
    width: 100% !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: currentColor !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 16px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.yz-booking-site .yz-shell-tab-main,
  body.yz-booking-site .yz-shell-tab-main.is-active {
    height: 68px !important;
    margin-bottom: 2px !important;
    color: #fff !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.38), transparent 24%),
      linear-gradient(135deg, var(--yz-river-700), var(--yz-river-500)) !important;
    box-shadow: 0 12px 26px rgba(29, 139, 234, 0.36) !important;
    transform: translateY(-18px) !important;
    overflow: visible !important;
  }

  body.yz-booking-site .yz-shell-tab-main svg {
    width: 26px !important;
    height: 26px !important;
  }

  body.yz-booking-site .yz-shell-tab-main span {
    height: 15px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 15px !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    color: #53657d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab.is-active:not(.yz-shell-tab-main) {
    color: var(--yz-river-700) !important;
    background: #eef7ff !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > i,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > i {
    display: none !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    color: currentColor !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    display: block !important;
    width: 100% !important;
    height: 15px !important;
    color: currentColor !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 15px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main {
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    margin-bottom: 2px !important;
    color: #fff !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.38), transparent 24%),
      linear-gradient(135deg, var(--yz-river-700), var(--yz-river-500)) !important;
    box-shadow: 0 12px 26px rgba(29, 139, 234, 0.36) !important;
    transform: translateY(-18px) !important;
    overflow: visible !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main > svg {
    width: 26px !important;
    height: 26px !important;
  }

  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main > span {
    height: 15px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 15px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main::before,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main::after,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main.is-active::before,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main.is-active::after {
    content: "" !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar {
    display: grid !important;
    grid-template-columns: 1fr 1fr 72px 1fr 1fr !important;
    align-items: end !important;
    justify-items: stretch !important;
    overflow: visible !important;
  }

  html body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    transform: translateY(-18px) !important;
  }

  html body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > i,
  html body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    display: block !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    width: calc(100vw - 4px) !important;
    max-width: calc(100vw - 4px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(50px, 16vw, 64px) minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(1px, 0.8vw, 3px) !important;
    padding-left: clamp(3px, 1vw, 7px) !important;
    padding-right: clamp(3px, 1vw, 7px) !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    border-radius: 16px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] {
    min-width: 50px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg {
    width: 25px !important;
    height: 25px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    font-size: 11px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav:not(.yz-shell-tabbar) {
    left: 50% !important;
    right: auto !important;
    bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(50px, 16vw, 64px) minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: end !important;
    gap: clamp(1px, 0.8vw, 3px) !important;
    width: calc(100vw - 4px) !important;
    max-width: calc(100vw - 4px) !important;
    height: 82px !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 10px clamp(3px, 1vw, 7px) 12px !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(13, 70, 128, 0.12) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 42px rgba(6, 47, 103, 0.24) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
    transform: translateX(-50%) !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav:not(.yz-shell-tabbar) > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: end !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    box-sizing: border-box !important;
    color: #53657d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav:not(.yz-shell-tabbar) > a:nth-child(1) {
    color: #0b63c4 !important;
    background: #eef7ff !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav:not(.yz-shell-tabbar) > a:nth-child(3) {
    height: 68px !important;
    min-height: 68px !important;
    color: #fff !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.38), transparent 24%),
      linear-gradient(135deg, #0b63c4, #1d8bea) !important;
    box-shadow: 0 12px 26px rgba(29, 139, 234, 0.36) !important;
    transform: translateY(-18px) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav:not(.yz-shell-tabbar) > a > i {
    display: block !important;
    height: 25px !important;
    color: currentColor !important;
    font-size: 19px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 25px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav:not(.yz-shell-tabbar) > a > span {
    display: block !important;
    width: 100% !important;
    height: 15px !important;
    color: currentColor !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 15px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab) {
    position: relative !important;
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;
    align-self: end !important;
    grid-row: 1 !important;
    gap: 3px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    box-sizing: border-box !important;
    color: #53657d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transform: none !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(1) {
    grid-column: 3 !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    margin: 0 0 2px !important;
    color: #fff !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.38), transparent 24%),
      linear-gradient(135deg, #0b63c4, #1d8bea) !important;
    box-shadow: 0 12px 26px rgba(29, 139, 234, 0.36) !important;
    transform: translateY(-18px) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(2) {
    grid-column: 1 !important;
    color: #0b63c4 !important;
    background: #eef7ff !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(3) {
    grid-column: 2 !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(4) {
    grid-column: 4 !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(5) {
    grid-column: 5 !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab) > i {
    display: block !important;
    height: 25px !important;
    margin: 0 !important;
    color: currentColor !important;
    font-size: 19px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 25px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(1) > i {
    font-size: 21px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab) > span {
    display: block !important;
    width: 100% !important;
    height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: currentColor !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 15px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab) > span::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(1) > span::after {
    content: "首页" !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(2) > span::after {
    content: "航期" !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(3) > span::after {
    content: "在线咨询" !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(4) > span::after {
    content: "电话咨询" !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a:not(.yz-shell-tab):nth-child(5) > span::after {
    content: "订单" !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > i,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main > i {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > svg,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main > svg {
    fill: currentColor !important;
    stroke: none !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site {
    --yz-final-top-side: clamp(9px, 3.8vw, 14px);
    --yz-final-top-gap: clamp(5px, 2vw, 9px);
    --yz-final-logo-w: clamp(116px, 46vw, 150px);
    --yz-final-search-w: clamp(70px, 29vw, 106px);
    --yz-final-phone: clamp(32px, 9.5vw, 36px);
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar,
  html body.yz-booking-site .yz-submit-ref-top.yz-shell-topbar,
  html body.yz-booking-site .yz-shell-topbar {
    display: grid !important;
    grid-template-columns: var(--yz-final-logo-w) var(--yz-final-search-w) var(--yz-final-phone) !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: var(--yz-final-top-gap) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 74px !important;
    min-height: 74px !important;
    padding: 10px calc(var(--yz-final-top-side) + 2px) 10px var(--yz-final-top-side) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  html body.yz-booking-site .yz-shell-logo {
    grid-column: 1 !important;
    width: var(--yz-final-logo-w) !important;
    min-width: 0 !important;
    max-width: var(--yz-final-logo-w) !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img,
  html body.yz-booking-site .yz-shell-logo img {
    width: var(--yz-final-logo-w) !important;
    min-width: 0 !important;
    max-width: var(--yz-final-logo-w) !important;
    height: auto !important;
    max-height: 44px !important;
    object-fit: contain !important;
    object-position: left center !important;
    image-rendering: auto !important;
    filter: drop-shadow(0 4px 9px rgba(0, 0, 0, 0.16)) !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search,
  html body.yz-booking-site .yz-shell-search {
    grid-column: 2 !important;
    width: var(--yz-final-search-w) !important;
    min-width: 0 !important;
    max-width: var(--yz-final-search-w) !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 8px !important;
    gap: 4px !important;
  }

  html body.yz-booking-site .yz-shell-search svg {
    width: 15px !important;
    height: 15px !important;
  }

  html body.yz-booking-site .yz-shell-search span {
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 34px !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone,
  html body.yz-booking-site .yz-shell-phone {
    grid-column: 3 !important;
    width: var(--yz-final-phone) !important;
    min-width: var(--yz-final-phone) !important;
    max-width: var(--yz-final-phone) !important;
    height: var(--yz-final-phone) !important;
    min-height: var(--yz-final-phone) !important;
    max-height: var(--yz-final-phone) !important;
    justify-self: end !important;
  }

  html body.yz-booking-site .yz-shell-phone svg {
    width: 17px !important;
    height: 17px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule .yz-schedule-main {
    background: #eef5f8 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-top {
    margin: 0 !important;
    padding: 10px 12px 8px !important;
    background: #eef5f8 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 34px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #10233f !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(20, 48, 88, 0.08) !important;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: 0 10px 24px rgba(7, 47, 103, 0.08) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    margin: -8px 0 0 !important;
    padding: 11px 10px 12px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(20, 48, 88, 0.08) !important;
    border-top: 0 !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 15px 34px rgba(7, 47, 103, 0.12) !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b63c4 !important;
    background: #eef7ff !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 38px !important;
    white-space: nowrap !important;
    outline: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button:focus,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button:focus-visible,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button:active {
    outline: 0 !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date {
    gap: 4px !important;
    color: #10233f !important;
    background: #f6f9fc !important;
    border: 1px solid rgba(20, 48, 88, 0.08) !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date span {
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    color: #0b63c4 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 36px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date i {
    display: block !important;
    flex: 0 0 auto !important;
    color: #1d8bea !important;
    font-size: 14px !important;
    font-style: normal !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-query-hero {
    padding-top: 2px !important;
    background: #eef5f8 !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-search {
    margin: 0 !important;
    padding: 0 12px 8px !important;
    background: #eef5f8 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-search > .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm.yz-booking-search-card {
    display: block !important;
    width: 100% !important;
    margin: -3px 0 0 !important;
    padding: 14px 14px 13px !important;
    color: #10233f !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(20, 48, 88, 0.08) !important;
    border-radius: 8px !important;
    box-shadow: 0 15px 34px rgba(7, 47, 103, 0.14) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 28px !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button.is-active {
    color: #10233f !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button:not(.is-active) {
    padding: 6px 9px !important;
    color: #0b63c4 !important;
    background: #e9f4ff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-search-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
    grid-template-areas:
      "start swap end"
      "date date date"
      "ship ship ship"
      "submit submit submit" !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid rgba(20, 48, 88, 0.12) !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-start { grid-area: start !important; }
  html body.yz-booking-site.page-booking-home .booking-field-end { grid-area: end !important; }
  html body.yz-booking-site.page-booking-home .booking-field-date-hero { grid-area: date !important; }
  html body.yz-booking-site.page-booking-home .booking-field-ship { grid-area: ship !important; }
  html body.yz-booking-site.page-booking-home .yz-booking-submit { grid-area: submit !important; }

  html body.yz-booking-site.page-booking-home .booking-field {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-display {
    display: block !important;
    width: 100% !important;
    height: 34px !important;
    color: #10233f !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 34px !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-swap {
    grid-area: swap !important;
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #1d8bea !important;
    background: #eef7ff !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-swap::before,
  html body.yz-booking-site.page-booking-home .yz-booking-swap::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-swap .yz-booking-swap-icon {
    display: block !important;
    color: #1d8bea !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 34px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #10233f !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display strong {
    display: block !important;
    color: #10233f !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 42px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display small {
    display: block !important;
    color: #60708a !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 42px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-ship {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .yz-home-search-grid {
    grid-template-areas:
      "ship ship ship"
      "submit submit submit" !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .booking-field-start,
  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .booking-field-end,
  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .booking-field-date-hero,
  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .yz-booking-swap {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .booking-field-ship {
    display: flex !important;
    grid-area: ship !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    background: linear-gradient(180deg, #1d8bea 0%, #0b76d8 100%) !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-shadow: 0 9px 18px rgba(11, 99, 196, 0.24) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-routes {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-routes button {
    min-width: 0 !important;
    height: 24px !important;
    padding: 0 5px !important;
    color: #60708a !important;
    background: #f5f9fc !important;
    border: 1px solid rgba(20, 48, 88, 0.08) !important;
    border-radius: 4px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-search > .container,
  html body.yz-booking-site.page-booking-home .yz-booking-search > div.container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body.yz-booking-site.page-booking-home form#bookingSearchForm.yz-booking-search-card,
  html body.yz-booking-site.page-booking-home #search form#bookingSearchForm.yz-booking-search-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(54px, 17vw, 68px) minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(2px, 1vw, 4px) !important;
    padding-left: clamp(4px, 1.5vw, 8px) !important;
    padding-right: clamp(4px, 1.5vw, 8px) !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] {
    min-width: 54px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg {
    width: 24px !important;
    height: 24px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    font-size: 10.5px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-section-head,
  html body.yz-booking-site.page-booking-home .yz-ref-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head::after {
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 24px !important;
    height: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(223, 53, 70, 0.76), rgba(223, 53, 70, 0.18)) !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head h2,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: calc(100% - 38px) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b63c4 !important;
    font-size: clamp(16px, 4.4vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 30px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home .yz-ref-head-icon,
  html body.yz-booking-site.page-booking-home .yz-section-head h2 > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 4px 0 0 !important;
    color: #0b63c4 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-section-head,
  html body.yz-booking-site.page-booking-home .yz-ref-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head::after {
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 24px !important;
    height: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(223, 53, 70, 0.76), rgba(223, 53, 70, 0.18)) !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head h2,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: calc(100% - 38px) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b63c4 !important;
    font-size: clamp(16px, 4.4vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 30px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home .yz-ref-head-icon,
  html body.yz-booking-site.page-booking-home .yz-section-head h2 > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 4px 0 0 !important;
    color: #0b63c4 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-section-head,
  html body.yz-booking-site.page-booking-home .yz-ref-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head::after {
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 24px !important;
    height: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(223, 53, 70, 0.76), rgba(223, 53, 70, 0.18)) !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head h2,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: calc(100% - 38px) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b63c4 !important;
    font-size: clamp(16px, 4.4vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 30px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home .yz-ref-head-icon,
  html body.yz-booking-site.page-booking-home .yz-section-head h2 > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 4px 0 0 !important;
    color: #0b63c4 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-news-tags {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 2px 2px 8px !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-news-tags a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 8px !important;
    border: 1px solid rgba(40, 116, 190, 0.15) !important;
    border-radius: 8px !important;
    color: #263a55 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 18px !important;
    text-align: center !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 6px 14px rgba(7, 47, 103, 0.05) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-mobile-icons > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: clamp(12px, 4vw, 16px) !important;
    padding-right: clamp(12px, 4vw, 16px) !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-quick-grid-lock,
  html body.yz-booking-site.page-booking-home .yz-booking-mobile-icon-grid.yz-home-quick-grid-lock {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
    justify-items: stretch !important;
    gap: clamp(6px, 3vw, 12px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-quick-grid-lock > a,
  html body.yz-booking-site.page-booking-home .yz-booking-mobile-icon-grid.yz-home-quick-grid-lock > a {
    display: grid !important;
    grid-template-rows: 30px auto !important;
    place-items: center !important;
    justify-content: center !important;
    align-content: start !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-quick-grid-lock > a > span,
  html body.yz-booking-site.page-booking-home .yz-booking-mobile-icon-grid.yz-home-quick-grid-lock > a > span {
    display: block !important;
    width: clamp(25px, 8vw, 30px) !important;
    height: clamp(25px, 8vw, 30px) !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-quick-grid-lock > a > strong,
  html body.yz-booking-site.page-booking-home .yz-booking-mobile-icon-grid.yz-home-quick-grid-lock > a > strong {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #22324a !important;
    font-size: clamp(10.5px, 3.1vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 15px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-routes {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(4px, 1.8vw, 8px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-routes > button,
  html body.yz-booking-site.page-booking-home .yz-booking-routes > button:focus,
  html body.yz-booking-site.page-booking-home .yz-booking-routes > button:focus-visible,
  html body.yz-booking-site.page-booking-home .yz-booking-routes > button:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #556f8d !important;
    font-size: clamp(10px, 2.9vw, 11.5px) !important;
    font-weight: 800 !important;
    line-height: 16px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-section-head,
  html body.yz-booking-site.page-booking-home .yz-ref-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head::before {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head::after {
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 24px !important;
    height: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(223, 53, 70, 0.76), rgba(223, 53, 70, 0.18)) !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head h2,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: calc(100% - 38px) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b63c4 !important;
    font-size: clamp(15px, 4.2vw, 17px) !important;
    font-weight: 950 !important;
    line-height: 28px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-ref-head-icon,
  html body.yz-booking-site.page-booking-home .yz-section-head h2 > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 4px 0 0 !important;
    color: #0b63c4 !important;
    font-size: 14px !important;
    line-height: 18px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(54px, 17vw, 68px) minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(2px, 1vw, 4px) !important;
    padding-left: clamp(4px, 1.5vw, 8px) !important;
    padding-right: clamp(4px, 1.5vw, 8px) !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] {
    min-width: 54px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg {
    width: 24px !important;
    height: 24px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    font-size: 10.5px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    left: 50% !important;
    right: auto !important;
    bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(58px, 18vw, 72px) minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    align-items: end !important;
    gap: 4px !important;
    width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 20px) !important;
    height: 82px !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 10px clamp(6px, 2vw, 8px) 12px !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(13, 70, 128, 0.12) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 42px rgba(6, 47, 103, 0.24) !important;
    overflow: visible !important;
    transform: translateX(-50%) !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    position: relative !important;
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;
    align-self: end !important;
    gap: 4px !important;
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    box-sizing: border-box !important;
    color: #53657d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transform: none !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab:nth-child(1) { grid-column: 1 !important; }
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab:nth-child(2) { grid-column: 2 !important; }
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab:nth-child(3) { grid-column: 3 !important; }
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab:nth-child(4) { grid-column: 4 !important; }
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab:nth-child(5) { grid-column: 5 !important; }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="schedule"] {
    color: #0b63c4 !important;
    background: #eef7ff !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab.yz-shell-tab-main,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] {
    grid-column: 3 !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    margin: 0 0 2px !important;
    color: #fff !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.38), transparent 24%),
      linear-gradient(135deg, #0b63c4, #1d8bea) !important;
    box-shadow: 0 12px 26px rgba(29, 139, 234, 0.36) !important;
    transform: translateY(-18px) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg {
    display: block !important;
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab.yz-shell-tab-main > svg,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: currentColor !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 15px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab.yz-shell-tab-main > span,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > span {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab::before,
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab::after {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 340px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 58px minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 374px) {
  body.yz-booking-site .yz-submit-ref-top,
  body.yz-booking-site .yz-shell-topbar {
    grid-template-columns: 122px 104px 38px !important;
    gap: 6px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.yz-booking-site .yz-shell-logo {
    width: 122px !important;
  }

  body.yz-booking-site .yz-shell-logo img {
    width: 122px !important;
    max-width: 122px !important;
  }

  body.yz-booking-site .yz-shell-search {
    width: 104px !important;
  }

  body.yz-booking-site .yz-shell-search span {
    font-size: 12px !important;
  }
}

@media (max-width: 320px) {
  html,
  body.yz-booking-site {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.yz-booking-site .yz-submit-ref-top,
  body.yz-booking-site .yz-shell-topbar,
  body.yz-booking-site[class] .yz-shell-topbar {
    grid-template-columns: minmax(92px, 1fr) 76px 34px !important;
    gap: 5px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow: hidden !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img {
    width: 108px !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 5px !important;
  }

  body.yz-booking-site .yz-shell-search svg {
    width: 15px !important;
    height: 15px !important;
  }

  body.yz-booking-site .yz-shell-search span {
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  body.yz-booking-site .yz-shell-phone svg {
    width: 17px !important;
    height: 17px !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav,
  body.yz-booking-site .yz-shell-tabbar,
  body.yz-booking-site[class] .yz-shell-tabbar {
    left: 6px !important;
    right: 6px !important;
    width: auto !important;
    max-width: calc(100vw - 12px) !important;
    box-sizing: border-box !important;
    grid-template-columns: 1fr 1fr 58px 1fr 1fr !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.yz-booking-site .yz-shell-tab span,
  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    font-size: 9px !important;
  }

  body.yz-booking-site .yz-shell-tab-main,
  body.yz-booking-site .yz-shell-tab-main.is-active,
  body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main,
  body.yz-booking-site[class] nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab-main {
    border-radius: 18px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule {
    --yz-schedule-card-side: clamp(20px, 6vw, 28px);
    --yz-schedule-card-pad: clamp(10px, 3vw, 13px);
    --yz-schedule-time-size: clamp(17px, 5.2vw, 21px);
    --yz-schedule-cta-width: clamp(66px, 20vw, 82px);
    --yz-schedule-mid-min: clamp(30px, 11vw, 46px);
    overflow-x: hidden !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-booking-main,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-main,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-results,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-results-shell,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-results-main,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-day-list,
  html body.yz-booking-site.page-booking-schedule #scheduleCards,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-day-body {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-day-list {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule #scheduleCards,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-day-body {
    position: relative !important;
    width: calc(100vw - (var(--yz-schedule-card-side) * 2)) !important;
    max-width: calc(100vw - (var(--yz-schedule-card-side) * 2)) !important;
    left: auto !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-day-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns:
      minmax(56px, 1fr)
      minmax(var(--yz-schedule-mid-min), 0.4fr)
      minmax(66px, 1fr) !important;
    grid-template-rows: minmax(62px, auto) minmax(52px, auto) auto !important;
    column-gap: clamp(5px, 2vw, 10px) !important;
    row-gap: clamp(10px, 3vw, 13px) !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 14px var(--yz-schedule-card-pad) 12px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(92, 130, 187, 0.16) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, rgba(246, 251, 255, 0.96), rgba(255, 255, 255, 1)) !important;
    box-shadow: 0 10px 26px rgba(25, 74, 130, 0.1) !important;
    color: #102a4c !important;
    text-decoration: none !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 57px !important;
    left: calc(var(--yz-schedule-card-pad) + 8px) !important;
    right: calc(var(--yz-schedule-card-pad) + 8px) !important;
    display: block !important;
    height: 1px !important;
    border-radius: 999px !important;
    background: linear-gradient(
      90deg,
      rgba(55, 122, 197, 0.08),
      rgba(55, 122, 197, 0.32) 30%,
      rgba(55, 122, 197, 0.5) 50%,
      rgba(55, 122, 197, 0.32) 70%,
      rgba(55, 122, 197, 0.08)
    ) !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > * {
    position: relative !important;
    z-index: 1 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-trip-type {
    position: absolute !important;
    top: 10px !important;
    left: var(--yz-schedule-card-pad) !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 22px !important;
    padding: 0 8px !important;
    border: 1px solid rgba(34, 104, 188, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(231, 241, 255, 0.78) !important;
    color: #1b62ae !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-arrive-date {
    position: absolute !important;
    top: 10px !important;
    right: var(--yz-schedule-card-pad) !important;
    height: 22px !important;
    max-width: 44vw !important;
    color: #6c7f99 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 22px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-route-cell {
    grid-area: 1 / 1 / 2 / 2 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid {
    grid-area: 1 / 2 / 2 / 3 !important;
    min-width: var(--yz-schedule-mid-min) !important;
    text-align: center !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-duration-cell {
    grid-area: 1 / 3 / 2 / 4 !important;
    justify-self: stretch !important;
    align-items: flex-end !important;
    text-align: right !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-time {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 50px !important;
    margin-top: 24px !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-time strong {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    color: #0a2345 !important;
    font-size: var(--yz-schedule-time-size) !important;
    font-weight: 950 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-time small {
    display: block !important;
    width: 100% !important;
    margin-top: 6px !important;
    color: #58708e !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    margin-top: 24px !important;
    gap: 8px !important;
    isolation: isolate !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid span {
    position: relative !important;
    z-index: 2 !important;
    max-width: min(74px, 30vw) !important;
    min-width: 46px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(74, 146, 220, 0.22) !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #f8fcff 0%, #eaf5ff 100%) !important;
    color: #1762ad !important;
    font-size: clamp(10px, 3vw, 11px) !important;
    font-weight: 900 !important;
    line-height: 21px !important;
    box-shadow:
      0 5px 12px rgba(39, 110, 184, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid::before {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid i {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-info {
    grid-area: 2 / 1 / 3 / 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: end !important;
    column-gap: 8px !important;
    row-gap: 4px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid rgba(127, 157, 191, 0.16) !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-info b {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    color: #122d52 !important;
    font-size: clamp(16px, 4.7vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-info em {
    grid-column: 1 / 2 !important;
    grid-row: 2 / 3 !important;
    justify-self: start !important;
    color: #ff5a2a !important;
    font-size: clamp(18px, 5.4vw, 22px) !important;
    font-style: normal !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card .yz-schedule-score {
    grid-column: 1 / 2 !important;
    grid-row: 3 / 4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    height: 20px !important;
    margin-top: 2px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 199, 30, 0.18) !important;
    color: #b57500 !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
    line-height: 20px !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-day-cta {
    grid-area: 2 / 3 / 3 / 4 !important;
    align-self: center !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--yz-schedule-cta-width) !important;
    min-width: var(--yz-schedule-cta-width) !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ff8b36, #ff5d2c) !important;
    box-shadow: 0 8px 16px rgba(255, 104, 42, 0.24) !important;
    color: #fff !important;
    font-size: clamp(12px, 3.5vw, 13px) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic {
    grid-area: 3 / 1 / 4 / 4 !important;
    display: -webkit-box !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 10px !important;
    background: rgba(244, 248, 253, 0.94) !important;
    color: #637894 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.42 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
}

@media (max-width: 340px) {
  html body.yz-booking-site.page-booking-schedule {
    --yz-schedule-card-side: 22px;
    --yz-schedule-card-pad: 9px;
    --yz-schedule-time-size: 17px;
    --yz-schedule-cta-width: 66px;
    --yz-schedule-mid-min: 26px;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card {
    grid-template-columns:
      minmax(52px, 1fr)
      minmax(26px, 0.34fr)
      minmax(64px, 1fr) !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar {
    grid-template-columns:
      minmax(52px, 0.72fr)
      minmax(150px, 2.1fr)
      minmax(52px, 0.72fr) !important;
    gap: clamp(5px, 1.8vw, 8px) !important;
    min-height: 58px !important;
    padding: 10px clamp(8px, 2.6vw, 12px) 14px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button {
    height: 40px !important;
    min-width: 52px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date {
    justify-self: center !important;
    width: min(100%, 188px) !important;
    max-width: 188px !important;
    height: 40px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date span {
    font-size: 14px !important;
    line-height: 38px !important;
  }
}

@media (max-width: 340px) {
  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar {
    grid-template-columns: 50px minmax(132px, 1fr) 50px !important;
    gap: 4px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button {
    min-width: 50px !important;
    font-size: 12.5px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date {
    max-width: 150px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button,
  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button.is-active,
  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button[data-booking-mobile-tab="schedule"] {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button.is-active,
  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button[data-booking-mobile-tab="schedule"].is-active {
    color: #10233f !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home #bookingFleetGroups.yz-booking-series-grid,
  html body.yz-booking-site.page-booking-home .yz-booking-series-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: 72px !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-series-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    height: 72px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-series-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-series-icon img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-series-label,
  html body.yz-booking-site.page-booking-home .yz-booking-series-card span:last-child {
    width: 100% !important;
    max-width: 100% !important;
    color: #23364f !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 14px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-announcement-bar {
    padding: 8px 0 10px !important;
    background: #eef5f8 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-announcement-bar > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-announcement-strip {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(40, 116, 190, 0.16) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 8px 18px rgba(7, 47, 103, 0.06) !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-announcement-strip span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    color: #0b63c4 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-announcement-strip span::before {
    content: "" !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #1d8bea !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-announcement-scroll {
    min-width: 0 !important;
    color: #cf3f26 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 767px) {
  body.yz-booking-site {
    --yz-shell-side: clamp(8px, 3.6vw, 14px);
    --yz-shell-gap: clamp(5px, 2.8vw, 12px);
    --yz-shell-logo-size: clamp(108px, 36vw, 142px);
    --yz-shell-search-size: clamp(76px, 30vw, 118px);
    --yz-shell-phone-size: clamp(34px, 9.8vw, 38px);
    --yz-shell-bottom-side: clamp(6px, 2.6vw, 10px);
    --yz-shell-bottom-total: clamp(12px, 5.2vw, 20px);
    overflow-x: hidden !important;
  }

  body.yz-booking-site .yz-submit-ref-top,
  body.yz-booking-site .yz-shell-topbar,
  body.yz-booking-site[class] .yz-shell-topbar {
    grid-template-columns: var(--yz-shell-logo-size) var(--yz-shell-search-size) var(--yz-shell-phone-size) !important;
    gap: var(--yz-shell-gap) !important;
    justify-content: space-between !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: var(--yz-shell-side) !important;
    padding-right: var(--yz-shell-side) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  body.yz-booking-site .yz-shell-logo {
    width: var(--yz-shell-logo-size) !important;
    min-width: var(--yz-shell-logo-size) !important;
    max-width: var(--yz-shell-logo-size) !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > img,
  body.yz-booking-site .yz-shell-logo img {
    width: var(--yz-shell-logo-size) !important;
    min-width: 0 !important;
    max-width: var(--yz-shell-logo-size) !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search,
  body.yz-booking-site .yz-shell-search {
    width: var(--yz-shell-search-size) !important;
    min-width: var(--yz-shell-search-size) !important;
    max-width: var(--yz-shell-search-size) !important;
    padding-left: clamp(8px, 2.8vw, 11px) !important;
    padding-right: clamp(8px, 2.8vw, 11px) !important;
    gap: clamp(5px, 1.8vw, 7px) !important;
  }

  body.yz-booking-site .yz-shell-search svg {
    width: clamp(15px, 4.6vw, 18px) !important;
    height: clamp(15px, 4.6vw, 18px) !important;
  }

  body.yz-booking-site .yz-shell-search span {
    font-size: clamp(10px, 3.2vw, 13px) !important;
    font-weight: 800 !important;
  }

  body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone,
  body.yz-booking-site[class] header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone,
  body.yz-booking-site .yz-shell-phone {
    width: var(--yz-shell-phone-size) !important;
    min-width: var(--yz-shell-phone-size) !important;
    max-width: var(--yz-shell-phone-size) !important;
    height: var(--yz-shell-phone-size) !important;
    min-height: var(--yz-shell-phone-size) !important;
    max-height: var(--yz-shell-phone-size) !important;
  }

  body.yz-booking-site .yz-shell-phone svg {
    width: clamp(17px, 4.9vw, 19px) !important;
    height: clamp(17px, 4.9vw, 19px) !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav,
  body.yz-booking-site .yz-shell-tabbar,
  body.yz-booking-site[class] .yz-shell-tabbar {
    left: 50% !important;
    right: auto !important;
    width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 20px) !important;
    grid-template-columns: 1fr 1fr clamp(58px, 18vw, 72px) 1fr 1fr !important;
    padding-left: clamp(6px, 2vw, 8px) !important;
    padding-right: clamp(6px, 2vw, 8px) !important;
    box-sizing: border-box !important;
    transform: translateX(-50%) !important;
  }

  @media (max-width: 340px) {
    body.yz-booking-site .yz-booking-mobile-nav,
    body.yz-booking-site .yz-shell-tabbar,
    body.yz-booking-site[class] .yz-shell-tabbar {
      width: calc(100vw - 12px) !important;
      max-width: calc(100vw - 12px) !important;
    }
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(54px, 17vw, 68px) minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(2px, 1vw, 4px) !important;
    padding-left: clamp(4px, 1.5vw, 8px) !important;
    padding-right: clamp(4px, 1.5vw, 8px) !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] {
    min-width: 54px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > svg {
    width: 24px !important;
    height: 24px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab[data-shell-nav="home"] > svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body.yz-booking-site nav.yz-booking-mobile-nav.yz-shell-tabbar > a.yz-shell-tab > span {
    font-size: 10.5px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-section-head,
  html body.yz-booking-site.page-booking-home .yz-ref-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-section-head h2::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::before,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head::after,
  html body.yz-booking-site.page-booking-home .yz-ref-head::after {
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 24px !important;
    height: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(223, 53, 70, 0.76), rgba(223, 53, 70, 0.18)) !important;
  }

  html body.yz-booking-site.page-booking-home .yz-section-head h2,
  html body.yz-booking-site.page-booking-home .yz-ref-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: calc(100% - 38px) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b63c4 !important;
    font-size: clamp(16px, 4.4vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 30px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home .yz-ref-head-icon,
  html body.yz-booking-site.page-booking-home .yz-section-head h2 > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 4px 0 0 !important;
    color: #0b63c4 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  html body.yz-booking-site .yz-shell-logo {
    display: grid !important;
    grid-template-columns: clamp(32px, 9.4vw, 38px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 5px !important;
    width: clamp(142px, 42vw, 158px) !important;
    min-width: clamp(142px, 42vw, 158px) !important;
    max-width: clamp(142px, 42vw, 158px) !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    overflow: visible !important;
    text-decoration: none !important;
  }

  html body.yz-booking-site .yz-shell-logo-mark {
    display: block !important;
    position: relative !important;
    width: clamp(32px, 9.4vw, 38px) !important;
    height: 32px !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site .yz-shell-logo-mark img,
  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo > .yz-shell-logo-mark > img {
    display: block !important;
    width: clamp(126px, 34vw, 140px) !important;
    min-width: clamp(126px, 34vw, 140px) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    transform: translateX(0) translateY(1px) !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  html body.yz-booking-site .yz-shell-logo-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 36px !important;
    overflow: visible !important;
  }

  html body.yz-booking-site .yz-shell-logo-copy strong {
    display: block !important;
    color: #ffffff !important;
    font-size: clamp(12px, 3.45vw, 13.5px) !important;
    font-weight: 950 !important;
    line-height: 17px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 2px rgba(2, 24, 55, 0.28) !important;
  }

  html body.yz-booking-site .yz-shell-logo-copy small {
    display: block !important;
    margin-top: 1px !important;
    color: rgba(231, 246, 255, 0.94) !important;
    font-size: clamp(6.5px, 1.8vw, 7.2px) !important;
    font-weight: 800 !important;
    line-height: 8px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 2px rgba(2, 24, 55, 0.2) !important;
  }

  html body.yz-booking-site .yz-shell-logo > img {
    display: none !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-help .yz-help-side,
  html body.yz-booking-site.page-booking-guides .yz-guide-side {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    background: #eef5f8 !important;
  }

  html body.yz-booking-site.page-booking-help .yz-help-side::-webkit-scrollbar,
  html body.yz-booking-site.page-booking-guides .yz-guide-side::-webkit-scrollbar {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-help .yz-help-side a,
  html body.yz-booking-site.page-booking-guides .yz-guide-side a {
    flex: 0 0 auto !important;
    min-width: 116px !important;
    width: auto !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(40, 116, 190, 0.16) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #173355 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 42px !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    scroll-snap-align: start !important;
  }

  html body.yz-booking-site.page-booking-help .yz-help-side a.is-active,
  html body.yz-booking-site.page-booking-guides .yz-guide-side a.is-active,
  html body.yz-booking-site.page-booking-guides .yz-guide-side a:first-child {
    color: #0b63c4 !important;
    border-color: rgba(11, 99, 196, 0.26) !important;
    background: #e9f4ff !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login {
    min-height: 100vh !important;
    background:
      linear-gradient(180deg, rgba(15, 106, 196, 0.12), rgba(238, 245, 248, 0) 220px),
      #eef5f8 !important;
    color: #173355 !important;
    overflow-x: hidden !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main {
    display: grid !important;
    justify-items: center !important;
    align-content: start !important;
    width: 100dvw !important;
    max-width: 100dvw !important;
    min-height: calc(100vh - 72px) !important;
    margin: 0 auto !important;
    padding: 82px clamp(12px, 3.8vw, 18px) 120px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    overflow-x: hidden !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card {
    display: flex !important;
    flex-direction: column !important;
    justify-self: center !important;
    width: min(calc(100dvw - clamp(24px, 7.6vw, 36px)), 430px) !important;
    max-width: min(calc(100dvw - clamp(24px, 7.6vw, 36px)), 430px) !important;
    min-height: 0 !important;
    margin: 10px auto 0 !important;
    padding: clamp(18px, 5vw, 22px) clamp(15px, 4.5vw, 20px) clamp(16px, 4.4vw, 20px) !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(40, 116, 190, 0.16) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 16px 38px rgba(6, 47, 103, 0.14) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card::before {
    content: "查询我的订单" !important;
    display: block !important;
    margin: 0 0 5px !important;
    color: #0b3568 !important;
    font-size: clamp(22px, 6.1vw, 26px) !important;
    font-weight: 950 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form::before {
    content: "输入下单时预留的信息，快速查看客服确认后的订单。" !important;
    display: block !important;
    margin: 0 0 6px !important;
    color: #53657d !important;
    font-size: clamp(14px, 3.9vw, 15.5px) !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line,
  html body.yz-booking-site.page-booking-login .yz-login-line {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(40, 116, 190, 0.18) !important;
    border-radius: 12px !important;
    background: #f7fbff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user,
  html body.yz-booking-site.page-booking-login .yz-login-line-user {
    grid-template-columns: clamp(142px, 37%, 166px) minmax(0, 1fr) !important;
    gap: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    border: 1px solid rgba(40, 116, 190, 0.18) !important;
    border-radius: 17px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 2px rgba(10, 57, 112, 0.04) !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user > span,
  html body.yz-booking-site.page-booking-login .yz-login-line-user > span {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user > span::before,
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user > span::after,
  html body.yz-booking-site.page-booking-login .yz-login-line-user > span::before,
  html body.yz-booking-site.page-booking-login .yz-login-line-user > span::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    padding-right: 8px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > span,
  html body.yz-booking-site.page-booking-login .yz-login-line > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(11, 99, 196, 0.1) !important;
    color: #0b63c4 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > span::before,
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > span::after,
  html body.yz-booking-site.page-booking-login .yz-login-line > span::before,
  html body.yz-booking-site.page-booking-login .yz-login-line > span::after {
    color: #0b63c4 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input,
  html body.yz-booking-site.page-booking-login .yz-login-line input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #12345a !important;
    font-size: clamp(15.5px, 4.2vw, 17px) !important;
    font-weight: 850 !important;
    line-height: 52px !important;
    text-align: left !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > select,
  html body.yz-booking-site.page-booking-login .yz-login-line select,
  html body.yz-booking-site.page-booking-login #loginCountryCode {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 12px 0 16px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-right: 1px solid rgba(40, 116, 190, 0.14) !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background-color: transparent !important;
    color: #173355 !important;
    font-size: clamp(13.5px, 3.55vw, 15px) !important;
    font-weight: 850 !important;
    line-height: 54px !important;
    text-align: center !important;
    text-align-last: center !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-user input#loginPhone {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    line-height: 54px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input::placeholder,
  html body.yz-booking-site.page-booking-login .yz-login-line input::placeholder {
    color: #617996 !important;
    font-size: clamp(14px, 3.8vw, 15.5px) !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > button,
  html body.yz-booking-site.page-booking-login .yz-login-line button,
  html body.yz-booking-site.page-booking-login #loginCaptchaRefresh {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: clamp(78px, 22vw, 96px) !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(11, 99, 196, 0.16) !important;
    border-radius: 999px !important;
    background: #e9f4ff !important;
    color: #0b63c4 !important;
    font-size: clamp(13px, 3.6vw, 14.5px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 4px 0 0 !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0b63c4, #1d8bea) !important;
    color: #ffffff !important;
    font-size: clamp(16px, 4.4vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 52px !important;
    text-align: center !important;
    box-shadow: 0 12px 24px rgba(29, 139, 234, 0.3) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-tip {
    display: block !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 11px 12px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(40, 116, 190, 0.12) !important;
    border-radius: 10px !important;
    background: #f4f8fc !important;
    color: #53657d !important;
    font-size: clamp(13.5px, 3.7vw, 15px) !important;
    font-weight: 750 !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-bottom-nav {
    display: grid !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh,
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > #loginCaptchaRefresh {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: clamp(82px, 23vw, 100px) !important;
    max-width: 104px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(11, 99, 196, 0.18) !important;
    border-radius: 999px !important;
    background: #e9f4ff !important;
    color: #0b63c4 !important;
    font-size: clamp(13px, 3.6vw, 14.5px) !important;
    font-weight: 900 !important;
    line-height: 40px !important;
    opacity: 1 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    outline: 0 !important;
    outline-color: transparent !important;
    -webkit-tap-highlight-color: transparent !important;
    transform: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh:focus,
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh:focus-visible,
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh:hover,
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh:active {
    border-color: rgba(11, 99, 196, 0.18) !important;
    background: #e9f4ff !important;
    color: #0b63c4 !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site {
    --yz-top-pad-left: clamp(10px, 3.2vw, 14px);
    --yz-top-pad-right: clamp(14px, 4vw, 16px);
    --yz-top-gap-final: clamp(8px, 2.4vw, 10px);
    --yz-top-logo-final: clamp(96px, 42vw, 158px);
    --yz-top-search-final: clamp(72px, 27vw, 104px);
    --yz-top-phone-final: clamp(32px, 8.8vw, 36px);
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar,
  html body.yz-booking-site .yz-submit-ref-top.yz-shell-topbar,
  html body.yz-booking-site .yz-shell-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--yz-top-search-final) var(--yz-top-phone-final) !important;
    justify-content: stretch !important;
    align-items: center !important;
    column-gap: var(--yz-top-gap-final) !important;
    width: 100dvw !important;
    max-width: 100dvw !important;
    height: 74px !important;
    min-height: 74px !important;
    padding: 10px var(--yz-top-pad-right) 10px var(--yz-top-pad-left) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-logo,
  html body.yz-booking-site .yz-shell-logo {
    grid-column: 1 !important;
    justify-self: start !important;
    width: min(100%, var(--yz-top-logo-final)) !important;
    inline-size: min(100%, var(--yz-top-logo-final)) !important;
    min-width: 0 !important;
    max-width: min(100%, var(--yz-top-logo-final)) !important;
  }

  html body.yz-booking-site .yz-shell-logo-copy strong {
    font-size: clamp(11.2px, 3.35vw, 13.5px) !important;
  }

  html body.yz-booking-site .yz-shell-logo-copy small {
    font-size: clamp(6.2px, 1.72vw, 7.2px) !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-search,
  html body.yz-booking-site .yz-shell-search {
    grid-column: 2 !important;
    justify-self: end !important;
    width: var(--yz-top-search-final) !important;
    min-width: 0 !important;
    max-width: var(--yz-top-search-final) !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 clamp(7px, 2vw, 10px) !important;
    gap: clamp(4px, 1.4vw, 6px) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
  }

  html body.yz-booking-site .yz-shell-search svg {
    width: clamp(14px, 4vw, 16px) !important;
    height: clamp(14px, 4vw, 16px) !important;
  }

  html body.yz-booking-site .yz-shell-search span {
    font-size: clamp(10.5px, 3vw, 12px) !important;
    font-weight: 850 !important;
    line-height: 34px !important;
  }

  html body.yz-booking-site header.yz-submit-ref-top.yz-shell-topbar > a.yz-shell-phone,
  html body.yz-booking-site .yz-shell-phone {
    grid-column: 3 !important;
    justify-self: end !important;
    width: var(--yz-top-phone-final) !important;
    min-width: var(--yz-top-phone-final) !important;
    max-width: var(--yz-top-phone-final) !important;
    height: var(--yz-top-phone-final) !important;
    min-height: var(--yz-top-phone-final) !important;
    max-height: var(--yz-top-phone-final) !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  }

  html body.yz-booking-site .yz-shell-phone svg {
    width: clamp(16px, 4.4vw, 18px) !important;
    height: clamp(16px, 4.4vw, 18px) !important;
  }
}

@media (max-width: 280px) {
  html body.yz-booking-site {
    --yz-top-pad-left: 9px;
    --yz-top-pad-right: 14px;
    --yz-top-gap-final: 8px;
    --yz-top-logo-final: clamp(84px, 39vw, 108px);
    --yz-top-search-final: clamp(66px, 27vw, 76px);
    --yz-top-phone-final: 32px;
  }
}

@media (max-width: 767px) {
  html,
  html body.yz-booking-site {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    background: #eef5f8 !important;
  }

  html::-webkit-scrollbar,
  html body.yz-booking-site::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  html body.yz-booking-site::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background:
      radial-gradient(circle at 10% 12%, rgba(46, 210, 197, 0.14), transparent 32%),
      linear-gradient(135deg, #edf7fb 0%, #f8fbff 44%, #edf3f6 100%) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card {
    transform: translateX(0) !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields div:has(.yz-submit-phone-line) dt {
    color: #10233f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 38px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line select,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line input {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    border: 1px solid #d4e2f0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173355 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 42px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line select {
    padding-right: 24px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line input::placeholder {
    color: #6d7f96 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
  }
}

@media (max-width: 340px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line select,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line input {
    height: 40px !important;
    min-height: 40px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 13px !important;
    line-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line input::placeholder {
    font-size: 12.5px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-detail .yz-detail-photo {
    position: relative !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-photo-tabs {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-photo-tabs::-webkit-scrollbar {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-photo-tabs a {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 76px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, 0.46) !important;
    border-radius: 6px !important;
    background: rgba(4, 33, 68, 0.72) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 38px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32) !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-photo-tabs a:first-child {
    background: rgba(4, 33, 68, 0.78) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.72) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.24) !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    background:
      radial-gradient(circle at 12% 8%, rgba(46, 210, 197, 0.12), transparent 30%),
      linear-gradient(135deg, #edf7fb 0%, #f8fbff 48%, #edf3f6 100%) !important;
    color: #10233f !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 10px calc(116px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-order-board,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-route-summary,
  html body.yz-booking-site.page-booking-submit .yz-submit-price-board,
  html body.yz-booking-site.page-booking-submit .yz-submit-warning,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-panel {
    border: 1px solid rgba(24, 83, 142, 0.1) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 8px 22px rgba(8, 45, 90, 0.07) !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-route-summary {
    margin: 0 0 10px !important;
    padding: 12px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-ref-summary,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-summary {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-ref-summary div,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-summary div {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: 32px !important;
    align-items: start !important;
    margin: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-ref-summary dt,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-summary dt {
    margin: 0 !important;
    color: #60708a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-ref-summary dd,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-summary dd {
    min-width: 0 !important;
    margin: 0 !important;
    color: #10233f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 20px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-board,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance {
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-head,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 84px 102px !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(24, 83, 142, 0.1) !important;
    background: #f5f9ff !important;
    color: #425d78 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-head span:nth-child(2),
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head span:nth-child(2),
  html body.yz-booking-site.page-booking-submit .yz-submit-price-head span:nth-child(3),
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head span:nth-child(3) {
    text-align: right !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 82px 104px !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    column-gap: 8px !important;
    min-height: 78px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(24, 83, 142, 0.08) !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row:last-child,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row:last-child {
    border-bottom: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > div,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > div:first-child {
    grid-column: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row strong,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #10233f !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row p,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row p {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    max-height: 34px !important;
    margin: 0 !important;
    color: #73849a !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 17px !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > span,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > span {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    display: block !important;
    max-width: 82px !important;
    color: #ff4b16 !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-inline-price {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-qty {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: grid !important;
    grid-template-columns: 32px 38px 32px !important;
    align-items: center !important;
    width: 102px !important;
    min-width: 102px !important;
    height: 36px !important;
    min-height: 36px !important;
    border: 1px solid #b9d7ff !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-qty button,
  html body.yz-booking-site.page-booking-submit .yz-submit-qty input {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 36px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-qty button {
    background: #edf6ff !important;
    color: #0b63c4 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-qty input {
    background: #0b63c4 !important;
    color: #ffffff !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-warning {
    margin: 0 0 10px !important;
    padding: 10px 12px !important;
    border-color: rgba(255, 104, 31, 0.16) !important;
    background: #fff7f2 !important;
    color: #c74416 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-insurance h2,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-panel h2 {
    margin: 0 !important;
    padding: 12px !important;
    border-bottom: 1px solid rgba(24, 83, 142, 0.1) !important;
    color: #10233f !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 22px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-insurance h2 small {
    margin-left: 4px !important;
    color: #73849a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-panel {
    padding-bottom: 12px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields > div {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: start !important;
    margin: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields dt {
    margin: 0 !important;
    color: #425d78 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 42px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields dd {
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields input,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields select,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields textarea {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #d4e2f0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173355 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields input,
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields select {
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 10px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields textarea {
    min-height: 88px !important;
    padding: 10px !important;
    line-height: 1.55 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-panel .yz-order-submit {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100002 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 88px 108px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(13, 70, 128, 0.12) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 -14px 30px rgba(6, 47, 103, 0.16) !important;
    backdrop-filter: blur(14px) !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    margin: 0 !important;
    color: #60708a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 17px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b {
    color: #ff4b16 !important;
    font-size: 17px !important;
    font-weight: 950 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    border: 1px solid rgba(11, 99, 196, 0.18) !important;
    background: #eef7ff !important;
    color: #0b63c4 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    background: linear-gradient(135deg, #ff7a28, #ff4b16) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    box-shadow: 0 9px 18px rgba(255, 83, 23, 0.22) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 34px rgba(6, 47, 103, 0.22) !important;
  }
}

@media (max-width: 360px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-price-row,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row {
    grid-template-columns: minmax(0, 1fr) 72px 96px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-qty {
    grid-template-columns: 30px 36px 30px !important;
    width: 96px !important;
    min-width: 96px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(0, 1fr) 78px 100px !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-detail .yz-detail-summary-panel,
  html body.yz-booking-site.page-booking-detail .yz-detail-choice-section,
  html body.yz-booking-site.page-booking-detail #rooms {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(40, 116, 190, 0.12) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 10px 26px rgba(6, 47, 103, 0.08) !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: end !important;
    gap: 8px 12px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-panel h1 {
    grid-column: 1 / 2 !important;
    margin: 0 !important;
    color: #0b3568 !important;
    font-size: clamp(17px, 4.8vw, 20px) !important;
    font-weight: 950 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-big-price {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    align-self: start !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 1px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #ff4b16 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-big-price small {
    color: #ff4b16 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-big-price strong {
    color: #ff4b16 !important;
    font-size: clamp(25px, 7vw, 31px) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-big-price em {
    color: #ff4b16 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    font-style: normal !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-tags {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-tags span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 30px !important;
    padding: 0 5px !important;
    border: 1px solid rgba(40, 116, 190, 0.14) !important;
    border-radius: 8px !important;
    background: #f4f9ff !important;
    color: #275173 !important;
    font-size: clamp(11.5px, 3.2vw, 13px) !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-promo-box,
  html body.yz-booking-site.page-booking-detail .yz-detail-summary-note {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-section {
    padding-top: 10px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-section-head,
  html body.yz-booking-site.page-booking-detail .yz-detail-section-head-ref {
    min-height: 32px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-section-head h2,
  html body.yz-booking-site.page-booking-detail .yz-detail-section-head-ref h2 {
    margin: 0 !important;
    color: #0b3568 !important;
    font-size: clamp(16px, 4.4vw, 18px) !important;
    font-weight: 950 !important;
    line-height: 30px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-section-head p,
  html body.yz-booking-site.page-booking-detail .yz-detail-section-head-ref p {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-card > strong,
  html body.yz-booking-site.page-booking-detail .yz-choice-label-hidden {
    display: block !important;
    margin: 0 0 6px !important;
    color: #173355 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-card > strong small {
    display: inline !important;
    color: #6d7f96 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list,
  html body.yz-booking-site.page-booking-detail #detailRouteChoices,
  html body.yz-booking-site.page-booking-detail #detailDateChoices,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 1px 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(17, 55, 99, 0.38) rgba(17, 55, 99, 0.08) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list::-webkit-scrollbar,
  html body.yz-booking-site.page-booking-detail #detailRouteChoices::-webkit-scrollbar,
  html body.yz-booking-site.page-booking-detail #detailDateChoices::-webkit-scrollbar,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list::-webkit-scrollbar-track,
  html body.yz-booking-site.page-booking-detail #detailRouteChoices::-webkit-scrollbar-track,
  html body.yz-booking-site.page-booking-detail #detailDateChoices::-webkit-scrollbar-track,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices::-webkit-scrollbar-track {
    background: rgba(17, 55, 99, 0.08) !important;
    border-radius: 999px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list::-webkit-scrollbar-thumb,
  html body.yz-booking-site.page-booking-detail #detailRouteChoices::-webkit-scrollbar-thumb,
  html body.yz-booking-site.page-booking-detail #detailDateChoices::-webkit-scrollbar-thumb,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices::-webkit-scrollbar-thumb {
    background: rgba(17, 55, 99, 0.38) !important;
    border-radius: 999px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list .yz-booking-choice,
  html body.yz-booking-site.page-booking-detail #detailRouteChoices .yz-booking-choice,
  html body.yz-booking-site.page-booking-detail #detailDateChoices .yz-booking-choice,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices .yz-booking-choice {
    flex: 0 0 auto !important;
    min-width: clamp(104px, 31vw, 132px) !important;
    min-height: 48px !important;
    padding: 7px 10px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(40, 116, 190, 0.16) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173355 !important;
    font-size: 13.5px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-decoration: none !important;
    scroll-snap-align: start !important;
    box-shadow: 0 4px 12px rgba(6, 47, 103, 0.05) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list .yz-booking-choice b,
  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list .yz-booking-choice small,
  html body.yz-booking-site.page-booking-detail #detailDateChoices .yz-booking-choice b,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices .yz-booking-choice b {
    display: block !important;
    margin-top: 2px !important;
    color: #ff4b16 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list .yz-booking-choice.is-active,
  html body.yz-booking-site.page-booking-detail #detailRouteChoices .yz-booking-choice.is-active,
  html body.yz-booking-site.page-booking-detail #detailDateChoices .yz-booking-choice.is-active,
  html body.yz-booking-site.page-booking-detail #detailRoomChoices .yz-booking-choice.is-active {
    border-color: rgba(11, 99, 196, 0.52) !important;
    background: linear-gradient(180deg, #f6fbff, #e8f4ff) !important;
    color: #0b63c4 !important;
    box-shadow: inset 0 0 0 1px rgba(11, 99, 196, 0.18), 0 8px 18px rgba(11, 99, 196, 0.12) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-booking-choice-list .yz-detail-date-note,
  html body.yz-booking-site.page-booking-detail #detailDateChoices .yz-detail-date-note {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 9px 11px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(234, 244, 255, 0.72) !important;
    color: #52708d !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-card:has(#detailDateChoices) {
    position: relative !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-card:has(#detailDateChoices)::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 4px !important;
    width: 34px !important;
    height: 54px !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), #ffffff 82%) !important;
  }

  html body.yz-booking-site.page-booking-detail #detailDateChoices {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 68px !important;
    padding: 0 34px 10px 1px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    border-bottom: 5px solid rgba(17, 55, 99, 0.08) !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,0), #fff 88%) right top / 34px 58px no-repeat !important;
  }

  html body.yz-booking-site.page-booking-detail #detailDateChoices .yz-booking-choice {
    flex: 0 0 clamp(84px, 24vw, 96px) !important;
    width: clamp(84px, 24vw, 96px) !important;
    min-width: clamp(84px, 24vw, 96px) !important;
    max-width: clamp(84px, 24vw, 96px) !important;
    min-height: 54px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    scroll-snap-align: start !important;
  }

  html body.yz-booking-site.page-booking-detail #detailDateChoices::after {
    content: "" !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 1px !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRouteChoices .yz-booking-choice {
    flex-basis: clamp(118px, 34vw, 138px) !important;
    width: clamp(118px, 34vw, 138px) !important;
    min-width: clamp(118px, 34vw, 138px) !important;
    max-width: clamp(118px, 34vw, 138px) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-choice-card:has(#detailRoomChoices) {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail #rooms {
    margin-top: 10px !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-detail #rooms .yz-detail-section-head-ref {
    padding: 0 12px 8px !important;
  }

  html body.yz-booking-site.page-booking-detail #rooms .yz-detail-section-head-ref > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-detail #rooms .yz-detail-section-head-ref h2 {
    min-width: 0 !important;
    margin: 0 !important;
    color: #0f2f5e !important;
    font-size: clamp(17px, 4.8vw, 19px) !important;
    font-weight: 950 !important;
    line-height: 28px !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows.yz-detail-room-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 10px 10px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro {
    position: relative !important;
    display: grid !important;
    grid-template-columns: clamp(82px, 24vw, 96px) minmax(0, 1fr) clamp(74px, 21vw, 86px) !important;
    grid-template-areas: "photo info action" !important;
    align-items: center !important;
    column-gap: clamp(8px, 2.4vw, 11px) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(100px, 28vw, 114px) !important;
    margin: 0 !important;
    padding: 9px 8px !important;
    border: 1px solid rgba(31, 93, 155, 0.13) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(8, 45, 90, 0.07) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro.is-active {
    border-color: rgba(11, 99, 196, 0.48) !important;
    box-shadow: inset 0 0 0 1px rgba(11, 99, 196, 0.12), 0 8px 20px rgba(11, 99, 196, 0.12) !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-room-single-image,
  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > img {
    grid-area: photo !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 96px !important;
    height: clamp(82px, 24vw, 96px) !important;
    min-height: clamp(82px, 24vw, 96px) !important;
    max-height: 96px !important;
    object-fit: cover !important;
    border-radius: 7px !important;
    background: #edf4fb !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-booking-room-card-main {
    grid-area: info !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-booking-room-card-main > strong {
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 5px !important;
    color: #122846 !important;
    font-size: clamp(14.5px, 4vw, 16px) !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-detail-room-meta {
    display: grid !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-detail-room-meta li {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #53667c !important;
    font-size: clamp(12px, 3.3vw, 13px) !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-detail-room-flags,
  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-detail-room-expand,
  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-booking-room-specs {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price {
    grid-area: action !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 86px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price em {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ff4b16 !important;
    font-size: clamp(13px, 3.7vw, 15px) !important;
    font-style: normal !important;
    font-weight: 950 !important;
    line-height: 18px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: clamp(58px, 16vw, 66px) !important;
    min-width: clamp(58px, 16vw, 66px) !important;
    max-width: 66px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ff681f !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-shadow: 0 6px 12px rgba(255, 104, 31, 0.2) !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price button::before,
  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price button::after {
    display: none !important;
    content: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-booking {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100001 !important;
    display: grid !important;
    grid-template-columns: 54px 68px 68px minmax(108px, 1fr) !important;
    align-items: center !important;
    gap: 4px !important;
    width: auto !important;
    max-width: none !important;
    height: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(8, 46, 94, 0.96), rgba(4, 24, 53, 0.98)) !important;
    box-shadow: 0 -14px 30px rgba(2, 22, 49, 0.22) !important;
    backdrop-filter: blur(16px) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-booking a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-booking a:not(.yz-detail-fixed-order) {
    flex-direction: column !important;
    gap: 4px !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-booking a svg {
    display: block !important;
    flex: 0 0 auto !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    color: currentColor !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.1 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-booking a span {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    color: currentColor !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 14px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-home {
    color: #ffffff !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-phone,
  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-service {
    border: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-phone {
    color: #d9ecff !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-service {
    color: #ffe66b !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-phone::before,
  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-service::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 13px !important;
    width: 1px !important;
    height: 30px !important;
    background: rgba(255, 255, 255, 0.12) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-fixed-order {
    border: 0 !important;
    background: linear-gradient(135deg, #ff7a28, #ff4b16) !important;
    color: #ffffff !important;
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 7px !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 10px 20px rgba(255, 83, 23, 0.24) !important;
  }

  html body.yz-booking-site.page-booking-detail:has(.yz-reserve-sheet.is-open) .yz-detail-fixed-booking {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-sheet {
    z-index: 100200 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-mask {
    background: rgba(3, 18, 42, 0.58) !important;
    backdrop-filter: blur(2px) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-panel {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: min(78vh, 660px) !important;
    max-height: calc(100vh - 56px) !important;
    min-height: 520px !important;
    padding: 12px 0 calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 18px 18px 0 0 !important;
    background: #ffffff !important;
    box-shadow: 0 -18px 40px rgba(3, 24, 58, 0.28) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-head {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 72px !important;
    padding: 0 48px 10px 14px !important;
    border-bottom: 1px solid rgba(15, 55, 99, 0.08) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-head img {
    width: 86px !important;
    height: 62px !important;
    border-radius: 6px !important;
    object-fit: cover !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-head strong {
    margin: 0 0 6px !important;
    color: #10233f !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-head p {
    color: #ff4b16 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-head p::before,
  html body.yz-booking-site.page-booking-detail .yz-reserve-head p::after {
    content: none !important;
    display: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-step {
    min-height: 0 !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-step-select {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding-bottom: 70px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-group {
    padding: 14px 14px 12px !important;
    border-top: 1px solid rgba(15, 55, 99, 0.08) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-group b {
    margin-bottom: 10px !important;
    color: #173355 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-options {
    gap: 9px !important;
    padding-bottom: 2px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-options a,
  html body.yz-booking-site.page-booking-detail .yz-reserve-options button {
    min-width: 92px !important;
    min-height: 48px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 17px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-confirm {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: linear-gradient(180deg, #ff7a28 0%, #ff5a16 100%) !important;
    color: #fff !important;
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 50px !important;
    letter-spacing: 0 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(255, 83, 23, 0.22) !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro {
    grid-template-columns: 78px minmax(0, 1fr) 70px !important;
    column-gap: 7px !important;
    padding: 8px 7px !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-room-single-image,
  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > img {
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-detail-room-meta li {
    font-size: 11.5px !important;
    line-height: 16px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-price-head,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head {
    grid-template-columns: minmax(0, 1fr) 82px 108px !important;
    column-gap: 8px !important;
    padding: 0 12px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-head span,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head span {
    display: block !important;
    min-width: 0 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 40px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-head span:nth-child(1),
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head span:nth-child(1) {
    grid-column: 1 !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-head span:nth-child(2),
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head span:nth-child(2) {
    grid-column: 2 !important;
    text-align: center !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-head span:nth-child(3),
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head span:nth-child(3) {
    grid-column: 3 !important;
    text-align: center !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row {
    grid-template-columns: minmax(0, 1fr) 82px 108px !important;
    grid-template-rows: auto !important;
    column-gap: 8px !important;
    align-items: center !important;
    min-height: 72px !important;
    padding: 12px !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > *,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > * {
    position: static !important;
    float: none !important;
    transform: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > div:first-child,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row strong,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row strong {
    margin: 0 0 5px !important;
    font-size: 15.5px !important;
    line-height: 20px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row p,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row p {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > span,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > span {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    display: block !important;
    width: 82px !important;
    min-width: 0 !important;
    max-width: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 20px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > .yz-submit-qty,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > .yz-submit-qty {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    display: grid !important;
    grid-template-columns: 34px 38px 34px !important;
    width: 106px !important;
    min-width: 106px !important;
    max-width: 106px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > .yz-submit-qty button,
  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > .yz-submit-qty input,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > .yz-submit-qty button,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > .yz-submit-qty input {
    height: 38px !important;
    min-height: 38px !important;
    font-size: 16px !important;
    line-height: 38px !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-price-head,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-head,
  html body.yz-booking-site.page-booking-submit .yz-submit-price-row,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row {
    grid-template-columns: minmax(0, 1fr) 72px 100px !important;
    column-gap: 6px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > span,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > span {
    width: 72px !important;
    max-width: 72px !important;
    font-size: 14px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > .yz-submit-qty,
  html body.yz-booking-site.page-booking-submit .yz-submit-insurance-row > .yz-submit-qty {
    grid-template-columns: 32px 36px 32px !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav,
  html body.yz-booking-site.page-booking-submit .yz-booking-mobile-nav,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-tabbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(0, 1fr) 96px 118px !important;
    gap: 9px !important;
    height: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    height: 60px !important;
    min-height: 60px !important;
    border-radius: 12px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle:focus,
  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle:active {
    position: relative !important;
    gap: 4px !important;
    border: 1px solid rgba(11, 99, 196, 0.22) !important;
    outline: 0 !important;
    background: #eef7ff !important;
    color: #0b63c4 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle::after {
    content: "" !important;
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    margin: 2px 0 0 1px !important;
    border-top: 2px solid currentColor !important;
    border-right: 2px solid currentColor !important;
    transform: rotate(-45deg) !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-toggle::after {
    margin-top: -2px !important;
    transform: rotate(135deg) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    font-size: 15px !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    font-size: 20px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer {
    bottom: calc(98px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > span {
    align-self: start !important;
    margin-top: 4px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-price-row > .yz-submit-qty {
    align-self: start !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit:not(.is-submit-detail-expanded) .yz-submit-detail-layer,
  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer[aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    z-index: 100001 !important;
    width: auto !important;
    display: none !important;
    max-height: min(54vh, 430px) !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(27, 91, 155, 0.12) !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    box-shadow: 0 18px 38px rgba(6, 47, 103, 0.22) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-layer,
  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-layer[aria-hidden="false"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer h3 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #10233f !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 24px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer h3::before {
    content: "" !important;
    display: block !important;
    width: 4px !important;
    height: 18px !important;
    border-radius: 4px !important;
    background: #0b63c4 !important;
    flex: 0 0 auto !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer h3:not(:first-child) {
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(24, 83, 142, 0.1) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer > div {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer p {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(24, 83, 142, 0.08) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer p span {
    display: block !important;
    min-width: 0 !important;
    color: #425d78 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 20px !important;
    word-break: break-word !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer p b {
    display: block !important;
    min-width: 86px !important;
    color: #ff4b16 !important;
    font-size: 22px !important;
    font-weight: 950 !important;
    line-height: 26px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer h3:first-child + div p {
    min-height: 54px !important;
    border-color: rgba(255, 104, 31, 0.14) !important;
    background: linear-gradient(180deg, #fffaf6 0%, #ffffff 100%) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer h3:first-child + div p span {
    color: #173355 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-layer h3:first-child + div p b {
    font-size: 25px !important;
    line-height: 30px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-main {
    padding: 12px 10px calc(112px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-order-board,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-panel {
    margin: 0 0 10px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(24, 83, 142, 0.12) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 10px 24px rgba(6, 47, 103, 0.08) !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-route-summary {
    padding: 14px 14px 16px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary-title {
    margin: 0 0 14px !important;
    color: #10233f !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 24px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary {
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary div {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary dt {
    color: #60708a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 23px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary dd {
    color: #10233f !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 23px !important;
    word-break: break-word !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-panel h2 {
    padding: 15px 14px !important;
    color: #10233f !important;
    font-size: 19px !important;
    font-weight: 950 !important;
    line-height: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields {
    gap: 12px !important;
    padding: 14px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields dt {
    color: #173355 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 48px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields input,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields select,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields textarea {
    border-color: #cdddea !important;
    border-radius: 8px !important;
    color: #10233f !important;
    font-size: 15px !important;
    font-weight: 850 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields input,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields select {
    height: 48px !important;
    line-height: 48px !important;
    padding: 0 12px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields textarea {
    min-height: 112px !important;
    padding: 12px !important;
    line-height: 1.55 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields input::placeholder,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields textarea::placeholder {
    color: #6f8098 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line {
    display: grid !important;
    grid-template-columns: minmax(96px, 0.82fr) minmax(0, 1.18fr) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary p {
    font-size: 13px !important;
    line-height: 19px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary b {
    font-size: 19px !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary div,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-summary dt,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields dt {
    font-size: 14px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line {
    grid-template-columns: minmax(88px, 0.78fr) minmax(0, 1.22fr) !important;
    gap: 6px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(148px, 1fr) 92px 112px !important;
    gap: 8px !important;
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    gap: 3px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary p {
    color: #314866 !important;
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    -webkit-font-smoothing: auto !important;
    text-rendering: geometricPrecision !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary span {
    color: #314866 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    text-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary b {
    color: #ff4b16 !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    line-height: 23px !important;
    text-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle:focus,
  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle:active {
    color: #075eb9 !important;
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    -webkit-font-smoothing: auto !important;
    text-rendering: geometricPrecision !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    -webkit-font-smoothing: auto !important;
    text-rendering: geometricPrecision !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(132px, 1fr) 86px 104px !important;
    gap: 7px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary p {
    font-size: 13px !important;
    line-height: 19px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary b {
    font-size: 20px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    font-size: 15px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    font-size: 21px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit header.yz-submit-ref-top.yz-shell-flow-topbar,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 100010 !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 74px !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, rgba(10, 58, 112, 0.98) 0%, rgba(7, 39, 82, 0.96) 58%, rgba(185, 226, 239, 0.92) 100%) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 18px rgba(6, 47, 103, 0.18) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 18px rgba(2, 22, 49, 0.16) !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-action svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    color: currentColor !important;
    stroke: currentColor !important;
    stroke-width: 2.4 !important;
    fill: none !important;
  }

  html body.yz-booking-site.page-booking-submit header.yz-submit-ref-top.yz-shell-flow-topbar > a.yz-shell-flow-brand,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-topbar > .yz-shell-flow-brand,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-mark {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-mark img {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-copy {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    max-width: 214px !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-copy strong {
    display: block !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-copy small {
    display: block !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 11px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit header.yz-submit-ref-top.yz-shell-flow-topbar {
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-action {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand {
    gap: 5px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-mark,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-mark img {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-copy strong {
    font-size: 16px !important;
    line-height: 19px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand .yz-shell-logo-copy small {
    font-size: 8px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand > img.yz-shell-flow-logo {
    display: block !important;
    width: min(220px, 100%) !important;
    max-width: 220px !important;
    height: 46px !important;
    max-height: 46px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.16)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand:has(> img.yz-shell-flow-logo) {
    justify-content: center !important;
    overflow: visible !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand > img.yz-shell-flow-logo {
    width: min(204px, 100%) !important;
    max-width: 204px !important;
    height: 42px !important;
    max-height: 42px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand:has(.yz-shell-flow-logo-copy) {
    justify-content: center !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark {
    position: relative !important;
    display: block !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 42px !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark img {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    display: block !important;
    width: 218px !important;
    height: 42px !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: translateY(-50%) !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.16)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 190px !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy strong {
    display: block !important;
    color: #ffffff !important;
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    text-shadow: none !important;
    -webkit-font-smoothing: auto !important;
    text-rendering: geometricPrecision !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy small {
    display: block !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-family: Arial, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    line-height: 11px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    text-shadow: none !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-brand:has(.yz-shell-flow-logo-copy) {
    gap: 6px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 39px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark img {
    width: 202px !important;
    height: 39px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy {
    max-width: 170px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy strong {
    font-size: 15.5px !important;
    line-height: 18px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy small {
    font-size: 8.2px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-detail header.yz-submit-ref-top.yz-shell-flow-topbar,
  html body.yz-booking-site.page-booking-detail .yz-shell-flow-topbar,
  html body.yz-booking-site.page-booking-submit header.yz-submit-ref-top.yz-shell-flow-topbar,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 100010 !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 74px !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, rgba(10, 58, 112, 0.98) 0%, rgba(7, 39, 82, 0.96) 58%, rgba(185, 226, 239, 0.92) 100%) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 18px rgba(6, 47, 103, 0.18) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-action,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 18px rgba(2, 22, 49, 0.16) !important;
    text-decoration: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-action svg,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-action svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    stroke-width: 2.4 !important;
    fill: none !important;
  }

  html body.yz-booking-site.page-booking-detail header.yz-submit-ref-top.yz-shell-flow-topbar > a.yz-shell-flow-brand,
  html body.yz-booking-site.page-booking-detail .yz-shell-flow-topbar > .yz-shell-flow-brand,
  html body.yz-booking-site.page-booking-submit header.yz-submit-ref-top.yz-shell-flow-topbar > a.yz-shell-flow-brand,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-topbar > .yz-shell-flow-brand {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-mark,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark {
    position: relative !important;
    display: block !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 42px !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-mark img,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark img {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    display: block !important;
    width: 218px !important;
    height: 42px !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: translateY(-50%) !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.16)) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-copy,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    max-width: 190px !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-copy strong,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy strong {
    color: #ffffff !important;
    font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    text-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-copy small,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy small {
    color: rgba(255, 255, 255, 0.9) !important;
    font-family: Arial, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    line-height: 11px !important;
    white-space: nowrap !important;
    text-shadow: none !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-detail header.yz-submit-ref-top.yz-shell-flow-topbar,
  html body.yz-booking-site.page-booking-submit header.yz-submit-ref-top.yz-shell-flow-topbar {
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-action,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-action {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-mark,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 39px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-mark img,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-mark img {
    width: 202px !important;
    height: 39px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-copy,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy {
    max-width: 170px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-copy strong,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy strong {
    font-size: 15.5px !important;
    line-height: 18px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-shell-flow-logo-copy small,
  html body.yz-booking-site.page-booking-submit .yz-shell-flow-logo-copy small {
    font-size: 8.2px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-detail .yz-detail-top-grid,
  html body.yz-booking-site.page-booking-detail .yz-detail-layout {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-main-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-photo,
  html body.yz-booking-site.page-booking-detail .yz-detail-photo > img,
  html body.yz-booking-site.page-booking-detail .yz-detail-photo #detailShipImage {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-panel,
  html body.yz-booking-site.page-booking-detail .yz-detail-choice-section,
  html body.yz-booking-site.page-booking-detail #rooms,
  html body.yz-booking-site.page-booking-detail .yz-detail-static-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: static !important;
    left: auto !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-panel,
  html body.yz-booking-site.page-booking-detail .yz-detail-choice-section,
  html body.yz-booking-site.page-booking-detail #rooms {
    border-radius: 10px !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-main-card,
  html body.yz-booking-site.page-booking-detail main,
  html body.yz-booking-site.page-booking-detail .yz-detail-page {
    overflow-x: hidden !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-detail .yz-detail-top-grid,
  html body.yz-booking-site.page-booking-detail .yz-detail-layout {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
  }

  html body.yz-booking-site.page-booking-detail .yz-detail-summary-panel,
  html body.yz-booking-site.page-booking-detail .yz-detail-choice-section,
  html body.yz-booking-site.page-booking-detail #rooms,
  html body.yz-booking-site.page-booking-detail .yz-detail-static-section {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(168px, 1fr) 78px 102px !important;
    gap: 7px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    font-size: 13px !important;
    line-height: 19px !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary b {
    font-size: 19px !important;
    line-height: 22px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-toggle {
    width: 78px !important;
    min-width: 78px !important;
    padding: 0 6px !important;
    font-size: 13px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle::after {
    width: 6px !important;
    height: 6px !important;
    border-width: 1.8px !important;
    margin-left: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    width: 102px !important;
    min-width: 102px !important;
    padding: 0 8px !important;
    font-size: 20px !important;
  }
}

@media (max-width: 370px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(156px, 1fr) 72px 94px !important;
    gap: 6px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    font-size: 12.5px !important;
    line-height: 18px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-fixed-summary b {
    font-size: 18px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle,
  html body.yz-booking-site.page-booking-submit.is-submit-detail-expanded .yz-submit-detail-toggle {
    width: 72px !important;
    min-width: 72px !important;
    font-size: 12px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    width: 94px !important;
    min-width: 94px !important;
    font-size: 19px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-search {
    padding-top: 10px !important;
    padding-bottom: 14px !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-search-card {
    max-width: 370px !important;
    padding: 16px 14px 15px !important;
    border-radius: 10px !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-tabs {
    height: 50px !important;
    min-height: 50px !important;
    margin-bottom: 15px !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-tabs button {
    height: 50px !important;
    min-height: 50px !important;
    line-height: 50px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-search-grid {
    gap: 15px 9px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-select,
  html body.yz-booking-site.page-booking-home .yz-booking-swap {
    height: 56px !important;
    min-height: 56px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-display {
    height: 56px !important;
    line-height: 56px !important;
    font-size: 20px !important;
    font-weight: 950 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-swap,
  html body.yz-booking-site.page-booking-home .yz-booking-swap .yz-booking-swap-icon {
    width: 42px !important;
    height: 56px !important;
    line-height: 56px !important;
    font-size: 25px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-date-hero,
  html body.yz-booking-site.page-booking-home .booking-date-display {
    height: 62px !important;
    min-height: 62px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display {
    padding: 8px 10px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display strong {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 950 !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display small {
    font-size: 13px !important;
    line-height: 18px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-submit {
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 8px !important;
    font-size: 17px !important;
    font-weight: 950 !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-routes {
    gap: 9px !important;
    margin-top: 13px !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-routes > button {
    height: 38px !important;
    line-height: 38px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home .yz-booking-search-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  }

  html body.yz-booking-site.page-booking-home .yz-home-search-grid {
    position: relative !important;
    gap: 17px 9px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-date-hero {
    position: relative !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    height: 86px !important;
    min-height: 86px !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-date-hero::before,
  html body.yz-booking-site.page-booking-home .booking-field-date-hero::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, #dce8f5 12%, #dce8f5 88%, transparent 100%) !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-date-hero::before {
    top: 0 !important;
  }

  html body.yz-booking-site.page-booking-home .booking-field-date-hero::after {
    bottom: 0 !important;
  }

  html body.yz-booking-site.page-booking-home .booking-date-display {
    height: 62px !important;
    min-height: 62px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-home .yz-booking-submit {
    margin-top: 1px !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSwap,
  html body.yz-booking-site.page-booking-home #bookingSwap:focus,
  html body.yz-booking-site.page-booking-home #bookingSwap:focus-visible,
  html body.yz-booking-site.page-booking-home #bookingSwap:active,
  html body.yz-booking-site.page-booking-home #bookingSwap .yz-booking-swap-icon,
  html body.yz-booking-site.page-booking-home #bookingSwap .yz-booking-swap-icon:focus,
  html body.yz-booking-site.page-booking-home #bookingSwap .yz-booking-swap-icon:active {
    outline: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
}

/* Ship-name suggestions must float above the search card; several legacy
   mobile rules intentionally clip cards, so this override stays last. */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home #bookingSearchForm.yz-booking-search-card,
  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-home-search-grid,
  html body.yz-booking-site.page-booking-home #bookingSearchForm .booking-field-ship,
  html body.yz-booking-site.page-booking-schedule #scheduleSearchForm.yz-schedule-query-card,
  html body.yz-booking-site.page-booking-schedule #scheduleSearchForm .yz-schedule-query-row,
  html body.yz-booking-site.page-booking-schedule #scheduleSearchForm .yz-schedule-ship-field {
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .booking-field-ship,
  html body.yz-booking-site.page-booking-schedule #scheduleSearchForm .yz-schedule-ship-field {
    position: relative !important;
    z-index: 100300 !important;
  }

  html body.yz-booking-site.page-booking-home #bookingShipSuggestPanel.yz-home-ship-suggest-panel {
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 100500 !important;
    display: grid !important;
    gap: 6px !important;
    max-height: min(280px, 46vh) !important;
    overflow-y: auto !important;
    padding: 8px !important;
    border: 1px solid rgba(29, 111, 197, .18) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 18px 46px rgba(16, 72, 131, .22) !important;
  }

  html body.yz-booking-site.page-booking-home #bookingShipSuggestPanel.yz-home-ship-suggest-panel[hidden],
  html body.yz-booking-site.page-booking-schedule #scheduleShipSuggestPanel.yz-ship-suggest-panel[hidden] {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-home #bookingShipSuggestPanel.yz-home-ship-suggest-panel button,
  html body.yz-booking-site.page-booking-schedule #scheduleShipSuggestPanel.yz-ship-suggest-panel button {
    width: 100% !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #eef6ff !important;
    color: #154a7d !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-align: left !important;
  }

  html body.yz-booking-site.page-booking-home #bookingShipSuggestPanel.yz-home-ship-suggest-panel button:active,
  html body.yz-booking-site.page-booking-schedule #scheduleShipSuggestPanel.yz-ship-suggest-panel button:active {
    background: #dceeff !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto auto !important;
    gap: 10px 12px !important;
    min-height: 0 !important;
    padding: 16px 16px 14px !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    box-shadow: 0 10px 26px rgba(21, 91, 168, .12) !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card::before,
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card::after {
    display: none !important;
    content: none !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card > .yz-schedule-trip-type {
    position: static !important;
    grid-column: 1 / 2 !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 42px !important;
    height: 24px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #eaf4ff !important;
    color: #1674c9 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 24px !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main {
    grid-column: 1 / 2 !important;
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main b {
    color: #102f55 !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    line-height: 1.18 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main span,
  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-meta span {
    color: #60758e !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-meta {
    grid-column: 1 / 3 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-meta span {
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: #f1f6fb !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-price {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: end !important;
    color: #ee5b2a !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    font-style: normal !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card > .yz-schedule-day-cta {
    grid-column: 2 / 3 !important;
    grid-row: 3 / 4 !important;
    align-self: center !important;
    justify-self: end !important;
    position: static !important;
    width: 88px !important;
    height: 36px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #1f82dc !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 36px !important;
    text-align: center !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card > .yz-schedule-ticket-scenic {
    grid-column: 1 / 3 !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 10px !important;
    background: #f4f8fd !important;
    color: #52677f !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user {
    display: grid !important;
    grid-template-columns: 34px 142px minmax(0, 1fr) !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user > span.yz-login-icon-user {
    grid-column: 1 !important;
    width: 34px !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user > select#loginCountryCode {
    grid-column: 2 !important;
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    justify-self: stretch !important;
    text-align: left !important;
    text-align-last: left !important;
    padding: 0 18px 0 6px !important;
    font-size: 12px !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user > input#loginPhone {
    grid-column: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-left: 12px !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-guides,
  html body.yz-booking-site.page-booking-guides .yz-guide-main {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    background: #eef5f8 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-guides *,
  html body.yz-booking-site.page-booking-guides *::before,
  html body.yz-booking-site.page-booking-guides *::after {
    box-sizing: border-box !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-hero,
  html body.yz-booking-site.page-booking-guides .yz-guide-hero .container,
  html body.yz-booking-site.page-booking-guides .yz-booking-section,
  html body.yz-booking-site.page-booking-guides .yz-booking-section > .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow-x: hidden !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-hero h1::before,
  html body.yz-booking-site.page-booking-guides .yz-guide-hero .container::after {
    content: "三峡游轮攻略" !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-layout {
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    padding: 0 !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-side {
    gap: 8px !important;
    padding: 12px 14px 10px !important;
    background: #eef5f8 !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-side a {
    min-width: auto !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(21, 83, 142, .12) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #173b62 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 36px !important;
    box-shadow: 0 8px 20px rgba(18, 67, 116, .05) !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-side a.is-active,
  html body.yz-booking-site.page-booking-guides .yz-guide-side a:first-child {
    border-color: rgba(240, 100, 45, .22) !important;
    background: #fff7f1 !important;
    color: #d94f2a !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-card {
    gap: 10px !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 auto 12px !important;
    padding: 16px 0 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(21, 83, 142, .10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-card:not(#articles) {
    display: grid !important;
  }

  html body.yz-booking-site.page-booking-guides #articles {
    display: grid !important;
    gap: 10px !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-guides #articles > .yz-section-kicker,
  html body.yz-booking-site.page-booking-guides #articles > h2 {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list {
    display: grid !important;
    gap: 10px !important;
    border: 0 !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 22px !important;
    gap: 5px 10px !important;
    align-items: center !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 13px 13px 13px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(21, 83, 142, .08) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card::before {
    display: none !important;
    content: none !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card span {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: #eef6ff !important;
    color: #22629d !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card strong {
    display: block !important;
    margin: 0 !important;
    color: #102f53 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card p {
    display: -webkit-box !important;
    grid-column: 1 / 2 !important;
    margin: 0 !important;
    color: #6b7d91 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card b {
    grid-row: 1 / 4 !important;
    grid-column: 2 / 3 !important;
    display: grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  html body.yz-booking-site.page-booking-guides .yz-guide-list-card b::before {
    content: "›" !important;
    color: #f0642d !important;
    font-size: 21px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
  }
}

/* Final schedule ship-search card layout: ship search should show one clean
   cruise card with route, available dates, itinerary labels, and price. */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: 9px 12px !important;
    min-height: 0 !important;
    padding: 16px 16px 14px !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    box-shadow: 0 10px 26px rgba(21, 91, 168, .12) !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card > .yz-schedule-trip-type {
    position: static !important;
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    justify-self: start !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-price {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    align-self: center !important;
    justify-self: end !important;
    color: #ee5b2a !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    font-style: normal !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main {
    grid-column: 1 / 3 !important;
    grid-row: 2 / 3 !important;
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-dates {
    grid-column: 1 / 3 !important;
    grid-row: 3 / 4 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    background: #eef7ff !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-dates strong {
    flex: 0 0 auto !important;
    color: #1674c9 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1.2 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-dates span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    color: #60758e !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-meta {
    grid-column: 1 / 3 !important;
    grid-row: 4 / 5 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card > .yz-schedule-ticket-scenic {
    grid-column: 1 / 3 !important;
    grid-row: 5 / 6 !important;
    padding-right: 106px !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ship-card > .yz-schedule-day-cta {
    grid-column: 2 / 3 !important;
    grid-row: 5 / 6 !important;
    align-self: center !important;
    justify-self: end !important;
  }
}

/* Home search tabs: match the raised two-panel structure, keep local blue palette. */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: end !important;
    gap: 0 !important;
    width: 100% !important;
    height: 62px !important;
    margin: -1px 0 12px !important;
    padding: 0 !important;
    border: 1px solid rgba(31, 102, 177, .20) !important;
    border-bottom: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    background: linear-gradient(180deg, rgba(239, 247, 255, .95) 0%, rgba(229, 240, 252, .92) 100%) !important;
    box-shadow: inset 0 -1px 0 rgba(31, 102, 177, .16) !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs::after {
    content: "" !important;
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    bottom: -1px !important;
    height: 1px !important;
    background: rgba(31, 102, 177, .18) !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button {
    position: relative !important;
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(23, 55, 92, .56) !important;
    box-shadow: none !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button::before {
    display: inline-grid !important;
    place-items: center !important;
    width: 25px !important;
    height: 25px !important;
    color: currentColor !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button[data-booking-mobile-tab="schedule"]::before {
    content: "▣" !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button[data-booking-mobile-tab="ship"]::before {
    content: "♙" !important;
    font-size: 24px !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button.is-active {
    z-index: 3 !important;
    height: 70px !important;
    margin-top: -8px !important;
    border: 1px solid rgba(31, 102, 177, .22) !important;
    border-bottom: 0 !important;
    background: linear-gradient(180deg, #ffffff 0%, #fafdff 100%) !important;
    color: #0f376d !important;
    box-shadow: 0 10px 22px rgba(18, 74, 136, .10) !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm .yz-booking-tabs button.is-active::after {
    content: "" !important;
    position: absolute !important;
    left: 42px !important;
    right: 42px !important;
    bottom: 0 !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent 0%, #1f78d1 18%, #1f78d1 82%, transparent 100%) !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm:not(.is-ship-mode) .yz-booking-tabs button[data-booking-mobile-tab="schedule"].is-active {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 30px !important;
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 100%, 0 100%) !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .yz-booking-tabs button[data-booking-mobile-tab="ship"].is-active {
    border-top-left-radius: 30px !important;
    border-top-right-radius: 20px !important;
    clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%) !important;
  }

  html body.yz-booking-site.page-booking-home #bookingSearchForm:not(.is-ship-mode) .yz-booking-tabs button[data-booking-mobile-tab="ship"],
  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .yz-booking-tabs button[data-booking-mobile-tab="schedule"] {
    background: rgba(231, 241, 252, .64) !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule {
    min-height: 100vh !important;
    background: linear-gradient(180deg, #eaf6ff 0%, #f6fbff 42%, #eef6fb 100%) !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-main {
    min-height: calc(100vh - 100px) !important;
    opacity: 0;
    animation: yzScheduleEnter 220ms ease-out 40ms forwards;
    will-change: opacity, transform;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-top {
    min-height: 116px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-booking-section {
    min-height: 460px !important;
  }

  html body.yz-booking-site.page-booking-schedule #scheduleCards {
    min-height: 420px !important;
  }

  html body.yz-booking-site.page-booking-schedule #scheduleCards > .yz-booking-empty {
    min-height: 180px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 18px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.68), rgba(232,244,255,.96), rgba(255,255,255,.68)) !important;
    color: #4e6986 !important;
    box-shadow: inset 0 0 0 1px rgba(36, 112, 190, .08) !important;
  }

  @keyframes yzScheduleEnter {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-home #bookingSearchForm.is-ship-mode .yz-booking-routes .yz-hot-ship-fire {
    display: inline-block !important;
    margin-right: 4px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    vertical-align: -1px !important;
    filter: drop-shadow(0 1px 2px rgba(255, 111, 45, .22)) !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login {
    background:
      radial-gradient(circle at 18% 9%, rgba(199, 42, 35, .13), transparent 34%),
      linear-gradient(180deg, #fff8f2 0%, #f7f0e7 44%, #f4efe8 100%) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main {
    position: relative !important;
    display: block !important;
    min-height: calc(100vh - 122px) !important;
    padding: 70px 18px 112px !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main::before {
    content: "" !important;
    position: absolute !important;
    inset: 18px 16px auto auto !important;
    width: 132px !important;
    height: 132px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(179, 38, 30, .16), rgba(214, 169, 94, .14)) !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto 18px !important;
    padding: 4px 2px 0 !important;
    color: #2e2119 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-eyebrow {
    display: block !important;
    margin-bottom: 9px !important;
    color: #a43a2f !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero h1 {
    margin: 0 !important;
    max-width: 350px !important;
    font-size: 27px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero p {
    margin: 12px 0 0 !important;
    max-width: 330px !important;
    color: rgba(65, 48, 37, .72) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 15px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-trust span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 11px !important;
    border: 1px solid rgba(130, 70, 41, .14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .46) !important;
    color: #6e4a37 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    backdrop-filter: blur(10px) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    border: 1px solid rgba(125, 73, 42, .12) !important;
    border-radius: 28px !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 252, 248, .86)),
      rgba(255, 255, 255, .78) !important;
    box-shadow: 0 24px 52px rgba(81, 45, 24, .14), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
    backdrop-filter: blur(18px) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 20px auto !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, rgba(181, 47, 38, .8), rgba(220, 164, 84, .75), transparent) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head strong {
    color: #2c211b !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head span {
    flex: 0 0 auto !important;
    color: rgba(95, 69, 54, .62) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form {
    display: grid !important;
    gap: 13px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line,
  html body.yz-booking-site.page-booking-login .yz-login-line {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid rgba(120, 76, 52, .14) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: inset 0 10px 28px rgba(92, 60, 37, .06) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-user {
    grid-template-columns: 34px 112px minmax(0, 1fr) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-captcha {
    grid-template-columns: 34px minmax(0, 1fr) 104px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > .yz-login-icon-lock {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > input#loginCaptcha {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > span,
  html body.yz-booking-site.page-booking-login .yz-login-line > span {
    width: 24px !important;
    height: 24px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > select,
  html body.yz-booking-site.page-booking-login .yz-login-line select,
  html body.yz-booking-site.page-booking-login #loginCountryCode {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 6px 0 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(116, 73, 52, .16) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #4e3628 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-user::before,
  html body.yz-booking-site.page-booking-login .yz-login-line-user::after,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha::before,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha::after {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input,
  html body.yz-booking-site.page-booking-login .yz-login-line input {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 0 0 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: #2d211a !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-captcha input {
    padding-left: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input::placeholder,
  html body.yz-booking-site.page-booking-login .yz-login-line input::placeholder {
    color: rgba(90, 68, 55, .42) !important;
    font-weight: 700 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh,
  html body.yz-booking-site.page-booking-login #loginCaptchaRefresh {
    display: inline-grid !important;
    place-items: center !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 96px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: #302018 !important;
    color: #fff6ed !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 20px rgba(48, 32, 24, .2) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-submit {
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 3px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #b52f26 0%, #d56a3e 50%, #a52f24 100%) !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    box-shadow: 0 16px 30px rgba(181, 47, 38, .28) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-tip {
    margin: 1px 0 0 !important;
    padding: 11px 12px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: rgba(244, 235, 224, .72) !important;
    color: rgba(67, 49, 38, .72) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-footnote {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 16px !important;
    color: rgba(72, 52, 40, .58) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-footnote a {
    color: #a83228 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  html body.yz-booking-site.page-booking-login {
    background: #f5f7fa !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main {
    min-height: calc(100vh - 116px) !important;
    padding: 72px 18px 112px !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main::before,
  html body.yz-booking-site.page-booking-login .yz-login-card::before,
  html body.yz-booking-site.page-booking-login .yz-login-eyebrow {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero {
    margin: 0 auto 14px !important;
    padding: 0 !important;
    color: #1f2937 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero h1 {
    max-width: none !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero p {
    max-width: none !important;
    margin-top: 9px !important;
    color: #667085 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-trust {
    gap: 6px !important;
    margin-top: 12px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-trust span {
    min-height: 26px !important;
    padding: 0 9px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #475467 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    backdrop-filter: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card {
    padding: 18px !important;
    border: 1px solid #e6e9ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06) !important;
    backdrop-filter: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head {
    align-items: baseline !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eef1f5 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head strong {
    color: #111827 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head span {
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form {
    gap: 12px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line,
  html body.yz-booking-site.page-booking-login .yz-login-line {
    min-height: 54px !important;
    padding: 0 12px !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-user {
    grid-template-columns: 28px 104px minmax(0, 1fr) !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user > .yz-login-icon-user {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user > select#loginCountryCode {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 104px !important;
    min-width: 104px !important;
    height: 54px !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    padding: 0 18px 0 0 !important;
    border-right: 1px solid #e5e7eb !important;
    border-left: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    background-color: #fff !important;
    text-align: center !important;
    text-align-last: center !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-user > input#loginPhone {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-captcha {
    grid-template-columns: 28px minmax(0, 1fr) 96px !important;
  }

  html body.yz-booking-site.page-booking-login #loginCountryCode {
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input,
  html body.yz-booking-site.page-booking-login .yz-login-line input {
    height: 40px !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input::placeholder,
  html body.yz-booking-site.page-booking-login .yz-login-line input::placeholder {
    color: #98a2b3 !important;
    font-weight: 500 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh,
  html body.yz-booking-site.page-booking-login #loginCaptchaRefresh {
    width: 88px !important;
    height: 38px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-submit {
    min-height: 50px !important;
    border-radius: 10px !important;
    background: #0b5cad !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-tip {
    padding: 10px 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #f9fafb !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-footnote {
    margin-top: 14px !important;
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-footnote a {
    color: #0b5cad !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 0 !important;
    align-items: center !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user > select#loginCountryCode {
    grid-column: 1 !important;
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    box-sizing: border-box !important;
    display: block !important;
    text-align: center !important;
    text-align-last: center !important;
    -moz-text-align-last: center !important;
    -ms-text-align-last: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background-image: none !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    direction: ltr !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user > input#loginPhone {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    padding-left: 12px !important;
    margin-top: 0 !important;
    border-top: 0 !important;
    border-left: 1px solid #e5e7eb !important;
    font-size: 16px !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line.yz-login-line-user > span.yz-login-icon-user {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-login form#bookingLoginForm label.yz-login-line-user {
    row-gap: 0 !important;
  }

  html body.yz-booking-site.page-booking-login {
    background: #f5f7fa !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main {
    min-height: calc(100vh - 116px) !important;
    padding: 64px 18px 112px !important;
    overflow: visible !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-main::before,
  html body.yz-booking-site.page-booking-login .yz-login-card::before,
  html body.yz-booking-site.page-booking-login .yz-login-eyebrow {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero {
    margin: 0 auto 12px !important;
    padding: 0 !important;
    color: #111827 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero h1 {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-hero p {
    max-width: none !important;
    margin-top: 8px !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-trust {
    gap: 6px !important;
    margin-top: 10px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-trust span {
    min-height: 26px !important;
    padding: 0 10px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #4b5563 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    backdrop-filter: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card {
    padding: 18px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(15, 23, 42, .05) !important;
    backdrop-filter: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head {
    align-items: baseline !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eef2f7 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head strong {
    color: #111827 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-card-head span {
    color: #6b7280 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form {
    gap: 12px !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line,
  html body.yz-booking-site.page-booking-login .yz-login-line {
    min-height: 56px !important;
    padding: 0 12px !important;
    border: 1px solid #d9dee7 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > select,
  html body.yz-booking-site.page-booking-login .yz-login-line select,
  html body.yz-booking-site.page-booking-login #loginCountryCode {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line > input,
  html body.yz-booking-site.page-booking-login .yz-login-line input {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-line-captcha {
    grid-template-columns: minmax(0, 1fr) 96px !important;
    column-gap: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > button#loginCaptchaRefresh,
  html body.yz-booking-site.page-booking-login #loginCaptchaRefresh {
    display: inline-grid !important;
    place-items: center !important;
    width: 96px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #e8f0fb !important;
    color: #1d4ed8 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-submit {
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 4px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #147bd0 !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-tip {
    margin: 1px 0 0 !important;
    padding: 11px 12px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-footnote {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 16px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-footnote a {
    color: #147bd0 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  html body.yz-booking-site.page-booking-order .yz-booking-card-action,
  html body.yz-booking-site.page-booking-order .yz-order-empty-pro a,
  html body.yz-booking-site.page-booking-order .yz-order-actions a:first-child {
    background: #147bd0 !important;
    border-color: #147bd0 !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-help {
    scroll-padding-top: 72px !important;
  }

  html body.yz-booking-site.page-booking-help .yz-anchor-offset,
  html body.yz-booking-site.page-booking-help .yz-help-process-article,
  html body.yz-booking-site.page-booking-help .yz-help-process-article h3[id] {
    scroll-margin-top: 72px !important;
  }
}

