@media (max-width: 767px) {
  body.page-booking-routes {
    margin: 0 !important;
    overflow-x: hidden !important;
    background: #f1f1f1 !important;
    color: #111 !important;
    font-family: Arial, "Microsoft YaHei", sans-serif !important;
  }

  .page-booking-routes .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-booking-routes .yz-booking-header,
  .page-booking-routes .yz-booking-footer,
  .page-booking-routes .yz-booking-floating-tools {
    display: none !important;
  }

  .page-booking-routes .yz-routes-main {
    min-height: calc(100vh - 56px) !important;
    padding-bottom: 64px !important;
    background: #f1f1f1 !important;
  }

  .page-booking-routes .yz-order-page-hero {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    background: linear-gradient(90deg, #21469f, #337df0) !important;
  }

  .page-booking-routes .yz-order-page-hero .container {
    position: relative !important;
    height: 51px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .page-booking-routes .yz-order-page-hero .container::before {
    content: "‹" !important;
    position: absolute !important;
    left: 17px !important;
    top: 4px !important;
    color: #fff !important;
    font-size: 36px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
  }

  .page-booking-routes .yz-order-page-hero .container::after {
    content: "三峡游轮航线" !important;
    position: absolute !important;
    left: 58px !important;
    right: 52px !important;
    top: 15px !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  .page-booking-routes .yz-order-page-hero::after {
    content: "" !important;
    position: absolute !important;
    right: 14px !important;
    top: 13px !important;
    width: 25px !important;
    height: 25px !important;
    background: #fff !important;
    clip-path: polygon(50% 0, 100% 42%, 84% 42%, 84% 100%, 60% 100%, 60% 68%, 40% 68%, 40% 100%, 16% 100%, 16% 42%, 0 42%) !important;
  }

  .page-booking-routes .yz-order-page-hero .yz-section-kicker,
  .page-booking-routes .yz-order-page-hero h1,
  .page-booking-routes .yz-order-page-hero p {
    display: none !important;
  }

  .page-booking-routes .yz-booking-section {
    margin: 0 !important;
    padding: 10px 10px 14px !important;
    background: #f1f1f1 !important;
  }

  .page-booking-routes .yz-routes-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  }

  .page-booking-routes .yz-routes-toolbar label {
    display: grid !important;
    gap: 5px !important;
    color: #0b3472 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-routes .yz-routes-toolbar input,
  .page-booking-routes .yz-routes-toolbar select {
    width: 100% !important;
    height: 39px !important;
    padding: 0 10px !important;
    border: 1px solid #d6e2f0 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    box-shadow: none !important;
  }

  .page-booking-routes #routesReset {
    justify-self: end !important;
    width: 86px !important;
    height: 38px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #ff8500 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  .page-booking-routes .yz-routes-summary {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 0 0 10px !important;
  }

  .page-booking-routes .yz-routes-summary span {
    display: grid !important;
    gap: 2px !important;
    min-height: 55px !important;
    padding: 9px 10px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-routes .yz-routes-summary b {
    color: #e60012 !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .page-booking-routes .yz-routes-summary em {
    color: #333 !important;
    font-size: 12px !important;
    font-style: normal !important;
  }

  .page-booking-routes .yz-schedule-count {
    margin: 0 0 9px !important;
    color: #0054b8 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
  }

  .page-booking-routes .yz-routes-grid,
  .page-booking-routes .yz-routes-grid-inner {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-booking-routes .yz-route-group {
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-booking-routes .yz-route-group + .yz-route-group {
    margin-top: 10px !important;
  }

  .page-booking-routes .yz-route-group-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 7px !important;
  }

  .page-booking-routes .yz-route-group-head h2 {
    margin: 0 !important;
    color: #003e87 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  .page-booking-routes .yz-route-group-head span {
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-routes .yz-route-card-pro {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-routes .yz-route-card-kicker {
    display: inline-flex !important;
    width: max-content !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    background: #eaf3ff !important;
    color: #0054b8 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-routes .yz-route-card h2 {
    margin: 0 !important;
    color: #111 !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  .page-booking-routes .yz-route-subtitle,
  .page-booking-routes .yz-route-card p {
    margin: 0 !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .page-booking-routes .yz-route-meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 0 !important;
  }

  .page-booking-routes .yz-route-meta span {
    display: grid !important;
    gap: 2px !important;
    min-height: 48px !important;
    padding: 8px !important;
    border: 1px solid #e3edf8 !important;
    border-radius: 5px !important;
    background: #f8fbff !important;
  }

  .page-booking-routes .yz-route-meta b {
    color: #e60012 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  .page-booking-routes .yz-route-meta em {
    color: #555 !important;
    font-size: 11px !important;
    font-style: normal !important;
  }

  .page-booking-routes .yz-route-shipline {
    display: grid !important;
    gap: 4px !important;
    padding: 8px !important;
    border-radius: 5px !important;
    background: #f8fbff !important;
  }

  .page-booking-routes .yz-route-shipline b {
    color: #111 !important;
    font-size: 13px !important;
  }

  .page-booking-routes .yz-route-shipline span {
    color: #555 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .page-booking-routes .yz-route-sailings {
    display: grid !important;
    gap: 6px !important;
  }

  .page-booking-routes .yz-route-sailings a {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: center !important;
    min-height: 39px !important;
    padding: 7px 8px !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #111 !important;
    text-decoration: none !important;
  }

  .page-booking-routes .yz-route-sailings span,
  .page-booking-routes .yz-route-sailings strong {
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-routes .yz-route-sailings strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-booking-routes .yz-route-sailings em {
    color: #e60012 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .page-booking-routes .yz-route-price-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding-top: 2px !important;
  }

  .page-booking-routes .yz-route-price-row small {
    color: #666 !important;
    font-size: 12px !important;
  }

  .page-booking-routes .yz-route-price-row strong {
    color: #e60012 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  .page-booking-routes .yz-route-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .page-booking-routes .yz-route-actions a {
    display: grid !important;
    place-items: center !important;
    min-height: 36px !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .page-booking-routes .yz-route-actions .yz-booking-card-action {
    background: #ff8500 !important;
    color: #fff !important;
  }

  .page-booking-routes .yz-route-actions .yz-booking-secondary-action {
    border: 1px solid #2b82e6 !important;
    background: #fff !important;
    color: #1d70d6 !important;
  }

  .page-booking-routes .yz-booking-mobile-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    height: 56px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #0054a7 !important;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.18) !important;
  }

  .page-booking-routes .yz-booking-mobile-nav a {
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
  }

  .page-booking-routes .yz-booking-mobile-nav a::before {
    display: block !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  .page-booking-routes .yz-booking-mobile-nav a:nth-child(1)::before { content: "⌂" !important; }
  .page-booking-routes .yz-booking-mobile-nav a:nth-child(2)::before { content: "♧" !important; }
  .page-booking-routes .yz-booking-mobile-nav a:nth-child(3)::before { content: "☏" !important; }
  .page-booking-routes .yz-booking-mobile-nav a:nth-child(4)::before { content: "✆" !important; }
  .page-booking-routes .yz-booking-mobile-nav a:nth-child(5)::before { content: "▤" !important; }

  .page-booking-routes .yz-order-page-hero .container::after {
    display: none !important;
    content: none !important;
  }

  .page-booking-routes .yz-order-page-hero::after {
    display: none !important;
    content: none !important;
  }

  .page-booking-routes .yz-order-page-hero {
    display: none !important;
  }

  .page-booking-routes .yz-booking-section {
    padding: 0 0 64px !important;
    background: #fff !important;
  }

  .page-booking-routes .yz-routes-toolbar,
  .page-booking-routes .yz-routes-summary,
  .page-booking-routes .yz-schedule-count,
  .page-booking-routes .yz-route-group {
    display: none !important;
  }

  .page-booking-routes .yz-routes-grid {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .page-booking-routes .yz-route-timetable-mobile {
    display: block !important;
    width: 100% !important;
    background: #fff !important;
  }

  .page-booking-routes .yz-route-datebar {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 72px !important;
    align-items: center !important;
    height: 44px !important;
    padding: 0 10px !important;
    border-bottom: 1px solid #d7d7d7 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  .page-booking-routes .yz-route-datebar button {
    height: 30px !important;
    border: 0 !important;
    background: transparent !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  .page-booking-routes .yz-route-datebar strong {
    color: #333 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .page-booking-routes .yz-route-table-head,
  .page-booking-routes .yz-route-table-row {
    display: grid !important;
    grid-template-columns: minmax(92px, 1.25fr) 72px 72px 56px !important;
    align-items: center !important;
    column-gap: 4px !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  .page-booking-routes .yz-route-table-head {
    height: 42px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    color: #173b69 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .page-booking-routes .yz-route-table-row {
    min-height: 56px !important;
    border-bottom: 1px solid #e2e2e2 !important;
    color: #12304f !important;
    text-decoration: none !important;
    background: #fff !important;
  }

  .page-booking-routes .yz-route-table-row strong {
    min-width: 0 !important;
    color: #12304f !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }

  .page-booking-routes .yz-route-table-row span {
    display: grid !important;
    gap: 2px !important;
    color: #333 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .page-booking-routes .yz-route-table-row span::before {
    content: "⇣" !important;
    color: #2f5e9e !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .page-booking-routes .yz-route-table-row b,
  .page-booking-routes .yz-route-table-row em {
    color: #333 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 500 !important;
  }

  .page-booking-routes .yz-route-table-row small {
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-align: center !important;
  }

  .page-booking-routes .yz-route-table-row i {
    color: #e60012 !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  /* Final mobile route page fallback: show the actual route cards rendered by booking-routes-enhance.js. */
  body.yz-booking-site.page-booking-routes .yz-routes-toolbar,
  body.yz-booking-site.page-booking-routes .yz-routes-summary,
  body.yz-booking-site.page-booking-routes .yz-schedule-count,
  body.yz-booking-site.page-booking-routes .yz-route-group {
    display: grid !important;
  }

  body.yz-booking-site.page-booking-routes .yz-route-group-head {
    display: flex !important;
  }

  body.yz-booking-site.page-booking-routes .yz-route-timetable-mobile {
    display: none !important;
  }

  body.yz-booking-site.page-booking-routes .yz-booking-section {
    padding: 10px 10px 72px !important;
    background: #f1f1f1 !important;
  }

  body.yz-booking-site.page-booking-routes .yz-routes-grid {
    display: grid !important;
    gap: 10px !important;
    background: transparent !important;
  }
}
