/* ===== style-starter.css ===== */
@charset "UTF-8";

/*!
 * Bootstrap v4.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #000000;
  --secondary: #FF1654;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: 'Lato', sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

.company {
  width: 400px;
  height: 300px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.company div {
  margin: 8px 0;
}

.pay {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pay h3 {
  font-size: 30px;
  font-weight: 400;
  text-align: center;
  margin: 30px 0;
}

.pay p {
  text-indent: 2em;
  margin: 20px 0;
}

.complaints {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.complaints h3 {
  font-size: 30px;
  font-weight: 400;
  text-align: center;
  margin: 30px 0;
}

.complaints p {
  text-indent: 2em;
  margin: 3px 0;
}

.pay ol li {
  margin-top: 10px;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #000000;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #000000;
  text-decoration: underline;
}

a:not([href]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: 'Lato', sans-serif;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

@media (max-width: 1200px) {
  legend {
    font-size: calc(1.275rem + 0.3vw);
  }
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1,
.h1 {
  font-size: 2.5rem;
}

@media (max-width: 1200px) {

  h1,
  .h1 {
    font-size: calc(1.375rem + 1.5vw);
  }
}

h2,
.h2 {
  font-size: 2rem;
}

@media (max-width: 1200px) {

  h2,
  .h2 {
    font-size: calc(1.325rem + 0.9vw);
  }
}

h3,
.h3 {
  font-size: 1.75rem;
}

@media (max-width: 1200px) {

  h3,
  .h3 {
    font-size: calc(1.3rem + 0.6vw);
  }
}

h4,
.h4 {
  font-size: 1.5rem;
}

@media (max-width: 1200px) {

  h4,
  .h4 {
    font-size: calc(1.275rem + 0.3vw);
  }
}

h5,
.h5 {
  font-size: 1.25rem;
}

h6,
.h6 {
  font-size: 1rem;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2;
}

@media (max-width: 1200px) {
  .display-1 {
    font-size: calc(1.725rem + 5.7vw);
  }
}

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2;
}

@media (max-width: 1200px) {
  .display-2 {
    font-size: calc(1.675rem + 5.1vw);
  }
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2;
}

@media (max-width: 1200px) {
  .display-3 {
    font-size: calc(1.575rem + 3.9vw);
  }
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}

@media (max-width: 1200px) {
  .display-4 {
    font-size: calc(1.475rem + 2.7vw);
  }
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small,
.small {
  font-size: 80%;
  font-weight: 400;
}

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}

.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: var(--font-color);
  font-weight: 500;
}

.blockquote-footer::before {
  content: "\2014\00A0";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word;
}

a>code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {

  .container,
  .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {

  .container,
  .container-sm,
  .container-md {
    max-width: 720px;
  }
}

@media (min-width: 992px) {

  .container,
  .container-sm,
  .container-md,
  .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {

  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: 1140px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.nav_items {
  flex-wrap: nowrap;
}

.navs {
  font-size: 20px;
  font-weight: 600;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters>.col,
.no-gutters>[class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1>* {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2>* {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3>* {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.row-cols-4>* {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5>* {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6>* {
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}

.col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}

.col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}

.col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.33333%;
}

.offset-2 {
  margin-left: 16.66667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333%;
}

.offset-5 {
  margin-left: 41.66667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333%;
}

.offset-8 {
  margin-left: 66.66667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333%;
}

.offset-11 {
  margin-left: 91.66667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-sm-1>* {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-sm-2>* {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-sm-3>* {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .row-cols-sm-4>* {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-sm-5>* {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-sm-6>* {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    order: -1;
  }

  .order-sm-last {
    order: 13;
  }

  .order-sm-0 {
    order: 0;
  }

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.33333%;
  }

  .offset-sm-2 {
    margin-left: 16.66667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.33333%;
  }

  .offset-sm-5 {
    margin-left: 41.66667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.33333%;
  }

  .offset-sm-8 {
    margin-left: 66.66667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.33333%;
  }

  .offset-sm-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-md-1>* {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-md-2>* {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-md-3>* {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .row-cols-md-4>* {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-md-5>* {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-md-6>* {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    order: -1;
  }

  .order-md-last {
    order: 13;
  }

  .order-md-0 {
    order: 0;
  }

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.33333%;
  }

  .offset-md-2 {
    margin-left: 16.66667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.33333%;
  }

  .offset-md-5 {
    margin-left: 41.66667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.33333%;
  }

  .offset-md-8 {
    margin-left: 66.66667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.33333%;
  }

  .offset-md-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-lg-1>* {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-lg-2>* {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-lg-3>* {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .row-cols-lg-4>* {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-lg-5>* {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-lg-6>* {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    order: -1;
  }

  .order-lg-last {
    order: 13;
  }

  .order-lg-0 {
    order: 0;
  }

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.33333%;
  }

  .offset-lg-2 {
    margin-left: 16.66667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.33333%;
  }

  .offset-lg-5 {
    margin-left: 41.66667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.33333%;
  }

  .offset-lg-8 {
    margin-left: 66.66667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.33333%;
  }

  .offset-lg-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-xl-1>* {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-xl-2>* {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-xl-3>* {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .row-cols-xl-4>* {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-xl-5>* {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-xl-6>* {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    order: -1;
  }

  .order-xl-last {
    order: 13;
  }

  .order-xl-0 {
    order: 0;
  }

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.33333%;
  }

  .offset-xl-2 {
    margin-left: 16.66667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.33333%;
  }

  .offset-xl-5 {
    margin-left: 41.66667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.33333%;
  }

  .offset-xl-8 {
    margin-left: 66.66667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.33333%;
  }

  .offset-xl-11 {
    margin-left: 91.66667%;
  }
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}

.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}

.table tbody+tbody {
  border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #dee2e6;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}

.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody+tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #212529;
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary>th,
.table-primary>td {
  background-color: #dfcaf8;
}

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody+tbody {
  border-color: #c49df3;
}

.table-hover .table-primary:hover {
  background-color: #d1b3f5;
}

.table-hover .table-primary:hover>td,
.table-hover .table-primary:hover>th {
  background-color: #d1b3f5;
}

.table-secondary,
.table-secondary>th,
.table-secondary>td {
  background-color: #c3c8d4;
}

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody+tbody {
  border-color: #8f9aaf;
}

.table-hover .table-secondary:hover {
  background-color: #b4bac9;
}

.table-hover .table-secondary:hover>td,
.table-hover .table-secondary:hover>th {
  background-color: #b4bac9;
}

.table-success,
.table-success>th,
.table-success>td {
  background-color: #c3e6cb;
}

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody+tbody {
  border-color: #8fd19e;
}

.table-hover .table-success:hover {
  background-color: #b1dfbb;
}

.table-hover .table-success:hover>td,
.table-hover .table-success:hover>th {
  background-color: #b1dfbb;
}

.table-info,
.table-info>th,
.table-info>td {
  background-color: #bee5eb;
}

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody+tbody {
  border-color: #86cfda;
}

.table-hover .table-info:hover {
  background-color: #abdde5;
}

.table-hover .table-info:hover>td,
.table-hover .table-info:hover>th {
  background-color: #abdde5;
}

.table-warning,
.table-warning>th,
.table-warning>td {
  background-color: #ffeeba;
}

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody+tbody {
  border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}

.table-hover .table-warning:hover>td,
.table-hover .table-warning:hover>th {
  background-color: #ffe8a1;
}

.table-danger,
.table-danger>th,
.table-danger>td {
  background-color: #f5c6cb;
}

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody+tbody {
  border-color: #ed969e;
}

.table-hover .table-danger:hover {
  background-color: #f1b0b7;
}

.table-hover .table-danger:hover>td,
.table-hover .table-danger:hover>th {
  background-color: #f1b0b7;
}

.table-light,
.table-light>th,
.table-light>td {
  background-color: #fdfdfe;
}

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody+tbody {
  border-color: #fbfcfc;
}

.table-hover .table-light:hover {
  background-color: #ececf6;
}

.table-hover .table-light:hover>td,
.table-hover .table-light:hover>th {
  background-color: #ececf6;
}

.table-dark,
.table-dark>th,
.table-dark>td {
  background-color: #c6c8ca;
}

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody+tbody {
  border-color: #95999c;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}

.table-hover .table-dark:hover>td,
.table-hover .table-dark:hover>th {
  background-color: #b9bbbe;
}

.table-active,
.table-active>th,
.table-active>td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover>td,
.table-hover .table-active:hover>th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}

.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}

.table-dark.table-bordered {
  border: 0;
}

.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}

.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive-sm>.table-bordered {
    border: 0;
  }
}

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive-md>.table-bordered {
    border: 0;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive-lg>.table-bordered {
    border: 0;
  }
}

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive-xl>.table-bordered {
    border: 0;
  }
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive>.table-bordered {
  border: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.form-control:focus {
  color: #495057;
  background-color: transparent;
  border-color: #d2b4f5;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.form-control::-webkit-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::-moz-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}

.form-control-plaintext.form-control-sm,
.form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control[size],
select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

.form-group {
  margin-bottom: 1rem;
}

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}

.form-row>.col,
.form-row>[class*="col-"] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}

.form-check-input[disabled]~.form-check-label,
.form-check-input:disabled~.form-check-label {
  color: #6c757d;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}

.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem;
}

.was-validated :valid~.valid-feedback,
.was-validated :valid~.valid-tooltip,
.is-valid~.valid-feedback,
.is-valid~.valid-tooltip {
  display: block;
}

.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:valid,
.custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .form-check-input:valid~.form-check-label,
.form-check-input.is-valid~.form-check-label {
  color: #28a745;
}

.was-validated .form-check-input:valid~.valid-feedback,
.was-validated .form-check-input:valid~.valid-tooltip,
.form-check-input.is-valid~.valid-feedback,
.form-check-input.is-valid~.valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid~.custom-control-label,
.custom-control-input.is-valid~.custom-control-label {
  color: #28a745;
}

.was-validated .custom-control-input:valid~.custom-control-label::before,
.custom-control-input.is-valid~.custom-control-label::before {
  border-color: #28a745;
}

.was-validated .custom-control-input:valid:checked~.custom-control-label::before,
.custom-control-input.is-valid:checked~.custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57;
}

.was-validated .custom-control-input:valid:focus~.custom-control-label::before,
.custom-control-input.is-valid:focus~.custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,
.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before {
  border-color: #28a745;
}

.was-validated .custom-file-input:valid~.custom-file-label,
.custom-file-input.is-valid~.custom-file-label {
  border-color: #28a745;
}

.was-validated .custom-file-input:valid:focus~.custom-file-label,
.custom-file-input.is-valid:focus~.custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}

.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip,
.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:invalid,
.custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-check-input:invalid~.form-check-label,
.form-check-input.is-invalid~.form-check-label {
  color: #dc3545;
}

.was-validated .form-check-input:invalid~.invalid-feedback,
.was-validated .form-check-input:invalid~.invalid-tooltip,
.form-check-input.is-invalid~.invalid-feedback,
.form-check-input.is-invalid~.invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid~.custom-control-label,
.custom-control-input.is-invalid~.custom-control-label {
  color: #dc3545;
}

.was-validated .custom-control-input:invalid~.custom-control-label::before,
.custom-control-input.is-invalid~.custom-control-label::before {
  border-color: #dc3545;
}

.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,
.custom-control-input.is-invalid:checked~.custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d;
}

.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,
.custom-control-input.is-invalid:focus~.custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,
.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid~.custom-file-label,
.custom-file-input.is-invalid~.custom-file-label {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid:focus~.custom-file-label,
.custom-file-input.is-invalid:focus~.custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.form-inline .form-check {
  width: 100%;
}

@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }

  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }

  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .form-inline .form-control-plaintext {
    display: inline-block;
  }

  .form-inline .input-group,
  .form-inline .custom-select {
    width: auto;
  }

  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }

  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }

  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }

  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  text-decoration: none;
}

.btn:focus,
.btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.btn.disabled,
.btn:disabled {
  opacity: 0.65;
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-primary:hover {
  color: #fff;
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 0 0 0.2rem rgba(230, 0, 61, 0.36);
}

.btn-primary.disabled,
.btn-primary:disabled {
  color: #fff;
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
  color: #fff;
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 0, 61, 0.36);
}

.btn-secondary {
  color: #fff;
  background-color: #FF1654;
  border-color: #FF1654;
}

.btn-secondary:hover {
  color: #fff;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-secondary:focus,
.btn-secondary.focus {
  color: #fff;
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 0 0 0.2rem rgba(230, 0, 61, 0.36);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
  color: #fff;
  background-color: #FF1654;
  border-color: #FF1654;
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show>.btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #F41F0B;
  border-color: #F41F0B;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show>.btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 0, 61, 0.36);
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-success.disabled,
.btn-success:disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show>.btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show>.btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-info.disabled,
.btn-info:disabled {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show>.btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.show>.btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-warning:focus,
.btn-warning.focus {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

.btn-warning.disabled,
.btn-warning:disabled {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show>.btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}

.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show>.btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-danger.disabled,
.btn-danger:disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show>.btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show>.btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light:focus,
.btn-light.focus {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

.btn-light.disabled,
.btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show>.btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.show>.btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark:focus,
.btn-dark.focus {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-dark.disabled,
.btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show>.btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled):active:focus,
.btn-dark:not(:disabled):not(.disabled).active:focus,
.show>.btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-outline-primary {
  color: #000000;
  border-color: #000000;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #000000;
  border-color: #000000;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #000000;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show>.btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #000000;
  border-color: #000000;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.5);
}

.btn-outline-secondary {
  color: #FF1654;
  border-color: #FF1654;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #FF1654;
  border-color: #FF1654;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(39, 60, 102, 0.5);
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #FF1654;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show>.btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #FF1654;
  border-color: #FF1654;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(39, 60, 102, 0.5);
}

.btn-outline-success {
  color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show>.btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus,
.btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show>.btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus,
.btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show>.btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show>.btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus,
.btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled,
.btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show>.btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show>.btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #000000;
  text-decoration: none;
}

.btn-link:hover {
  color: #6719c4;
  text-decoration: underline;
}

.btn-link:focus,
.btn-link.focus {
  text-decoration: underline;
  box-shadow: none;
}

.btn-link:disabled,
.btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg,
.btn-group-lg>.btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm,
.btn-group-sm>.btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block+.btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}

.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^="top"],
.dropdown-menu[x-placement^="right"],
.dropdown-menu[x-placement^="bottom"],
.dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #f8f9fa;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #000000;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group>.btn,
.btn-group-vertical>.btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group>.btn:hover,
.btn-group-vertical>.btn:hover {
  z-index: 1;
}

.btn-group>.btn:focus,
.btn-group>.btn:active,
.btn-group>.btn.active,
.btn-group-vertical>.btn:focus,
.btn-group-vertical>.btn:active,
.btn-group-vertical>.btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group>.btn:not(:first-child),
.btn-group>.btn-group:not(:first-child) {
  margin-left: -1px;
}

.btn-group>.btn:not(:last-child):not(.dropdown-toggle),
.btn-group>.btn-group:not(:last-child)>.btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group>.btn:not(:first-child),
.btn-group>.btn-group:not(:first-child)>.btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropright .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm+.dropdown-toggle-split,
.btn-group-sm>.btn+.dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg+.dropdown-toggle-split,
.btn-group-lg>.btn+.dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.btn-group-vertical>.btn,
.btn-group-vertical>.btn-group {
  width: 100%;
}

.btn-group-vertical>.btn:not(:first-child),
.btn-group-vertical>.btn-group:not(:first-child) {
  margin-top: -1px;
}

.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical>.btn-group:not(:last-child)>.btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical>.btn:not(:first-child),
.btn-group-vertical>.btn-group:not(:first-child)>.btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle>.btn,
.btn-group-toggle>.btn-group>.btn {
  margin-bottom: 0;
}

.btn-group-toggle>.btn input[type="radio"],
.btn-group-toggle>.btn input[type="checkbox"],
.btn-group-toggle>.btn-group>.btn input[type="radio"],
.btn-group-toggle>.btn-group>.btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group>.form-control,
.input-group>.form-control-plaintext,
.input-group>.custom-select,
.input-group>.custom-file {
  position: relative;
  flex: 1 1 0%;
  min-width: 0;
  margin-bottom: 0;
}

.input-group>.form-control+.form-control,
.input-group>.form-control+.custom-select,
.input-group>.form-control+.custom-file,
.input-group>.form-control-plaintext+.form-control,
.input-group>.form-control-plaintext+.custom-select,
.input-group>.form-control-plaintext+.custom-file,
.input-group>.custom-select+.form-control,
.input-group>.custom-select+.custom-select,
.input-group>.custom-select+.custom-file,
.input-group>.custom-file+.form-control,
.input-group>.custom-file+.custom-select,
.input-group>.custom-file+.custom-file {
  margin-left: -1px;
}

.input-group>.form-control:focus,
.input-group>.custom-select:focus,
.input-group>.custom-file .custom-file-input:focus~.custom-file-label {
  z-index: 3;
}

.input-group>.custom-file .custom-file-input:focus {
  z-index: 4;
}

.input-group>.form-control:not(:last-child),
.input-group>.custom-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group>.form-control:not(:first-child),
.input-group>.custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group>.custom-file {
  display: flex;
  align-items: center;
}

.input-group>.custom-file:not(:last-child) .custom-file-label,
.input-group>.custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group>.custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}

.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}

.input-group-prepend .btn+.btn,
.input-group-prepend .btn+.input-group-text,
.input-group-prepend .input-group-text+.input-group-text,
.input-group-prepend .input-group-text+.btn,
.input-group-append .btn+.btn,
.input-group-append .btn+.input-group-text,
.input-group-append .input-group-text+.input-group-text,
.input-group-append .input-group-text+.btn {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.input-group-text input[type="radio"],
.input-group-text input[type="checkbox"] {
  margin-top: 0;
}

.input-group-lg>.form-control:not(textarea),
.input-group-lg>.custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg>.form-control,
.input-group-lg>.custom-select,
.input-group-lg>.input-group-prepend>.input-group-text,
.input-group-lg>.input-group-append>.input-group-text,
.input-group-lg>.input-group-prepend>.btn,
.input-group-lg>.input-group-append>.btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.input-group-sm>.form-control:not(textarea),
.input-group-sm>.custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm>.form-control,
.input-group-sm>.custom-select,
.input-group-sm>.input-group-prepend>.input-group-text,
.input-group-sm>.input-group-append>.input-group-text,
.input-group-sm>.input-group-prepend>.btn,
.input-group-sm>.input-group-append>.btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.input-group-lg>.custom-select,
.input-group-sm>.custom-select {
  padding-right: 1.75rem;
}

.input-group>.input-group-prepend>.btn,
.input-group>.input-group-prepend>.input-group-text,
.input-group>.input-group-append:not(:last-child)>.btn,
.input-group>.input-group-append:not(:last-child)>.input-group-text,
.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),
.input-group>.input-group-append:last-child>.input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group>.input-group-append>.btn,
.input-group>.input-group-append>.input-group-text,
.input-group>.input-group-prepend:not(:first-child)>.btn,
.input-group>.input-group-prepend:not(:first-child)>.input-group-text,
.input-group>.input-group-prepend:first-child>.btn:not(:first-child),
.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}

.custom-control-input:checked~.custom-control-label::before {
  color: #fff;
  border-color: #000000;
  background-color: #000000;
}

.custom-control-input:focus~.custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.custom-control-input:focus:not(:checked)~.custom-control-label::before {
  border-color: #d2b4f5;
}

.custom-control-input:not(:disabled):active~.custom-control-label::before {
  color: #fff;
  background-color: #ede1fb;
  border-color: #ede1fb;
}

.custom-control-input[disabled]~.custom-control-label,
.custom-control-input:disabled~.custom-control-label {
  color: #6c757d;
}

.custom-control-input[disabled]~.custom-control-label::before,
.custom-control-input:disabled~.custom-control-label::before {
  background-color: #e9ecef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}

.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: #adb5bd solid 1px;
}

.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: no-repeat 50% / 50% 50%;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before {
  border-color: #000000;
  background-color: #000000;
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before {
  background-color: rgba(142, 67, 231, 0.5);
}

.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before {
  background-color: rgba(142, 67, 231, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}

.custom-radio .custom-control-input:checked~.custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before {
  background-color: rgba(142, 67, 231, 0.5);
}

.custom-switch {
  padding-left: 2.25rem;
}

.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}

.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}

.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before {
  background-color: rgba(142, 67, 231, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.custom-select:focus {
  border-color: #d2b4f5;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.custom-select[multiple],
.custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}

.custom-select:disabled {
  color: #6c757d;
  background-color: #e9ecef;
}

.custom-select::-ms-expand {
  display: none;
}

.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
}

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
}

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin-bottom: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0;
}

.custom-file-input:focus~.custom-file-label {
  border-color: #d2b4f5;
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.custom-file-input[disabled]~.custom-file-label,
.custom-file-input:disabled~.custom-file-label {
  background-color: #e9ecef;
}

.custom-file-input:lang(en)~.custom-file-label::after {
  content: "Browse";
}

.custom-file-input~.custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 0.25rem 0.25rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.custom-range:focus {
  outline: none;
}

.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.custom-range::-moz-focus-outer {
  border: 0;
}

.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #000000;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-appearance: none;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}

.custom-range::-webkit-slider-thumb:active {
  background-color: #ede1fb;
}

.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #000000;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -moz-appearance: none;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}

.custom-range::-moz-range-thumb:active {
  background-color: #ede1fb;
}

.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #000000;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}

.custom-range::-ms-thumb:active {
  background-color: #ede1fb;
}

.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}

.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}

.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-moz-range-track {
  cursor: default;
}

.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {

  .custom-control-label::before,
  .custom-file-label,
  .custom-select {
    transition: none;
  }
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}

.nav-link:hover,
.nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-item {
  margin-bottom: -1px;
}

.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  border-radius: 0.25rem;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  color: #fff;
  background-color: #000000;
}

.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.tab-content>.tab-pane {
  display: none;
}

.tab-content>.active {
  display: block;
}

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}

.navbar .container,
.navbar .container-fluid,
.navbar .container-sm,
.navbar .container-md,
.navbar .container-lg,
.navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}

.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}

.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.navbar-toggler:hover,
.navbar-toggler:focus {
  text-decoration: none;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  background-size: 100% 100%;
}

@media (max-width: 575.98px) {

  .navbar-expand-sm>.container,
  .navbar-expand-sm>.container-fluid,
  .navbar-expand-sm>.container-sm,
  .navbar-expand-sm>.container-md,
  .navbar-expand-sm>.container-lg,
  .navbar-expand-sm>.container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }

  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }

  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .navbar-expand-sm>.container,
  .navbar-expand-sm>.container-fluid,
  .navbar-expand-sm>.container-sm,
  .navbar-expand-sm>.container-md,
  .navbar-expand-sm>.container-lg,
  .navbar-expand-sm>.container-xl {
    flex-wrap: nowrap;
  }

  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}

@media (max-width: 767.98px) {

  .navbar-expand-md>.container,
  .navbar-expand-md>.container-fluid,
  .navbar-expand-md>.container-sm,
  .navbar-expand-md>.container-md,
  .navbar-expand-md>.container-lg,
  .navbar-expand-md>.container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }

  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }

  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .navbar-expand-md>.container,
  .navbar-expand-md>.container-fluid,
  .navbar-expand-md>.container-sm,
  .navbar-expand-md>.container-md,
  .navbar-expand-md>.container-lg,
  .navbar-expand-md>.container-xl {
    flex-wrap: nowrap;
  }

  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}

@media (max-width: 991.98px) {

  .navbar-expand-lg>.container,
  .navbar-expand-lg>.container-fluid,
  .navbar-expand-lg>.container-sm,
  .navbar-expand-lg>.container-md,
  .navbar-expand-lg>.container-lg,
  .navbar-expand-lg>.container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }

  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .navbar-expand-lg>.container,
  .navbar-expand-lg>.container-fluid,
  .navbar-expand-lg>.container-sm,
  .navbar-expand-lg>.container-md,
  .navbar-expand-lg>.container-lg,
  .navbar-expand-lg>.container-xl {
    flex-wrap: nowrap;
  }

  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

@media (max-width: 1199.98px) {

  .navbar-expand-xl>.container,
  .navbar-expand-xl>.container-fluid,
  .navbar-expand-xl>.container-sm,
  .navbar-expand-xl>.container-md,
  .navbar-expand-xl>.container-lg,
  .navbar-expand-xl>.container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }

  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }

  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .navbar-expand-xl>.container,
  .navbar-expand-xl>.container-fluid,
  .navbar-expand-xl>.container-sm,
  .navbar-expand-xl>.container-md,
  .navbar-expand-xl>.container-lg,
  .navbar-expand-xl>.container-xl {
    flex-wrap: nowrap;
  }

  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.navbar-expand>.container,
.navbar-expand>.container-fluid,
.navbar-expand>.container-sm,
.navbar-expand>.container-md,
.navbar-expand>.container-lg,
.navbar-expand>.container-xl {
  padding-right: 0;
  padding-left: 0;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.navbar-expand>.container,
.navbar-expand>.container-fluid,
.navbar-expand>.container-sm,
.navbar-expand>.container-md,
.navbar-expand>.container-lg,
.navbar-expand>.container-xl {
  flex-wrap: nowrap;
}

.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}

.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}

.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}

.navbar-light .navbar-nav .show>.nav-link,
.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}

.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}

.navbar-dark .navbar-brand:hover,
.navbar-dark .navbar-brand:focus {
  color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}

.navbar-dark .navbar-nav .show>.nav-link,
.navbar-dark .navbar-nav .active>.nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-text a {
  color: #fff;
}

.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}

.card>hr {
  margin-right: 0;
  margin-left: 0;
}

.card>.list-group:first-child .list-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.card>.list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}

.card-link+.card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-header+.list-group .list-group-item:first-child {
  border-top: 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck .card {
  margin-bottom: 15px;
}

@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }

  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group>.card {
  margin-bottom: 15px;
}

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }

  .card-group>.card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }

  .card-group>.card+.card {
    margin-left: 0;
    border-left: 0;
  }

  .card-group>.card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .card-group>.card:not(:last-child) .card-img-top,
  .card-group>.card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }

  .card-group>.card:not(:last-child) .card-img-bottom,
  .card-group>.card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }

  .card-group>.card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .card-group>.card:not(:first-child) .card-img-top,
  .card-group>.card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }

  .card-group>.card:not(:first-child) .card-img-bottom,
  .card-group>.card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
  .card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }

  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion>.card {
  overflow: hidden;
}

.accordion>.card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion>.card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.accordion>.card>.card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.breadcrumb-item+.breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item+.breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  color: #6c757d;
  content: "/";
}

.breadcrumb-item+.breadcrumb-item:hover::before {
  text-decoration: underline;
}

.breadcrumb-item+.breadcrumb-item:hover::before {
  text-decoration: none;
}

.breadcrumb-item.active {
  color: #6c757d;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #000000;
  background-color: #fff;
  border: 1px solid #dee2e6;
}

.page-link:hover {
  z-index: 2;
  color: #6719c4;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.25);
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #000000;
  border-color: #000000;
}

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}

a.badge:hover,
a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #000000;
}

a.badge-primary:hover,
a.badge-primary:focus {
  color: #fff;
  background-color: #000000;
}

a.badge-primary:focus,
a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(142, 67, 231, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #FF1654;
}

a.badge-secondary:hover,
a.badge-secondary:focus {
  color: #fff;
  background-color: #192641;
}

a.badge-secondary:focus,
a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(39, 60, 102, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}

a.badge-success:hover,
a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}

a.badge-success:focus,
a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}

a.badge-info:hover,
a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}

a.badge-info:focus,
a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
  color: #212529;
  background-color: #ffc107;
}

a.badge-warning:hover,
a.badge-warning:focus {
  color: #212529;
  background-color: #d39e00;
}

a.badge-warning:focus,
a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}

a.badge-danger:hover,
a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}

a.badge-danger:focus,
a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
  color: #212529;
  background-color: #f8f9fa;
}

a.badge-light:hover,
a.badge-light:focus {
  color: #212529;
  background-color: #dae0e5;
}

a.badge-light:focus,
a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}

a.badge-dark:hover,
a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

a.badge-dark:focus,
a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}

@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
}

.alert-dismissible {
  padding-right: 4rem;
}

.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #4a2378;
  background-color: #e8d9fa;
  border-color: #dfcaf8;
}

.alert-primary hr {
  border-top-color: #d1b3f5;
}

.alert-primary .alert-link {
  color: #321751;
}

.alert-secondary {
  color: #141f35;
  background-color: #d4d8e0;
  border-color: #c3c8d4;
}

.alert-secondary hr {
  border-top-color: #b4bac9;
}

.alert-secondary .alert-link {
  color: #060910;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-success hr {
  border-top-color: #b1dfbb;
}

.alert-success .alert-link {
  color: #0b2e13;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}

.alert-info hr {
  border-top-color: #abdde5;
}

.alert-info .alert-link {
  color: #062c33;
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.alert-warning hr {
  border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
  color: #533f03;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-danger hr {
  border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
  color: #491217;
}

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

.alert-light hr {
  border-top-color: #ececf6;
}

.alert-light .alert-link {
  color: #686868;
}

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}

.alert-dark hr {
  border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
  color: #040505;
}

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #000000;
  transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  -webkit-animation: progress-bar-stripes 1s linear infinite;
  animation: progress-bar-stripes 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    -webkit-animation: none;
    animation: none;
  }
}

.media {
  display: flex;
  align-items: flex-start;
}

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}

.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.list-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.list-group-item:last-child {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.list-group-item.disabled,
.list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}

.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #000000;
  border-color: #000000;
}

.list-group-item+.list-group-item {
  border-top-width: 0;
}

.list-group-item+.list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}

.list-group-horizontal .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}

.list-group-horizontal .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal .list-group-item+.list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}

.list-group-horizontal .list-group-item+.list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }

  .list-group-horizontal-sm .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-sm .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }

  .list-group-horizontal-sm .list-group-item.active {
    margin-top: 0;
  }

  .list-group-horizontal-sm .list-group-item+.list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }

  .list-group-horizontal-sm .list-group-item+.list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }

  .list-group-horizontal-md .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-md .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }

  .list-group-horizontal-md .list-group-item.active {
    margin-top: 0;
  }

  .list-group-horizontal-md .list-group-item+.list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }

  .list-group-horizontal-md .list-group-item+.list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }

  .list-group-horizontal-lg .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-lg .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }

  .list-group-horizontal-lg .list-group-item.active {
    margin-top: 0;
  }

  .list-group-horizontal-lg .list-group-item+.list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }

  .list-group-horizontal-lg .list-group-item+.list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }

  .list-group-horizontal-xl .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-xl .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }

  .list-group-horizontal-xl .list-group-item.active {
    margin-top: 0;
  }

  .list-group-horizontal-xl .list-group-item+.list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }

  .list-group-horizontal-xl .list-group-item+.list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

.list-group-flush .list-group-item {
  border-right-width: 0;
  border-left-width: 0;
  border-radius: 0;
}

.list-group-flush .list-group-item:first-child {
  border-top-width: 0;
}

.list-group-flush:last-child .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #4a2378;
  background-color: #dfcaf8;
}

.list-group-item-primary.list-group-item-action:hover,
.list-group-item-primary.list-group-item-action:focus {
  color: #4a2378;
  background-color: #d1b3f5;
}

.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #4a2378;
  border-color: #4a2378;
}

.list-group-item-secondary {
  color: #141f35;
  background-color: #c3c8d4;
}

.list-group-item-secondary.list-group-item-action:hover,
.list-group-item-secondary.list-group-item-action:focus {
  color: #141f35;
  background-color: #b4bac9;
}

.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #141f35;
  border-color: #141f35;
}

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb;
}

.list-group-item-success.list-group-item-action:hover,
.list-group-item-success.list-group-item-action:focus {
  color: #155724;
  background-color: #b1dfbb;
}

.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #155724;
  border-color: #155724;
}

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb;
}

.list-group-item-info.list-group-item-action:hover,
.list-group-item-info.list-group-item-action:focus {
  color: #0c5460;
  background-color: #abdde5;
}

.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #0c5460;
  border-color: #0c5460;
}

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba;
}

.list-group-item-warning.list-group-item-action:hover,
.list-group-item-warning.list-group-item-action:focus {
  color: #856404;
  background-color: #ffe8a1;
}

.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #856404;
  border-color: #856404;
}

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb;
}

.list-group-item-danger.list-group-item-action:hover,
.list-group-item-danger.list-group-item-action:focus {
  color: #721c24;
  background-color: #f1b0b7;
}

.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #721c24;
  border-color: #721c24;
}

.list-group-item-light {
  color: #818182;
  background-color: #fdfdfe;
}

.list-group-item-light.list-group-item-action:hover,
.list-group-item-light.list-group-item-action:focus {
  color: #818182;
  background-color: #ececf6;
}

.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #818182;
  border-color: #818182;
}

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca;
}

.list-group-item-dark.list-group-item-action:hover,
.list-group-item-dark.list-group-item-action:focus {
  color: #1b1e21;
  background-color: #b9bbbe;
}

.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

@media (max-width: 1200px) {
  .close {
    font-size: calc(1.275rem + 0.3vw);
  }
}

.close:hover {
  color: #000;
  text-decoration: none;
}

.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
  opacity: .75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  max-width: 350px;
  overflow: hidden;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0;
  border-radius: 0.25rem;
}

.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}

.toast.showing {
  opacity: 1;
}

.toast.show {
  display: block;
  opacity: 1;
}

.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  content: "";
}

.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}

.modal-footer>* {
  margin: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }

  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }

  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }

  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
  }

  .modal-sm {
    max-width: 300px;
  }
}

@media (min-width: 992px) {

  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: 0.9;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}

.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top,
.bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0;
}

.bs-tooltip-top .arrow,
.bs-tooltip-auto[x-placement^="top"] .arrow {
  bottom: 0;
}

.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-right,
.bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem;
}

.bs-tooltip-right .arrow,
.bs-tooltip-auto[x-placement^="right"] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom,
.bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0;
}

.bs-tooltip-bottom .arrow,
.bs-tooltip-auto[x-placement^="bottom"] .arrow {
  top: 0;
}

.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-left,
.bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem;
}

.bs-tooltip-left .arrow,
.bs-tooltip-auto[x-placement^="left"] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}

.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}

.popover .arrow::before,
.popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top,
.bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem;
}

.bs-popover-top>.arrow,
.bs-popover-auto[x-placement^="top"]>.arrow {
  bottom: calc(-0.5rem - 1px);
}

.bs-popover-top>.arrow::before,
.bs-popover-auto[x-placement^="top"]>.arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-top>.arrow::after,
.bs-popover-auto[x-placement^="top"]>.arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-right,
.bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem;
}

.bs-popover-right>.arrow,
.bs-popover-auto[x-placement^="right"]>.arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-right>.arrow::before,
.bs-popover-auto[x-placement^="right"]>.arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-right>.arrow::after,
.bs-popover-auto[x-placement^="right"]>.arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

.bs-popover-bottom,
.bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem;
}

.bs-popover-bottom>.arrow,
.bs-popover-auto[x-placement^="bottom"]>.arrow {
  top: calc(-0.5rem - 1px);
}

.bs-popover-bottom>.arrow::before,
.bs-popover-auto[x-placement^="bottom"]>.arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-bottom>.arrow::after,
.bs-popover-auto[x-placement^="bottom"]>.arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}

.bs-popover-bottom .popover-header::before,
.bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.bs-popover-left,
.bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem;
}

.bs-popover-left>.arrow,
.bs-popover-auto[x-placement^="left"]>.arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-left>.arrow::before,
.bs-popover-auto[x-placement^="left"]>.arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-left>.arrow::after,
.bs-popover-auto[x-placement^="left"]>.arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {

  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {

  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50% / 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@-webkit-keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  -webkit-animation: spinner-border .75s linear infinite;
  animation: spinner-border .75s linear infinite;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@-webkit-keyframes spinner-grow {
  0% {
    transform: scale(0);
  }

  50% {
    opacity: 1;
  }
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }

  50% {
    opacity: 1;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  -webkit-animation: spinner-grow .75s linear infinite;
  animation: spinner-grow .75s linear infinite;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #8e43e7 !important;
}

a.bg-primary:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #731cdb !important;
}

.bg-secondary {
  background-color: #273c66 !important;
}

a.bg-secondary:hover,
a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #192641 !important;
}

.bg-success {
  background-color: #28a745 !important;
}

a.bg-success:hover,
a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}

a.bg-info:hover,
a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

a.bg-warning:hover,
a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}

a.bg-danger:hover,
a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover,
a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover,
a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #8e43e7 !important;
}

.border-secondary {
  border-color: #273c66 !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-dark {
  border-color: #343a40 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }

  .flex-sm-column {
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    justify-content: center !important;
  }

  .justify-content-sm-between {
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    align-items: center !important;
  }

  .align-items-sm-baseline {
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    align-items: stretch !important;
  }

  .align-content-sm-start {
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

  .align-self-sm-start {
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    align-self: center !important;
  }

  .align-self-sm-baseline {
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

  .flex-md-column {
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    justify-content: center !important;
  }

  .justify-content-md-between {
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    justify-content: space-around !important;
  }

  .align-items-md-start {
    align-items: flex-start !important;
  }

  .align-items-md-end {
    align-items: flex-end !important;
  }

  .align-items-md-center {
    align-items: center !important;
  }

  .align-items-md-baseline {
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    align-items: stretch !important;
  }

  .align-content-md-start {
    align-content: flex-start !important;
  }

  .align-content-md-end {
    align-content: flex-end !important;
  }

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

  .align-self-md-start {
    align-self: flex-start !important;
  }

  .align-self-md-end {
    align-self: flex-end !important;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .align-self-md-baseline {
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    justify-content: center !important;
  }

  .justify-content-lg-between {
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    align-items: center !important;
  }

  .align-items-lg-baseline {
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    align-items: stretch !important;
  }

  .align-content-lg-start {
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

  .align-self-lg-start {
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    align-self: center !important;
  }

  .align-self-lg-baseline {
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }

  .flex-xl-column {
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }

  .float-sm-right {
    float: right !important;
  }

  .float-sm-none {
    float: none !important;
  }
}

@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }

  .float-md-right {
    float: right !important;
  }

  .float-md-none {
    float: none !important;
  }
}

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }

  .float-lg-right {
    float: right !important;
  }

  .float-lg-none {
    float: none !important;
  }
}

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }

  .float-xl-right {
    float: right !important;
  }

  .float-xl-none {
    float: none !important;
  }
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }

  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }

  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }

  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }

  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }

  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }

  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }

  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }

  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }

  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }

  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }

  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }

  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }

  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }

  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }

  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }

  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }

  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }

  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }

  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }

  .m-sm-n1 {
    margin: -0.25rem !important;
  }

  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }

  .m-sm-n2 {
    margin: -0.5rem !important;
  }

  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }

  .m-sm-n3 {
    margin: -1rem !important;
  }

  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }

  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }

  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }

  .m-sm-n4 {
    margin: -1.5rem !important;
  }

  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }

  .m-sm-n5 {
    margin: -3rem !important;
  }

  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }

  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }

  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }

  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }

  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }

  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }

  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }

  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }

  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }

  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }

  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }

  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }

  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }

  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }

  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }

  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }

  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }

  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }

  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }

  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }

  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }

  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }

  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }

  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }

  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }

  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }

  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }

  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }

  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }

  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }

  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }

  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }

  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }

  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }

  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }

  .m-md-n1 {
    margin: -0.25rem !important;
  }

  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }

  .m-md-n2 {
    margin: -0.5rem !important;
  }

  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }

  .m-md-n3 {
    margin: -1rem !important;
  }

  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }

  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }

  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }

  .m-md-n4 {
    margin: -1.5rem !important;
  }

  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }

  .m-md-n5 {
    margin: -3rem !important;
  }

  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }

  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }

  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }

  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }

  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }

  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }

  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }

  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }

  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }

  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }

  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }

  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }

  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }

  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }

  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }

  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }

  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }

  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }

  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }

  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }

  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }

  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }

  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }

  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }

  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }

  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }

  .m-lg-n1 {
    margin: -0.25rem !important;
  }

  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }

  .m-lg-n2 {
    margin: -0.5rem !important;
  }

  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }

  .m-lg-n3 {
    margin: -1rem !important;
  }

  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }

  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }

  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }

  .m-lg-n4 {
    margin: -1.5rem !important;
  }

  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }

  .m-lg-n5 {
    margin: -3rem !important;
  }

  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }

  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }

  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }

  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }

  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }

  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }

  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }

  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }

  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }

  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }

  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }

  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }

  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }

  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }

  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }

  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }

  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }

  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }

  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }

  .m-xl-n1 {
    margin: -0.25rem !important;
  }

  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }

  .m-xl-n2 {
    margin: -0.5rem !important;
  }

  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }

  .m-xl-n3 {
    margin: -1rem !important;
  }

  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }

  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }

  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }

  .m-xl-n4 {
    margin: -1.5rem !important;
  }

  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }

  .m-xl-n5 {
    margin: -3rem !important;
  }

  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }

  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }

  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }

  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }

  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }

  .text-sm-right {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }

  .text-md-right {
    text-align: right !important;
  }

  .text-md-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }

  .text-lg-right {
    text-align: right !important;
  }

  .text-lg-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }

  .text-xl-right {
    text-align: right !important;
  }

  .text-xl-center {
    text-align: center !important;
  }
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #1db954 !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #169c45 !important;
}

.text-secondary {
  color: #273c66 !important;
}

a.text-secondary:hover,
a.text-secondary:focus {
  color: #121b2f !important;
}

.text-success {
  color: #28a745 !important;
}

a.text-success:hover,
a.text-success:focus {
  color: #19692c !important;
}

.text-info {
  color: #17a2b8 !important;
}

a.text-info:hover,
a.text-info:focus {
  color: #0f6674 !important;
}

.text-warning {
  color: #ffc107 !important;
}

a.text-warning:hover,
a.text-warning:focus {
  color: #ba8b00 !important;
}

.text-danger {
  color: #dc3545 !important;
}

a.text-danger:hover,
a.text-danger:focus {
  color: #a71d2a !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover,
a.text-light:focus {
  color: #cbd3da !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover,
a.text-dark:focus {
  color: #121416 !important;
}

.text-body {
  color: #212529 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {

  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  a:not(.btn) {
    text-decoration: underline;
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  @page {
    size: a3;
  }

  body {
    min-width: 992px !important;
  }

  .container {
    min-width: 992px !important;
  }

  .navbar {
    display: none;
  }

  .badge {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }

  .table td,
  .table th {
    background-color: #fff !important;
  }

  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }

  .table-dark {
    color: inherit;
  }

  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody+tbody {
    border-color: #dee2e6;
  }

  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none;
}

.fa-ul>li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714em;
}

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: .3em;
}

.fa.fa-pull-right {
  margin-left: .3em;
}

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: .3em;
}

.fa.pull-right {
  margin-left: .3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(359deg);
  }
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(359deg);
  }
}

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  -webkit-filter: none;
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "";
}

.fa-music:before {
  content: "";
}

.fa-search:before {
  content: "";
}

.fa-envelope-o:before {
  content: "";
}

.fa-heart:before {
  content: "";
}

.fa-star:before {
  content: "";
}

.fa-star-o:before {
  content: "";
}

.fa-user:before {
  content: "";
}

.fa-film:before {
  content: "";
}

.fa-th-large:before {
  content: "";
}

.fa-th:before {
  content: "";
}

.fa-th-list:before {
  content: "";
}

.fa-check:before {
  content: "";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "";
}

.fa-search-plus:before {
  content: "";
}

.fa-search-minus:before {
  content: "";
}

.fa-power-off:before {
  content: "";
}

.fa-signal:before {
  content: "";
}

.fa-gear:before,
.fa-cog:before {
  content: "";
}

.fa-trash-o:before {
  content: "";
}

.fa-home:before {
  content: "";
}

.fa-file-o:before {
  content: "";
}

.fa-clock-o:before {
  content: "";
}

.fa-road:before {
  content: "";
}

.fa-download:before {
  content: "";
}

.fa-arrow-circle-o-down:before {
  content: "";
}

.fa-arrow-circle-o-up:before {
  content: "";
}

.fa-inbox:before {
  content: "";
}

.fa-play-circle-o:before {
  content: "";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "";
}

.fa-refresh:before {
  content: "";
}

.fa-list-alt:before {
  content: "";
}

.fa-lock:before {
  content: "";
}

.fa-flag:before {
  content: "";
}

.fa-headphones:before {
  content: "";
}

.fa-volume-off:before {
  content: "";
}

.fa-volume-down:before {
  content: "";
}

.fa-volume-up:before {
  content: "";
}

.fa-qrcode:before {
  content: "";
}

.fa-barcode:before {
  content: "";
}

.fa-tag:before {
  content: "";
}

.fa-tags:before {
  content: "";
}

.fa-book:before {
  content: "";
}

.fa-bookmark:before {
  content: "";
}

.fa-print:before {
  content: "";
}

.fa-camera:before {
  content: "";
}

.fa-font:before {
  content: "";
}

.fa-bold:before {
  content: "";
}

.fa-italic:before {
  content: "";
}

.fa-text-height:before {
  content: "";
}

.fa-text-width:before {
  content: "";
}

.fa-align-left:before {
  content: "";
}

.fa-align-center:before {
  content: "";
}

.fa-align-right:before {
  content: "";
}

.fa-align-justify:before {
  content: "";
}

.fa-list:before {
  content: "";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "";
}

.fa-indent:before {
  content: "";
}

.fa-video-camera:before {
  content: "";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "";
}

.fa-pencil:before {
  content: "";
}

.fa-map-marker:before {
  content: "";
}

.fa-adjust:before {
  content: "";
}

.fa-tint:before {
  content: "";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "";
}

.fa-share-square-o:before {
  content: "";
}

.fa-check-square-o:before {
  content: "";
}

.fa-arrows:before {
  content: "";
}

.fa-step-backward:before {
  content: "";
}

.fa-fast-backward:before {
  content: "";
}

.fa-backward:before {
  content: "";
}

.fa-play:before {
  content: "";
}

.fa-pause:before {
  content: "";
}

.fa-stop:before {
  content: "";
}

.fa-forward:before {
  content: "";
}

.fa-fast-forward:before {
  content: "";
}

.fa-step-forward:before {
  content: "";
}

.fa-eject:before {
  content: "";
}

.fa-chevron-left:before {
  content: "";
}

.fa-chevron-right:before {
  content: "";
}

.fa-plus-circle:before {
  content: "";
}

.fa-minus-circle:before {
  content: "";
}

.fa-times-circle:before {
  content: "";
}

.fa-check-circle:before {
  content: "";
}

.fa-question-circle:before {
  content: "";
}

.fa-info-circle:before {
  content: "";
}

.fa-crosshairs:before {
  content: "";
}

.fa-times-circle-o:before {
  content: "";
}

.fa-check-circle-o:before {
  content: "";
}

.fa-ban:before {
  content: "";
}

.fa-arrow-left:before {
  content: "";
}

.fa-arrow-right:before {
  content: "";
}

.fa-arrow-up:before {
  content: "";
}

.fa-arrow-down:before {
  content: "";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "";
}

.fa-expand:before {
  content: "";
}

.fa-compress:before {
  content: "";
}

.fa-plus:before {
  content: "";
}

.fa-minus:before {
  content: "";
}

.fa-asterisk:before {
  content: "";
}

.fa-exclamation-circle:before {
  content: "";
}

.fa-gift:before {
  content: "";
}

.fa-leaf:before {
  content: "";
}

.fa-fire:before {
  content: "";
}

.fa-eye:before {
  content: "";
}

.fa-eye-slash:before {
  content: "";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "";
}

.fa-plane:before {
  content: "";
}

.fa-calendar:before {
  content: "";
}

.fa-random:before {
  content: "";
}

.fa-comment:before {
  content: "";
}

.fa-magnet:before {
  content: "";
}

.fa-chevron-up:before {
  content: "";
}

.fa-chevron-down:before {
  content: "";
}

.fa-retweet:before {
  content: "";
}

.fa-shopping-cart:before {
  content: "";
}

.fa-folder:before {
  content: "";
}

.fa-folder-open:before {
  content: "";
}

.fa-arrows-v:before {
  content: "";
}

.fa-arrows-h:before {
  content: "";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "";
}

.fa-twitter-square:before {
  content: "";
}

.fa-facebook-square:before {
  content: "";
}

.fa-camera-retro:before {
  content: "";
}

.fa-key:before {
  content: "";
}

.fa-gears:before,
.fa-cogs:before {
  content: "";
}

.fa-comments:before {
  content: "";
}

.fa-thumbs-o-up:before {
  content: "";
}

.fa-thumbs-o-down:before {
  content: "";
}

.fa-star-half:before {
  content: "";
}

.fa-heart-o:before {
  content: "";
}

.fa-sign-out:before {
  content: "";
}

.fa-linkedin-square:before {
  content: "";
}

.fa-thumb-tack:before {
  content: "";
}

.fa-external-link:before {
  content: "";
}

.fa-sign-in:before {
  content: "";
}

.fa-trophy:before {
  content: "";
}

.fa-github-square:before {
  content: "";
}

.fa-upload:before {
  content: "";
}

.fa-lemon-o:before {
  content: "";
}

.fa-phone:before {
  content: "";
}

.fa-square-o:before {
  content: "";
}

.fa-bookmark-o:before {
  content: "";
}

.fa-phone-square:before {
  content: "";
}

.fa-twitter:before {
  content: "";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "";
}

.fa-github:before {
  content: "";
}

.fa-unlock:before {
  content: "";
}

.fa-credit-card:before {
  content: "";
}

.fa-feed:before,
.fa-rss:before {
  content: "";
}

.fa-hdd-o:before {
  content: "";
}

.fa-bullhorn:before {
  content: "";
}

.fa-bell:before {
  content: "";
}

.fa-certificate:before {
  content: "";
}

.fa-hand-o-right:before {
  content: "";
}

.fa-hand-o-left:before {
  content: "";
}

.fa-hand-o-up:before {
  content: "";
}

.fa-hand-o-down:before {
  content: "";
}

.fa-arrow-circle-left:before {
  content: "";
}

.fa-arrow-circle-right:before {
  content: "";
}

.fa-arrow-circle-up:before {
  content: "";
}

.fa-arrow-circle-down:before {
  content: "";
}

.fa-globe:before {
  content: "";
}

.fa-wrench:before {
  content: "";
}

.fa-tasks:before {
  content: "";
}

.fa-filter:before {
  content: "";
}

.fa-briefcase:before {
  content: "";
}

.fa-arrows-alt:before {
  content: "";
}

.fa-group:before,
.fa-users:before {
  content: "";
}

.fa-chain:before,
.fa-link:before {
  content: "";
}

.fa-cloud:before {
  content: "";
}

.fa-flask:before {
  content: "";
}

.fa-cut:before,
.fa-scissors:before {
  content: "";
}

.fa-copy:before,
.fa-files-o:before {
  content: "";
}

.fa-paperclip:before {
  content: "";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "";
}

.fa-square:before {
  content: "";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "";
}

.fa-list-ul:before {
  content: "";
}

.fa-list-ol:before {
  content: "";
}

.fa-strikethrough:before {
  content: "";
}

.fa-underline:before {
  content: "";
}

.fa-table:before {
  content: "";
}

.fa-magic:before {
  content: "";
}

.fa-truck:before {
  content: "";
}

.fa-pinterest:before {
  content: "";
}

.fa-pinterest-square:before {
  content: "";
}

.fa-google-plus-square:before {
  content: "";
}

.fa-google-plus:before {
  content: "";
}

.fa-money:before {
  content: "";
}

.fa-caret-down:before {
  content: "";
}

.fa-caret-up:before {
  content: "";
}

.fa-caret-left:before {
  content: "";
}

.fa-caret-right:before {
  content: "";
}

.fa-columns:before {
  content: "";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "";
}

.fa-envelope:before {
  content: "";
}

.fa-linkedin:before {
  content: "";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "";
}

.fa-legal:before,
.fa-gavel:before {
  content: "";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "";
}

.fa-comment-o:before {
  content: "";
}

.fa-comments-o:before {
  content: "";
}

.fa-flash:before,
.fa-bolt:before {
  content: "";
}

.fa-sitemap:before {
  content: "";
}

.fa-umbrella:before {
  content: "";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "";
}

.fa-lightbulb-o:before {
  content: "";
}

.fa-exchange:before {
  content: "";
}

.fa-cloud-download:before {
  content: "";
}

.fa-cloud-upload:before {
  content: "";
}

.fa-user-md:before {
  content: "";
}

.fa-stethoscope:before {
  content: "";
}

.fa-suitcase:before {
  content: "";
}

.fa-bell-o:before {
  content: "";
}

.fa-coffee:before {
  content: "";
}

.fa-cutlery:before {
  content: "";
}

.fa-file-text-o:before {
  content: "";
}

.fa-building-o:before {
  content: "";
}

.fa-hospital-o:before {
  content: "";
}

.fa-ambulance:before {
  content: "";
}

.fa-medkit:before {
  content: "";
}

.fa-fighter-jet:before {
  content: "";
}

.fa-beer:before {
  content: "";
}

.fa-h-square:before {
  content: "";
}

.fa-plus-square:before {
  content: "";
}

.fa-angle-double-left:before {
  content: "";
}

.fa-angle-double-right:before {
  content: "";
}

.fa-angle-double-up:before {
  content: "";
}

.fa-angle-double-down:before {
  content: "";
}

.fa-angle-left:before {
  content: "";
}

.fa-angle-right:before {
  content: "";
}

.fa-angle-up:before {
  content: "";
}

.fa-angle-down:before {
  content: "";
}

.fa-desktop:before {
  content: "";
}

.fa-laptop:before {
  content: "";
}

.fa-tablet:before {
  content: "";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "";
}

.fa-circle-o:before {
  content: "";
}

.fa-quote-left:before {
  content: "";
}

.fa-quote-right:before {
  content: "";
}

.fa-spinner:before {
  content: "";
}

.fa-circle:before {
  content: "";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "";
}

.fa-github-alt:before {
  content: "";
}

.fa-folder-o:before {
  content: "";
}

.fa-folder-open-o:before {
  content: "";
}

.fa-smile-o:before {
  content: "";
}

.fa-frown-o:before {
  content: "";
}

.fa-meh-o:before {
  content: "";
}

.fa-gamepad:before {
  content: "";
}

.fa-keyboard-o:before {
  content: "";
}

.fa-flag-o:before {
  content: "";
}

.fa-flag-checkered:before {
  content: "";
}

.fa-terminal:before {
  content: "";
}

.fa-code:before {
  content: "";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "";
}

.fa-location-arrow:before {
  content: "";
}

.fa-crop:before {
  content: "";
}

.fa-code-fork:before {
  content: "";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "";
}

.fa-question:before {
  content: "";
}

.fa-info:before {
  content: "";
}

.fa-exclamation:before {
  content: "";
}

.fa-superscript:before {
  content: "";
}

.fa-subscript:before {
  content: "";
}

.fa-eraser:before {
  content: "";
}

.fa-puzzle-piece:before {
  content: "";
}

.fa-microphone:before {
  content: "";
}

.fa-microphone-slash:before {
  content: "";
}

.fa-shield:before {
  content: "";
}

.fa-calendar-o:before {
  content: "";
}

.fa-fire-extinguisher:before {
  content: "";
}

.fa-rocket:before {
  content: "";
}

.fa-maxcdn:before {
  content: "";
}

.fa-chevron-circle-left:before {
  content: "";
}

.fa-chevron-circle-right:before {
  content: "";
}

.fa-chevron-circle-up:before {
  content: "";
}

.fa-chevron-circle-down:before {
  content: "";
}

.fa-html5:before {
  content: "";
}

.fa-css3:before {
  content: "";
}

.fa-anchor:before {
  content: "";
}

.fa-unlock-alt:before {
  content: "";
}

.fa-bullseye:before {
  content: "";
}

.fa-ellipsis-h:before {
  content: "";
}

.fa-ellipsis-v:before {
  content: "";
}

.fa-rss-square:before {
  content: "";
}

.fa-play-circle:before {
  content: "";
}

.fa-ticket:before {
  content: "";
}

.fa-minus-square:before {
  content: "";
}

.fa-minus-square-o:before {
  content: "";
}

.fa-level-up:before {
  content: "";
}

.fa-level-down:before {
  content: "";
}

.fa-check-square:before {
  content: "";
}

.fa-pencil-square:before {
  content: "";
}

.fa-external-link-square:before {
  content: "";
}

.fa-share-square:before {
  content: "";
}

.fa-compass:before {
  content: "";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "";
}

.fa-euro:before,
.fa-eur:before {
  content: "";
}

.fa-gbp:before {
  content: "";
}

.fa-dollar:before,
.fa-usd:before {
  content: "";
}

.fa-rupee:before,
.fa-inr:before {
  content: "";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "";
}

.fa-won:before,
.fa-krw:before {
  content: "";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "";
}

.fa-file:before {
  content: "";
}

.fa-file-text:before {
  content: "";
}

.fa-sort-alpha-asc:before {
  content: "";
}

.fa-sort-alpha-desc:before {
  content: "";
}

.fa-sort-amount-asc:before {
  content: "";
}

.fa-sort-amount-desc:before {
  content: "";
}

.fa-sort-numeric-asc:before {
  content: "";
}

.fa-sort-numeric-desc:before {
  content: "";
}

.fa-thumbs-up:before {
  content: "";
}

.fa-thumbs-down:before {
  content: "";
}

.fa-youtube-square:before {
  content: "";
}

.fa-youtube:before {
  content: "";
}

.fa-xing:before {
  content: "";
}

.fa-xing-square:before {
  content: "";
}

.fa-youtube-play:before {
  content: "";
}

.fa-dropbox:before {
  content: "";
}

.fa-stack-overflow:before {
  content: "";
}

.fa-instagram:before {
  content: "";
}

.fa-flickr:before {
  content: "";
}

.fa-adn:before {
  content: "";
}

.fa-bitbucket:before {
  content: "";
}

.fa-bitbucket-square:before {
  content: "";
}

.fa-tumblr:before {
  content: "";
}

.fa-tumblr-square:before {
  content: "";
}

.fa-long-arrow-down:before {
  content: "";
}

.fa-long-arrow-up:before {
  content: "";
}

.fa-long-arrow-left:before {
  content: "";
}

.fa-long-arrow-right:before {
  content: "";
}

.fa-apple:before {
  content: "";
}

.fa-windows:before {
  content: "";
}

.fa-android:before {
  content: "";
}

.fa-linux:before {
  content: "";
}

.fa-dribbble:before {
  content: "";
}

.fa-skype:before {
  content: "";
}

.fa-foursquare:before {
  content: "";
}

.fa-trello:before {
  content: "";
}

.fa-female:before {
  content: "";
}

.fa-male:before {
  content: "";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "";
}

.fa-sun-o:before {
  content: "";
}

.fa-moon-o:before {
  content: "";
}

.fa-archive:before {
  content: "";
}

.fa-bug:before {
  content: "";
}

.fa-vk:before {
  content: "";
}

.fa-weibo:before {
  content: "";
}

.fa-renren:before {
  content: "";
}

.fa-pagelines:before {
  content: "";
}

.fa-stack-exchange:before {
  content: "";
}

.fa-arrow-circle-o-right:before {
  content: "";
}

.fa-arrow-circle-o-left:before {
  content: "";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "";
}

.fa-dot-circle-o:before {
  content: "";
}

.fa-wheelchair:before {
  content: "";
}

.fa-vimeo-square:before {
  content: "";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "";
}

.fa-plus-square-o:before {
  content: "";
}

.fa-space-shuttle:before {
  content: "";
}

.fa-slack:before {
  content: "";
}

.fa-envelope-square:before {
  content: "";
}

.fa-wordpress:before {
  content: "";
}

.fa-openid:before {
  content: "";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "";
}

.fa-yahoo:before {
  content: "";
}

.fa-google:before {
  content: "";
}

.fa-reddit:before {
  content: "";
}

.fa-reddit-square:before {
  content: "";
}

.fa-stumbleupon-circle:before {
  content: "";
}

.fa-stumbleupon:before {
  content: "";
}

.fa-delicious:before {
  content: "";
}

.fa-digg:before {
  content: "";
}

.fa-pied-piper-pp:before {
  content: "";
}

.fa-pied-piper-alt:before {
  content: "";
}

.fa-drupal:before {
  content: "";
}

.fa-joomla:before {
  content: "";
}

.fa-language:before {
  content: "";
}

.fa-fax:before {
  content: "";
}

.fa-building:before {
  content: "";
}

.fa-child:before {
  content: "";
}

.fa-paw:before {
  content: "";
}

.fa-spoon:before {
  content: "";
}

.fa-cube:before {
  content: "";
}

.fa-cubes:before {
  content: "";
}

.fa-behance:before {
  content: "";
}

.fa-behance-square:before {
  content: "";
}

.fa-steam:before {
  content: "";
}

.fa-steam-square:before {
  content: "";
}

.fa-recycle:before {
  content: "";
}

.fa-automobile:before,
.fa-car:before {
  content: "";
}

.fa-cab:before,
.fa-taxi:before {
  content: "";
}

.fa-tree:before {
  content: "";
}

.fa-spotify:before {
  content: "";
}

.fa-deviantart:before {
  content: "";
}

.fa-soundcloud:before {
  content: "";
}

.fa-database:before {
  content: "";
}

.fa-file-pdf-o:before {
  content: "";
}

.fa-file-word-o:before {
  content: "";
}

.fa-file-excel-o:before {
  content: "";
}

.fa-file-powerpoint-o:before {
  content: "";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "";
}

.fa-file-code-o:before {
  content: "";
}

.fa-vine:before {
  content: "";
}

.fa-codepen:before {
  content: "";
}

.fa-jsfiddle:before {
  content: "";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "";
}

.fa-circle-o-notch:before {
  content: "";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "";
}

.fa-ge:before,
.fa-empire:before {
  content: "";
}

.fa-git-square:before {
  content: "";
}

.fa-git:before {
  content: "";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "";
}

.fa-tencent-weibo:before {
  content: "";
}

.fa-qq:before {
  content: "";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "";
}

.fa-history:before {
  content: "";
}

.fa-circle-thin:before {
  content: "";
}

.fa-header:before {
  content: "";
}

.fa-paragraph:before {
  content: "";
}

.fa-sliders:before {
  content: "";
}

.fa-share-alt:before {
  content: "";
}

.fa-share-alt-square:before {
  content: "";
}

.fa-bomb:before {
  content: "";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "";
}

.fa-tty:before {
  content: "";
}

.fa-binoculars:before {
  content: "";
}

.fa-plug:before {
  content: "";
}

.fa-slideshare:before {
  content: "";
}

.fa-twitch:before {
  content: "";
}

.fa-yelp:before {
  content: "";
}

.fa-newspaper-o:before {
  content: "";
}

.fa-wifi:before {
  content: "";
}

.fa-calculator:before {
  content: "";
}

.fa-paypal:before {
  content: "";
}

.fa-google-wallet:before {
  content: "";
}

.fa-cc-visa:before {
  content: "";
}

.fa-cc-mastercard:before {
  content: "";
}

.fa-cc-discover:before {
  content: "";
}

.fa-cc-amex:before {
  content: "";
}

.fa-cc-paypal:before {
  content: "";
}

.fa-cc-stripe:before {
  content: "";
}

.fa-bell-slash:before {
  content: "";
}

.fa-bell-slash-o:before {
  content: "";
}

.fa-trash:before {
  content: "";
}

.fa-copyright:before {
  content: "";
}

.fa-at:before {
  content: "";
}

.fa-eyedropper:before {
  content: "";
}

.fa-paint-brush:before {
  content: "";
}

.fa-birthday-cake:before {
  content: "";
}

.fa-area-chart:before {
  content: "";
}

.fa-pie-chart:before {
  content: "";
}

.fa-line-chart:before {
  content: "";
}

.fa-lastfm:before {
  content: "";
}

.fa-lastfm-square:before {
  content: "";
}

.fa-toggle-off:before {
  content: "";
}

.fa-toggle-on:before {
  content: "";
}

.fa-bicycle:before {
  content: "";
}

.fa-bus:before {
  content: "";
}

.fa-ioxhost:before {
  content: "";
}

.fa-angellist:before {
  content: "";
}

.fa-cc:before {
  content: "";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "";
}

.fa-meanpath:before {
  content: "";
}

.fa-buysellads:before {
  content: "";
}

.fa-connectdevelop:before {
  content: "";
}

.fa-dashcube:before {
  content: "";
}

.fa-forumbee:before {
  content: "";
}

.fa-leanpub:before {
  content: "";
}

.fa-sellsy:before {
  content: "";
}

.fa-shirtsinbulk:before {
  content: "";
}

.fa-simplybuilt:before {
  content: "";
}

.fa-skyatlas:before {
  content: "";
}

.fa-cart-plus:before {
  content: "";
}

.fa-cart-arrow-down:before {
  content: "";
}

.fa-diamond:before {
  content: "";
}

.fa-ship:before {
  content: "";
}

.fa-user-secret:before {
  content: "";
}

.fa-motorcycle:before {
  content: "";
}

.fa-street-view:before {
  content: "";
}

.fa-heartbeat:before {
  content: "";
}

.fa-venus:before {
  content: "";
}

.fa-mars:before {
  content: "";
}

.fa-mercury:before {
  content: "";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "";
}

.fa-transgender-alt:before {
  content: "";
}

.fa-venus-double:before {
  content: "";
}

.fa-mars-double:before {
  content: "";
}

.fa-venus-mars:before {
  content: "";
}

.fa-mars-stroke:before {
  content: "";
}

.fa-mars-stroke-v:before {
  content: "";
}

.fa-mars-stroke-h:before {
  content: "";
}

.fa-neuter:before {
  content: "";
}

.fa-genderless:before {
  content: "";
}

.fa-facebook-official:before {
  content: "";
}

.fa-pinterest-p:before {
  content: "";
}

.fa-whatsapp:before {
  content: "";
}

.fa-server:before {
  content: "";
}

.fa-user-plus:before {
  content: "";
}

.fa-user-times:before {
  content: "";
}

.fa-hotel:before,
.fa-bed:before {
  content: "";
}

.fa-viacoin:before {
  content: "";
}

.fa-train:before {
  content: "";
}

.fa-subway:before {
  content: "";
}

.fa-medium:before {
  content: "";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "";
}

.fa-optin-monster:before {
  content: "";
}

.fa-opencart:before {
  content: "";
}

.fa-expeditedssl:before {
  content: "";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "";
}

.fa-mouse-pointer:before {
  content: "";
}

.fa-i-cursor:before {
  content: "";
}

.fa-object-group:before {
  content: "";
}

.fa-object-ungroup:before {
  content: "";
}

.fa-sticky-note:before {
  content: "";
}

.fa-sticky-note-o:before {
  content: "";
}

.fa-cc-jcb:before {
  content: "";
}

.fa-cc-diners-club:before {
  content: "";
}

.fa-clone:before {
  content: "";
}

.fa-balance-scale:before {
  content: "";
}

.fa-hourglass-o:before {
  content: "";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "";
}

.fa-hourglass:before {
  content: "";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "";
}

.fa-hand-scissors-o:before {
  content: "";
}

.fa-hand-lizard-o:before {
  content: "";
}

.fa-hand-spock-o:before {
  content: "";
}

.fa-hand-pointer-o:before {
  content: "";
}

.fa-hand-peace-o:before {
  content: "";
}

.fa-trademark:before {
  content: "";
}

.fa-registered:before {
  content: "";
}

.fa-creative-commons:before {
  content: "";
}

.fa-gg:before {
  content: "";
}

.fa-gg-circle:before {
  content: "";
}

.fa-tripadvisor:before {
  content: "";
}

.fa-odnoklassniki:before {
  content: "";
}

.fa-odnoklassniki-square:before {
  content: "";
}

.fa-get-pocket:before {
  content: "";
}

.fa-wikipedia-w:before {
  content: "";
}

.fa-safari:before {
  content: "";
}

.fa-chrome:before {
  content: "";
}

.fa-firefox:before {
  content: "";
}

.fa-opera:before {
  content: "";
}

.fa-internet-explorer:before {
  content: "";
}

.fa-tv:before,
.fa-television:before {
  content: "";
}

.fa-contao:before {
  content: "";
}

.fa-500px:before {
  content: "";
}

.fa-amazon:before {
  content: "";
}

.fa-calendar-plus-o:before {
  content: "";
}

.fa-calendar-minus-o:before {
  content: "";
}

.fa-calendar-times-o:before {
  content: "";
}

.fa-calendar-check-o:before {
  content: "";
}

.fa-industry:before {
  content: "";
}

.fa-map-pin:before {
  content: "";
}

.fa-map-signs:before {
  content: "";
}

.fa-map-o:before {
  content: "";
}

.fa-map:before {
  content: "";
}

.fa-commenting:before {
  content: "";
}

.fa-commenting-o:before {
  content: "";
}

.fa-houzz:before {
  content: "";
}

.fa-vimeo:before {
  content: "";
}

.fa-black-tie:before {
  content: "";
}

.fa-fonticons:before {
  content: "";
}

.fa-reddit-alien:before {
  content: "";
}

.fa-edge:before {
  content: "";
}

.fa-credit-card-alt:before {
  content: "";
}

.fa-codiepie:before {
  content: "";
}

.fa-modx:before {
  content: "";
}

.fa-fort-awesome:before {
  content: "";
}

.fa-usb:before {
  content: "";
}

.fa-product-hunt:before {
  content: "";
}

.fa-mixcloud:before {
  content: "";
}

.fa-scribd:before {
  content: "";
}

.fa-pause-circle:before {
  content: "";
}

.fa-pause-circle-o:before {
  content: "";
}

.fa-stop-circle:before {
  content: "";
}

.fa-stop-circle-o:before {
  content: "";
}

.fa-shopping-bag:before {
  content: "";
}

.fa-shopping-basket:before {
  content: "";
}

.fa-hashtag:before {
  content: "";
}

.fa-bluetooth:before {
  content: "";
}

.fa-bluetooth-b:before {
  content: "";
}

.fa-percent:before {
  content: "";
}

.fa-gitlab:before {
  content: "";
}

.fa-wpbeginner:before {
  content: "";
}

.fa-wpforms:before {
  content: "";
}

.fa-envira:before {
  content: "";
}

.fa-universal-access:before {
  content: "";
}

.fa-wheelchair-alt:before {
  content: "";
}

.fa-question-circle-o:before {
  content: "";
}

.fa-blind:before {
  content: "";
}

.fa-audio-description:before {
  content: "";
}

.fa-volume-control-phone:before {
  content: "";
}

.fa-braille:before {
  content: "";
}

.fa-assistive-listening-systems:before {
  content: "";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "";
}

.fa-glide:before {
  content: "";
}

.fa-glide-g:before {
  content: "";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "";
}

.fa-low-vision:before {
  content: "";
}

.fa-viadeo:before {
  content: "";
}

.fa-viadeo-square:before {
  content: "";
}

.fa-snapchat:before {
  content: "";
}

.fa-snapchat-ghost:before {
  content: "";
}

.fa-snapchat-square:before {
  content: "";
}

.fa-pied-piper:before {
  content: "";
}

.fa-first-order:before {
  content: "";
}

.fa-yoast:before {
  content: "";
}

.fa-themeisle:before {
  content: "";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "";
}

.fa-handshake-o:before {
  content: "";
}

.fa-envelope-open:before {
  content: "";
}

.fa-envelope-open-o:before {
  content: "";
}

.fa-linode:before {
  content: "";
}

.fa-address-book:before {
  content: "";
}

.fa-address-book-o:before {
  content: "";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "";
}

.fa-user-circle:before {
  content: "";
}

.fa-user-circle-o:before {
  content: "";
}

.fa-user-o:before {
  content: "";
}

.fa-id-badge:before {
  content: "";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "";
}

.fa-quora:before {
  content: "";
}

.fa-free-code-camp:before {
  content: "";
}

.fa-telegram:before {
  content: "";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "";
}

.fa-shower:before {
  content: "";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "";
}

.fa-podcast:before {
  content: "";
}

.fa-window-maximize:before {
  content: "";
}

.fa-window-minimize:before {
  content: "";
}

.fa-window-restore:before {
  content: "";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "";
}

.fa-bandcamp:before {
  content: "";
}

.fa-grav:before {
  content: "";
}

.fa-etsy:before {
  content: "";
}

.fa-imdb:before {
  content: "";
}

.fa-ravelry:before {
  content: "";
}

.fa-eercast:before {
  content: "";
}

.fa-microchip:before {
  content: "";
}

.fa-snowflake-o:before {
  content: "";
}

.fa-superpowers:before {
  content: "";
}

.fa-wpexplorer:before {
  content: "";
}

.fa-meetup:before {
  content: "";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

:root {
  --primary-color: #000000;
  --secondary-color: #FF1654;
  --font-color: #777;
  --bg-color: #fff;
  --heading-color: #151b1d;
  --logo-color: #151b1d;
  --border-radius: 8px;
  --border-radius-1: 8px;
  --border-color: #ddd;
  --border-light: #E9E6E3;
  --footer-bg: #000000;
  --footer-light: #011b2f;
  --nav-color: #292922;
  --dropdown-color: #fff;
  --bg-light: rgba(147, 107, 232, 0.05);
  --bg-light1: rgba(255, 255, 255, 0.15);
  --iframe-filter: grayscale(0%);
  --widget-bg: #3f3a64;
}

[data-theme="dark"] {
  --primary-color: #000000;
  --secondary-color: #FF1654;
  --font-color: #999;
  --bg-color: #000;
  --heading-color: #fff;
  --border-color: #36393a;
  --border-light: #36393a;
  --nav-color: #fff;
  --logo-color: #fff;
  --bg-light: #111;
  --footer-light: #000;
  --footer-bg: #000000;
  --dropdown-color: #000;
  --bg-light1: rgba(0, 0, 0, 0.34);
  --iframe-filter: grayscale(100%);
  --widget-bg: #131617;
}

.noscroll {
  overflow: hidden;
  height: 100vh;
}

html {
  scroll-behavior: smooth;
}

body,
html {
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif;
  background: var(--bg-color);
  color: var(--font-color);
}

body a,
button,
.btn {
  cursor: pointer !important;
  font-family: 'Lato', sans-serif;
}

.clear {
  clear: both;
}

.img-responsive {
  max-width: 100%;
  display: block;
}

.d-grid {
  display: grid;
}

.align-self {
  align-self: center;
}

button,
input,
select,
label,
li {
  -webkit-appearance: none;
  outline: none;
  font-family: 'Lato', sans-serif;
}

a,
a:hover {
  text-decoration: none;
  color: #000000;
}

iframe {
  border: none;
  display: block;
}

ul {
  margin: 0;
  padding: 0;
}

body img {
  border-radius: 10px;
  -weebkit-border-radius: 10px;
  -o-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  color: var(--heading-color);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
}

p {
  margin: 0;
  padding: 0;
  font-size: 1em;
  line-height: 26px;
  color: var(--font-color);
  font-family: 'Lato', sans-serif;
}

li {
  list-style-type: none;
}

p.white {
  color: #eee;
}

.align-center {
  align-self: center;
}

.noscroll {
  min-height: 100vh;
  overflow: hidden;
}

.radius-image {
  border-radius: var(--border-radius);
}

/*-- container --*/
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 5147px) {
  .container {
    max-width: 100%;
    padding-right: 30px;
    padding-left: 30px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (min-width: 1478px) {
  .container {
    max-width: 100%;
    padding-right: 25px;
    padding-left: 25px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: 1200px;
  }
}

/*-- //container --*/
/*-- play icon animation --*/
@-webkit-keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 rgba(15, 162, 67, 0.25), 0 0 0 10px rgba(15, 162, 67, 0.25), 0 0 0 20px rgba(15, 162, 67, 0.25);
  }

  100% {
    box-shadow: 0 0 0 10px rgba(15, 162, 67, 0.25), 0 0 0 20px rgba(15, 162, 67, 0.25), 0 0 0 40px rgba(50, 100, 245, 0);
  }
}

@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 rgba(15, 162, 66, 0.164), 0 0 0 10px rgba(15, 162, 67, 0.25), 0 0 0 20px rgba(15, 162, 67, 0.25);
  }

  100% {
    box-shadow: 0 0 0 10px rgba(15, 162, 67, 0.25), 0 0 0 20px rgba(15, 162, 67, 0.25), 0 0 0 40px rgba(50, 100, 245, 0);
  }
}

/*-- //play icon animation --*/
.btn-style {
  padding: 0px 36px;
  font-size: 16px;
  line-height: 52px;
  text-transform: capitalize;
  font-weight: 600;
  transition: 0.3s ease-in;
  border-radius: var(--border-radius);
  height: 56px;
}

.btn-style:hover {
  color: #fff;
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 0 0 0.2rem rgba(230, 0, 61, 0.36);
}

.border-btn {
  border: 2px solid #fff;
  color: #fff;
  padding: 12px 36px;
}

.btn-white {
  padding: 0px 36px;
  font-size: 16px;
  line-height: 52px;
  text-transform: capitalize;
  font-weight: 400;
  transition: 0.3s ease-in;
  border-radius: var(--border-radius);
  background-color: #fff;
  color: var(--primary-color);
}

.border-btn:hover {
  color: var(--primary-color);
  background: #fff;
}

a.link-style {
  text-transform: capitalize;
  transition: all 0.5s ease;
  padding: 14px 0;
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
}

a.link-style:before {
  position: absolute;
  content: '';
  background: var(--primary-color);
  width: 0px;
  height: 1px;
  bottom: 13px;
  transition: all 0.5s ease;
}

a.link-style:hover:before {
  width: 100px;
  transition: all .5s;
}

.grids-gap {
  padding-top: 20px;
}

.hny-title {
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  text-transform: capitalize;
}

.hny-title.two {
  color: #fff;
}

.hny-title span {
  font-weight: 100;
}

.sub-title {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 2em;
  letter-spacing: 1px;
  color: var(--secondary-color);
}

.sub-title span {
  color: var(--heading-color);
}

@media (max-width: 1080px) {
  .hny-title {
    font-size: 35px !important;
    line-height: 40px;
  }
}

@media (max-width: 600px) {
  .hny-title {
    font-size: 32px !important;
    line-height: 38px;
  }

  .sub-title {
    font-size: 14px !important;
  }

  p {
    font-size: 0.95em;
    line-height: 25px;
  }

}

@media (max-width: 378px) {
  .hny-title {
    font-size: 28px !important;
    line-height: 36px;
  }
}

@media (max-width: 375px) {

  .hny-title {
    font-size: 28px !important;
    line-height: 38px;
  }
}

/*-- toggle switch --*/
.theme-switch-wrapper {
  display: flex;
  align-items: center;
}

.theme-switch-wrapper em {
  margin-left: 10px;
  font-size: 1rem;
}

.theme-switch {
  display: inline-block;
  position: relative;
  width: 60px;
  margin: 0;
}

.theme-switch input {
  display: none;
}

/*-- //toggle switch --*/
/*-- dark and light mode styling --*/
.mode-container {
  width: 24px;
  height: 24px;
  padding: 3px 0;
  margin-left: 20px;
}

.gg-sun {
  position: relative;
  transform: scale(var(--ggs, 1));
  height: 24px;
  background: linear-gradient(180deg, currentColor 4px, transparent 0) no-repeat 5px -6px/2px 6px, linear-gradient(180deg, currentColor 4px, transparent 0) no-repeat 5px 14px/2px 6px, linear-gradient(180deg, currentColor 4px, transparent 0) no-repeat -8px 5px/6px 2px, linear-gradient(180deg, currentColor 4px, transparent 0) no-repeat 14px 5px/6px 2px;
  border-radius: 100px;
  box-shadow: inset 0 0 0 2px;
  border: 6px solid transparent;
}

.gg-moon {
  overflow: hidden;
  position: relative;
  transform: rotate(-135deg) scale(var(--ggs, 1));
  width: 20px;
  height: 20px;
  border: 2px solid;
  border-bottom: 2px solid transparent;
}

.gg-moon,
.gg-moon:after {
  display: block;
  box-sizing: border-box;
  border-radius: 50%;
}

.gg-moon:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 18px;
  border: 2px solid transparent;
  box-shadow: 0 0 0 2px;
  top: 8px;
  left: 2px;
}

.gg-sun,
.gg-sun:after,
.gg-sun:before {
  box-sizing: border-box;
  display: block;
  width: 24px;
}

.gg-sun:after,
.gg-sun:before {
  content: "";
  position: absolute;
  height: 2px;
  border-right: 4px solid;
  border-left: 4px solid;
  left: -6px;
  top: 5px;
}

.gg-sun:before {
  transform: rotate(-45deg);
}

.gg-sun:after {
  transform: rotate(45deg);
}

.mode-container i.gg-sun {
  display: none;
}

.mode-container i.gg-moon {
  display: block;
}

input:checked+.mode-container i.gg-sun {
  display: block;
}

input:checked+.mode-container i.gg-moon {
  display: none;
}

/*-- //dark and light mode styling --*/
button.navbar-toggler .icon-close {
  display: block;
}

button.navbar-toggler .icon-expand {
  display: none;
}

button.navbar-toggler.collapsed .icon-close {
  display: none;
}

button.navbar-toggler.collapsed .icon-expand {
  display: block;
}

header {
  background-color: var(--bg-color);
  padding: 0px;
  transition: all 0.4s ease 0s;
  height: 90px;
  display: grid;
  align-items: center;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.05);
}

.navbar {
  padding: 0;
}

.navbar h1 {
  font-weight: 700;
}

.navbar .navbar-brand {
  margin: 0;
  padding: 0;
  font-size: 34px;
  text-transform: capitalize;
  color: var(--logo-color);
}

.navbar .navbar-brand:hover {
  opacity: 0.95;
}

.navbar .navbar-brand img {
  max-width: 140px;
  transition: all 0.5s ease;
}

.navbar-expand-lg .navbar-nav .nav-link span.fa {
  font-size: 14px;
  padding-left: 2px;
  font-weight: 600;
}

a.nav-link:before,
a.dropdown-item:before {
  position: absolute;
  content: '';
  background: var(--secondary-color);
  width: 0px;
  height: 2px;
  bottom: 13px;
}

.navbar-expand-lg .navbar-nav .nav-link:hover:before,
a.dropdown-item:hover:before {
  width: 100%;
}

.navbar-expand-lg .navbar-nav .nav-item {
  padding: 0 12px;
  transition: all 0.5s ease;
  position: relative;
}

.navbar-expand-lg .navbar-nav .nav-item.active .nav-link {
  color: var(--secondary-color);
}

.navbar-dark .navbar-nav .show>.nav-link,
.navbar-dark .navbar-nav .active>.nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--secondary-color);
}

.navbar-light .navbar-nav .show>.nav-link,
.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: var(--secondary-color);
}

.navbar-expand-lg .navbar-nav .nav-link {
  text-transform: capitalize;
  transition: all 0.5s ease;
  padding: 16px 0;
  font-size: 1em;
  font-weight: 400;
  position: relative;
  color: var(--heading-color);
}

.navbar-expand-lg .navbar-nav .nav-link:hover {
  color: var(--secondary-color);
}

a.dropdown-item {
  font-weight: 500;
  font-size: 1em;
  position: relative;
  color: var(--heading-color);
  padding-top: 0;
  display: block;
  width: 100px;
  padding-bottom: 14px;
}

a.dropdown-item:hover {
  color: var(--primary-color);
}

a.dropdown-item.active {
  background-color: transparent;
  color: var(--primary-color);
}

.navbar-expand-lg .navbar-nav .dropdown-menu {
  transform: translateX(-50px);
}

.navbar-expand-lg .navbar-nav .dropdown-menu:before {
  content: '';
  width: 14px;
  height: 14px;
  background: var(--dropdown-color);
  border: 1px solid var(--border-color);
  display: block;
  border-right: none;
  border-bottom: none;
  transform: translateX(-50%) rotateZ(45deg);
  position: absolute;
  top: -7px;
  left: 49%;
  z-index: 1001;
}

header.nav-fixed {
  padding: 0px;
  background-color: var(--bg-color);
  height: 80px;
  border-bottom: none;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.05);
}

.navbar-dark .navbar-nav .show>,
.navbar-dark .navbar-nav .nav-link.show {
  color: var(--para-color);
}

nav ul li {
  display: inline-block;
}

nav ul li a,
nav ul li a:after,
nav ul li a:before {
  transition: all .5s;
}

nav ul li a:hover {
  color: #fff;
}

.navbar-dark .navbar-nav .nav-link:focus {
  color: #eee;
}

.dropdown-toggle::after {
  display: none;
}

.dropdown-menu {
  border-radius: 8px;
  background: var(--dropdown-color);
  border: 1px solid var(--border-color);
  min-width: 13rem;
  padding: 1rem 0 .3rem;
}


.nav-fixed .navbar-expand-lg .navbar-nav li.nav-item.active .nav-link {
  color: var(--secondary-color);
}

.nav-fixed .navbar-expand-lg .navbar-brand {
  color: var(--secondary-color);
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--font-color);
  text-decoration: none;
  background-color: transparent;
}

@media only screen and (max-width: 1440px) {
  .navbar-expand-lg .navbar-nav .nav-item {
    padding: 0 10px;
  }

  .navbar-expand-lg .nav_btn>li {
    padding: 0;
  }
}

@media only screen and (max-width: 1199px) {
  .navbar .navbar-brand img {
    max-width: 109px;
  }

  .navbar-expand-lg .btn-gradient {
    padding: 10px 20px;
    font-size: 14px;
  }

  .navbar-expand-lg .navbar-nav.nav_btn>li {
    margin-left: 0px;
  }

  .navbar-expand-lg .navbar-nav.nav_btn a.btn {
    padding: 10px 20px;
  }

  .navbar-expand-lg .navbar-nav.nav_btn a {
    font-size: 14px;
    padding: 0px;
  }
}

@media only screen and (max-width: 991px) {
  .popup {
    display: none;
  }

  a.nav-link:before,
  a.dropdown-item:before {
    display: none;
  }

  a.dropdown-item {
    width: auto;
  }

  .mobile-position {
    position: absolute;
    right: 40px;
    top: 13px;
  }

  .navbar .navbar-brand img {
    max-width: 140px;
  }

  .navbar-toggler {
    border: 0 none;
    font-size: 22px !important;
  }

  .navbar-nav {
    -webkit-animation-name: none;
    animation-name: none;
    float: left;
    text-align: center;
    width: 100%;
    padding: 20px 0;
  }

  .navbar-nav:last-child {
    border: 0;
  }

  .navbar-expand-lg .navbar-nav .nav-item {
    -webkit-animation-name: none;
    animation-name: none;
    padding: 0;
  }

  .navbar-expand-lg .navbar-nav.nav_btn>li {
    padding-bottom: 10px;
  }

  .navbar-nav .dropdown-menu {
    text-align: center;
  }

  .navbar-nav .dropdown-menu .dropdown-menu {
    background-color: rgba(0, 0, 0, 0.3);
  }

  .navbar-expand-lg .navbar-nav .nav-item .nav-link.active::before {
    bottom: 0;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    display: inline-block;
    padding: 6px 0;
    text-align: center;
  }

  header {
    height: auto;
    padding: 15px 0;
  }

  .navbar-expand-lg .navbar-nav .dropdown-menu {
    transform: translateX(0px);
    border: 1px solid var(--border-color);
  }

  header.nav-fixed {
    height: auto;
    padding: 10px 0;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    display: block;
  }

  .navbar-dark .navbar-toggler-icon {
    background-image: none;
    padding: 0;
    width: 34px;
    height: 34px;
    display: inline-block;
    background: var(--primary-color);
    border-radius: 4px;
    text-align: center;
  }

  .navbar-toggler-icon.fa {
    line-height: 1.2em;
    color: #fff;
    line-height: 34px;
    background-color: var(--primary-color);
    border-radius: 5px;
  }

  .navbar-toggler {
    padding: 0rem 0rem !important;
  }
}

@media only screen and (max-width:800px) {

  #site-footer .copyright,
  #site-footer ul.footer-menu {
    text-align: center;
  }

  .mobile-position {
    position: absolute;
    right: 40px;
    top: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .navbar-brand img {
    max-width: 200px;
  }

  .navbar .navbar-brand {
    font-size: 30px !important;
  }

  .mobile-position {
    top: 10px;
  }
}

@media only screen and (max-width:384px) {
  .mobile-position {
    top: 6px;
  }
}

/*----*/
/*--/slider--*/
.zs-enabled {
  position: relative
}

.zs-enabled .zs-slideshow,
.zs-enabled .zs-slides,
.zs-enabled .zs-slide {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide {
  background: transparent none no-repeat 50% 50%;
  background-size: cover;
  position: absolute;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: scale(1.2, 1.2);
  -moz-transform: scale(1.2, 1.2);
  -ms-transform: scale(1.2, 1.2);
  -o-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2)
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide.active {
  visibility: visible;
  opacity: 1
}

.zs-enabled .zs-slideshow .zs-bullets {
  position: absolute;
  z-index: 4;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center;
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet {
  display: inline-block;
  cursor: pointer;
  border: 2px solid #fff;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 8px;
  background-color: #fff;
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet.active {
  background-color: var(--secondary-color);
  border: 2px solid var(--secondary-color);
}

.zs-enabled .zs-slideshow:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  background: transparent none repeat 0 0;
}

.zs-enabled.overlay-plain .zs-slideshow:after {
  background-image: url(plain.png);
}

.zs-enabled.overlay-dots .zs-slideshow:after {
  background-image: url(dots.png);
}

.zs-enabled .zs-slideshow:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  background: transparent none repeat 0 0;
}

.zs-enabled.overlay-dots .zs-slideshow:after {
  background: url(../images/dots.png);
}

#demo-1 {
  position: relative;
  /* can either be relative, absolute or fixed. If position is not set (i.e. static), it would be set to "relative" by script */
  overflow: hidden;
  /* to bound the empty top space created by inner element's top margin */
  width: 100%;
  background-color: #999;
  min-height: 640px;
  display: grid;
  align-items: center;
}

.demo-inner-content {
  position: relative;
  z-index: 2;
  text-align: left;
}

.banner-infhny {
  text-align: left;
  max-width: 700px;
}

.demo-inner-content h3 {
  font-size: 54px;
  line-height: 64px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}

.demo-inner-content h6 {
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
}

.booking-form input,
.booking-form select,
.booking-form textarea {
  outline: none;
  width: 100%;
  font-size: 16px;
  line-height: 25px;
  padding: 12px 15px 12px 12px;
  color: #555;
  border-radius: 8px;
  border: 1px solid transparent;
  background: #fff;
  height: 56px;
}

.book-form select {
  background: #fff url(../images/down.png) no-repeat 92% 52%;
  -webkit-appearance: none;
}

.booking-form input[type="date"] {
  background: #fff url(../images/date.png) 92% 50% no-repeat;
  -webkit-appearance: none;
}

@media (max-width:800px) {
  .demo-inner-content h3 {
    font-size: 54px;
  }

  .demo-inner-content span {
    font-size: 16px;
  }

  #demo-1 {
    min-height: 600px;
  }
}

@media (max-width:767px) {
  .demo-inner-content h3 {
    font-size: 50px;
  }

  .demo-inner-content span {
    font-size: 16px;
  }
}

@media (max-width:736px) {
  .demo-inner-content h3 {
    font-size: 50px;
    line-height: 60px;
  }

  #demo-1 {
    min-height: 560px;
  }

}

@media (max-width:640px) {
  .demo-inner-content h3 {
    font-size: 46px;
    line-height: 56px;
  }

  #demo-1 {
    min-height: 500px;
  }

  .demo-inner-content h6 {
    font-size: 17px;
  }
}

@media (max-width:600px) {
  .demo-inner-content h3 {
    font-size: 34px;
    line-height: 44px;
  }

  #demo-1 {
    min-height: 440px;
    padding: 6em 0;
  }

  .demo-inner-content span {
    font-size: 14px;
  }

  .demo-inner-content p {
    font-size: 14px;
    margin-top: 14px;
  }

  .bottom-btn .btn {
    display: block;
    width: 100%;
  }
}

@media (max-width:440px) {
  .demo-inner-content h3 {
    font-size: 38px;
    line-height: 46px;
  }
}

@media (max-width:380px) {
  .demo-inner-content h3 {
    font-size: 30px;
    line-height: 38px;
  }
}

/*--//slider--*/


.breadcrumb-infhny .navbar {
  position: static;
}

nav#breadcrumbs {
  padding: 10px 20px;
  background: #EEF2F7;
}

.page-wrapper {
  color: #777;
  font-size: 14px;
}

nav#breadcrumbs a {
  color: #23374d;
  margin: 0 5px 0 0;
  font-size: 13px;
}

@media (max-width:1040px) {
  nav#breadcrumbs {
    padding: 10px 0px;
  }
}

/*----*/
.owl-nav {
  display: block;
}

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,
.owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.owl-carousel {
  display: none;
  width: 100%;
}

.owl-carousel .owl-stage {
  position: relative;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item,
.owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-dots.disabled {
  display: block;
}

.owl-carousel .owl-nav.disabled {
  display: block;
}

.no-js .owl-carousel,
.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel .owl-dot,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
  border: 1px solid #fff;
}

.owl-carousel .owl-nav {
  display: none;
}

.owl-carousel button.owl-dot {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.owl-height {
  transition: height .5s ease-in-out;
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity .4s ease;
}

.owl-carousel .owl-item .owl-lazy:not([src]),
.owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0;
}

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d;
}

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(owl.video.play.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform .1s ease;
}

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-play-icon,
.owl-carousel .owl-video-playing .owl-video-tn {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity .4s ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

@media (max-width:992px) {
  .owl-theme .owl-nav {
    display: none !important;
  }
}

@media (max-width: 568px) {

  .owl-carousel .owl-dots.disabled,
  .owl-carousel .owl-nav.disabled {
    display: none;
  }
}

/**
  * Owl Carousel v2.3.4
  * Copyright 2013-2018 David Deutsch
  * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
  */
.owl-theme .owl-dots,
.owl-theme .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  display: block;
}

.owl-theme .owl-nav {
  display: none;
}

.owl-dots {
  margin-top: 40px;
  display: block;
}

.owl-theme .owl-nav [class*=owl-] {
  color: #fff;
  font-size: 20px;
  margin: 0px;
  width: 50px;
  height: 50px;
  background: transparent;
  display: inline-block;
  cursor: pointer;
  transition: 0.3s ease-in-out;
  line-height: 15px;
  border-radius: 50%;
  border: 1px solid #fff;
  display: none;
}

.owl-theme .owl-nav [class*=owl-]:hover {
  background: var(--secondary-color);
  border: 1px solid var(--secondary-color);
  opacity: 1;
  text-decoration: none;
  outline: none;
  box-shadow: none;
  transition: 0.3s ease-in-out;
}

.owl-theme .owl-nav [class*=owl-]:focus,
.owl-theme:focus,
.owl-dots:focus,
.owl-dot:focus {
  outline: none;
  box-shadow: none;
}

.owl-theme .owl-nav .disabled {
  opacity: .5;
  cursor: default;
}

.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 30px;
}

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
  background: transparent;
  border: none;
}

.owl-theme .owl-dots .owl-dot span {
  width: 12px;
  height: 12px;
  margin: 5px 2px;
  background: var(--font-color);
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity .2s ease;
  border-radius: 50%;
  position: relative;
  opacity: 0.9;
  border: none;
}

button.owl-next,
button.owl-prev {
  position: absolute;
  bottom: 50%;
}

button.owl-prev {
  right: 20px;
  bottom: 40%;
}

button.owl-next {
  right: 20px;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--secondary-color);
  border: none;
}

@media all and (max-width: 640px) {
  .owl-dots {
    margin-top: 30px;
  }

  button.owl-next,
  button.owl-prev {
    position: absolute;
    bottom: 38%;
  }
}

/*--/w3l-grids-3--*/
.w3l-grids-3 {
  background: var(--bg-light);
}

.w3l-grids-3 .subject-card-header {
  background-color: var(--bg-color);
  border-radius: var(--border-radius);
  box-shadow: var(--card-box-shadow);
  transition: 0.3s ease-in-out;
  border: 1px solid var(--border-color);
}

.w3l-grids-3 h4 {
  font-size: 24px;
  line-height: 28px;
  color: var(--heading-color);
}

.w3l-grids-3 .dst-btm {
  margin: 16px 0;
  padding: 6px 0;
  display: block;
  border-top: 1px dotted #c5c5c5;
  border-bottom: 1px dotted #c5c5c5;
  color: var(--primary-color);
}

.w3l-grids-3 .dst-btm h6 {
  font-size: 16px;
  font-weight: 400;
  color: var(--heading-color);
}

.w3l-grids-3 .dst-btm {
  display: grid;
  grid-template-columns: 2fr 1fr;
  align-items: center;
}

.w3l-grids-3 .dst-btm span {
  text-align: right;
  font-size: 16px;
  font-weight: 600;
  color: var(--secondary-color);
}

a.hnys-title {
  font-size: 22px;
  line-height: 28px;
  color: var(--heading-color);
}

.grdhny-info h4 {
  margin: 26px 0 0px 0;
}

@media (max-width:667px) {
  a.hnys-title {
    font-size: 20px;
    line-height: 28px;
  }

  .w3l-grids-3 h4 {
    font-size: 18px;
    line-height: 26px;
  }
}

@media (max-width:667px) {
  .w3l-grids-3 h4 {
    font-size: 18px;
    line-height: 26px;
  }

  .w3l-grids-3 .dst-btm {
    margin: 10px 0;
    padding: 6px 0;
  }
}

/*--//w3l-grids-3--*/

/*--/w3l-bottom--*/
.w3l-bottom {
  background: url(../images/drm4bg.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 0;
  display: grid;
  align-items: center;
}

.w3l-bottom::before {
  content: "";
  position: absolute;
  top: 0;
  min-height: 100%;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #0c0c0c;
  opacity: .6;
}

.w3l-bottom .bottom-info {
  max-width: 600px;
}

.w3l-bottom .bottom-info p {
  color: #fff;
  text-align: left;
  opacity: 0.9;
}



@media only screen and (max-width:667px) {}

/*--//w3l-bottom--*/
.w3l-features {
  background-color: var(--bg-light);
}

.w3l-features .area-box {
  padding: 40px 30px;
  transition: all 0.5s ease 0s;
  border-radius: var(--border-radius);
  background-color: var(--bg-color);
  position: relative;
  margin-bottom: 30px;
}

.w3l-features .area-box:hover {
  background: var(--bg-light);
}

.w3l-features .area-box:hover h4.number {
  opacity: .2;
  transition: 0.3s ease-in-out;
}

.w3l-features .icon span.fa {
  color: var(--primary-color);
  font-size: 30px;
}

.w3l-features .area-box h4 a {
  font-size: 24px;
  font-weight: 600;
  margin-top: 25px;
  margin-bottom: 15px;
  display: block;
  color: var(--heading-color);
}

.w3l-features .area-box h4 a:hover {
  color: var(--primary-color);
}

a.read {
  font-size: 17px;
  padding: 0;
  border-bottom: 2px solid var(--secondary-color);
  color: var(--heading-color);
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border-radius: 0;
  margin-top: 20px;
  display: inline-block;
  text-transform: capitalize;
}

a.read:hover {
  color: var(--primary-color);
}

a.read span {
  font-size: 13px;
  line-height: 28px;
}

.w3l-services .area-box p {
  margin: 0;
}

.w3l-services p.sample a {
  color: var(--heading-color);
  font-size: 1.1em;
}

.w3l-services p.sample a:hover {
  color: var(--primary-color);
}

@media only screen and (max-width: 384px) {
  .w3l-services .area-box {
    padding: 35px 25px;
  }
}

/*-- stats --*/
.stats_info p {
  font-size: 50px;
  line-height: 60px;
  font-weight: 700;
  color: var(--secondary-color);
  margin-top: 30px;
  margin-bottom: 0;
}

.stats_info h4 {
  font-size: 20px;
  line-height: 25px;
  text-transform: capitalize;
  color: var(--font-color);
  margin-top: 10px;
  opacity: 0.8;
  font-weight: 300;
}

.stats_info span.fa {
  font-size: 2.5em;
  color: var(--primary-color);
  margin: 0;
}

.stats_bottom_grid_left img {
  margin: 0 auto;
}

.stats_info {
  text-align: left;
  padding: 0;
  border-top: none;
  border-bottom: none;
}

@media (max-width: 992px) {
  .stats_info p {
    font-size: 40px !important;
    line-height: 50px;
  }

  .stats_info {
    text-align: left;
    padding: 0 15px;
  }

  .stats_info h4 {
    font-size: 18px !important;
  }
}

@media (max-width: 737px) {
  .stats_info p {
    font-size: 35px !important;
    line-height: 38px;
    margin-top: 20px;
  }

  .stats_info h4 {
    font-size: 17px !important;
  }
}

@media (max-width: 415px) {
  .stats_info span.fa {
    font-size: 2em !important;
  }
}

/*--//stats--*/

/*--/w3l-grids1--*/
.w3l-grids1 .grids5-info h5 {
  font-size: 16px;
  line-height: 25px;
  color: var(--secondary-color);
  margin-top: 10px;
}

.w3l-grids1 .grids5-info h4 a {
  font-size: 22px;
  line-height: 28px;
  color: var(--heading-color);
  margin-top: 6px;
  display: block;
  transition: 0.3s ease;
}

.w3l-grids1 .grids5-info p {
  margin-top: 10px;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  color: var(--font-color);
  line-height: 24.4px;
}

/*--//w3l-grids1--*/
.best-rooms {
  background: var(--bg-light);
}

.best-rooms h3.room-title a {
  color: var(--heading-color);
  text-decoration: none;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 15px;
  display: inline-block;
}

.best-rooms h3.room-title a:hover {
  color: #d63447;
}

.best-rooms .maghny-grid {
  position: relative;
  list-style: none;
}

.best-rooms .room-info {
  padding: 30px 30px;
  background: #fff;
  box-shadow: 0 25px 98px 0 rgba(19, 19, 19, 0.03);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.best-rooms .maghny-grid figure {
  position: relative;
  /*float: left;*/
  overflow: hidden;
  background: #020004;
  text-align: center;
  cursor: pointer;
  margin-bottom: 0px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.best-rooms .border-radius {
  border-radius: 10px;
}

.best-rooms .maghny-grid figure img {
  position: relative;
  display: block;
  min-height: 100%;
  max-width: 100%;
  opacity: 0.8;
}

.best-rooms .maghny-grid figure figcaption {
  padding: 2em;
  padding-bottom: 0;
  color: #fff;
  text-transform: capitalize;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.best-rooms .maghny-grid figure figcaption::before,
.best-rooms .maghny-grid figure figcaption::after {
  pointer-events: none;
}

.best-rooms .maghny-grid figure figcaption,
.best-rooms .maghny-grid figure figcaption>a {
  position: absolute;
  top: inherit;
  bottom: 27%;
  left: 0;
  width: 100%;
}

.best-rooms .maghny-grid figure figcaption.w3set-hny {
  position: absolute;
  top: inherit;
  bottom: 30%;
  left: 0;
  width: 100%;
}

.best-rooms .maghny-grid figure figcaption>a {
  z-index: 1000;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
}

.best-rooms .maghny-grid figure h4 {
  transition: transform 0.35s;
  font-size: 18px;
  line-height: 28px;
}

.best-rooms .maghny-grid figure h4.top-text {
  font-size: 20px;
  line-height: 28px;
}

.best-rooms .maghny-grid figure h4 span {
  font-weight: 700;
}

.best-rooms .maghny-grid figure h4,
.best-rooms .maghny-grid figure p {
  margin: 0;
  color: #fff;
}

.best-rooms .maghny-grid figure p {
  color: #fff;
  font-weight: 600;
}

.best-rooms .maghny-grid a.author-name {
  color: #fff;
}

.best-rooms figure.effect-lily img {
  opacity: 0.7;
  transition: opacity 0.35s, transform 0.35s;
  width: 100%;
}

.best-rooms figure.effect-lily figcaption {
  text-align: left;
}

.best-rooms figure.effect-lily figcaption>div {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.5em;
  padding-bottom: 0;
  width: 100%;
  height: 50%;
}

.best-rooms figure.effect-lily h4,
.best-rooms figure.effect-lily p,
.best-rooms figure.effect-lily a {
  transform: translate3d(0, 40px, 0);
}

.best-rooms figure.effect-lily h4 {
  transition: transform 0.35s;
}

.best-rooms figure.effect-lily p,
.best-rooms figure.effect-lily a {
  color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.2s, transform 0.35s;
}

.best-rooms figure.effect-lily:hover img,
.best-rooms figure.effect-lily:hover p,
.best-rooms figure.effect-lily:hover a {
  opacity: .9;
}

.best-rooms figure.effect-lily:hover h4,
.best-rooms figure.effect-lily:hover p,
.best-rooms figure.effect-lily:hover p {
  transform: translate3d(0, 15px, 0);
}

.best-rooms figure.effect-lily:hover p,
.best-rooms figure.effect-lily:hover a {
  transition-delay: 0.05s;
  transition-duration: 0.35s;
}

.best-rooms .room-info ul li {
  display: inline-block;
  margin-right: 15px;
  color: var(--para-color);
  font-weight: 500;
}

.best-rooms .room-info ul li span.fa {
  color: #d1cebd;
  width: 22px;
  font-size: 16px;
}

@media (max-width: 1160px) {

  .best-rooms .maghny-grid figure figcaption,
  .best-rooms .maghny-grid figure figcaption>a {
    bottom: 34%;
  }
}

@media (max-width: 1080px) {

  .best-rooms .maghny-grid figure figcaption,
  .best-rooms .maghny-grid figure figcaption>a {
    bottom: 35%;
  }

  .best-rooms .maghny-grid figure figcaption,
  .best-rooms .maghny-grid figure figcaption>a {
    bottom: 34%;
  }
}

@media (max-width: 480px) {
  .best-rooms .maghny-grid figure figcaption.w3set-hny {
    bottom: 30%;
  }
}

@media (max-width: 415px) {
  .best-rooms figure.effect-lily figcaption>div {
    padding: 1em;
  }

  .best-rooms .maghny-gd-1 .maghny-gd-1.col-6 {
    padding: 8px;
  }

  .best-rooms .maghny-gd-1 .row {
    padding: 0 10px;
  }

  .best-rooms .maghny-grid figure figcaption.w3set-hny {
    bottom: 40%;
  }

  .best-rooms .room-info {
    padding: 30px 20px;
  }

  .best-rooms .maghny-grid figure figcaption,
  .best-rooms .maghny-grid figure figcaption>a {
    bottom: 50%;
  }
}

@media (max-width: 380px) {
  .best-rooms .maghny-gd-1 .maghny-gd-1.col-6 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .best-rooms .maghny-grid figure figcaption.w3set-hny {
    top: 30%;
  }
}

@media (max-width: 370px) {
  .best-rooms .maghny-grid figure figcaption.w3set-hny {
    top: 25%;
  }

}

/*--//services--*/
/*--/testimonials--*/
.owl-two.owl-carousel.owl-theme .owl-nav {
  display: none;
}

.owl-two.owl-carousel.owl-theme .owl-dots {
  position: inherit;
  left: 0px;
  right: 0px;
  bottom: 30px;
  margin-top: 80px;
  display: block;
}

.owl-two.owl-carousel.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 2px;
  background: #d8d8d8;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity .2s ease;
  border-radius: 50%;
  position: relative;
}

.owl-two.owl-carousel.owl-theme .owl-dots .owl-dot.active span,
.owl-two.owl-carousel.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--secondary-color);
}

.w3l-clients .testimonial {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.w3l-clients .testimonial-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.w3l-clients .testimonial {
  display: block;
  margin: 0;
  text-align: center;
  position: relative;
}

.w3l-clients .testi-des {
  text-align: center;
  margin: 0 auto;
}

.w3l-clients blockquote span.fa {
  font-size: 50px;
  color: var(--secondary-color);
  line-height: .8;
  margin-bottom: 10px;
  display: block;
}

.w3l-clients .test-img {
  width: 90px;
  height: 90px;
  display: inline-block;
  overflow: hidden;
  background: var(--bg-color);
  border-radius: 50%;
}

.w3l-clients .testimonial img {
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.w3l-clients .testimonial blockquote {
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  position: relative;
  margin-bottom: 1.5em;
}

.w3l-clients .testimonial .peopl {
  margin: 0;
  margin-top: 20px;
}

.w3l-clients .testimonial .peopl h3 {
  margin: 0;
  font-weight: 500;
  font-size: 18px;
}

.w3l-clients p.indentity {
  color: #777;
  font-size: 16px;
  font-style: normal;
  margin-bottom: 0;
  text-align: left;
  opacity: 0.8;
  display: none;
}

@media (max-width: 667px) {
  .owl-two.owl-carousel.owl-theme .owl-dots {
    position: inherit;
    left: 0px;
    right: 0px;
    bottom: 30px;
    margin-top: 80px;
    display: none;
  }

  .w3l-clients .testimonial blockquote {
    font-size: 16px;
  }
}

/*--/testimonials--*/

/*--/breadcrumb--*/
.w3l-about-breadcrumb {
  margin-top: 90px;
  background: url(../images/banner2.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 0;
  display: grid;
  align-items: center;
  padding: 1em 0;
}

.w3l-about-breadcrumb h2.title {
  font-size: 38px;
  font-weight: 700;
  color: #fff;
}

.w3l-about-breadcrumb::before {
  content: "";
  position: absolute;
  top: 0;
  min-height: 100%;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #161B1D;
  opacity: .7;
}

.w3l-about-breadcrumb .breadcrumbs-custom-path li {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 1em;
  line-height: 1.5;
  font-weight: 400;
  text-transform: capitalize;
  color: #fff;
}

ul.breadcrumbs-custom-path li a {
  color: var(--secondary-color);
}

.w3l-about-breadcrumb .breadcrumbs-custom-path li span.fa {
  font-size: 12px;
  vertical-align: 2px;
}

@media (max-width:991px) {
  .w3l-about-breadcrumb {
    margin-top: 68px;
  }
}

@media (max-width:640px) {
  .w3l-about-breadcrumb h2.title {
    font-size: 34px;
  }

  .w3l-about-breadcrumb {
    margin-top: 68px;
  }
}

@media (max-width:600px) {
  .w3l-about-breadcrumb h2.title {
    font-size: 30px;
  }
}

/*--//breadcrumb--*/

/*--/w3l-cta4--*/
.ab-section {
  max-width: 750px;
  margin: 0 auto;
}

.w3l-content-6 {
  background: var(--bg-light);
}

/*--//w3l-cta4--*/
/*-- /ab-stats--*/
/* stats */
.w3l-statshny {
  background: url(../images/banner3.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 1;
}

.w3l-statshny::before {
  content: "";
  position: absolute;
  top: 0;
  min-height: 100%;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #0c0c0c;
  opacity: .6;
}

.w3l-statshny h4 {
  font-size: 1.1em;
}

.w3l-statshny span.fa {
  color: #fff;
  font-size: 3em;
}

.w3l-statshny .counter {
  font-size: 2.5em;
  font-weight: 700;
  color: #fff;
}

.w3l-statshny h4 {
  color: #fff;
  font-weight: 300;
}

@media (max-width: 768px) {
  .w3l-statshny .counter span.fa {
    font-size: 2.5em;
  }
}

@media (max-width: 640px) {
  .w3l-statshny h4 {
    font-size: 14px;
  }

  .w3l-statshny .counter {
    font-size: 2em;
  }
}

@media (max-width: 480px) {
  .w3l-statshny .counter span.fa {
    font-size: 2em;
  }

  .w3l-statshny h4 {
    font-size: 13px;
    line-height: 20px;
    margin-top: 10px;
  }
}

/* //stats */
/*-- //ab-stats--*/
/*-- /team--*/
.w3l-team .box16 {
  text-align: center;
  color: #fff;
  position: relative;
}

.w3l-team .box16 a {
  display: block;
}

.w3l-team .box16 .box-content,
.w3l-team .box16:after {
  width: 100%;
  position: absolute;
  left: 0;
  border-radius: var(--border-radius-1);
}

.w3l-team .box16:after {
  content: "";
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  top: 0;
  transition: all .5s ease 0s;
}

.w3l-team .box16 .post,
.w3l-team .box16 .title {
  transform: translateY(145px);
  transition: all 0.4s cubic-bezier(0.13, 0.62, 0.81, 0.91) 0s;
}

.w3l-team .box16:hover:after {
  background: rgba(0, 0, 0, 0.6);
}

.w3l-team .box16 img {
  width: 100%;
  height: auto;
}

.w3l-team .box16 .box-content {
  padding: 20px;
  margin-bottom: 20px;
  bottom: 0;
  z-index: 1;
}

.w3l-team .box16 .title a {
  font-size: 25px;
  font-weight: bold;
  text-transform: capitalize;
  color: #fff;
}

.w3l-team .box16 .post {
  display: block;
  padding: 0 0 8px 0;
  font-size: 15px;
}

.w3l-team .box16 .social li a span {
  font-size: 20px;
  color: #fff;
  line-height: 40px;
}

.w3l-team .box16:hover .post,
.w3l-team .box16:hover .title {
  transform: translateY(0);
}

.w3l-team .box16 .social {
  list-style: none;
  padding: 0 0 5px;
  margin: 40px 0 25px;
  opacity: 0;
  position: relative;
  transform: perspective(500px) rotateX(-90deg) rotateY(0) rotateZ(0);
  transition: all 0.6s cubic-bezier(0, 0, 0.58, 1) 0s;
}

.w3l-team .box16:hover .social {
  opacity: 1;
  transform: perspective(500px) rotateX(0) rotateY(0) rotateZ(0);
}

.w3l-team .box16 .social li {
  display: inline-block;
}

.w3l-team .box16 .social li a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin-right: 10px;
  transition: all .3s ease 0s;
  border-radius: 50%;
}

.w3l-team .box16 .social li a.facebook {
  background: #3b5998;
}

.w3l-team .box16 .social li a.twitter {
  background: #1da1f2;
}

.w3l-team .box17 .icon li,
.w3l-team .box17 .icon li a {
  display: inline-block;
}

.w3l-team .box16 .social li:last-child a {
  margin-right: 0;
}

@media (max-width:667px) {
  .w3l-team .box16 .title a {
    font-size: 20px;
  }

  .w3l-team .box16 .post {
    font-size: 13px;
  }
}

/* stats */

.w3_stats h6.sub-title {
  color: #eee;
}

.w3-stats p {
  font-size: 1.1em;
}

.counter {
  margin-top: 3em;
}

.counter span.fa {
  color: #fff;
  font-size: 3em;
}

.timer {
  font-size: 2.5em;
  font-weight: 300;
  color: #fff;
}

p.count-text {
  text-transform: uppercase;
  color: #eee;
}

@media (max-width: 768px) {
  .counter span.fa {
    font-size: 2.5em;
  }
}

@media (max-width: 640px) {
  p.count-text {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .counter span.fa {
    font-size: 2em;
  }

  p.count-text {
    font-size: 13px;
    line-height: 20px;
    margin-top: 10px;
  }
}

/*--/contact--*/
.w3l-contact .cont-details h5 {
  color: var(--heading-color);
  font-size: 40px;
  line-height: 48px;
  font-weight: 600;
}

.w3l-contact .cont-details p {
  color: var(--font-color);
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
  max-width: 450px;
}

.w3l-contact .hours h6 {
  color: var(--heading-color);
  font-size: 18px;
  line-height: 25px;
}

.w3l-contact .hours p {
  font-size: 16px;
  margin-bottom: 10px;
  color: var(--font-color);
  max-width: 350px;
}

.w3l-contact .hours p a {
  color: var(--font-color);
}

.w3l-contact .hours p a:hover {
  text-decoration: underline;
}

.w3l-contact .contact-grids input,
.w3l-contact .contact-grids textarea {
  font-weight: normal;
  font-style: normal;
  font-family: inherit;
  border: none;
  color: var(--heading-color);
  font-size: 16px;
  width: 100%;
  height: 55px;
  background: var(--bg-color);
  padding: 0px 20px;
  outline: none;
  border-radius: var(--border-radius);
  border-width: 1px;
  border-style: solid;
  border-color: var(--border-color);
  -o-border-image: initial;
  border-image: initial;
  margin-bottom: 10px;
}

.w3l-contact .contact-grids textarea {
  height: 140px;
  padding: 15px 20px;
}

.w3l-contact .contact-grids input:focus,
.w3l-contact .contact-grids textarea:focus {
  border: 1px solid var(--secondary-color);
}

.w3l-contact .map h5 {
  color: var(--heading-color);
  font-size: 35px;
  line-height: 42px;
  font-weight: 600;
  margin-bottom: 15px;
}

.w3l-contact .map iframe {
  width: 100%;
  min-height: 330px;
  padding: 10px;
  background: var(--bg-color);
  border-radius: var(--border-radius);
}

@media (max-width: 568px) {

  .w3l-contact .contact-grids input,
  .w3l-contact .contact-grids textarea {
    font-size: 16px;
  }
}

/*--//contact--*/
/*--/footer--*/
.w3l-footer .w3l-footer-16-main {
  background: var(--bg-light);
}

.w3l-footer .w3l-footer-16-main h3 {
  font-size: 20px;
  line-height: 25px;
  color: var(--heading-color);
  margin-bottom: 30px;
  font-weight: 700;
}

.w3l-footer .w3l-footer-16-main h4 {
  font-size: 18px;
  line-height: 25px;
  color: var(--heading-color);
  margin-bottom: 30px;
  font-weight: 500;
}

.w3l-footer .ad-text-inf {
  margin-bottom: 20px;
}

.w3l-footer span.color-ubd {
  color: var(--font-color);
  opacity: 0.5;
  font-weight: 500;
  font-size: 16px;
  display: block;
  margin-bottom: 2px;
}

.w3l-footer .footer-gd-16 li {
  display: block;
  list-style: none;
  margin: 10px 0;
}
.color-red {
  color: var(--secondary-color);
}
.w3l-footer .footer-gd-16 li a {
  color: #777;
  font-weight: normal;
  font-size: 15px;
  line-height: 25px;
  padding: 0;
  text-transform: capitalize;
}

.w3l-footer .end-column {
  background-color: var(--bg-color);
  padding: 2em;
  border-radius: var(--border-radius);
}

.w3l-footer .below-section,
.w3l-footer .para-content-footer {
  border-top: 1px solid #eaeaea;
}

.w3l-footer .w3l-footer-16-main h3 a:hover,
.w3l-footer .footer-gd-16 li a:hover,
.w3l-footer .w3l-footer-16-main p a:hover {
  opacity: 0.8;
  color: var(--primary-color);
}

.w3l-footer .w3l-footer-16-main p {
  line-height: 22px;
  color: var(--font-color);
  font-size: 16px;
}

.w3l-footer .w3l-footer-16-main p a {
  color: var(--heading-color);
}

.w3l-footer a.footer-small-text {
  color: var(--heading-color);
  line-height: 24px;
  font-size: 16px;
  font-weight: 600;
  transition: 0.3s ease-in;
}

.w3l-footer a.footer-small-text:hover {
  background: var(--secondary-color);
  transition: 0.3s ease-in;
}

.w3l-footer .text-sub-small {
  color: #656f7b;
  font-size: 14px;
  margin-top: 4px;
}

.w3l-footer form {
  display: flex;
  margin-bottom: 15px;
  justify-content: space-between;
}

.w3l-footer .subscribe input[type="email"] {
  background: var(--bg-light);
  border: none;
  padding: 12px 20px;
  font-size: 16px;
  outline: none;
  width: 78%;
  color: var(--heading-color);
  font-weight: 600;
  border-radius: var(--border-radius);
}

.w3l-footer .subscribe button {
  text-align: center;
  background: var(--secondary-color);
  border: none;
  outline: none;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 20px;
  cursor: pointer;
  width: 20%;
  color: #fff;
  border-radius: var(--border-radius);
}

.w3l-footer .subscribe button:hover {
  transition: all .5s ease;
}

.w3l-footer .subscribe button img {
  vertical-align: middle;
}

.w3l-footer #movetop {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 20px;
  z-index: 99;
  border: none;
  outline: none;
  cursor: pointer;
  width: 50px;
  height: 45px;
  background: var(--primary-color);
  padding: 0;
  opacity: 0.7;
  transition: 0.3s ease;
  border-radius: var(--border-radius);
}

.w3l-footer #movetop:hover {
  opacity: 1;
  transition: 0.3s ease;
}

.w3l-footer #movetop span.fa {
  line-height: 45px;
  color: #fff;
  font-size: 22px;
}

.w3l-footer .below-section {
  justify-content: space-between;
}

.w3l-footer ul.social li,
.w3l-footer ul.jst-link li {
  display: inline-block;
  margin-right: 5px;
}

.w3l-footer ul.social li a {
  color: var(--heading-color);
  width: 36px;
  height: 36px;
  line-height: 36px;
  display: inline-block;
  border-radius: 50%;
  text-align: center;
}

.w3l-footer ul.social li a:hover {
  background: var(--secondary-color);
  transition: 0.3s ease;
  color: #fff;
}

.w3l-footer ul.social li a span {
  font-size: 15px;
  line-height: 36px;
}

@media screen and (max-width: 1080px) {
  .w3l-footer .footer-gd-16 li a {
    font-size: 15px;
    line-height: 23px;
  }
}

@media screen and (max-width: 1190px) {
  .w3l-footer .subscribe button {
    width: 30%;
  }
}

@media screen and (max-width: 991px) {
  .w3l-footer .below-section {
    display: block !important;
  }

  .w3l-footer .columns-2 {
    text-align: center;
  }
}

@media screen and (max-width: 801px) {
  .w3l-footer .w3l-footer-16-main h3 {
    margin-bottom: 18px;
  }
}

@media screen and (max-width: 640px) {
  .w3l-footer .w3l-footer-16-main {
    padding: 3em 0;
  }

  .w3l-footer .footer-gd-16 li {
    margin: 5px 0;
  }

  .w3l-footer .subscribe button {
    padding: 12px 10px;
  }
}

@media screen and (max-width: 420px) {
  .w3l-footer .w3l-footer-16-main {
    padding: 2em 0;
  }

  .w3l-footer .subscribe button {
    width: 20%;
  }
}


/*# sourceMappingURL=style-freedom.css.map */

/* ===== booking.css ===== */
:root {
  --bk-red: #d71920;
  --bk-red-dark: #b90f16;
  --bk-blue: #0b59c2;
  --bk-bright-blue: #0084ff;
  --bk-ink: #222;
  --bk-muted: #666;
  --bk-line: #e6e6e6;
  --bk-soft: #f6f7f9;
  --bk-yellow: #fff7e6;
  --bk-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

@media (max-width: 767px) {
  .page-booking-home .yz-booking-header {
    display: block !important;
    height: 50px !important;
    background: #2456b8 !important;
  }

  .page-booking-home .yz-booking-header-inner {
    min-height: 50px !important;
    justify-content: center !important;
  }

  .page-booking-home .yz-booking-brand-ref {
    color: #fff !important;
  }

  .page-booking-home .yz-booking-brand-ref img {
    width: 52px !important;
    height: 30px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
  }

  .page-booking-home .yz-booking-brand-ref strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  .page-booking-home .yz-booking-home,
  .page-booking-home .yz-booking-hero,
  .page-booking-home .yz-booking-search {
    background: #0b7fd4 !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero .container,
  .page-booking-home .yz-booking-search .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero-panel,
  .page-booking-home .yz-booking-hero-banner-ref {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    height: 150px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-search {
    padding: 10px 9px 0 !important;
  }

  .page-booking-home .yz-booking-search-card {
    padding: 0 0 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 3px 14px rgba(25, 79, 135, 0.18) !important;
    overflow: hidden !important;
  }

  .page-booking-home .yz-booking-tabs {
    margin: 0 !important;
    background: #ebebeb !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 50px !important;
    min-height: 50px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ebebeb !important;
    color: #111 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #0059b9 !important;
    border-radius: 0 0 8px 0 !important;
  }

  .page-booking-home .yz-home-search-grid {
    grid-template-columns: 1fr 58px 1fr !important;
    padding: 20px 49px 0 !important;
    background: #fff !important;
    border: 0 !important;
  }

  .page-booking-home .booking-field-display {
    min-height: 38px !important;
    background: #fff !important;
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 38px !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-swap {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    border: 1px solid #8ebdec !important;
    border-radius: 999px !important;
    background: #eef7ff !important;
    color: transparent !important;
    font-size: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-swap::before {
    content: "�? !important;
    color: #0b66c2 !important;
    font-size: 21px !important;
  }

  .page-booking-home .yz-booking-swap::after {
    content: none !important;
  }

  .page-booking-home .booking-field-date-hero {
    margin: 8px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #d4d4d4 !important;
    background: #fff !important;
  }

  .page-booking-home .booking-date-display {
    min-height: 40px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-date-display strong {
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
  }

  .page-booking-home .booking-date-display small {
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  .page-booking-home .yz-booking-submit {
    height: 41px !important;
    min-height: 41px !important;
    margin: 10px 0 0 !important;
    border-radius: 8px !important;
    background: #2379d4 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 8px !important;
    text-indent: 8px !important;
    box-shadow: 0 8px 14px rgba(35, 121, 212, 0.3) !important;
  }

  .page-booking-home .yz-booking-routes {
    gap: 6px 10px !important;
    margin: 10px 49px 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-routes button {
    height: 23px !important;
    padding: 0 9px !important;
    border-radius: 3px !important;
    background: #eef2f5 !important;
    color: #46596b !important;
    font-size: 12px !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid,
  .page-booking-home .yz-booking-mobile-icon-grid a {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 767px) {
  .page-booking-home .yz-booking-header {
    display: block !important;
    height: 50px !important;
    background: #2456b8 !important;
  }

  .page-booking-home .yz-booking-search-card,
  .page-booking-home .yz-home-search-grid,
  .page-booking-home .booking-field-display,
  .page-booking-home .booking-date-display,
  .page-booking-home .booking-field-date-hero,
  .page-booking-home .yz-booking-routes {
    background: #fff !important;
  }

  .page-booking-home .yz-booking-search-card {
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: 0 3px 14px rgba(25, 79, 135, 0.18) !important;
  }

  .page-booking-home .yz-home-search-grid {
    padding: 20px 49px 0 !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #0059b9 !important;
  }

  .page-booking-home .yz-booking-tabs button:not(.is-active) {
    background: #ebebeb !important;
    color: #111 !important;
  }

  .page-booking-home .booking-field-display,
  .page-booking-home .booking-date-display strong {
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
  }

  .page-booking-home .booking-date-display small {
    color: #333 !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-submit {
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    margin-top: 10px !important;
    border-radius: 8px !important;
    background: #2379d4 !important;
    color: #fff !important;
    letter-spacing: 8px !important;
    text-indent: 8px !important;
  }

  .page-booking-home .yz-booking-swap {
    color: transparent !important;
    font-size: 0 !important;
  }

  .page-booking-home .yz-booking-swap::before {
    content: "�? !important;
    color: #0b66c2 !important;
    font-size: 21px !important;
  }

  .page-booking-home .yz-booking-swap::after {
    content: none !important;
  }
}

@media (max-width: 767px) {
  body.page-booking-home {
    background: #fff !important;
  }

  .page-booking-home .yz-booking-header {
    display: block !important;
    height: 50px !important;
    background: #1f55b7 !important;
  }

  .page-booking-home .yz-booking-header-inner {
    min-height: 50px !important;
    justify-content: center !important;
  }

  .page-booking-home .yz-booking-brand-ref {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #fff !important;
  }

  .page-booking-home .yz-booking-brand-ref img {
    width: 48px !important;
    height: 28px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
  }

  .page-booking-home .yz-booking-brand-ref strong {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  .page-booking-home .yz-booking-home,
  .page-booking-home .yz-booking-hero,
  .page-booking-home .yz-booking-search {
    background: #0b7dd2 !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero .container,
  .page-booking-home .yz-booking-search .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero-panel,
  .page-booking-home .yz-booking-hero-banner-ref {
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  .page-booking-home .yz-booking-search {
    padding: 10px 9px 0 !important;
  }

  .page-booking-home .yz-booking-search-card {
    margin: 0 !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 3px 14px rgba(25, 79, 135, 0.18) !important;
    overflow: hidden !important;
  }

  .page-booking-home .yz-booking-tabs {
    height: 50px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    background: #ebebeb !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 50px !important;
    min-height: 50px !important;
    border: 0 !important;
    border-radius: 0 0 8px 0 !important;
    background: #fff !important;
    color: #0059b9 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-tabs button + button {
    border-radius: 0 !important;
    background: #ebebeb !important;
    color: #111 !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #0059b9 !important;
  }

  .page-booking-home .yz-booking-tabs button:not(.is-active) {
    background: #ebebeb !important;
    color: #111 !important;
  }

  .page-booking-home .yz-home-search-grid {
    display: grid !important;
    grid-template-columns: 1fr 58px 1fr !important;
    gap: 0 !important;
    padding: 20px 49px 0 !important;
    background: #fff !important;
    border: 0 !important;
  }

  .page-booking-home .booking-field-display {
    min-height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 38px !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-swap {
    align-self: center !important;
    justify-self: center !important;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    border: 1px solid #8ebdec !important;
    border-radius: 999px !important;
    background: #eef7ff !important;
    color: #0b66c2 !important;
    font-size: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-swap::before {
    content: "�? !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #0b66c2 !important;
    font-size: 21px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .booking-field-date-hero {
    grid-column: 1 / -1 !important;
    margin: 8px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #d4d4d4 !important;
    background: #fff !important;
  }

  .page-booking-home .booking-date-display {
    min-height: 40px !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-date-display strong {
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  .page-booking-home .booking-date-display small {
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  .page-booking-home .booking-field-ship {
    grid-column: 1 / -1 !important;
    margin-top: 9px !important;
  }

  .page-booking-home .booking-field-ship input {
    height: 40px !important;
    border: 1px solid #d6dce5 !important;
    border-radius: 4px !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-submit {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    margin: 10px 0 0 !important;
    border-radius: 8px !important;
    background: #2379d4 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 8px !important;
    box-shadow: 0 8px 14px rgba(35, 121, 212, 0.3) !important;
  }

  .page-booking-home .yz-booking-routes {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 10px !important;
    margin: 10px 49px 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #4a4a4a !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-routes span {
    color: #4a4a4a !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-routes button {
    height: 23px !important;
    padding: 0 9px !important;
    border: 1px solid #e2e6ea !important;
    border-radius: 3px !important;
    background: #eef2f5 !important;
    color: #46596b !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    padding: 11px 9px 10px !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    min-height: 31px !important;
    padding: 0 9px !important;
    border: 1px solid #ffe0a3 !important;
    border-radius: 6px !important;
    background: #fff8e8 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-mobile-icons {
    padding: 10px 8px 7px !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px 14px !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a {
    min-height: 68px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a span {
    width: 46px !important;
    height: 46px !important;
    margin: 0 auto 7px !important;
    border-radius: 11px !important;
    font-size: 20px !important;
    box-shadow: 0 6px 10px rgba(31, 103, 177, 0.16) !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a strong {
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-home .yz-booking-search-card {
    background: #d8ecff !important;
    border: 2px solid #46a1ea !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-tabs {
    margin: -2px -2px 0 !important;
  }

  .page-booking-home .yz-booking-tabs button {
    border-radius: 8px 8px 0 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-home-search-grid {
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
    padding: 18px 22px 14px !important;
    border: 0 !important;
    background: #d8ecff !important;
  }

  .page-booking-home .booking-field-display,
  .page-booking-home .booking-date-display {
    border: 0 !important;
    outline: 0 !important;
    background: #d8ecff !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-field-display::before,
  .page-booking-home .booking-field-display::after,
  .page-booking-home .booking-date-display::before,
  .page-booking-home .booking-date-display::after {
    display: none !important;
  }

  .page-booking-home .booking-field-date-hero {
    border-top: 1px solid #b9d8ef !important;
  }

  .page-booking-home .yz-booking-submit {
    background: #2088e8 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-home .yz-booking-search {
    padding: 10px 0 0 !important;
  }

  .page-booking-home .yz-booking-search .container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .page-booking-home .yz-booking-search-card {
    border-radius: 8px !important;
    background: #dcecff !important;
    box-shadow: 0 5px 16px rgba(8, 70, 126, 0.22) !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 50px !important;
    min-height: 50px !important;
    background: #eeeeee !important;
    color: #333 !important;
    font-size: 16px !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #12304d !important;
  }

  .page-booking-home .yz-home-search-grid {
    grid-template-columns: 1fr 58px 1fr !important;
    padding: 16px 40px 10px !important;
    background: #dcecff !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .page-booking-home .booking-field-display,
  .page-booking-home .booking-date-display {
    border: 0 !important;
    background: #dcecff !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-field-display {
    min-height: 46px !important;
    font-size: 22px !important;
    font-weight: 800 !important;
  }

  .page-booking-home .yz-booking-swap {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .page-booking-home .yz-booking-swap::before {
    width: 34px !important;
    height: 34px !important;
    color: #1e7cc4 !important;
    font-size: 21px !important;
  }

  .page-booking-home .booking-field-date-hero {
    margin-top: 6px !important;
    border-top: 1px solid #b5d5ef !important;
  }

  .page-booking-home .booking-date-display {
    min-height: 50px !important;
    justify-content: flex-start !important;
  }

  .page-booking-home .booking-date-display strong {
    font-size: 21px !important;
    font-weight: 800 !important;
  }

  .page-booking-home .booking-date-display small {
    margin-left: 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-submit {
    min-height: 42px !important;
    margin-top: 8px !important;
    border-radius: 9px !important;
    background: #2088e8 !important;
    letter-spacing: 5px !important;
    box-shadow: 0 8px 16px rgba(32, 136, 232, 0.28) !important;
  }

  .page-booking-home .yz-booking-routes {
    margin: 8px 0 0 !important;
    padding: 0 10px 9px !important;
  }
}

@media (max-width: 767px) {
  .page-booking-home .yz-booking-header {
    height: 51px !important;
    background: #0b62bd !important;
  }

  .page-booking-home .yz-booking-header-inner {
    min-height: 51px !important;
    justify-content: center !important;
  }

  .page-booking-home .yz-booking-brand-ref {
    gap: 8px !important;
    color: #fff !important;
  }

  .page-booking-home .yz-booking-brand-ref img {
    width: 42px !important;
    height: 28px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
  }

  .page-booking-home .yz-booking-brand-ref strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
  }

  .page-booking-home .yz-booking-home,
  .page-booking-home .yz-booking-hero,
  .page-booking-home .yz-booking-search {
    background: #0f86dc !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero .container,
  .page-booking-home .yz-booking-search .container,
  .page-booking-home .yz-booking-announcement-bar .container,
  .page-booking-home .yz-booking-mobile-icons .container,
  .page-booking-home .yz-booking-section .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .page-booking-home .yz-booking-hero-panel,
  .page-booking-home .yz-booking-hero-banner-ref {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    display: block !important;
    width: 100% !important;
    height: 149px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-search {
    margin: 0 !important;
    padding: 10px 0 0 !important;
  }

  .page-booking-home .yz-booking-search-card {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(14, 85, 145, 0.25) !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .page-booking-home .yz-booking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f0f0f0 !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f0f0f0 !important;
    color: #333 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #0f2b4c !important;
  }

  .page-booking-home .yz-home-search-grid {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 62px 1fr !important;
    gap: 0 !important;
    padding: 18px 22px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  .page-booking-home .booking-field {
    position: relative !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  .page-booking-home .booking-field-display {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-field-start {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .page-booking-home .booking-field-end {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .page-booking-home .booking-field-select select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 1px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .page-booking-home .yz-booking-swap {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-swap::before {
    content: "�? !important;
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid #acd2ee !important;
    border-radius: 50% !important;
    color: #2179bf !important;
    font-size: 22px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .booking-field-date-hero {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 8px !important;
    border-top: 1px solid #e5e7eb !important;
  }

  .page-booking-home .booking-date-display {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 49px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111827 !important;
    text-align: left !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-date-display strong {
    display: inline !important;
    color: #111827 !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .page-booking-home .booking-date-display small {
    display: inline !important;
    margin: 0 0 0 10px !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .booking-field-date-hero input[type="date"] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .page-booking-home .booking-field-ship {
    grid-column: 1 / -1 !important;
    display: none !important;
    margin-top: 8px !important;
  }

  .page-booking-home .booking-field-ship input {
    width: 100% !important;
    min-height: 50px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 18px !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-search-card.is-ship-mode .booking-field-start,
  .page-booking-home .yz-booking-search-card.is-ship-mode .booking-field-end,
  .page-booking-home .yz-booking-search-card.is-ship-mode .booking-field-date-hero,
  .page-booking-home .yz-booking-search-card.is-ship-mode .yz-booking-swap {
    display: none !important;
  }

  .page-booking-home .yz-booking-search-card.is-ship-mode .booking-field-ship {
    display: block !important;
  }

  .page-booking-home .yz-booking-submit {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: block !important;
    width: 100% !important;
    min-height: 43px !important;
    margin-top: 8px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #2188e8 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 5px !important;
    box-shadow: 0 8px 16px rgba(33, 136, 232, 0.28) !important;
  }

  .page-booking-home .yz-booking-search-card.is-ship-mode .yz-booking-submit {
    grid-row: 2 !important;
  }

  .page-booking-home .yz-booking-routes {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 10px 10px !important;
    overflow-x: auto !important;
    background: #fff !important;
    color: #64748b !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .page-booking-home .yz-booking-routes span {
    flex: 0 0 auto !important;
    color: #64748b !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-routes button {
    flex: 0 0 auto !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: #edf2f7 !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    padding: 10px 0 !important;
    background: #f5f5f5 !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    min-height: 36px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #ef5b2a !important;
    font-size: 13px !important;
    box-shadow: none !important;
  }
}

@media (max-width: 760px) {
  .page-booking-home .yz-booking-section {
    padding: 8px 0 !important;
  }

  .page-booking-home .yz-booking-section .container,
  .page-booking-home .yz-booking-mobile-icons .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px 4px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a {
    padding: 6px 2px 2px !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a span {
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto 5px !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #0e89e8 0%, #0b6fca 100%) !important;
    color: #fff !important;
    line-height: 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a strong {
    display: block !important;
    color: #334155 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
  }

  .page-booking-home .yz-booking-fleet-group {
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-fleet-grid-inner {
    display: block !important;
  }

  .page-booking-home .yz-booking-fleet-card {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-fleet-card-thumb {
    display: block !important;
    width: 68px !important;
    height: 68px !important;
    margin: 0 auto 6px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-home .yz-booking-fleet-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-fleet-card-body strong {
    display: block !important;
    color: #1f2937 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-fleet-card-body p {
    margin: 2px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

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

  .page-booking-home .yz-booking-featured-card {
    display: block !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-home .yz-booking-featured-card img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-featured-body {
    display: block !important;
    padding: 7px 8px 8px !important;
  }

  .page-booking-home .yz-booking-featured-body strong {
    display: block !important;
    color: #1f2937 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .page-booking-home .yz-booking-featured-body small {
    display: block !important;
    margin-top: 2px !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-featured-price {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 1px !important;
    margin-top: 4px !important;
    color: #ff6a00 !important;
  }

  .page-booking-home .yz-booking-featured-price dfn,
  .page-booking-home .yz-booking-featured-price em {
    font-style: normal !important;
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-featured-price b {
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

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

  .page-booking-home .yz-booking-result-card {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    min-height: 84px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #0b7bd3 0%, #0a5fa8 100%) !important;
    box-shadow: none !important;
  }

  /* Final lock for homepage featured sailings: keep this module as a balanced 2-column image card grid. */
  .page-booking-home #featured .yz-booking-featured-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }

  .page-booking-home #featured .yz-booking-featured-card {
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden !important;
  }

  .page-booking-home #featured .yz-booking-featured-card img {
    display: block !important;
    width: 100% !important;
    height: 92px !important;
    min-height: 92px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    flex: 0 0 92px !important;
  }

  .page-booking-home #featured .yz-booking-featured-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 112px !important;
    padding: 10px 10px 12px !important;
  }

  .page-booking-home #featured .yz-featured-route {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    margin-bottom: 6px !important;
    color: #12335b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .page-booking-home #featured .yz-featured-route b,
  .page-booking-home #featured .yz-featured-route i {
    white-space: nowrap !important;
    font-style: normal !important;
  }

  .page-booking-home #featured .yz-booking-featured-body strong {
    display: block !important;
    min-height: 34px !important;
    color: #122b49 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
  }

  .page-booking-home #featured .yz-booking-featured-body small {
    display: block !important;
    margin-top: 4px !important;
    color: #66758a !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .page-booking-home #featured .yz-booking-featured-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 2px !important;
    min-height: 24px !important;
    margin-top: auto !important;
    color: #ff4d2d !important;
    line-height: 1.08 !important;
  }

  .page-booking-home #featured .yz-booking-featured-price dfn,
  .page-booking-home #featured .yz-booking-featured-price em {
    color: #ff4d2d !important;
    font-style: normal !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .page-booking-home #featured .yz-booking-featured-price b {
    color: #ff4d2d !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.02em !important;
  }

  .page-booking-home .yz-booking-result-date {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 56px !important;
    min-height: 84px !important;
    padding-top: 12px !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-result-date strong {
    display: block !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .page-booking-home .yz-booking-result-date span {
    display: block !important;
    margin-top: 4px !important;
    font-size: 11px !important;
    opacity: 0.92 !important;
  }

  .page-booking-home .yz-booking-result-main {
    padding: 12px 64px 10px 12px !important;
  }

  .page-booking-home .yz-booking-result-title strong,
  .page-booking-home .yz-booking-result-title em,
  .page-booking-home .yz-booking-result-meta span,
  .page-booking-home .yz-booking-result-side span,
  .page-booking-home .yz-booking-result-side strong,
  .page-booking-home .yz-booking-result-side a {
    color: #fff !important;
  }

  .page-booking-home .yz-booking-result-title strong {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-result-title em {
    display: none !important;
  }

  .page-booking-home .yz-booking-result-meta {
    display: block !important;
    margin-top: 4px !important;
  }

  .page-booking-home .yz-booking-result-meta span {
    display: block !important;
    margin-top: 2px !important;
    font-size: 11px !important;
    opacity: 0.92 !important;
  }

  .page-booking-home .yz-booking-result-meta b {
    display: none !important;
  }

  .page-booking-home .yz-booking-result-side {
    display: none !important;
  }

  .page-booking-home .yz-booking-more-row {
    margin-top: 8px !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-more-row .yz-booking-card-action {
    min-height: 34px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0b7bd3 !important;
    border: 1px solid #d9e2ef !important;
  }

  .page-booking-home .yz-booking-mobile-nav a span {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .page-booking-home .yz-booking-fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px 6px !important;
  }

  .page-booking-home .yz-booking-fleet-group {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-fleet-group-head {
    margin: 0 0 6px !important;
  }

  .page-booking-home .yz-booking-fleet-group-head h3 {
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-fleet-grid-inner {
    display: block !important;
  }

  .page-booking-home .yz-booking-fleet-card {
    display: block !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-fleet-card-thumb {
    width: 66px !important;
    height: 66px !important;
    margin: 0 auto 5px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
  }

  .page-booking-home .yz-booking-fleet-card-body strong {
    display: block !important;
    color: #1f2937 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .page-booking-home .yz-booking-fleet-card-body p,
  .page-booking-home .yz-booking-fleet-card-body em {
    display: block !important;
    margin-top: 2px !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-style: normal !important;
    line-height: 1.25 !important;
  }

  .page-booking-home .yz-booking-mobile-pay {
    padding: 8px 0 10px !important;
    border-top: 1px solid #e2e8f0 !important;
  }

  .page-booking-home .yz-booking-mobile-pay-title {
    margin: 0 0 8px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-mobile-pay-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .page-booking-home .yz-booking-mobile-pay-grid img {
    width: 100% !important;
    height: 28px !important;
    object-fit: contain !important;
  }

  .page-booking-home .yz-booking-mobile-tel {
    display: block !important;
    margin-top: 10px !important;
    color: #0b7bd3 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-mobile-copy {
    margin-top: 6px !important;
    color: #64748b !important;
    font-size: 11px !important;
    text-align: center !important;
  }
}
  .page-booking-home .yz-booking-topline,
  .page-booking-home .yz-booking-nav-row,
  .page-booking-home .yz-booking-phone,
  .page-booking-home .yz-booking-badge {
    display: none !important;
  }

  .page-booking-home .yz-booking-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06) !important;
  }

  .page-booking-home .yz-booking-header-inner {
    min-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    justify-content: flex-start !important;
  }

  .page-booking-home .yz-booking-brand {
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-brand img {
    width: 28px !important;
    height: 28px !important;
  }

  .page-booking-home .yz-booking-brand strong {
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-brand small {
    display: none !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    padding: 0 0 8px !important;
    background: #f2f5f8 !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 9px !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-home .yz-booking-announcement-strip span {
    color: #f06a00 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-announcement-scroll {
    color: #475569 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .yz-booking-site .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .yz-booking-site .yz-section-head {
    margin: 0 0 8px !important;
  }

  .yz-booking-site .yz-section-head h2 {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-mobile-brandbar {
    display: none !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-booking-hero-panel {
    display: block !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-booking-hero-banner {
    display: block !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    width: 100% !important;
    height: 122px !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-hero-copy {
    display: none !important;
  }

  .page-booking-home .yz-booking-search,
  .page-booking-schedule .yz-schedule-query-hero {
    margin: 0 !important;
    padding: 0 0 10px !important;
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-section-head.center {
    display: none !important;
  }

  .page-booking-home .yz-booking-search-card,
  .page-booking-schedule .yz-schedule-query-card {
    margin: 0 !important;
    padding: 7px 7px 6px !important;
    border: 0 !important;
    border-radius: 0 0 8px 8px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12) !important;
  }

  .page-booking-home .yz-booking-tabs,
  .page-booking-schedule .yz-booking-tabs {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
    border-radius: 6px !important;
    background: #edf5ff !important;
  }

  .page-booking-home .yz-booking-tabs button,
  .page-booking-schedule .yz-booking-tabs button {
    min-height: 34px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active,
  .page-booking-schedule .yz-booking-tabs button.is-active {
    background: #ff8a00 !important;
    color: #fff !important;
  }

  .page-booking-home .yz-booking-search-grid,
  .page-booking-schedule .yz-schedule-query-row {
    display: grid !important;
    grid-template-columns: 1fr 34px 1fr !important;
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-search-grid {
    grid-template-columns: 1fr 34px 1fr !important;
  }

  .page-booking-schedule .yz-schedule-query-row {
    grid-template-columns: 1fr !important;
  }

  .page-booking-home .booking-field,
  .page-booking-schedule .yz-schedule-query-row label {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .booking-field-date,
  .page-booking-home .booking-field-ship,
  .page-booking-home .yz-booking-submit,
  .page-booking-schedule .yz-schedule-query-row label:nth-of-type(3),
  .page-booking-schedule .yz-schedule-query-row label:nth-of-type(4),
  .page-booking-schedule .yz-schedule-query-row .yz-booking-submit {
    grid-column: 1 / -1 !important;
  }

  .page-booking-home .booking-field-ship {
    display: none !important;
  }

  .page-booking-home .booking-field-date {
    grid-column: 1 / -1 !important;
  }

  .page-booking-home .booking-field span,
  .page-booking-schedule .yz-schedule-query-row label span {
    margin: 0 0 3px !important;
    color: #64748b !important;
    font-size: 10px !important;
  }

  .page-booking-home .booking-field select,
  .page-booking-home .booking-field input,
  .page-booking-home .booking-date-display,
  .page-booking-schedule .yz-schedule-query-row select,
  .page-booking-schedule .yz-schedule-query-row input {
    width: 100% !important;
    min-height: 36px !important;
    border: 1px solid #d6e2ef !important;
    border-radius: 5px !important;
    background: #fff !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-swap,
  .page-booking-schedule .yz-booking-swap {
    align-self: end !important;
    width: 32px !important;
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 5px !important;
  }

  .page-booking-home .yz-booking-submit,
  .page-booking-schedule .yz-booking-submit {
    min-height: 36px !important;
    border-radius: 4px !important;
    background: #ff8a00 !important;
    font-size: 13px !important;
  }

  .page-booking-home .yz-booking-announcement,
  .page-booking-home .yz-booking-month-link {
    display: none !important;
  }

  .page-booking-home .yz-booking-routes,
  .page-booking-schedule .yz-schedule-route-buttons {
    margin-top: 8px !important;
    padding: 0 !important;
    gap: 6px !important;
    background: transparent !important;
  }

  .page-booking-home .yz-booking-routes button,
  .page-booking-schedule .yz-schedule-route-buttons button {
    min-height: 26px !important;
    padding: 0 6px !important;
    border-radius: 4px !important;
    background: #f5f8fc !important;
    font-size: 10px !important;
  }

  .page-booking-home .yz-booking-section,
  .page-booking-schedule .yz-booking-section,
  .page-booking-detail .yz-detail-body {
    padding-top: 10px !important;
  }

  .page-booking-home .yz-booking-featured-grid,
  .page-booking-home .yz-booking-result-list {
    display: grid !important;
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-fleet-grid {
    display: grid !important;
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-featured-card,
  .page-booking-home .yz-booking-result-card,
  .page-booking-schedule .yz-schedule-card-pro,
  .page-booking-detail .yz-detail-room-pro,
  .page-booking-detail .yz-schedule-card-pro {
    border-radius: 8px !important;
  }

  .page-booking-home .yz-booking-featured-card img,
  .page-booking-home .yz-booking-result-card img,
  .page-booking-schedule .yz-schedule-card-image img,
  .page-booking-detail .yz-detail-room-pro img {
    height: 120px !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-choice-grid {
    display: block !important;
  }

  .page-booking-detail .yz-detail-choice-card {
    margin-bottom: 10px !important;
  }

  .page-booking-detail #detailDateChoices,
  .page-booking-detail .yz-booking-choice-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .page-booking-detail #detailDateChoices .yz-booking-choice,
  .page-booking-detail .yz-booking-choice-list .yz-booking-choice {
    flex: 0 0 auto !important;
    min-width: 76px !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  .page-booking-detail .yz-detail-choice-card {
    margin-bottom: 8px !important;
    padding: 10px !important;
  }

  .page-booking-detail .yz-detail-order-inline {
    display: grid !important;
    gap: 10px !important;
  }

  .page-booking-detail .yz-detail-price-calculator,
  .page-booking-detail .yz-detail-order-sidebar {
    width: auto !important;
    margin: 0 !important;
  }

  .page-booking-series .yz-series-tabs,
  .page-booking-compare .yz-compare-toolbar,
  .page-booking-ports .yz-ports-card,
  .page-booking-route-detail .yz-route-detail-card {
    margin: 0 10px 12px !important;
    border-radius: 8px !important;
  }

  .page-booking-series .yz-series-list,
  .page-booking-compare .yz-compare-grid,
  .page-booking-ports .yz-ports-content,
  .page-booking-route-detail .yz-route-detail-maincol {
    gap: 10px !important;
  }

  .page-booking-series .yz-series-ship-card,
  .page-booking-compare .yz-compare-card,
  .page-booking-ports .yz-port-data-card,
  .page-booking-route-detail .yz-route-detail-ship,
  .page-booking-route-detail .yz-route-detail-sailing {
    border-radius: 8px !important;
  }

  .page-booking-series .yz-series-ship-card img,
  .page-booking-compare .yz-compare-card img {
    height: 140px !important;
  }

  .page-booking-ports .yz-ports-grid,
  .page-booking-sights .yz-sights-grid,
  .page-booking-guides .yz-guide-article-grid {
    grid-template-columns: 1fr !important;
  }

  .yz-booking-site .yz-booking-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    background: #fff !important;
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.08) !important;
  }

  .yz-booking-site .yz-booking-header-inner {
    min-height: 48px !important;
    padding: 0 10px !important;
  }

  .yz-booking-site .yz-booking-logo img,
  .yz-booking-site .yz-booking-brand img {
    width: 30px !important;
    height: 30px !important;
  }

  .yz-booking-site .yz-booking-logo strong,
  .yz-booking-site .yz-booking-brand strong {
    font-size: 14px !important;
  }

  .yz-booking-site .yz-booking-logo small,
  .yz-booking-site .yz-booking-brand small,
  .yz-booking-site .yz-booking-nav,
  .yz-booking-site .yz-booking-header-cta,
  .yz-booking-site .yz-booking-floating-tools,
  .yz-booking-site .yz-booking-footer {
    display: none !important;
  }

  .yz-booking-site .yz-order-page-hero,
  .yz-booking-site .yz-guide-hero,
  .yz-booking-site .yz-ports-hero,
  .yz-booking-site .yz-sights-hero,
  .yz-booking-site .yz-facilities-hero,
  .yz-booking-site .yz-series-hero {
    padding: 10px 0 !important;
    background: #0b7bd3 !important;
  }

  .yz-booking-site .yz-order-page-hero .container,
  .yz-booking-site .yz-guide-hero .container,
  .yz-booking-site .yz-ports-hero .container,
  .yz-booking-site .yz-sights-hero .container,
  .yz-booking-site .yz-facilities-hero .container,
  .yz-booking-site .yz-series-hero .container {
    margin: 0 10px !important;
    padding: 12px !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14) !important;
  }

  .yz-booking-site .yz-order-page-hero h1,
  .yz-booking-site .yz-guide-hero h1,
  .yz-booking-site .yz-ports-hero h1,
  .yz-booking-site .yz-sights-hero h1,
  .yz-booking-site .yz-facilities-hero h1,
  .yz-booking-site .yz-series-hero h1 {
    margin: 4px 0 5px !important;
    color: #111827 !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
  }

  .yz-booking-site .yz-order-page-hero p,
  .yz-booking-site .yz-guide-hero p,
  .yz-booking-site .yz-ports-hero p,
  .yz-booking-site .yz-sights-hero p,
  .yz-booking-site .yz-facilities-hero p,
  .yz-booking-site .yz-series-hero p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .yz-booking-section {
    padding: 10px 0 70px !important;
    background: #f2f5f8 !important;
  }

  .yz-booking-site .yz-section-head {
    margin: 0 10px 8px !important;
  }

  .yz-booking-site .yz-section-head h2 {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  .yz-booking-site .yz-booking-card-action,
  .yz-booking-site .yz-booking-secondary-action,
  .yz-booking-site .yz-order-submit,
  .yz-booking-site .yz-form-submit {
    min-height: 38px !important;
    border-radius: 5px !important;
    font-size: 14px !important;
  }

  .yz-booking-site .yz-booking-card-action,
  .yz-booking-site .yz-order-submit,
  .yz-booking-site .yz-form-submit {
    background: #ff8a00 !important;
  }

  .yz-booking-site .yz-booking-secondary-action {
    background: #eef6ff !important;
    color: #0b67b7 !important;
  }

  .yz-booking-site .yz-booking-mobile-nav {
    height: 52px !important;
    border-top: 1px solid #dbe6f2 !important;
    background: #fff !important;
    box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.08) !important;
  }

  .yz-booking-site .yz-booking-mobile-nav a {
    color: #64748b !important;
    font-size: 12px !important;
  }

  .yz-booking-site .yz-booking-mobile-nav a.is-active {
    color: #0b7bd3 !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 760px) {
  .page-booking-home .yz-booking-hero {
    padding-top: 0 !important;
  }

  .page-booking-home .yz-booking-hero-panel {
    padding: 0;
  }

  .page-booking-home .yz-booking-hero-copy {
    margin: 0 10px;
    padding: 10px 12px;
    border-radius: 0 0 10px 10px;
  }

  .page-booking-home .yz-booking-hero-copy .yz-booking-kicker,
  .page-booking-home .yz-section-kicker {
    font-size: 11px;
    letter-spacing: 0;
  }

  .page-booking-home .yz-booking-hero-copy h1 {
    font-size: 18px;
  }

  .page-booking-home .yz-booking-hero-actions {
    display: none;
  }

  .page-booking-home .yz-booking-search {
    margin-top: -2px;
    padding-top: 0 !important;
  }

  .page-booking-home .yz-booking-search-card {
    border-radius: 0 0 8px 8px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    gap: 0 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a {
    min-height: 66px !important;
    padding: 8px 4px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid span {
    width: 26px !important;
    height: 26px !important;
    margin-bottom: 4px !important;
    font-size: 13px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid strong {
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-fleet-group {
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-home .yz-booking-fleet-group-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
  }

  .page-booking-home .yz-booking-fleet-group-head h3 {
    margin: 0 !important;
    color: #1e293b !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-fleet-group-head a {
    color: #1e78d7 !important;
    font-size: 12px !important;
  }

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

  .page-booking-home .yz-booking-fleet-card {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
  }

  .page-booking-home .yz-booking-fleet-card img {
    width: 100% !important;
    height: 82px !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-fleet-card-body {
    display: block !important;
    padding: 7px !important;
  }

  .page-booking-home .yz-booking-fleet-card-body strong {
    display: block !important;
    margin-bottom: 3px !important;
    color: #1e293b !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .page-booking-home .yz-booking-fleet-card-body p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-home .yz-booking-fleet-card-body .ref {
    display: block !important;
    margin-top: 4px !important;
    color: #ff5a00 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-section-head.center {
    display: none;
  }

  .page-booking-mobile-icons {
    display: block !important;
    padding: 8px 0 !important;
  }

  .yz-booking-mobile-icon-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    margin: 0 10px;
    overflow: hidden;
    border-radius: 10px;
    background: #e7edf5;
  }

  .yz-booking-mobile-icon-grid a {
    min-height: 62px;
    padding: 8px 4px;
    background: #fff;
    color: #1f2937;
    text-align: center;
  }

  .yz-booking-mobile-icon-grid a span {
    display: inline-flex;
    width: 28px;
    height: 28px;
    margin: 0 auto 4px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8f3ff;
    color: #1478d4;
    font-size: 14px;
    font-weight: 900;
  }

  .yz-booking-mobile-icon-grid a strong {
    display: block;
    font-size: 12px;
    line-height: 1.2;
  }

  .yz-booking-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-booking-route-grid a {
    min-height: 66px;
  }

  .page-booking-home #featured {
    padding-top: 4px !important;
  }

  .page-booking-home #ships,
  .page-booking-home .yz-booking-routes-section,
  .page-booking-home #orderCenter,
  .page-booking-home #faq,
  .page-booking-home #orderHelp {
    padding-top: 8px !important;
  }

  .yz-booking-featured-card {
    display: grid !important;
    grid-template-columns: 82px 1fr;
    gap: 9px;
    min-height: 92px;
    padding: 9px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .yz-booking-featured-card img {
    width: 82px;
    height: 74px;
    border-radius: 8px;
    object-fit: cover;
  }

  .yz-booking-featured-body strong {
    font-size: 16px;
    line-height: 1.25;
  }

  .yz-booking-featured-body p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 12px;
  }

  .yz-booking-featured-price {
    margin-top: 5px;
  }

  .yz-booking-featured-price b {
    color: #ff5a00;
    font-size: 17px;
  }

  .page-booking-home .yz-booking-fleet-grid,
  .page-booking-home .yz-booking-faq-grid,
  .page-booking-home .yz-order-status-grid,
  .page-booking-home .yz-booking-action-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0 10px;
  }

  .page-booking-home .yz-booking-fleet-card,
  .page-booking-home .yz-booking-faq-grid article,
  .page-booking-home .yz-order-status-card,
  .page-booking-home .yz-booking-mini-form {
    padding: 10px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .page-booking-home .yz-booking-faq-grid article h3,
  .page-booking-home .yz-booking-mini-form h3 {
    margin: 0 0 6px;
    font-size: 15px;
  }

  .page-booking-home .yz-booking-faq-grid article p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
  }

  .page-booking-home .yz-booking-more-row {
    margin: 8px 10px 0;
  }

  .page-booking-home .yz-booking-fleet-group {
    margin: 0 10px;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .page-booking-home .yz-booking-fleet-group + .yz-booking-fleet-group {
    margin-top: 8px;
  }

  .page-booking-home .yz-booking-fleet-group-head h3 {
    font-size: 15px;
  }

  .page-booking-home .yz-booking-more-row .yz-booking-card-action {
    width: 100%;
  }

  .page-booking-home .yz-booking-footer,
  .page-booking-schedule .yz-booking-footer,
  .page-booking-detail .yz-booking-footer,
  .page-booking-ships .yz-booking-footer,
  .page-booking-timetable .yz-booking-footer {
    display: none;
  }

  .yz-booking-mobile-nav {
    height: 52px;
    border-top: 1px solid #dbe4ef;
    background: #fff;
  }

  .yz-booking-mobile-nav a {
    color: #64748b;
    font-size: 12px;
  }

  .yz-booking-mobile-nav a.is-active {
    color: #1478d4;
    font-weight: 900;
  }

  .page-booking-deals .yz-deals-search-panel,
  .page-booking-ships .yz-ships-toolbar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 0 10px 8px;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .page-booking-deals .yz-deals-search-panel label,
  .page-booking-ships .yz-ships-toolbar label {
    min-width: 0;
    font-size: 12px;
  }

  .page-booking-deals .yz-deals-search-panel input,
  .page-booking-deals .yz-deals-search-panel select,
  .page-booking-ships .yz-ships-toolbar input,
  .page-booking-ships .yz-ships-toolbar select {
    width: 100%;
    min-height: 36px;
    margin-top: 4px;
    border: 1px solid #d9e2ef;
    border-radius: 6px;
    font-size: 13px;
  }

  .page-booking-deals .yz-deals-search-panel button,
  .page-booking-ships .yz-ships-toolbar button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .yz-deals-sortbar,
  .yz-ships-quick-tabs {
    display: flex;
    gap: 6px;
    margin: 0 10px 8px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .yz-deals-sortbar button,
  .yz-ships-quick-tabs button {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #d9e2ef;
    border-radius: 999px;
    background: #fff;
    color: #1478d4;
    font-size: 12px;
  }

  .yz-deals-sortbar button.is-active,
  .yz-ships-quick-tabs button.is-active {
    background: #1478d4;
    color: #fff;
  }

  .yz-deals-summary,
  .yz-ships-summary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    margin: 0 10px 8px;
    overflow: hidden;
    border-radius: 10px;
    background: #e7edf5;
  }

  .yz-deals-summary span,
  .yz-ships-summary span {
    padding: 8px;
    background: #fff;
    text-align: center;
  }

  .yz-deals-summary small,
  .yz-ships-summary small {
    display: block;
    color: #64748b;
    font-size: 11px;
  }

  .yz-deals-summary b,
  .yz-ships-summary b {
    display: block;
    margin-top: 2px;
    color: #111827;
    font-size: 14px;
  }

  .yz-deals-grid,
  .yz-ship-profile-sailings,
  .yz-ship-room-price-grid,
  .yz-ship-profile-related {
    display: grid;
    gap: 8px;
    margin: 0 10px;
  }

  .yz-deal-card {
    display: grid !important;
    grid-template-columns: 82px 1fr;
    gap: 9px;
    padding: 9px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .yz-deal-photo {
    position: relative;
    width: 82px;
    height: 82px;
  }

  .yz-deal-photo img {
    width: 82px;
    height: 82px;
    border-radius: 8px;
    object-fit: cover;
  }

  .yz-deal-photo span {
    position: absolute;
    left: 4px;
    bottom: 4px;
    padding: 1px 5px;
    border-radius: 999px;
    background: rgba(20, 120, 212, 0.9);
    color: #fff;
    font-size: 10px;
  }

  .yz-deal-title {
    display: flex;
    justify-content: space-between;
    gap: 8px;
  }

  .yz-deal-title h2 {
    margin: 0;
    font-size: 16px;
  }

  .yz-deal-title strong {
    color: #ff5a00;
    white-space: nowrap;
  }

  .yz-deal-body p,
  .yz-deal-tags {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 12px;
  }

  .yz-deal-tags {
    display: flex;
    gap: 4px;
    overflow: hidden;
  }

  .yz-deal-tags i {
    flex: 0 0 auto;
    padding: 1px 5px;
    border-radius: 999px;
    background: #f1f5f9;
    font-style: normal;
  }

  .yz-deal-card .yz-route-actions {
    display: flex;
    gap: 6px;
    margin-top: 8px;
  }

  .page-booking-ship .yz-ship-profile-layout {
    display: grid;
    gap: 8px;
    padding: 0;
  }

  .page-booking-ship .yz-ship-profile-summary,
  .page-booking-ship .yz-ship-profile-card {
    margin: 0 10px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .yz-ship-profile-summary img {
    width: 100%;
    height: 120px;
    border-radius: 8px;
    object-fit: cover;
  }

  .yz-ship-profile-summary strong {
    display: block;
    margin-top: 8px;
    font-size: 18px;
  }

  .yz-ship-profile-sailing,
  .yz-ship-room-price-card {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 9px;
    border-radius: 8px;
    background: #f8fafc;
  }

  .yz-ship-profile-sailing span,
  .yz-ship-room-price-card span {
    color: #1478d4;
    font-size: 13px;
    font-weight: 900;
  }

  .yz-ship-profile-sailing strong,
  .yz-ship-room-price-card strong {
    color: #111827;
    font-size: 14px;
  }

  .yz-ship-profile-sailing em,
  .yz-ship-room-price-card b {
    color: #ff5a00;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
  }
}

body.yz-booking-site {
  margin: 0;
  color: var(--bk-ink);
  background: #f3f4f6;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

body.yz-booking-site a {
  color: inherit;
  text-decoration: none;
}

body.yz-booking-site .container {
  width: min(100% - 24px, 1180px);
  margin: 0 auto;
}

.yz-booking-header {
  position: relative;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 3px solid var(--bk-red);
  box-shadow: none;
}

.yz-booking-topline {
  padding: 6px 0;
  font-size: 12px;
  color: #1b5d97;
}

.yz-booking-header-inner {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}

.yz-booking-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.yz-booking-brand img,
.yz-booking-logo img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.yz-booking-brand span,
.yz-booking-logo span {
  display: grid;
  gap: 2px;
}

.yz-booking-brand strong,
.yz-booking-logo strong {
  font-size: 22px;
  color: var(--bk-red);
  line-height: 1.2;
}

.yz-booking-brand small,
.yz-booking-logo small {
  font-size: 12px;
  color: var(--bk-muted);
}

.yz-booking-nav {
  display: flex;
  align-self: stretch;
  flex-wrap: wrap;
  gap: 0;
  font-size: 14px;
  min-width: 0;
}

.yz-booking-nav a {
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 0;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

.yz-booking-nav a:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.yz-booking-header-cta,
.yz-booking-submit,
.yz-booking-card-action,
.yz-order-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 4px;
  background: var(--bk-red);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.yz-booking-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 10px 12px;
  color: #b8860b;
  border: 1px solid #e8d08c;
  border-radius: 999px;
  font-weight: 800;
}

.yz-booking-phone {
  text-align: right;
}

.yz-booking-phone span {
  display: block;
  font-size: 13px;
  color: #666;
}

.yz-booking-phone strong {
  display: block;
  color: var(--bk-red);
  font-size: 16px;
}

.yz-booking-nav-row {
  background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
}

.yz-booking-nav-wrap {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
}

.yz-booking-nav-wrap .yz-booking-nav {
  flex: 1;
}

.yz-booking-nav-row .yz-booking-header-cta {
  align-self: center;
  min-height: 36px;
  background: #f3a600;
  border-radius: 3px;
}

.yz-booking-header-cta:hover,
.yz-booking-submit:hover,
.yz-booking-card-action:hover,
.yz-order-submit:hover {
  background: var(--bk-red-dark);
  color: #fff;
}

.yz-booking-hero {
  padding: 14px 0 0;
}

.yz-booking-mobile-brandbar {
  display: none;
}

.yz-booking-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  background: #fff;
  border: 1px solid var(--bk-line);
  box-shadow: none;
}

.yz-booking-hero-banner img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
}

.yz-booking-hero-copy {
  display: block;
  padding: 30px;
  background:
    linear-gradient(90deg, rgba(183, 15, 22, 0.94), rgba(215, 25, 32, 0.84)),
    url("../../../assets/images/hero-home-cruise-aerial.jpg") center / cover no-repeat;
  color: #fff;
}

.yz-booking-kicker,
.yz-section-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 4px;
  background: var(--bk-red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.yz-booking-hero-copy .yz-booking-kicker {
  background: rgba(255, 255, 255, 0.2);
}

.yz-booking-hero-copy h1 {
  margin: 12px 0 0;
  font-size: 42px;
  line-height: 1.12;
  color: #fff;
}

.yz-booking-hero-copy p {
  max-width: 620px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 1.75;
}

.yz-booking-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.yz-booking-hero-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 4px;
  background: #fff;
  color: var(--bk-red);
  font-weight: 800;
}

.yz-booking-hero-actions a.primary {
  background: #ffcc33;
  color: #7a2600;
}

.yz-booking-hero-side {
  display: grid;
  grid-template-rows: 1fr auto;
}

.yz-booking-hero-photo img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}

.yz-booking-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--bk-line);
}

.yz-booking-hero-stats div {
  padding: 13px 8px;
  text-align: center;
  border-left: 1px solid var(--bk-line);
}

.yz-booking-hero-stats div:first-child {
  border-left: 0;
}

.yz-booking-hero-stats strong {
  display: block;
  color: var(--bk-red);
  font-size: 24px;
  line-height: 1;
}

.yz-booking-hero-stats span {
  display: block;
  margin-top: 4px;
  color: var(--bk-muted);
  font-size: 12px;
}

.yz-booking-search,
.yz-booking-section {
  padding: 12px 0;
}

.yz-booking-search {
  position: relative;
  z-index: 5;
  margin-top: -92px;
  min-height: 268px;
}

.yz-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  border-bottom: 2px solid var(--bk-red);
}

.yz-section-head.center {
  display: grid;
  justify-items: center;
  text-align: center;
  border-bottom: 0;
}

.yz-section-head h2 {
  margin: 0;
  padding-bottom: 8px;
  color: #222;
  font-size: 24px;
  line-height: 1.25;
}

.yz-section-head p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 14px;
}

.yz-booking-search-card,
.yz-booking-result-card,
.yz-booking-fleet-card,
.yz-booking-faq-grid article,
.yz-booking-detail-card,
.yz-booking-detail-form-card,
.yz-booking-empty {
  background: #fff;
  border: 1px solid var(--bk-line);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-booking-search-card {
  max-width: 450px;
  min-height: 250px;
  padding: 10px 20px;
  border-top: 3px solid var(--bk-red);
  border-radius: 0 0 10px 10px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.35);
}

.yz-booking-announcement {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 10px 12px;
  background: #fff6d8;
  border: 1px solid #f1dc9b;
  border-radius: 4px;
  font-size: 14px;
}

.yz-booking-announcement span {
  color: #d18500;
  font-weight: 800;
}

.yz-booking-announcement strong {
  margin-left: auto;
  color: #d71920;
}

.yz-booking-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: calc(100% + 40px);
  margin: -60px -20px 10px;
  border: 0;
}

.yz-booking-tabs button {
  min-height: 50px;
  border: 0;
  background: #f1f1f1;
  color: #222;
  font-size: 16px;
  font-weight: 800;
}

.yz-booking-tabs button.is-active {
  background: #fff;
  color: var(--bk-bright-blue);
}

.yz-booking-search-grid {
  display: grid;
  grid-template-columns: 130px 40px 130px;
  gap: 10px;
  align-items: end;
}

.booking-field-date,
.booking-field-ship,
.yz-booking-submit {
  grid-column: 1 / -1;
}

.booking-field {
  display: grid;
  gap: 5px;
}

.booking-field span {
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.booking-field input,
.booking-field select,
.yz-order-form input,
.yz-order-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #fff;
  color: #222;
  font: inherit;
  box-sizing: border-box;
}

.booking-date-display {
  display: none;
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #fff;
  color: #222;
  font: inherit;
  text-align: left;
  box-sizing: border-box;
}

.booking-date-display strong,
.booking-date-display small {
  display: block;
}

.yz-booking-swap {
  min-height: 40px;
  border: 1px solid #cfcfcf;
  background: #f7f7f7;
  color: var(--bk-red);
  font-size: 16px;
  font-weight: 900;
}

.yz-booking-submit {
  width: 200px;
  min-height: 40px;
  margin-left: 76px;
  border-radius: 5px;
  background: #ff7200;
  font-size: 16px;
  letter-spacing: 3px;
}

.yz-booking-routes {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
  font-size: 13px;
}

.yz-booking-routes span {
  display: inline-flex;
  align-items: center;
  color: #555;
  font-weight: 800;
}

.yz-booking-routes button {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #ddd;
  background: #fafafa;
  color: #333;
  border-radius: 999px;
  font-weight: 700;
}

.yz-booking-search-card.is-ship-mode .booking-field:not(.booking-field-ship),
.yz-booking-search-card.is-ship-mode .yz-booking-swap,
.yz-booking-search-card.is-ship-mode .yz-booking-routes {
  display: none;
}

.yz-booking-search-card:not(.is-ship-mode) .booking-field-ship {
  display: none;
}

.yz-booking-search-card.is-ship-mode .booking-field-month {
  display: none;
}

.yz-booking-search-card.is-ship-mode .yz-booking-search-grid {
  grid-template-columns: minmax(0, 1fr) 140px;
}

.yz-booking-search-card.is-ship-mode .booking-field-ship {
  display: grid;
}

.yz-booking-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.yz-booking-month-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #dbe5f1;
}

.yz-booking-month-shortcuts span {
  color: #607080;
  font-size: 13px;
  font-weight: 800;
}

.yz-booking-month-shortcuts button {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #d8e2ef;
  border-radius: 999px;
  background: #f8fbff;
  color: #1d61ad;
  font-size: 12px;
  font-weight: 800;
}

.yz-booking-month-shortcuts button small {
  color: #8a98a8;
  font-size: 11px;
}

.yz-booking-month-shortcuts button.is-active {
  border-color: var(--bk-red);
  background: #fff4f1;
  color: var(--bk-red);
}

.yz-booking-month-link {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e8eef6;
  color: #58687c;
  font-size: 13px;
  font-weight: 800;
}

.yz-booking-month-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  background: #fff8f4;
  border: 1px solid #f1c4a7;
  border-radius: 999px;
  color: #a33f25;
  font-weight: 900;
}

.yz-booking-featured-card {
  display: block;
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bk-line);
}

.yz-booking-featured-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}

.yz-booking-featured-body {
  padding: 10px;
}

.yz-booking-featured-body strong {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  color: #222;
}

.yz-booking-featured-body strong i {
  width: 4px;
  height: 16px;
  background: var(--bk-red);
}

.yz-booking-featured-body p {
  margin: 6px 0 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.45;
}

.yz-booking-featured-body .hx,
.yz-booking-featured-body .bh {
  color: #444;
}

.yz-booking-featured-price {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
}

.yz-booking-featured-price b {
  color: var(--bk-red);
  font-size: 20px;
}

.yz-booking-featured-price span {
  padding: 5px 9px;
  background: var(--bk-red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.yz-booking-result-list {
  display: grid;
  gap: 8px;
}

.yz-booking-month-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.yz-booking-level-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.yz-booking-month-tools button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #d9e4f2;
  border-radius: 999px;
  background: #fff;
  color: #245586;
  font-weight: 800;
  cursor: pointer;
}

.yz-booking-level-tools button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #f0d3b0;
  border-radius: 999px;
  background: #fffaf3;
  color: #8a4a00;
  font-weight: 800;
  cursor: pointer;
}

.yz-booking-month-tools button.is-active {
  background: #1d61ad;
  border-color: #1d61ad;
  color: #fff;
}

.yz-booking-level-tools button.is-active {
  background: #ff7200;
  border-color: #ff7200;
  color: #fff;
}

.yz-booking-result-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.yz-booking-result-tools button {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d9e4f2;
  border-radius: 999px;
  background: #fff;
  color: #245586;
  font-weight: 800;
  cursor: pointer;
}

.yz-booking-result-tools button.is-active {
  background: var(--bk-blue);
  border-color: var(--bk-blue);
  color: #fff;
}

.yz-booking-result-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 132px;
  gap: 10px;
  align-items: center;
  padding: 10px;
}

.yz-booking-result-date {
  display: grid;
  place-items: center;
  min-height: 68px;
  background: #f8f8f8;
  border: 1px solid #eee;
  color: var(--bk-red);
  text-align: center;
}

.yz-booking-result-date strong {
  font-size: 18px;
  line-height: 1.1;
}

.yz-booking-result-date span {
  margin-top: 4px;
  color: #777;
  font-size: 11px;
}

.yz-booking-result-main {
  min-width: 0;
}

.yz-booking-result-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.yz-booking-result-title strong {
  font-size: 18px;
  color: #222;
}

.yz-booking-result-title em {
  padding: 2px 6px;
  background: #eef5ff;
  color: var(--bk-blue);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.yz-booking-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.yz-booking-result-meta span {
  display: inline-flex;
  gap: 4px;
  color: #555;
  font-size: 12px;
}

.yz-booking-result-meta b {
  color: #999;
}

.yz-booking-result-side {
  display: grid;
  justify-items: end;
  gap: 5px;
  text-align: right;
}

.yz-booking-result-side span {
  color: #777;
  font-size: 12px;
}

.yz-booking-result-side strong {
  color: var(--bk-red);
  font-size: 21px;
  line-height: 1;
  white-space: nowrap;
}

.yz-booking-card-action {
  min-height: 34px;
  padding: 0 14px;
}

.yz-booking-fleet-grid {
  display: grid;
  gap: 12px;
}

.yz-booking-fleet-group {
  display: grid;
  gap: 8px;
}

.yz-booking-fleet-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.yz-booking-fleet-group-head h3 {
  margin: 0;
  font-size: 20px;
}

.yz-booking-fleet-grid-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.yz-booking-fleet-card {
  display: block;
  overflow: hidden;
}

.yz-booking-fleet-card img {
  width: 100%;
  height: 126px;
  object-fit: cover;
  display: block;
}

.yz-booking-fleet-card-body {
  display: grid;
  gap: 6px;
  padding: 9px;
}

.yz-booking-fleet-card .tags,
.yz-booking-fleet-card .yz-rank {
  display: none;
}

.yz-booking-fleet-card strong {
  color: #222;
  font-size: 16px;
}

.yz-booking-fleet-card p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 12px;
  line-height: 1.45;
}

.yz-booking-fleet-card .ref {
  color: var(--bk-red);
  font-size: 13px;
  font-weight: 800;
}

.yz-booking-fleet-group-head a {
  color: #1d61ad;
  font-size: 13px;
  font-weight: 900;
}

.yz-booking-route-grid {
  margin-top: 8px;
}

.yz-booking-route-grid a {
  min-height: 74px;
}

.yz-booking-route-grid a span {
  background: #fff2e6;
  color: #d65f00;
}

.yz-booking-faq-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-booking-faq-grid article {
  padding: 12px;
}

.yz-booking-faq-grid h3 {
  margin: 0;
  color: #222;
  font-size: 17px;
}

.yz-booking-faq-grid p {
  margin: 8px 0 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-booking-help-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
}

.yz-booking-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.yz-booking-mini-form {
  display: grid;
  gap: 9px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-booking-mini-form h3 {
  margin: 0;
  color: #222;
  font-size: 20px;
}

.yz-booking-mini-form label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-booking-mini-form input,
.yz-booking-mini-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  font: inherit;
  box-sizing: border-box;
}

.yz-booking-mini-form textarea {
  min-height: 82px;
  resize: vertical;
}

.yz-order-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.yz-booking-secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #cfe0f8;
  background: #fff;
  color: #fff;
  border-radius: 4px;
  font-weight: 800;
  cursor: pointer;
}

.yz-booking-help-card p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 14px;
  line-height: 1.6;
}

.yz-order-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-order-status-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-order-status-card strong {
  color: #1a4f93;
  font-size: 18px;
}

.yz-order-status-card span {
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.5;
}

.yz-order-status-card b {
  color: var(--bk-red);
  font-size: 13px;
}

.yz-order-status-card.confirmed strong {
  color: #117a36;
}

.yz-order-status-card.canceled strong {
  color: #b24a00;
}

.yz-booking-mobile-icons {
  padding: 10px 0 0;
}

.yz-booking-mobile-icon-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.yz-booking-mobile-icon-grid a {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}

.yz-booking-mobile-icon-grid span {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 18px;
  background: linear-gradient(180deg, #f58a56, #f2684a);
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  box-shadow: var(--bk-shadow);
}

.yz-booking-mobile-icon-grid a:nth-child(2) span {
  background: linear-gradient(180deg, #2f7df0, #2567db);
}

.yz-booking-mobile-icon-grid a:nth-child(3) span {
  background: linear-gradient(180deg, #48bde2, #35a8d0);
}

.yz-booking-mobile-icon-grid a:nth-child(4) span {
  background: linear-gradient(180deg, #ff7a64, #ff5d5a);
}

.yz-booking-mobile-icon-grid strong {
  font-size: 14px;
  color: #333;
}

.yz-booking-empty {
  padding: 16px;
  color: #777;
  text-align: center;
}

.yz-booking-footer {
  padding: 16px 0 26px;
  background: #2b2b2b;
  color: #ddd;
}

.yz-booking-footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.yz-booking-footer-brand {
  display: grid;
  gap: 4px;
}

.yz-booking-footer-brand strong {
  color: #fff;
  font-size: 18px;
}

.yz-booking-footer-brand span,
.yz-booking-footer-grid p {
  color: #bbb;
  font-size: 13px;
}

.yz-booking-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.yz-booking-footer-links a {
  color: #fff;
  font-size: 13px;
}

.yz-booking-mobile-nav {
  display: none;
}

.page-booking-all .yz-all-hero {
  background:
    linear-gradient(105deg, rgba(27, 72, 126, 0.96), rgba(202, 58, 39, 0.82)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-all .yz-all-hero h1,
.page-booking-all .yz-all-hero p,
.page-booking-all .yz-all-hero .yz-section-kicker {
  color: #fff;
}

.yz-all-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.yz-all-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-all-side {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-all-side a {
  padding: 9px 10px;
  background: #f7faff;
  border: 1px solid #e2ebf6;
  border-radius: 6px;
  color: #1d4f90;
  font-size: 13px;
  font-weight: 900;
}

.yz-all-content {
  display: grid;
  gap: 12px;
}

.yz-all-group {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-all-group-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.yz-all-group-head span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff4ef;
  color: var(--bk-red);
  font-weight: 900;
}

.yz-all-group-head h2 {
  margin: 0;
  color: #202833;
  font-size: 24px;
  line-height: 1.25;
}

.yz-all-group-head p {
  margin: 5px 0 0;
  color: #526173;
  font-size: 14px;
  line-height: 1.65;
}

.yz-all-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-all-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 10px;
}

.yz-all-card.primary {
  background: #fff8ef;
  border-color: #f4d3ad;
}

.yz-all-card strong {
  color: #202833;
  font-size: 18px;
}

.yz-all-card p {
  margin: 0;
  color: #526173;
  font-size: 13px;
  line-height: 1.65;
}

.yz-all-card b {
  align-self: end;
  color: var(--bk-red);
  font-size: 13px;
}

@media (max-width: 768px) {
  .yz-all-layout {
    grid-template-columns: 1fr;
  }

  .yz-all-side {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .yz-all-side a {
    padding: 8px 6px;
    text-align: center;
    font-size: 12px;
  }

  .yz-all-group {
    padding: 12px;
  }

  .yz-all-group-head {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .yz-all-group-head span {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .yz-all-group-head h2 {
    font-size: 20px;
  }

  .yz-all-grid {
    grid-template-columns: 1fr;
  }

  .yz-all-card {
    min-height: auto;
    padding: 12px;
  }
}

/* Detail page keeps the same booking-site visual language. */
.yz-booking-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.yz-booking-detail-main {
  padding-bottom: 18px;
}

.page-booking-detail .yz-booking-header-inner {
  min-height: 70px;
}

.page-booking-detail .yz-booking-nav a[href="./#ships"],
.page-booking-detail .yz-booking-nav a[href="#rooms"],
.page-booking-detail .yz-booking-nav a[href="#order"] {
  display: none;
}

.yz-detail-top {
  padding: 14px 0 10px;
  background: linear-gradient(180deg, #eef4fb 0%, #f6f8fc 100%);
}

.yz-detail-top-grid {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.yz-detail-photo,
.yz-detail-title-card,
.yz-detail-price-box {
  background: #fff;
  border: 1px solid #dfe8f5;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.yz-detail-photo img {
  width: 100%;
  height: 100%;
  min-height: 244px;
  object-fit: cover;
  display: block;
}

.yz-detail-title-card {
  min-height: 244px;
  padding: 20px 22px;
  display: grid;
  align-content: center;
  gap: 10px;
  background:
    linear-gradient(90deg, rgba(20, 93, 160, 0.94), rgba(32, 121, 211, 0.84)),
    var(--hero-image, url("../../../assets/images/hero-home-cruise-aerial.jpg")) center / cover no-repeat;
  color: #fff;
}

.yz-detail-title-card h1 {
  margin: 0;
  color: #fff;
  font-size: 30px;
  line-height: 1.15;
}

.yz-detail-title-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.6;
}

.yz-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.yz-detail-tags span {
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 12px;
  border-radius: 999px;
}

.yz-detail-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.yz-detail-hero-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  color: #1d4f90 !important;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.yz-detail-hero-actions a.primary {
  background: #ffcc33;
  color: #7a2600;
}

.yz-detail-price-box {
  grid-column: 1 / -1;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: minmax(130px, 0.6fr) minmax(150px, 0.7fr) minmax(0, 2.5fr);
  gap: 10px;
  align-items: center;
}

.yz-detail-price-box > span {
  color: #1a4f93;
  font-size: 12px;
  font-weight: 800;
}

.yz-detail-price-box strong {
  color: var(--bk-red);
  font-size: 34px;
  line-height: 1;
}

.yz-detail-price-box p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-detail-price-box dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.yz-detail-price-box dl div {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 8px 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-detail-price-box dt,
.yz-detail-price-box dd {
  margin: 0;
  font-size: 12px;
}

.yz-detail-price-box dt {
  color: #678;
}

.yz-detail-price-box dd {
  color: #222;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.yz-booking-detail-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.yz-booking-detail-summary div {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

.yz-booking-detail-summary span {
  display: block;
  color: #777;
  font-size: 12px;
}

.yz-booking-detail-summary strong {
  display: block;
  margin-top: 4px;
  color: #222;
  font-size: 16px;
}

.yz-booking-detail-summary div:nth-child(2) strong {
  color: var(--bk-red);
  font-size: 22px;
}

.yz-booking-detail-content {
  padding: 0 0 16px;
}

.yz-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  max-width: 980px;
}

.yz-detail-main-card,
.yz-detail-order-card {
  padding: 16px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-detail-order-card {
  position: sticky;
  top: 12px;
}

.yz-detail-order-section {
  border: 1px solid #f2c9c9;
  border-radius: 10px;
  padding: 14px;
  background: linear-gradient(180deg, #fffafa 0%, #fff 100%);
}

.yz-detail-order-inline {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-detail-order-inline.yz-detail-price-order {
  grid-template-columns: minmax(0, 1fr) 308px;
}

.yz-detail-price-calculator {
  overflow: hidden;
  background: #fff;
  border: 1px solid #8db5de;
  border-radius: 3px;
}

.yz-order-table-head,
.yz-order-addon-title {
  padding: 10px 16px;
  background: #1479b7;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}

.yz-order-addon-title {
  margin-top: 10px;
}

.yz-order-price-table-wrap {
  overflow-x: auto;
}

.yz-order-price-table {
  width: 100%;
  min-width: 660px;
  border-collapse: collapse;
}

.yz-order-price-table th,
.yz-order-price-table td {
  padding: 10px 12px;
  border: 1px solid #e1e8f0;
  text-align: left;
  vertical-align: middle;
  font-size: 13px;
}

.yz-order-price-table th {
  background: #efefef;
  color: #333;
  font-weight: 900;
}

.yz-order-price-table tbody tr:nth-child(odd) {
  background: #f1f7ff;
}

.yz-order-price-table tbody tr:nth-child(even) {
  background: #fff;
}

.yz-order-price-table td strong {
  display: inline-block;
  color: #1d4f90;
  font-size: 14px;
}

.yz-order-price-table td small {
  display: inline-block;
  margin-left: 6px;
  color: #9aa6b3;
}

.yz-order-price-table td b,
.yz-order-price-table td em {
  color: #ff5a00;
  font-style: normal;
  font-weight: 900;
}

.yz-qty {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.yz-qty button {
  width: 22px;
  height: 22px;
  border: 1px solid #d8d8d8;
  background: linear-gradient(#fff, #f0f0f0);
  color: #777;
  font-weight: 900;
}

.yz-qty input {
  width: 42px;
  height: 24px;
  border: 1px solid #d8d8d8;
  text-align: center;
}

.yz-detail-order-sidebar {
  position: sticky;
  top: 12px;
  overflow: hidden;
  gap: 8px;
  padding: 0 10px 10px;
  background: #fff3eb;
  border: 1px solid #ff7a1a;
  border-radius: 5px;
}

.yz-detail-order-card-title {
  margin: 0 -10px 8px;
  padding: 10px;
  background: #ff7200;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 900;
}

.yz-order-summary-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 8px 0;
}

.yz-order-summary-mini div {
  padding: 6px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #f5d6c1;
  border-radius: 4px;
}

.yz-order-summary-mini dt,
.yz-order-summary-mini dd {
  margin: 0;
}

.yz-order-summary-mini dt {
  color: #9a4312;
  font-size: 12px;
  font-weight: 900;
}

.yz-order-summary-mini dd {
  margin-top: 3px;
  color: #333;
  font-weight: 900;
}

#detailOrderTotal {
  color: #f00;
  font-size: 26px;
}

.yz-order-amount {
  color: #f00 !important;
  font-size: 18px;
  font-weight: 900;
}

#detailOrderItemsText {
  color: #5f493e;
  font-size: 12px;
  line-height: 1.55;
}

.yz-detail-main-card h2,
.yz-detail-order-card h2 {
  margin: 0 0 10px;
  color: #222;
}

.yz-detail-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--bk-line);
}

.yz-detail-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.yz-detail-section-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-bottom: 10px;
}

.yz-detail-section-head > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #1d61ad;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.yz-detail-section-head h2 {
  margin: 0;
  color: #222;
  font-size: 22px;
}

.yz-detail-section-head p {
  margin: 4px 0 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-detail-alert {
  display: grid;
  gap: 4px;
  margin: 12px 0;
  padding: 10px;
  background: var(--bk-yellow);
  border: 1px solid #f3d38a;
  border-radius: 8px;
}

.yz-detail-choice-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr) minmax(0, 1.45fr);
  gap: 10px;
}

.yz-detail-choice-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-detail-choice-card > strong {
  color: #1a4f93;
  font-size: 14px;
}

.yz-detail-room-list,
.yz-detail-schedule-list {
  display: grid;
  gap: 8px;
}

.yz-detail-notes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 12px 0;
}

.yz-detail-notes > div {
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-detail-notes strong {
  display: block;
  color: #1a4f93;
  font-size: 14px;
}

.yz-detail-notes p {
  margin: 6px 0 0;
  color: var(--bk-muted);
  font-size: 12px;
  line-height: 1.5;
}

.yz-booking-room-grid,
.yz-booking-schedule-list,
.yz-order-form {
  display: grid;
  gap: 8px;
}

.yz-booking-choice-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.yz-booking-choice,
.yz-booking-choice-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #d8dfe8;
  border-radius: 5px;
  color: #333;
  font-size: 12px;
  font-weight: 800;
}

.yz-booking-choice.is-active {
  background: var(--bk-blue);
  border-color: var(--bk-blue);
  color: #fff;
}

.yz-booking-room-card,
.yz-booking-schedule-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 128px 104px;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--bk-line);
  background: #fff;
  border-radius: 8px;
}

.yz-booking-room-card:hover,
.yz-booking-schedule-row:hover {
  border-color: #f3b2b2;
  background: #fffafa;
}

.yz-booking-room-card > img {
  width: 100%;
  height: 104px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}

.yz-booking-room-card-main {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.yz-booking-room-specs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-booking-room-specs div {
  min-width: 0;
  padding: 7px 8px;
  background: #f8fbff;
  border-left: 1px solid #dce9f8;
}

.yz-booking-room-specs div:first-child {
  border-left: 0;
}

.yz-booking-room-specs dt,
.yz-booking-room-specs dd {
  margin: 0;
}

.yz-booking-room-specs dt {
  color: #678;
  font-size: 11px;
  font-weight: 700;
}

.yz-booking-room-specs dd {
  margin-top: 3px;
  color: #26384a;
  font-size: 12px;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yz-booking-schedule-row {
  grid-template-columns: minmax(0, 1fr) 128px;
}

.yz-booking-room-card strong,
.yz-booking-schedule-row b {
  color: #222;
  font-size: 17px;
}

.yz-booking-room-card span,
.yz-booking-schedule-row small,
.yz-order-note {
  color: var(--bk-muted);
  font-size: 12px;
  line-height: 1.45;
}

.yz-booking-ship-profile {
  display: grid;
  gap: 12px;
}

.yz-booking-ship-profile > strong {
  color: #222;
  font-size: 20px;
}

.yz-booking-ship-profile > p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.7;
}

.yz-booking-ship-bullets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.yz-booking-ship-bullets span,
.yz-booking-ship-profile dl div {
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-booking-ship-bullets b {
  display: block;
  margin-bottom: 4px;
  color: #1a4f93;
  font-size: 12px;
}

.yz-booking-ship-profile dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.yz-booking-ship-profile dt,
.yz-booking-ship-profile dd {
  margin: 0;
  font-size: 13px;
}

.yz-booking-ship-profile dt {
  color: #1a4f93;
  font-weight: 900;
}

.yz-booking-ship-profile dd {
  margin-top: 4px;
  color: var(--bk-muted);
  line-height: 1.55;
}

.yz-booking-room-price em,
.yz-booking-room-card em,
.yz-booking-schedule-row strong {
  color: var(--bk-red);
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.1;
}

.yz-booking-room-price {
  display: grid;
  gap: 4px;
  justify-items: end;
}

.yz-booking-room-price small {
  color: #7d8895;
  font-size: 11px;
  font-weight: 800;
}

.yz-booking-room-price b {
  color: #b25c00;
  font-size: 12px;
}

.yz-booking-room-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  background: var(--bk-red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  border-radius: 6px;
}

.yz-booking-summary {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
  padding: 10px;
  background: #fff7f7;
  border: 1px solid #ffd6d6;
  border-radius: 10px;
}

.yz-booking-summary > span {
  color: var(--bk-red);
  font-size: 12px;
  font-weight: 800;
}

.yz-booking-summary > strong {
  font-size: 20px;
  color: #222;
}

.yz-booking-summary b {
  color: var(--bk-red);
  font-size: 22px;
}

.yz-order-form label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-detail-order-inline .yz-order-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.yz-order-form-wide {
  grid-column: 1 / -1;
}

.yz-order-form textarea {
  min-height: 88px;
  resize: vertical;
}

.yz-form-success {
  padding: 9px;
  background: #effaf0;
  color: #16753a;
  font-size: 13px;
  border-radius: 8px;
}

.yz-booking-form-result {
  margin-top: 10px;
  padding: 10px;
  background: #f2f7ff;
  border: 1px solid #cfe0f8;
  border-radius: 8px;
  color: #1d4f90;
  font-size: 13px;
  line-height: 1.55;
}

.yz-order-record {
  display: grid;
  gap: 4px;
  padding: 10px 0;
  border-top: 1px solid #dce9f8;
}

.yz-order-record:first-child {
  border-top: 0;
  padding-top: 0;
}

.yz-order-record strong {
  color: #1a4f93;
}

.yz-order-record span {
  color: #4d6480;
  font-size: 12px;
}

.yz-booking-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-column: 1 / -1;
  min-height: 40px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

@media (max-width: 900px) {
  html,
  body.yz-booking-site {
    width: 100%;
    max-width: 100%;
    padding-bottom: 58px;
    background: #fff;
    overflow-x: hidden;
  }

  body.yz-booking-site .container {
    width: 100%;
    max-width: 640px;
    overflow-x: hidden;
  }

  .yz-booking-header {
    display: none;
  }

  .yz-booking-header-inner {
    min-height: 56px;
  }

  .yz-booking-nav {
    display: none;
  }

  .yz-booking-header-cta {
    min-height: 34px;
    padding: 0 10px;
    font-size: 13px;
  }

  .yz-booking-mobile-brandbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 0;
    height: 40px;
    padding: 5px 10px;
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    color: #fff;
    border-radius: 0;
  }

  .yz-booking-mobile-brandbar img {
    width: 0;
    height: 0;
    object-fit: contain;
    filter: brightness(0) invert(1);
  }

  .yz-booking-mobile-brandbar strong {
    display: block;
    font-size: 17px;
    text-align: center;
  }

  .yz-booking-mobile-brandbar span {
    display: block;
    font-size: 9px;
    text-align: center;
    opacity: 0.92;
  }

  .yz-booking-brand img,
  .yz-booking-logo img {
    width: 34px;
    height: 34px;
  }

  .yz-booking-brand strong,
  .yz-booking-logo strong {
    font-size: 15px;
  }

  .yz-booking-brand small,
  .yz-booking-logo small {
    font-size: 11px;
  }

  .yz-booking-hero {
    padding: 0;
  }

  .yz-booking-hero-panel {
    grid-template-columns: 1fr;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
  }

  .yz-booking-hero-copy {
    display: none;
  }

  .yz-booking-hero-copy h1 {
    font-size: 24px;
  margin-top: 8px;
}

.yz-order-page-main {
  padding-bottom: 18px;
}

.yz-order-page-hero {
  padding: 18px 0 10px;
  background: linear-gradient(180deg, #eef4fb 0%, #f6f8fc 100%);
}

.yz-order-page-hero h1 {
  margin: 8px 0 0;
  color: #1a2f4f;
  font-size: 34px;
}

.yz-order-page-hero p {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--bk-muted);
  line-height: 1.65;
}

.yz-order-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 12px;
  align-items: start;
}

.yz-order-page-card {
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-order-page-result {
  display: grid;
  gap: 8px;
}

.yz-order-page-search {
  display: grid;
  gap: 10px;
}

.yz-order-page-search label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-order-page-search input {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  font: inherit;
  box-sizing: border-box;
}

.yz-compare-main {
  padding-bottom: 18px;
}

.yz-compare-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-compare-toolbar label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-compare-toolbar select {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

.yz-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
  max-width: 100%;
  min-width: 0;
}

.yz-compare-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-width: 0;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-compare-card-pro {
  border-top: 3px solid var(--bk-red);
}

.yz-compare-card img {
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  display: block;
}

.yz-compare-card-body {
  display: grid;
  gap: 8px;
  padding: 12px;
  min-width: 0;
  align-content: start;
}

.yz-compare-card-body span {
  color: #1a4f93;
  font-size: 12px;
  font-weight: 800;
}

.yz-compare-card-body h2 {
  margin: 0;
  color: #222;
  font-size: 22px;
}

.yz-compare-card-body p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-compare-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.yz-compare-facts span {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 7px;
  color: #51677d;
  font-size: 11px;
  line-height: 1.2;
  min-width: 0;
}

.yz-compare-facts b {
  color: var(--bk-red);
  font-size: 18px;
  line-height: 1;
}

.yz-compare-card-body strong {
  color: var(--bk-red);
  font-size: 24px;
}

.yz-compare-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}

.yz-compare-summary article {
  display: grid;
  gap: 4px;
  padding: 12px;
  background: #fffaf2;
  border: 1px solid #f2dfbc;
  border-radius: 8px;
}

.yz-compare-summary span {
  color: #9a4b00;
  font-size: 12px;
  font-weight: 900;
}

.yz-compare-summary strong {
  color: #333;
  font-size: 14px;
  line-height: 1.5;
}

.yz-compare-summary article.is-wide {
  background: #f5fbff;
  border-color: #cfe4f8;
}

.yz-compare-table td b {
  color: var(--bk-red);
}

.yz-order-empty-pro {
  display: grid;
  gap: 12px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-order-empty-pro > strong {
  color: #222;
  font-size: 22px;
}

.yz-order-empty-pro p {
  margin: 0;
  color: var(--bk-muted);
  line-height: 1.65;
}

.yz-order-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.yz-order-flow span {
  display: grid;
  gap: 4px;
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
  color: #1a4f93;
  font-size: 13px;
  font-weight: 800;
}

.yz-order-flow b {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: var(--bk-red);
  color: #fff;
  border-radius: 999px;
}

.yz-order-record-pro {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-order-record-pro div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.yz-order-record-pro div span {
  padding: 4px 8px;
  background: #fff7f7;
  color: var(--bk-red);
  border-radius: 999px;
  font-weight: 800;
}

.yz-order-record-pro p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-compare-table-wrap {
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-compare-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.yz-compare-table th,
.yz-compare-table td {
  padding: 12px;
  border-bottom: 1px solid var(--bk-line);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

.yz-compare-table th {
  width: 120px;
  background: #f8fbff;
  color: #1a4f93;
}

.yz-compare-table td {
  color: #333;
}

.yz-schedule-main {
  padding-bottom: 18px;
}

.yz-schedule-query-hero {
  padding: 18px 0 14px;
  background: linear-gradient(180deg, #eef5ff 0%, #f7f9fc 100%);
}

.yz-schedule-query-wrap {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.yz-schedule-query-copy,
.yz-schedule-query-card,
.yz-schedule-filter-card,
.yz-schedule-results-main {
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-schedule-query-copy {
  padding: 18px;
}

.yz-schedule-query-copy h1 {
  margin: 8px 0;
  color: #202b38;
  font-size: 28px;
  line-height: 1.18;
}

.yz-schedule-query-copy p {
  margin: 0;
  color: var(--bk-muted);
  line-height: 1.65;
}

.yz-schedule-query-card {
  padding: 14px;
}

.yz-schedule-query-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.2fr) auto;
  gap: 9px;
  align-items: end;
}

.yz-schedule-query-row label,
.yz-schedule-filter-card label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-schedule-query-row input,
.yz-schedule-query-row select,
.yz-schedule-filter-card select {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfd7e3;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

.yz-schedule-route-buttons,
.yz-schedule-month-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-top: 10px;
}

.yz-schedule-month-chips {
  padding-top: 10px;
  border-top: 1px dashed #d8e2ef;
}

.yz-schedule-route-buttons span,
.yz-schedule-month-chips span {
  color: #607080;
  font-size: 13px;
  font-weight: 800;
}

.yz-schedule-route-buttons button,
.yz-schedule-month-chips button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #d8e2ef;
  border-radius: 999px;
  background: #f8fbff;
  color: #1d61ad;
  font-size: 12px;
  font-weight: 800;
}

.yz-schedule-month-chips button {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}

.yz-schedule-month-chips button small {
  color: #8a98a8;
  font-size: 11px;
}

.yz-schedule-month-chips button.is-active {
  border-color: var(--bk-red);
  background: #fff4f1;
  color: var(--bk-red);
}

.yz-schedule-results-shell {
  display: block;
}

.yz-schedule-filter-card {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.yz-schedule-filter-card > strong {
  color: #1a4f93;
  font-size: 16px;
}

.yz-schedule-results-main {
  padding: 14px;
}

.yz-schedule-result-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.yz-schedule-result-head h2 {
  margin: 4px 0;
  color: #202b38;
  font-size: 24px;
}

.yz-schedule-toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-schedule-toolbar label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-schedule-toolbar select {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

.yz-schedule-count {
  margin: 0 0 10px;
  color: #1a4f93;
  font-weight: 800;
}

.yz-schedule-card-list {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}

.yz-schedule-card-pro {
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr) 132px;
  gap: 12px;
  align-items: center;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-schedule-card-pro:hover {
  border-color: #f0b0b0;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.07);
}

.yz-schedule-card-image img {
  width: 100%;
  height: 104px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}

.yz-schedule-card-body {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.yz-schedule-card-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.yz-schedule-card-title span {
  padding: 4px 7px;
  background: #fff1f1;
  color: var(--bk-red);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 900;
}

.yz-schedule-card-title h2 {
  margin: 0;
  color: #222;
  font-size: 20px;
  line-height: 1.2;
}

.yz-schedule-card-title em {
  padding: 3px 7px;
  background: #eef5ff;
  color: #1d61ad;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.yz-schedule-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.yz-schedule-card-meta b {
  color: #45596e;
  font-size: 12px;
  font-weight: 800;
}

.yz-schedule-card-body p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 12px;
  line-height: 1.5;
}

.yz-schedule-room-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.yz-schedule-room-strip span {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  background: #fff7f7;
  border: 1px solid #ffdada;
  border-radius: 7px;
}

.yz-schedule-room-strip b {
  color: #324252;
  font-size: 12px;
}

.yz-schedule-room-strip em {
  color: var(--bk-red);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.yz-schedule-card-side {
  display: grid;
  justify-items: end;
  gap: 5px;
  text-align: right;
}

.yz-schedule-card-side small {
  color: #777;
  font-size: 12px;
}

.yz-schedule-card-side strong {
  color: var(--bk-red);
  font-size: 22px;
  line-height: 1;
  white-space: nowrap;
}

.yz-schedule-table-wrap {
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-schedule-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.yz-schedule-table th,
.yz-schedule-table td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--bk-line);
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
}

.yz-schedule-table th {
  background: #f8fbff;
  color: #1a4f93;
}

.yz-schedule-table td strong,
.yz-schedule-table td b {
  color: var(--bk-red);
}

.yz-schedule-table td small {
  display: block;
  margin-top: 3px;
  color: #789;
  font-size: 12px;
}

.yz-routes-main {
  padding-bottom: 18px;
}

.yz-routes-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(150px, 0.7fr) minmax(140px, 0.6fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-routes-toolbar label {
  display: grid;
  gap: 6px;
  color: #42526a;
  font-size: 12px;
  font-weight: 900;
}

.yz-routes-toolbar input,
.yz-routes-toolbar select {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #d8e1ee;
  border-radius: 6px;
  color: #1d2733;
  font-size: 14px;
}

.yz-routes-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.yz-routes-summary span {
  display: grid;
  gap: 2px;
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-routes-summary b {
  color: var(--bk-red);
  font-size: 20px;
  line-height: 1.1;
}

.yz-routes-summary em {
  color: var(--bk-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.yz-routes-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.yz-route-group {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
}

.yz-route-group + .yz-route-group {
  margin-top: 10px;
}

.yz-route-group-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;
}

.yz-route-group-head h2 {
  margin: 0;
  color: #17233a;
  font-size: 22px;
}

.yz-route-group-head span {
  color: var(--bk-muted);
  font-size: 13px;
  font-weight: 800;
}

.yz-routes-grid-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.yz-route-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-route-card > span {
  color: #1a4f93;
  font-size: 12px;
  font-weight: 800;
}

.yz-route-card-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 4px 8px;
  background: #eef5ff;
  color: #1d61ad;
  border-radius: 999px;
}

.yz-route-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.yz-route-meta span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-route-meta b {
  color: var(--bk-red);
  font-size: 20px;
}

.yz-route-meta em {
  color: var(--bk-muted);
  font-size: 12px;
  font-style: normal;
}

.yz-route-card h2 {
  margin: 0;
  color: #222;
  font-size: 24px;
}

.yz-route-card p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-route-card strong {
  color: var(--bk-red);
  font-size: 24px;
}

.yz-route-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.yz-route-card-pro {
  align-content: start;
  border-top: 4px solid #1d61ad;
}

.yz-route-subtitle {
  color: #345;
  font-weight: 800;
}

.yz-route-shipline {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  background: #fffaf2;
  border: 1px solid #f2dfbc;
  border-radius: 8px;
}

.yz-route-shipline b {
  color: #9a4b00;
  font-size: 12px;
}

.yz-route-shipline span {
  color: #4b4b4b;
  font-size: 13px;
  line-height: 1.45;
}

.yz-route-sailings {
  display: grid;
  gap: 6px;
}

.yz-route-sailings a {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-route-sailings span {
  color: var(--bk-red);
  font-size: 12px;
  font-weight: 900;
}

.yz-route-sailings strong {
  min-width: 0;
  color: #222;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yz-route-sailings em {
  color: var(--bk-red);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.yz-route-price-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding-top: 4px;
}

.yz-route-price-row small {
  color: #777;
  font-size: 12px;
}

.yz-ships-main {
  padding-bottom: 18px;
}

.yz-ships-toolbar {
  display: grid;
  grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-ships-toolbar label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-ships-toolbar input,
.yz-ships-toolbar select {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

.yz-ships-quick-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.yz-ships-quick-tabs button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #d8e2ef;
  border-radius: 999px;
  background: #fff;
  color: #1d61ad;
  font-size: 13px;
  font-weight: 900;
}

.yz-ships-quick-tabs button.is-active {
  border-color: #c5161d;
  background: #fff4f1;
  color: #c5161d;
}

.yz-ships-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}

.yz-ships-summary span {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #fff, #f7fbff);
  border: 1px solid #dce8f5;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(15, 45, 75, 0.04);
}

.yz-ships-summary small {
  color: #65758a;
  font-size: 12px;
  font-weight: 800;
}

.yz-ships-summary b {
  color: #1e4169;
  font-size: 19px;
  line-height: 1.1;
}

.yz-ships-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 100%;
  min-width: 0;
}

.yz-ship-list-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-width: 0;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-ship-loading-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-height: 190px;
  overflow: hidden;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-ship-loading-card i,
.yz-ship-loading-card b,
.yz-ship-loading-card em,
.yz-ship-loading-card strong {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background:
    linear-gradient(105deg, rgba(255,255,255,0) 24%, rgba(255,255,255,.78) 46%, rgba(255,255,255,0) 68%),
    linear-gradient(180deg, #f5f8fb 0%, #e9f1f7 100%);
  background-size: 220% 100%, 100% 100%;
  animation: yz-ship-loading-sheen 1.2s cubic-bezier(.16, 1, .3, 1) infinite;
}

.yz-ship-loading-card i {
  min-height: 190px;
  border-radius: 0;
}

.yz-ship-loading-card span {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 16px 14px;
}

.yz-ship-loading-card b {
  width: 46%;
  height: 14px;
}

.yz-ship-loading-card em {
  width: 82%;
  height: 24px;
}

.yz-ship-loading-card strong {
  width: 58%;
  height: 18px;
}

@keyframes yz-ship-loading-sheen {
  0% { background-position: 160% 0, 0 0; }
  100% { background-position: -60% 0, 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  .yz-ship-loading-card i,
  .yz-ship-loading-card b,
  .yz-ship-loading-card em,
  .yz-ship-loading-card strong {
    animation: none;
  }
}

.yz-ship-list-card img {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  display: block;
}

.yz-ship-list-card > img {
  inline-size: 100%;
  max-inline-size: 100%;
}

.yz-ship-list-body {
  display: grid;
  gap: 8px;
  padding: 12px;
  min-width: 0;
  align-content: start;
}

.yz-ship-list-kicker {
  color: #1a4f93;
  font-size: 12px;
  font-weight: 800;
}

.yz-ship-list-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.yz-ship-list-badges i {
  padding: 4px 7px;
  background: #eef5ff;
  color: #1d61ad;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.yz-ship-list-body span {
  color: #1a4f93;
  font-size: 12px;
  font-weight: 800;
}

.yz-ship-list-body h2 {
  margin: 0;
  color: #222;
  font-size: 22px;
}

.yz-ship-list-body p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-ship-list-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.yz-ship-list-facts span {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 7px;
  color: #51677d;
  font-size: 11px;
  line-height: 1.2;
  min-width: 0;
}

.yz-ship-list-facts b {
  color: var(--bk-red);
  font-size: 18px;
  line-height: 1;
}

.yz-ship-list-body strong {
  color: var(--bk-red);
  font-size: 24px;
}

.yz-maintain-main {
  padding-bottom: 18px;
}

.yz-maintain-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 12px;
  align-items: start;
}

.yz-maintain-card {
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-maintain-card h2 {
  margin: 0 0 8px;
  color: #222;
}

.yz-maintain-card p {
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.6;
}

.yz-maintain-card code {
  padding: 1px 5px;
  background: #eef5ff;
  color: #1a4f93;
  border-radius: 4px;
}

.yz-maintain-card textarea {
  width: 100%;
  min-height: 420px;
  padding: 12px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  font-family: Consolas, "Courier New", monospace;
  font-size: 13px;
  line-height: 1.5;
  box-sizing: border-box;
  resize: vertical;
}

.yz-maintain-status {
  display: grid;
  gap: 8px;
}

.yz-maintain-status div {
  display: grid;
  gap: 3px;
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-maintain-status strong {
  color: var(--bk-red);
  font-size: 22px;
}

.yz-maintain-status span {
  color: var(--bk-muted);
  font-size: 12px;
}

.yz-maintain-preview-card {
  margin-top: 12px;
}

.yz-maintain-preview-wrap {
  overflow-x: auto;
}

.yz-maintain-preview-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

.yz-maintain-preview-table th,
.yz-maintain-preview-table td {
  padding: 10px;
  border-bottom: 1px solid var(--bk-line);
  text-align: left;
  font-size: 13px;
}

.yz-maintain-preview-table th {
  background: #f8fbff;
  color: #1a4f93;
}

.yz-maintain-preview-table b {
  color: var(--bk-red);
}

  .yz-booking-hero-copy p {
    font-size: 12px;
  }

  .yz-booking-hero-banner {
    order: 1;
  }

  .yz-booking-hero-banner img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    display: block;
    border-radius: 0;
  }

  .yz-booking-hero-actions {
    justify-content: center;
    margin-top: 14px;
  }

  .yz-booking-hero-actions a {
    min-height: 36px;
    padding: 0 14px;
  }

  .yz-booking-search,
  .yz-booking-section {
    padding: 8px 0;
  }

  .yz-booking-search {
    margin-top: 0;
    min-height: 0;
    padding-top: 0;
  }

  .yz-section-head {
    align-items: center;
  }

  .yz-section-head.center {
    display: none;
  }

  .yz-section-head h2 {
    font-size: 18px;
  }

  .yz-booking-search-card {
    width: calc(100% - 20px);
    min-height: 170px;
    margin: 8px auto 14px;
    padding: 0 8% 6px;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 0 10px #dedede;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
  }

  .yz-booking-announcement {
    width: auto;
    margin: 6px 0 0;
    padding: 4px 5px;
    border: 0;
    border-left: 3px solid #ffb300;
    border-radius: 8px;
    background: #fff8e1;
    box-shadow: none;
    font-size: 12px;
  }

  .yz-booking-search-grid {
    grid-template-columns: 40% 20% 40%;
    gap: 0;
  }

  .booking-field span {
    display: none;
  }

  #bookingStart,
  #bookingEnd {
    min-height: 38px;
    border-width: 0 0 1px;
    border-radius: 0;
    text-align: center;
    font-size: 19px;
    font-weight: 900;
    color: #111;
    background: #fff;
  }

  .yz-booking-swap {
    align-self: end;
    width: 36px;
    height: 36px;
    min-height: 36px;
    margin: 0 auto 6px;
    border-radius: 999px;
    border-color: #1e67bb;
    color: #1e67bb;
    background: #fff;
  }

  .booking-date-display {
    display: grid;
    min-height: 40px;
    padding: 3px 0 4px;
    border-width: 0 0 1px;
    border-radius: 0;
    place-items: center;
    text-align: center;
  }

  .booking-date-display strong {
    font-size: 19px;
    line-height: 1.15;
    font-weight: 900;
  }

  .booking-date-display small {
    margin-top: 2px;
    color: #777;
    font-size: 13px;
    font-weight: 700;
  }

  #bookingDate {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 1px;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
  }

  #bookingShip {
    min-height: 44px;
  }

  .yz-booking-search-card.is-ship-mode .booking-field:not(.booking-field-ship) {
    display: none;
  }

  .yz-booking-search-card.is-ship-mode .yz-booking-swap,
  .yz-booking-search-card.is-ship-mode .yz-booking-routes {
    display: none;
  }

  .yz-booking-search-card.is-ship-mode .yz-booking-search-grid {
    grid-template-columns: 1fr;
  }

  .yz-booking-search-card.is-ship-mode #bookingShip {
    min-height: 56px;
    border-width: 0 0 1px;
    border-radius: 0;
    font-size: 18px;
    font-weight: 800;
  }

  .booking-field-date,
  .booking-field-ship,
  .yz-booking-submit {
    grid-column: 1 / -1;
  }

  .booking-field input,
  .booking-field select {
    min-height: 38px;
  }

  .yz-booking-tabs button {
    min-height: 40px;
    font-size: 14px;
    background: #f3f3f3;
    color: #111;
  }

  .yz-booking-tabs {
    width: auto;
    margin: 0 -10% 12px;
    border: 0;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
  }

  .yz-booking-tabs button.is-active {
    background: #fff;
    color: #1a6dcc;
    box-shadow: none;
  }

  .yz-booking-submit {
    width: 100%;
    min-height: 38px;
    margin: 8px 0 0;
    border-radius: 12px;
    background: linear-gradient(to right, #1a6dcc, #2a8af0);
    font-size: 16px;
    letter-spacing: 7px;
    box-shadow: 0 4px 12px rgba(26, 109, 204, 0.3);
  }

  .yz-booking-routes {
    gap: 5px;
    margin-top: 2px;
  }

  .yz-booking-routes span {
    width: 100%;
  }

  .yz-booking-routes button {
    min-height: 30px;
    padding: 0 9px;
    border: 0;
    background: #f2f7ff;
    color: #1d61ad;
  }

  .yz-booking-month-tools,
  .yz-booking-level-tools,
  .yz-booking-result-tools {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .yz-booking-month-tools button,
  .yz-booking-level-tools button,
  .yz-booking-result-tools button {
    flex: 0 0 auto;
  }

  .yz-booking-featured-grid,
  .yz-booking-faq-grid {
    grid-template-columns: 1fr;
  }

  #featured {
    padding-top: 18px;
  }

  .yz-booking-help-card {
    display: grid;
    padding: 12px;
  }

  .yz-booking-action-grid {
    grid-template-columns: 1fr;
  }

  .yz-order-status-grid {
    grid-template-columns: 1fr;
  }

  .yz-booking-mini-form {
    padding: 12px;
  }

  .yz-order-actions {
    flex-direction: column;
  }

  .yz-booking-featured-card {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .yz-booking-featured-card img {
    height: 100%;
    min-height: 110px;
  }

  .yz-booking-featured-body strong {
    font-size: 16px;
  }

  .yz-booking-result-card {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
  }

  .yz-booking-result-side {
    grid-column: 1 / -1;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: start;
    text-align: left;
    border-top: 1px solid #eee;
    padding-top: 8px;
  }

  .yz-booking-result-side strong {
    font-size: 19px;
  }

  .yz-booking-card-action {
    justify-self: end;
  }

  .yz-booking-fleet-grid-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-booking-fleet-card img {
    height: 92px;
  }

  .yz-booking-footer-grid {
    display: grid;
  }

  .yz-booking-mobile-icons {
    padding: 0 0 6px;
  }

  .yz-booking-mobile-icon-grid {
    width: 100%;
    margin: 0 auto;
    grid-template-columns: repeat(4, 25%);
    gap: 0;
    padding: 8px 4px 0;
    background: #fff;
    box-sizing: border-box;
    overflow: hidden;
  }

  .yz-booking-mobile-icon-grid span {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 17px;
    box-shadow: 2px 2px 5px #ddd;
  }

  .yz-booking-mobile-icon-grid strong {
    margin-top: 2px;
    font-size: 10px;
    font-weight: 400;
    max-width: 100%;
    white-space: nowrap;
  }

  .yz-booking-mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    background: #1356b1;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 -3px 14px rgba(0, 0, 0, 0.18);
  }

  .yz-booking-mobile-nav a {
    display: grid;
    place-items: center;
    min-height: 50px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
  }

  .yz-booking-mobile-nav a.is-active {
    background: #ff7200;
    color: #fff;
  }

  .page-booking-detail .yz-booking-mobile-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .page-booking-detail .yz-booking-mobile-nav a:last-child {
    background: #ff7200;
    font-size: 12px;
  }

  .yz-booking-footer {
    padding-bottom: 14px;
  }

  .yz-booking-detail-hero {
    padding: 8px 0;
  }

  .yz-detail-top-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .yz-detail-photo {
    order: 1;
  }

  .yz-detail-photo img {
    min-height: 180px;
  }

  .yz-detail-title-card {
    order: 2;
    padding: 12px;
    border-radius: 0 0 10px 10px;
  }

  .yz-detail-title-card h1 {
    font-size: 22px;
    line-height: 1.15;
  }

  .yz-detail-title-card p {
    font-size: 13px;
    line-height: 1.45;
  }

  .yz-detail-tags {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-top: 8px;
  }

  .yz-detail-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .yz-detail-tabs a {
    flex: 0 0 auto;
  }

  .yz-detail-tags span {
    flex: 0 0 auto;
    padding: 4px 7px;
  }

  .yz-detail-price-box {
    order: 3;
    grid-column: auto;
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .yz-detail-price-box strong {
    font-size: 28px;
  }

  .yz-detail-price-box dl div {
    padding: 8px 9px;
  }

  .yz-detail-price-box dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-detail-layout {
    grid-template-columns: 1fr;
  }

  .yz-detail-main-card,
  .yz-detail-order-card {
    padding: 12px;
    border-radius: 12px;
  }

  .yz-detail-order-section {
    margin-right: -2px;
    margin-left: -2px;
    padding: 12px;
  }

  .yz-detail-order-inline {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .yz-detail-order-inline .yz-order-form {
    grid-template-columns: 1fr;
  }

  .yz-detail-main-card {
    order: 1;
  }

  .yz-detail-order-card {
    order: 2;
    position: static;
  }

  .yz-booking-back {
    order: 3;
  }

  .yz-detail-section-head {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .yz-detail-section-head > span {
    width: 28px;
    height: 28px;
  }

  .yz-detail-section-head h2 {
    font-size: 18px;
  }

  .yz-detail-choice-grid,
  .yz-detail-notes {
    grid-template-columns: 1fr;
  }

  .yz-detail-room-list,
  .yz-detail-schedule-list {
    gap: 8px;
  }

  .yz-booking-room-card,
  .yz-booking-schedule-row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 10px;
  }

  .yz-booking-room-card > img {
    height: 150px;
  }

  .yz-booking-room-specs {
    gap: 5px;
  }

  .yz-booking-room-specs i {
    font-size: 10px;
  }

  .yz-booking-ship-bullets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-booking-room-card em,
  .yz-booking-schedule-row strong {
    font-size: 19px;
  }

  .yz-booking-room-card a {
    width: 100%;
    min-height: 38px;
    font-size: 13px;
  }

  .yz-booking-summary {
    margin-bottom: 10px;
    padding: 12px;
  }

  .yz-booking-summary > strong {
    font-size: 18px;
  }

  .yz-order-form textarea {
    min-height: 74px;
  }

  .yz-booking-detail-content {
    padding-bottom: 76px;
  }

  .yz-booking-detail-summary {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 0 12px 2px;
    box-sizing: border-box;
  }

  .yz-booking-detail-summary div {
    flex: 0 0 122px;
    padding: 8px;
  }

  .yz-booking-detail-summary strong {
    font-size: 14px;
  }

  .yz-booking-detail-summary div:nth-child(2) strong {
    font-size: 18px;
  }

  .yz-booking-choice-list {
    flex-wrap: wrap;
    overflow-x: visible;
    padding-bottom: 2px;
  }

  .yz-booking-choice {
    flex: 1 1 auto;
    min-width: max-content;
  }

  .yz-order-form label {
    gap: 4px;
    font-size: 12px;
  }

  .yz-order-form input,
  .yz-order-form textarea {
    min-height: 40px;
    border-radius: 8px;
  }

  .yz-order-submit {
    min-height: 42px;
    border-radius: 10px;
    font-size: 16px;
  }

  .yz-booking-back {
    display: flex;
    width: 100%;
    margin-top: 8px;
  }

  .yz-order-page-layout {
    grid-template-columns: 1fr;
  }

  .yz-order-page-card {
    padding: 12px;
    border-radius: 12px;
  }

  .yz-order-page-hero h1 {
    font-size: 24px;
  }

  .yz-compare-toolbar {
    grid-template-columns: 1fr;
  }

  .yz-compare-grid {
    grid-template-columns: 1fr;
  }

  .yz-compare-card {
    grid-template-columns: 116px minmax(0, 1fr);
  }

  .yz-compare-card img {
    min-height: 150px;
  }

  .yz-compare-card-body {
    padding: 10px;
  }

  .yz-compare-card-body h2 {
    font-size: 18px;
  }

  .yz-compare-card-body strong {
    font-size: 20px;
  }

  .yz-compare-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }

  .yz-compare-facts span {
    padding: 6px 5px;
    font-size: 10px;
  }

  .yz-compare-summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .yz-compare-summary article {
    padding: 10px;
  }

  .yz-order-flow {
    grid-template-columns: 1fr;
  }

  .yz-order-record-pro div {
    display: grid;
  }

  .yz-schedule-toolbar {
    grid-template-columns: 1fr;
  }

  .yz-schedule-query-hero {
    padding: 8px 0 10px;
  }

  .yz-schedule-query-wrap,
  .yz-schedule-results-shell {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .yz-schedule-query-copy,
  .yz-schedule-query-card,
  .yz-schedule-filter-card,
  .yz-schedule-results-main {
    padding: 12px;
    border-radius: 12px;
  }

  .yz-schedule-query-copy h1,
  .yz-schedule-result-head h2 {
    font-size: 22px;
  }

  .yz-schedule-query-row {
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
  }

  .yz-schedule-query-row label:nth-of-type(3),
  .yz-schedule-query-row label:nth-of-type(4),
  .yz-schedule-query-row .yz-booking-submit {
    grid-column: 1 / -1;
  }

  .yz-schedule-filter-card {
    position: static;
  }

  .yz-schedule-result-head {
    display: grid;
  }

  .yz-schedule-room-strip {
    grid-template-columns: 1fr;
  }

  .page-booking-schedule .yz-schedule-table-wrap {
    display: none;
  }

  .yz-schedule-card-list {
    gap: 8px;
  }

  .yz-schedule-card-pro {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    padding: 9px;
    border-radius: 8px;
  }

  .yz-schedule-card-image img {
    height: 112px;
  }

  .yz-schedule-card-title {
    gap: 5px;
  }

  .yz-schedule-card-title h2 {
    width: 100%;
    font-size: 17px;
  }

  .yz-schedule-card-meta {
    gap: 3px;
  }

  .yz-schedule-card-meta b {
    display: block;
    width: 100%;
    font-size: 11px;
  }

  .yz-schedule-card-body p {
    display: none;
  }

  .yz-schedule-card-side {
    grid-column: 1 / -1;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: start;
    padding-top: 8px;
    border-top: 1px solid #eee;
    text-align: left;
  }

  .yz-schedule-card-side strong {
    font-size: 20px;
  }

  .yz-routes-grid {
    grid-template-columns: 1fr;
  }

  .yz-routes-toolbar {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .yz-routes-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-routes-grid-inner {
    grid-template-columns: 1fr;
  }

  .yz-route-group-head h2 {
    font-size: 19px;
  }

  .yz-route-card-pro {
    gap: 7px;
    padding: 12px;
  }

  .yz-route-card h2 {
    font-size: 21px;
  }

  .yz-route-sailings a {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .yz-route-sailings em {
    grid-column: 2;
  }

  .yz-route-sailings a:nth-child(n + 3) {
    display: none;
  }

  .yz-ships-toolbar {
    grid-template-columns: 1fr;
  }

  .yz-ships-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-ships-quick-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 3px;
    -webkit-overflow-scrolling: touch;
  }

  .yz-ships-quick-tabs button {
    flex: 0 0 auto;
  }

  .yz-ships-grid {
    grid-template-columns: 1fr;
  }

  .yz-ship-list-card {
    grid-template-columns: 116px minmax(0, 1fr);
  }

  .yz-ship-list-card img {
    min-height: 150px;
  }

  .yz-ship-list-body h2 {
    font-size: 18px;
  }

 
.yz-ship-list-thumb {
  display: block;
  width: 164px;
  min-width: 164px;
  overflow: hidden;
  background: #eef4fb;
}

.yz-ship-list-thumb img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  display: block;
}

.yz-ship-list-route {
  color: #41556f;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.yz-ship-list-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 2px;
}

.yz-ship-list-facts span {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #f7fbff;
  border: 1px solid #d9e8f8;
}

.yz-ship-list-facts b {
  color: #577089;
  font-size: 11px;
  line-height: 1;
}

.yz-ship-list-facts em {
  color: #d62f25;
  font-style: normal;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
}

.yz-ship-list-cta {
  display: inline-flex;
  align-self: start;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #edf4ff;
  color: #165eb0;
  font-size: 12px;
  font-weight: 800;
}
 .yz-ship-list-body strong {
    font-size: 20px;
  }

  .yz-maintain-layout {
    grid-template-columns: 1fr;
  }

  .yz-maintain-card textarea {
    min-height: 300px;
  }
}

/* Detail enhancement: keeps the booking detail page closer to a ticketing flow. */
.page-booking-detail .yz-detail-body {
  padding: 12px 0 20px;
}

.page-booking-detail .yz-detail-top {
  background: #f3f6fb;
}

.page-booking-detail .yz-detail-title-card {
  background:
    linear-gradient(90deg, rgba(23, 83, 145, 0.92), rgba(19, 104, 184, 0.78)),
    var(--hero-image, url("../../../assets/images/hero-home-cruise-aerial.jpg")) center / cover no-repeat;
}

.page-booking-detail .yz-booking-choice {
  gap: 6px;
  cursor: pointer;
}

.page-booking-detail .yz-booking-choice b {
  color: inherit;
  font-size: 12px;
}

.yz-detail-room-pro {
  grid-template-columns: 150px minmax(0, 1fr) 118px 86px;
}

.yz-detail-room-pro button {
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  background: var(--bk-red);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.yz-detail-room-pro a.is-active,
.yz-detail-room-pro a:hover,
.yz-detail-room-pro button.is-active,
.yz-detail-room-pro button:hover {
  background: #b90f16;
  color: #fff;
}

.yz-detail-room-pro.is-active {
  border-color: var(--bk-red);
  box-shadow: inset 3px 0 0 var(--bk-red);
}

.page-booking-detail .yz-detail-order-card {
  border-top: 4px solid var(--bk-red);
}

.page-booking-detail .yz-order-form label {
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.page-booking-detail .yz-order-form input,
.page-booking-detail .yz-order-form textarea {
  border-radius: 6px;
}

.page-booking-detail .yz-booking-schedule-row {
  grid-template-columns: minmax(0, 1fr) 112px;
}

@media (max-width: 768px) {
  .page-booking-detail .yz-detail-top {
    padding-top: 8px;
  }

  .page-booking-detail .yz-detail-price-box {
    gap: 8px;
  }

  .page-booking-detail .yz-detail-price-box dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-booking-detail .yz-detail-choice-card {
    padding: 9px;
  }

  .yz-detail-room-pro {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .yz-detail-room-pro > img {
    min-height: 118px;
    height: 118px;
  }

  .yz-detail-room-pro em,
  .yz-detail-room-pro a {
    grid-column: 1 / -1;
  }

  .yz-detail-room-pro em {
    font-size: 20px;
  }

  .page-booking-detail .yz-booking-schedule-row {
    grid-template-columns: minmax(0, 1fr) 92px;
  }

  .page-booking-detail .yz-booking-schedule-row strong {
    font-size: 17px;
    text-align: right;
  }
}

/* Detail page reset: one clean ticketing layout instead of stacked nested cards. */
.page-booking-detail .yz-detail-top {
  padding: 14px 0;
  background: #eef3f9;
}

.page-booking-detail .yz-detail-top-grid {
  grid-template-columns: 260px minmax(0, 1fr) 280px;
  gap: 10px;
  align-items: stretch;
}

.page-booking-detail .yz-detail-photo,
.page-booking-detail .yz-detail-title-card,
.page-booking-detail .yz-detail-price-box,
.page-booking-detail .yz-detail-main-card,
.page-booking-detail .yz-detail-order-card {
  border-radius: 8px;
  box-shadow: none;
}

.page-booking-detail .yz-detail-photo img {
  min-height: 218px;
  height: 100%;
}

.page-booking-detail .yz-detail-title-card {
  min-height: 218px;
  padding: 18px;
  background: #16599f;
}

.page-booking-detail .yz-detail-title-card h1 {
  font-size: 28px;
}

.page-booking-detail .yz-detail-price-box {
  grid-column: auto;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 8px;
  padding: 16px;
}

.page-booking-detail .yz-detail-price-box strong {
  font-size: 30px;
}

.page-booking-detail .yz-detail-price-box p {
  font-size: 12px;
}

.page-booking-detail .yz-detail-price-box dl {
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.page-booking-detail .yz-detail-price-box dl div {
  gap: 3px;
  padding: 7px 8px;
}

.page-booking-detail .yz-detail-body {
  padding: 12px 0 22px;
  background: #f6f8fb;
}

.page-booking-detail .yz-detail-layout {
  grid-template-columns: minmax(0, 1fr) 318px;
  gap: 12px;
}

.page-booking-detail .yz-detail-main-card,
.page-booking-detail .yz-detail-order-card {
  padding: 14px;
}

.page-booking-detail .yz-detail-section {
  margin-top: 12px;
  padding-top: 12px;
}

.page-booking-detail .yz-detail-section-head {
  margin-bottom: 8px;
}

.page-booking-detail .yz-detail-section-head h2 {
  font-size: 20px;
}

.page-booking-detail .yz-detail-alert {
  margin: 8px 0;
  padding: 9px 10px;
}

.page-booking-detail .yz-detail-choice-grid {
  grid-template-columns: 0.95fr 1.1fr 1.35fr;
  gap: 8px;
}

.page-booking-detail .yz-detail-choice-card {
  padding: 9px;
  border-radius: 7px;
}

.page-booking-detail .yz-detail-choice-card > strong {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.page-booking-detail .yz-detail-choice-card > strong small {
  color: #7b8a9a;
  font-size: 11px;
  font-weight: 700;
}

.page-booking-detail .yz-detail-room-list {
  gap: 8px;
}

.page-booking-detail .yz-detail-room-pro {
  grid-template-columns: 118px minmax(0, 1fr) 112px 82px;
  gap: 10px;
  padding: 9px;
  border-radius: 7px;
}

.page-booking-detail .yz-detail-room-pro > img {
  height: 86px;
  border-radius: 6px;
}

.page-booking-detail .yz-detail-room-pro strong {
  font-size: 16px;
}

.page-booking-detail .yz-detail-room-pro span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.page-booking-detail .yz-detail-room-pro .yz-booking-room-price {
  align-self: stretch;
  align-content: center;
}

.page-booking-detail .yz-detail-room-pro em {
  font-size: 18px;
  text-align: right;
}

.page-booking-detail .yz-detail-room-pro button {
  align-self: center;
  min-height: 34px;
}

.page-booking-detail .yz-detail-room-pro.is-active {
  background: #fff8f8;
}

.page-booking-detail .yz-detail-order-card {
  top: 10px;
}

.page-booking-detail .yz-booking-summary {
  border-radius: 8px;
}

.page-booking-detail .yz-order-submit {
  background: #c5161d;
}

.page-booking-detail #detailDateChoices {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 0 6px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.page-booking-detail #detailDateChoices::-webkit-scrollbar {
  display: none;
}

.page-booking-detail .yz-detail-choice-card:has(#detailDateChoices) {
  position: relative;
}

.page-booking-detail #detailDateChoices .yz-booking-choice {
  flex: 0 0 auto;
  min-width: 92px;
  scroll-snap-align: start;
}

@media (max-width: 768px) {
  .page-booking-detail .yz-detail-top {
    padding: 0 0 6px;
  }

  .page-booking-detail .yz-detail-top-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 10px;
  }

  .page-booking-detail .yz-detail-photo {
    border-radius: 0;
    border-width: 0 0 1px;
  }

  .page-booking-detail .yz-detail-photo img {
    min-height: 138px;
    height: 138px;
  }

  .page-booking-detail .yz-detail-title-card {
    min-height: 0;
    padding: 10px;
    border-width: 0 1px 1px;
    border-radius: 0;
    background: #145aa2;
  }

  .page-booking-detail .yz-detail-title-card h1 {
    font-size: 19px;
    line-height: 1.25;
  }

  .page-booking-detail .yz-detail-title-card p {
    font-size: 11px;
    line-height: 1.45;
  }

  .page-booking-detail .yz-detail-tags span:nth-child(n + 4) {
    display: none;
  }

  .page-booking-detail .yz-detail-hero-actions {
    display: none;
  }

  .page-booking-detail .yz-detail-price-box {
    padding: 8px 10px;
    border-width: 0 1px 1px;
    border-radius: 0 0 8px 8px;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .page-booking-detail .yz-detail-price-box strong {
    font-size: 24px;
  }

  .page-booking-detail .yz-detail-price-box p {
    display: none;
  }

  .page-booking-detail .yz-detail-price-box dl {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
  }

  .page-booking-detail .yz-detail-price-box dl div {
    gap: 2px;
    padding: 5px 4px;
    text-align: center;
  }

  .page-booking-detail .yz-detail-price-box dt {
    font-size: 10px;
  }

  .page-booking-detail .yz-detail-price-box dd {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-booking-detail .yz-detail-body {
    padding-bottom: 70px;
  }

  .page-booking-detail .yz-detail-layout {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 0 10px;
  }

  .page-booking-detail .yz-detail-main-card,
  .page-booking-detail .yz-detail-order-card {
    padding: 8px;
    border-radius: 8px;
  }

  .page-booking-detail .yz-detail-alert {
    padding: 8px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.5;
  }

  .page-booking-detail .yz-detail-section-head {
    grid-template-columns: 26px minmax(0, 1fr);
  }

  .page-booking-detail .yz-detail-section-head > span {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    font-size: 12px;
  }

  .page-booking-detail .yz-detail-section-head h2 {
    font-size: 16px;
  }

  .page-booking-detail .yz-detail-section-head p {
    font-size: 11px;
  }

  .page-booking-detail .yz-detail-choice-grid {
    grid-template-columns: 1fr;
  }

  .page-booking-detail .yz-detail-choice-card {
    padding: 7px;
  }

  .page-booking-detail #detailDateChoices {
    margin-right: -8px;
    padding-bottom: 7px;
  }

  .page-booking-detail #detailDateChoices .yz-booking-choice {
    min-width: 78px;
  }

  .page-booking-detail .yz-detail-room-pro {
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: start;
    gap: 7px;
    padding: 8px;
    border-radius: 8px;
  }

  .page-booking-detail .yz-detail-room-pro > img {
    height: 78px;
    min-height: 78px;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main {
    min-width: 0;
  }

  .page-booking-detail .yz-detail-room-pro em {
    font-size: 15px;
  }

  .page-booking-detail .yz-detail-room-pro strong {
    font-size: 14px;
  }

  .page-booking-detail .yz-detail-room-pro span,
  .page-booking-detail .yz-booking-room-specs dt,
  .page-booking-detail .yz-booking-room-specs dd {
    font-size: 11px;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price,
  .page-booking-detail .yz-detail-room-pro button {
    grid-column: 2 / -1;
    justify-items: start;
    width: auto;
    min-height: 32px;
  }

  .page-booking-detail .yz-booking-room-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-booking-detail .yz-booking-room-specs div:nth-child(odd) {
    border-left: 0;
  }

  .page-booking-detail .yz-detail-notes > div,
  .page-booking-detail .yz-booking-ship-bullets span,
  .page-booking-detail .yz-booking-ship-profile dl div {
    padding: 8px;
  }

  .page-booking-detail .yz-detail-main-card > .yz-detail-section:nth-of-type(n + 6) {
    display: none;
  }
}

.page-booking-schedule .yz-schedule-card-list {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.page-booking-schedule .yz-schedule-card-pro {
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr) 132px;
  gap: 12px;
  align-items: center;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.page-booking-schedule .yz-schedule-card-image {
  display: block;
  width: 154px;
}

.page-booking-schedule .yz-schedule-card-image img {
  width: 100%;
  height: 104px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}

.page-booking-schedule .yz-schedule-card-body {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.page-booking-schedule .yz-schedule-card-side {
  display: grid;
  justify-items: end;
  gap: 5px;
  text-align: right;
}

@media (max-width: 768px) {
  .page-booking-schedule .yz-schedule-card-pro {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 7px;
    align-items: start;
    padding: 7px;
  }

  .page-booking-schedule .yz-schedule-card-image {
    width: 84px;
  }

  .page-booking-schedule .yz-schedule-card-image img {
    height: 78px;
  }

  .page-booking-schedule .yz-schedule-card-body {
    gap: 4px;
  }

  .page-booking-schedule .yz-schedule-card-title h2 {
    font-size: 14px;
    line-height: 1.18;
  }

  .page-booking-schedule .yz-schedule-card-title em,
  .page-booking-schedule .yz-schedule-room-strip,
  .page-booking-schedule .yz-schedule-card-body p {
    display: none;
  }

  .page-booking-schedule .yz-schedule-card-meta {
    gap: 2px;
  }

  .page-booking-schedule .yz-schedule-card-meta b {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-booking-schedule .yz-schedule-card-side {
    grid-column: 1 / -1;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: start;
    gap: 6px;
    padding-top: 5px;
    border-top: 1px solid #eee;
    text-align: left;
  }

  .page-booking-schedule .yz-schedule-card-side small {
    display: none;
  }

  .page-booking-schedule .yz-schedule-card-side strong {
    font-size: 17px;
  }

  .page-booking-schedule .yz-schedule-card-side .yz-booking-card-action,
  .page-booking-schedule .yz-schedule-card-side .yz-booking-secondary-action {
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px;
  }

  .page-booking-schedule .yz-schedule-card-side .yz-booking-secondary-action {
    display: none;
  }
}

/* Full booking detail sections. */
.page-booking-detail .yz-detail-tabs {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  gap: 6px;
  margin: -14px -14px 12px;
  padding: 8px 10px;
  overflow-x: auto;
  background: #fff;
  border-bottom: 1px solid var(--bk-line);
}

.page-booking-detail .yz-detail-tabs a {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f2f6fb;
  color: #1a4f93;
  font-size: 12px;
  font-weight: 900;
}

.yz-detail-itinerary {
  display: grid;
  gap: 8px;
}

.yz-detail-itinerary-row {
  display: grid;
  grid-template-columns: 72px 116px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

.yz-detail-itinerary-row b {
  display: inline-grid;
  place-items: center;
  min-height: 30px;
  border-radius: 6px;
  background: #1d61ad;
  color: #fff;
  font-size: 12px;
}

.yz-detail-itinerary-row strong {
  color: #222;
  font-size: 15px;
}

.yz-detail-itinerary-row p {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.55;
}

.yz-detail-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.yz-detail-gallery figure {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

.yz-detail-gallery img {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.yz-detail-gallery figcaption {
  padding: 8px;
  color: #333;
  font-size: 12px;
  font-weight: 800;
}

.yz-detail-facilities {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.yz-detail-facilities span {
  padding: 7px 9px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 999px;
  color: #49657f;
  font-size: 12px;
  font-weight: 800;
}

.yz-detail-facility-section .yz-detail-static-copy {
  margin-top: 12px;
}

.yz-detail-facility-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 6px;
}

.yz-detail-facility-gallery figure {
  overflow: hidden;
  margin: 0;
  background: #fff;
  border: 1px solid #e1ecf7;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(31, 87, 137, 0.08);
}

.yz-detail-facility-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.yz-detail-facility-gallery figcaption {
  padding: 8px 9px 9px;
  color: #173b62;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

@media (max-width: 640px) {
  .yz-detail-facility-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

.yz-detail-recommend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.yz-detail-recommend-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

.yz-detail-recommend-card:hover {
  border-color: #f3b2b2;
  background: #fffafa;
}

.yz-detail-recommend-card img {
  width: 92px;
  height: 70px;
  object-fit: cover;
  border-radius: 6px;
}

.yz-detail-recommend-card span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.yz-detail-recommend-card strong {
  overflow: hidden;
  color: #222;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yz-detail-recommend-card small {
  color: var(--bk-muted);
  font-size: 12px;
  line-height: 1.4;
}

.yz-detail-recommend-card b {
  color: var(--bk-red);
  white-space: nowrap;
}

.yz-order-record-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.yz-order-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 10px 0;
  overflow: hidden;
  border: 1px solid #d6e8ec;
  border-radius: 10px;
}

.yz-order-progress span {
  display: grid;
  grid-template-rows: 38px 26px minmax(34px, auto);
  align-items: start;
  justify-items: center;
  min-width: 0;
  min-height: 140px;
  gap: 4px;
  padding: 14px 8px 12px;
  background: #fbfdff;
  border-right: 1px solid #d6e8ec;
  text-align: center;
}

.yz-order-progress span:last-child {
  border-right: 0;
}

.yz-order-progress b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  border-radius: 999px;
  background: #ff7400;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
}

.yz-order-progress strong {
  display: block;
  color: #061b3b;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.22;
}

.yz-order-progress small {
  display: block;
  max-width: 96px;
  color: #607083;
  font-size: 12px;
  line-height: 1.34;
}

.yz-order-progress span.is-active {
  background: #eef7ff;
  color: #1478d4;
}

.yz-order-progress span.is-active b {
  background: #ff7400;
  color: #fff;
}

.yz-order-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.yz-order-status-grid div {
  padding: 9px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

.yz-order-status-grid dt,
.yz-order-status-grid dd {
  margin: 0;
}

.yz-order-status-grid dt {
  color: var(--bk-muted);
  font-size: 12px;
}

.yz-order-status-grid dd {
  margin-top: 4px;
  color: #222;
  font-size: 13px;
  font-weight: 900;
}

.yz-booking-more-row {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}

.yz-submit-result-card {
  display: grid;
  gap: 8px;
}

.yz-submit-result-card strong {
  color: #16753a;
  font-size: 17px;
}

.yz-submit-result-card p {
  margin: 0;
  color: #254260;
  font-size: 13px;
  line-height: 1.55;
}

.yz-submit-result-card b {
  color: var(--bk-red);
  font-size: 18px;
}

.page-booking-deals .yz-deals-hero {
  background:
    linear-gradient(105deg, rgba(122, 22, 22, 0.92), rgba(197, 46, 38, 0.82)),
    url("../../../assets/images/hero-home-cruise-aerial.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-deals .yz-deals-hero h1,
.page-booking-deals .yz-deals-hero p,
.page-booking-deals .yz-deals-hero .yz-section-kicker {
  color: #fff;
}

.yz-deals-search-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-deals-search-panel label {
  display: grid;
  gap: 6px;
  color: #42526a;
  font-size: 12px;
  font-weight: 900;
}

.yz-deals-search-panel select,
.yz-deals-search-panel input {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #d8e1ee;
  border-radius: 6px;
  background: #fff;
  color: #1d2733;
  font-size: 14px;
}

.yz-deals-sortbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.yz-deals-sortbar button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #e6c1c1;
  border-radius: 999px;
  background: #fff;
  color: #9f2d24;
  font-weight: 900;
}

.yz-deals-sortbar button.is-active {
  background: var(--bk-red);
  border-color: var(--bk-red);
  color: #fff;
}

.yz-deals-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}

.yz-deals-summary span {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #fff, #fff8f6);
  border: 1px solid #f0d1ca;
  border-radius: 10px;
}

.yz-deals-summary small {
  color: #8a5148;
  font-size: 12px;
  font-weight: 900;
}

.yz-deals-summary b {
  color: #202833;
  font-size: 19px;
  line-height: 1.1;
}

.yz-deals-grid {
  display: grid;
  gap: 10px;
}

.yz-deal-card {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-deal-photo {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
}

.yz-deal-photo img {
  display: block;
  width: 100%;
  height: 126px;
  object-fit: cover;
}

.yz-deal-photo span {
  position: absolute;
  left: 8px;
  top: 8px;
  padding: 4px 8px;
  background: rgba(0, 0, 0, 0.58);
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.yz-deal-body {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.yz-deal-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.yz-deal-title h2 {
  margin: 0;
  color: #202833;
  font-size: 20px;
  line-height: 1.2;
}

.yz-deal-title strong {
  color: var(--bk-red);
  font-size: 24px;
  line-height: 1;
  white-space: nowrap;
}

.yz-deal-body p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0;
  color: #526173;
  font-size: 13px;
}

.yz-deal-body p b {
  color: #1d4f90;
}

.yz-deal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.yz-deal-tags i {
  padding: 5px 8px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 999px;
  color: #4f6680;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.page-booking-timetable .yz-timetable-hero {
  background:
    linear-gradient(105deg, rgba(24, 78, 135, 0.94), rgba(18, 116, 166, 0.82)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-timetable .yz-timetable-hero h1,
.page-booking-timetable .yz-timetable-hero p,
.page-booking-timetable .yz-timetable-hero .yz-section-kicker {
  color: #fff;
}

.yz-timetable-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  padding: 0;
}

.yz-timetable-toolbar label {
  display: grid;
  gap: 6px;
  color: #42526a;
  font-size: 12px;
  font-weight: 900;
}

.yz-timetable-toolbar select {
  height: 40px;
  padding: 0 10px;
  border: 1px solid #d8e1ee;
  border-radius: 6px;
  background: #fff;
  color: #1d2733;
  font-size: 14px;
}

.yz-timetable-month-control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.yz-timetable-month-control strong {
  display: grid;
  place-items: center;
  min-height: 40px;
  padding: 0 14px;
  background: #1d4f90;
  border: 1px solid #1d4f90;
  border-radius: 8px;
  color: #1d4f90;
  font-size: 18px;
}

.yz-timetable-month-control button,
.yz-timetable-month-control a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d4e0ee;
  border-radius: 8px;
  background: #fff;
  color: #1d4f90;
  font-weight: 900;
}

.yz-timetable-month-control button:disabled,
.yz-timetable-month-control a.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.yz-timetable-list {
  display: grid;
  gap: 8px;
}

.yz-timetable-day {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 8px;
}

.yz-timetable-date {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 14px 16px;
  background: #f4f8fd;
  border-right: 1px solid var(--bk-line);
}

.yz-timetable-date strong {
  color: #1d4f90;
  font-size: 18px;
}

.yz-timetable-date span {
  color: #697789;
  font-size: 12px;
  font-weight: 800;
}

.yz-timetable-ships {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
}

.yz-timetable-ships a {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 6px;
  align-items: center;
  min-height: 34px;
  padding: 7px 9px;
  background: #fff;
  border: 1px solid #e7edf5;
  border-radius: 999px;
}

.yz-timetable-ships a:hover {
  border-color: #f3b2b2;
  background: #fffafa;
}

.yz-timetable-ships a.yz-timetable-more {
  background: #fff8f4;
  border-color: #f1c4a7;
}

.yz-timetable-ships b {
  color: #202833;
  font-size: 13px;
}

.yz-timetable-ships span {
  color: #64748b;
  font-size: 12px;
}

.yz-timetable-ships em {
  display: grid;
  gap: 2px;
  justify-items: end;
  color: var(--bk-red);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.yz-timetable-ships em small {
  color: #1d4f90;
  font-size: 11px;
  font-weight: 900;
}

.page-booking-help .yz-help-hero {
  background:
    linear-gradient(105deg, rgba(29, 65, 106, 0.94), rgba(151, 50, 39, 0.78)),
    url("../../../assets/images/hero-home-cruise-aerial.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-help .yz-help-hero h1,
.page-booking-help .yz-help-hero p,
.page-booking-help .yz-help-hero .yz-section-kicker {
  color: #fff;
}

.page-booking-guides .yz-guide-hero {
  background:
    linear-gradient(105deg, rgba(28, 64, 110, 0.94), rgba(198, 58, 40, 0.78)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-guides .yz-guide-hero h1,
.page-booking-guides .yz-guide-hero p,
.page-booking-guides .yz-guide-hero .yz-section-kicker {
  color: #fff;
}

.yz-guide-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.yz-guide-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-guide-side {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-guide-side a {
  padding: 9px 10px;
  background: #f7faff;
  border: 1px solid #e2ebf6;
  border-radius: 6px;
  color: #1d4f90;
  font-size: 13px;
  font-weight: 900;
}

.yz-guide-content {
  display: grid;
  gap: 12px;
}

.yz-guide-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-guide-card h2,
.yz-guide-card h3,
.yz-guide-card p {
  margin: 0;
}

.yz-guide-card h2 {
  color: #202833;
  font-size: 24px;
  line-height: 1.25;
}

.yz-guide-card h3 {
  color: #1d4f90;
  font-size: 17px;
}

.yz-guide-card p,
.yz-guide-checklist {
  color: #526173;
  font-size: 14px;
  line-height: 1.75;
}

.yz-guide-link-grid,
.yz-guide-article-grid,
.yz-guide-faq-list {
  display: grid;
  gap: 10px;
}

.yz-guide-link-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yz-guide-link-grid a,
.yz-guide-article-grid article,
.yz-guide-faq-list article,
.yz-guide-warning {
  padding: 12px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-guide-link-grid a {
  color: #1d4f90;
  font-weight: 900;
  text-align: center;
}

.yz-guide-article-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yz-guide-article-grid article {
  display: grid;
  gap: 8px;
  align-content: start;
}

.yz-guide-article-grid a {
  color: var(--bk-red);
  font-size: 13px;
  font-weight: 900;
}

.yz-guide-checklist {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
}

.yz-guide-warning {
  background: #fff8ef;
  border-color: #f4d3ad;
  color: #8a4a00;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 800;
}

.yz-guide-faq-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.yz-guide-faq-list article {
  display: grid;
  gap: 6px;
}

.yz-help-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-help-side {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-help-side a {
  padding: 9px 10px;
  background: #f7faff;
  border: 1px solid #e2ebf6;
  border-radius: 6px;
  color: #1d4f90;
  font-size: 13px;
  font-weight: 900;
}

.yz-help-side a:hover {
  background: #fff8f8;
  border-color: #f1c2c2;
  color: var(--bk-red);
}

.yz-help-side a.is-active {
  background: #c5161d;
  border-color: #c5161d;
  color: #fff;
}

.yz-help-content {
  display: grid;
  gap: 12px;
}

.yz-help-block {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-help-block h2 {
  margin: 0 0 12px;
  color: #202833;
  font-size: 22px;
}

.yz-help-block article {
  padding: 12px 0;
  border-top: 1px dashed #dde7f2;
}

.yz-help-block article:first-of-type {
  border-top: 0;
}

.yz-help-block h3 {
  margin: 0 0 6px;
  color: #1d4f90;
  font-size: 16px;
}

.yz-help-block p {
  margin: 0;
  color: #526173;
  font-size: 14px;
  line-height: 1.75;
}

.yz-help-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.yz-help-steps span {
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
  color: #25364a;
  font-size: 13px;
  font-weight: 900;
}

.yz-help-steps b {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: var(--bk-red);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
}

.page-booking-series .yz-series-hero {
  background:
    linear-gradient(105deg, rgba(30, 68, 106, 0.94), rgba(28, 132, 153, 0.78)),
    url("../../../assets/images/banner3.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-series .yz-series-hero h1,
.page-booking-series .yz-series-hero p,
.page-booking-series .yz-series-hero .yz-section-kicker {
  color: #fff;
}

.yz-series-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.yz-series-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #d8e3f1;
  border-radius: 999px;
  background: #fff;
  color: #1d4f90;
  font-weight: 900;
}

.yz-series-tabs button small {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #eef4fb;
  color: #456173;
  font-size: 11px;
}

.yz-series-tabs button.is-active {
  background: var(--bk-red);
  border-color: var(--bk-red);
  color: #fff;
}

.yz-series-tabs button.is-active small {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.yz-series-list {
  display: grid;
  gap: 14px;
}

.yz-series-group {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-series-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: #f7fbff;
  border-bottom: 1px solid var(--bk-line);
}

.yz-series-group-head span {
  color: var(--bk-red);
  font-size: 12px;
  font-weight: 900;
}

.yz-series-group-head h2 {
  margin: 3px 0 0;
  color: #202833;
  font-size: 22px;
}

.yz-series-group-head p {
  margin: 0;
  color: #526173;
  font-size: 13px;
}

.yz-series-group-head b {
  color: var(--bk-red);
}

.yz-series-ship-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}

.yz-series-ship-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px;
  border: 1px solid #e6eef7;
  border-radius: 8px;
}

.yz-series-ship-card img {
  width: 96px;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
}

.yz-series-ship-card strong {
  display: block;
  color: #202833;
  font-size: 16px;
}

.yz-series-ship-card p,
.yz-series-ship-card span {
  display: block;
  overflow: hidden;
  margin: 4px 0 0;
  color: #64748b;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yz-series-ship-card em {
  color: var(--bk-red);
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.yz-series-ship-card .yz-route-actions {
  grid-column: 1 / -1;
}

.page-booking-route-detail .yz-route-detail-hero {
  background:
    linear-gradient(105deg, rgba(28, 72, 122, 0.94), rgba(22, 117, 155, 0.80)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-route-detail .yz-route-detail-hero h1,
.page-booking-route-detail .yz-route-detail-hero p,
.page-booking-route-detail .yz-route-detail-hero .yz-section-kicker {
  color: #fff;
}

.yz-route-detail-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-route-detail-summary,
.yz-route-detail-card {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-route-detail-summary strong {
  color: #202833;
  font-size: 20px;
}

.yz-route-detail-summary p {
  margin: 10px 0 14px;
  color: #526173;
  line-height: 1.7;
}

.yz-route-detail-summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.yz-route-detail-summary dl div {
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-route-detail-summary dt,
.yz-route-detail-summary dd {
  margin: 0;
}

.yz-route-detail-summary dt {
  color: #61748a;
  font-size: 12px;
}

.yz-route-detail-summary dd {
  margin-top: 4px;
  color: #202833;
  font-size: 15px;
  font-weight: 900;
}

.yz-route-detail-summary .yz-route-actions {
  grid-template-columns: 1fr 1fr;
}

.yz-route-detail-summary .yz-route-actions .yz-booking-secondary-action {
  white-space: nowrap;
}

.yz-route-detail-maincol {
  display: grid;
  gap: 14px;
}

.yz-route-detail-card {
  display: grid;
  gap: 12px;
}

.yz-route-detail-sailings {
  display: grid;
  gap: 8px;
}

.yz-route-detail-sailing {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #e7edf5;
  border-radius: 8px;
}

.yz-route-detail-sailing span {
  color: #1d4f90;
  font-size: 12px;
  font-weight: 900;
}

.yz-route-detail-sailing strong {
  color: #202833;
  font-size: 15px;
}

.yz-route-detail-sailing em {
  color: var(--bk-red);
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.yz-route-detail-sailing small {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #64748b;
  font-size: 12px;
}

.yz-route-detail-sailing small b {
  color: var(--bk-red);
  font-weight: 900;
  white-space: nowrap;
}

.yz-route-detail-ships {
  display: grid;
  gap: 8px;
}

.yz-route-detail-ship {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 9px;
  background: #fff;
  border: 1px solid #e6eef7;
  border-radius: 8px;
}

.yz-route-detail-ship img {
  width: 96px;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
}

.yz-route-detail-ship strong {
  color: #202833;
  font-size: 16px;
}

.yz-route-detail-ship p {
  margin: 4px 0 0;
  color: #61748a;
  font-size: 12px;
}

.yz-route-detail-ship em {
  color: var(--bk-red);
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.yz-route-detail-ship .yz-booking-card-action {
  justify-self: end;
}

@media (max-width: 768px) {
  .yz-deals-search-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
  }

  .yz-deals-search-panel label:nth-child(4),
  .yz-deals-search-panel .yz-booking-card-action {
    grid-column: 1 / -1;
  }

  .yz-deals-search-panel select,
  .yz-deals-search-panel input {
    height: 36px;
    font-size: 13px;
  }

  .yz-deals-sortbar {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }

  .yz-deals-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-deals-sortbar button {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px;
  }

  .yz-deal-card {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
    border-radius: 8px;
  }

  .yz-deal-photo img {
    height: 88px;
  }

  .yz-deal-photo span {
    left: 5px;
    top: 5px;
    padding: 3px 6px;
    font-size: 11px;
  }

  .yz-deal-body {
    gap: 5px;
  }

  .yz-deal-title {
    display: grid;
    gap: 2px;
  }

  .yz-deal-title h2 {
    overflow: hidden;
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .yz-deal-title strong {
    font-size: 18px;
  }

  .yz-deal-body p {
    display: grid;
    gap: 2px;
    font-size: 11px;
  }

  .yz-deal-tags {
    display: none;
  }

  .yz-deal-card .yz-route-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .yz-deal-card .yz-route-actions .yz-booking-secondary-action:last-child {
    display: none;
  }

  .yz-timetable-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px;
  }

  .yz-timetable-toolbar select {
    height: 36px;
    font-size: 13px;
  }

  .yz-timetable-month-control {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .yz-timetable-month-control strong {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 36px;
    font-size: 16px;
  }

  .yz-timetable-month-control button {
    grid-row: 2;
    min-height: 34px;
    padding: 0 8px;
    font-size: 12px;
  }

  .yz-timetable-day {
    grid-template-columns: 78px minmax(0, 1fr);
    border-radius: 8px;
  }

  .yz-timetable-date {
    padding: 10px 8px;
  }

  .yz-timetable-date strong {
    font-size: 14px;
  }

  .yz-timetable-date span {
    font-size: 11px;
  }

  .yz-timetable-ships {
    display: grid;
    gap: 6px;
    padding: 7px;
  }

  .yz-timetable-ships a {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 6px;
    min-height: 0;
    padding: 6px 8px;
    border-radius: 6px;
  }

  .yz-timetable-ships a:nth-child(n + 5):not(.yz-timetable-more) {
    display: none;
  }

  .yz-timetable-ships a.yz-timetable-more {
    display: grid;
  }

  .yz-timetable-ships b {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .yz-timetable-ships span {
    grid-column: 1 / -1;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .yz-timetable-ships em {
    font-size: 12px;
  }

  .yz-help-layout {
    grid-template-columns: 1fr;
  }

  .yz-guide-layout {
    grid-template-columns: 1fr;
  }

  .yz-guide-side {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .yz-guide-side a {
    padding: 8px 6px;
    text-align: center;
    font-size: 12px;
  }

  .yz-guide-card {
    padding: 12px;
  }

  .yz-guide-card h2 {
    font-size: 20px;
  }

  .yz-guide-link-grid,
  .yz-guide-article-grid,
  .yz-guide-faq-list {
    grid-template-columns: 1fr;
  }

  .yz-help-side {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .yz-help-side a {
    padding: 8px 6px;
    text-align: center;
    font-size: 12px;
  }

  .yz-help-block {
    padding: 12px;
  }

  .yz-help-block h2 {
    font-size: 19px;
  }

  .yz-help-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-series-group-head {
    display: grid;
    padding: 12px;
  }

  .yz-series-group-head h2 {
    font-size: 19px;
  }

  .yz-series-ship-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 8px;
  }

  .yz-series-ship-card {
    grid-template-columns: 82px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }

  .yz-series-ship-card img {
    width: 82px;
    height: 62px;
  }

  .yz-series-ship-card strong {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .yz-series-ship-card em {
    font-size: 16px;
  }

  .yz-series-ship-card .yz-route-actions {
    grid-template-columns: 1fr 1fr;
  }

  .yz-series-ship-card .yz-route-actions .yz-booking-secondary-action:last-child {
    display: none;
  }

  .yz-route-detail-layout {
    grid-template-columns: 1fr;
  }

  .yz-route-detail-summary,
  .yz-route-detail-card {
    padding: 12px;
  }

  .yz-route-detail-summary dl {
    grid-template-columns: 1fr;
  }

  .yz-route-detail-sailing {
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 6px;
    padding: 8px;
  }

  .yz-route-detail-sailing strong {
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .yz-route-detail-ship {
    grid-template-columns: 82px minmax(0, 1fr) auto;
    gap: 8px;
  }

  .yz-route-detail-ship img {
    width: 82px;
    height: 62px;
  }

  .yz-route-detail-ship .yz-booking-card-action {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  .page-booking-detail .yz-detail-tabs {
    margin: -10px -10px 10px;
    padding: 7px 8px;
  }

  .page-booking-detail .yz-detail-main-card > .yz-detail-section:nth-of-type(n + 6) {
    display: block;
  }

  .page-booking-detail .yz-detail-main-card > .yz-detail-section:nth-of-type(n + 7) {
    display: none;
  }

  .yz-detail-itinerary-row {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 7px;
    padding: 8px;
  }

  .yz-detail-itinerary-row p {
    grid-column: 1 / -1;
    font-size: 12px;
  }

  .yz-detail-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yz-detail-gallery img {
    height: 92px;
  }

  .yz-detail-recommend {
    grid-template-columns: 1fr;
  }

  .yz-detail-recommend-card {
    grid-template-columns: 76px minmax(0, 1fr) auto;
  }

  .yz-detail-recommend-card img {
    width: 76px;
    height: 60px;
  }

  .yz-order-progress,
  .yz-order-status-grid {
    grid-template-columns: 1fr;
  }

  .yz-order-record-head {
    display: grid !important;
  }
}

.yz-guide-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.yz-guide-list-card {
  display: grid;
  gap: 7px;
  padding: 14px;
  background: #fff;
  border: 1px solid #dce9f8;
  border-radius: 10px;
}

.yz-guide-list-card span,
.yz-guide-detail-meta span,
.yz-guide-related span {
  color: var(--bk-red);
  font-size: 12px;
  font-weight: 900;
}

.yz-guide-list-card strong {
  color: #202833;
  font-size: 18px;
  line-height: 1.25;
}

.yz-guide-list-card p {
  color: #526173;
  font-size: 13px;
  line-height: 1.6;
}

.yz-guide-list-card b {
  color: #1d4f90;
  font-size: 13px;
}

.page-booking-guide-detail .yz-guide-detail-hero {
  background:
    linear-gradient(105deg, rgba(28, 64, 110, 0.94), rgba(198, 58, 40, 0.78)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-guide-detail .yz-guide-detail-hero h1,
.page-booking-guide-detail .yz-guide-detail-hero p,
.page-booking-guide-detail .yz-guide-detail-hero .yz-section-kicker {
  color: #fff;
}

.yz-guide-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 14px;
  align-items: start;
}

.yz-guide-detail-article,
.yz-guide-detail-box {
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-guide-detail-article {
  display: grid;
  gap: 0;
  padding: 18px;
}

.yz-guide-detail-article section {
  padding: 16px 0;
  border-top: 1px dashed #dde7f2;
}

.yz-guide-detail-article section:first-of-type {
  border-top: 0;
}

.yz-guide-detail-article h2 {
  margin: 0 0 8px;
  color: #202833;
  font-size: 22px;
}

.yz-guide-detail-article p {
  margin: 0;
  color: #526173;
  font-size: 15px;
  line-height: 1.85;
}

.yz-guide-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.yz-guide-detail-meta b {
  color: #64748b;
  font-size: 12px;
}

.yz-guide-detail-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 8px;
  padding: 14px;
  background: #fff8ef;
  border: 1px solid #f4d3ad;
  border-radius: 10px;
}

.yz-guide-detail-cta strong {
  width: 100%;
  color: #8a4a00;
}

.yz-guide-detail-next {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 10px;
}

.yz-guide-detail-next strong {
  color: #1a4f93;
  font-size: 16px;
}

.yz-guide-detail-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.yz-guide-detail-next-grid a {
  display: grid;
  gap: 4px;
  padding: 10px;
  background: #fff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-guide-detail-next-grid strong {
  color: #202833;
  font-size: 14px;
}

.yz-guide-detail-next-grid p {
  margin: 0;
  color: #526173;
  font-size: 12px;
  line-height: 1.55;
}

.yz-guide-detail-aside {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 12px;
}

.yz-guide-detail-box {
  display: grid;
  gap: 9px;
  padding: 14px;
}

.yz-guide-detail-box strong {
  color: #202833;
  font-size: 18px;
}

.yz-guide-detail-box p {
  margin: 0;
  color: #526173;
  font-size: 13px;
  line-height: 1.65;
}

.yz-guide-related {
  display: grid;
  gap: 8px;
}

.yz-guide-related a {
  display: grid;
  gap: 4px;
  padding: 9px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-guide-related strong {
  color: #202833;
  font-size: 14px;
}

@media (max-width: 768px) {
  .yz-guide-list {
    grid-template-columns: 1fr;
  }

  .yz-guide-detail-layout {
    grid-template-columns: 1fr;
  }

  .yz-guide-detail-article {
    padding: 13px;
  }

  .yz-guide-detail-article h2 {
    font-size: 19px;
  }

  .yz-guide-detail-aside {
    position: static;
  }

  .yz-guide-detail-next-grid {
    grid-template-columns: 1fr;
  }
}

.page-booking-confirm .yz-confirm-hero {
  background:
    linear-gradient(105deg, rgba(22, 112, 62, 0.94), rgba(37, 112, 173, 0.78)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-confirm .yz-confirm-hero h1,
.page-booking-confirm .yz-confirm-hero p,
.page-booking-confirm .yz-confirm-hero .yz-section-kicker {
  color: #fff;
}

.yz-confirm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 14px;
  align-items: start;
}

.yz-confirm-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-confirm-success-mark {
  display: inline-grid;
  place-items: center;
  width: 82px;
  min-height: 32px;
  border-radius: 999px;
  background: #e9f8ef;
  color: #137a38;
  font-size: 14px;
  font-weight: 900;
}

.yz-confirm-card h2 {
  margin: 0;
  color: #202833;
  font-size: 24px;
}

.yz-confirm-order-id {
  margin: 0;
  color: #526173;
}

.yz-confirm-order-id b {
  color: var(--bk-red);
  font-size: 20px;
}

.yz-confirm-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.yz-confirm-info-grid div {
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-confirm-info-grid dt,
.yz-confirm-info-grid dd {
  margin: 0;
}

.yz-confirm-info-grid dt {
  color: #64748b;
  font-size: 12px;
}

.yz-confirm-info-grid dd {
  margin-top: 4px;
  color: #202833;
  font-size: 15px;
  font-weight: 900;
}

.yz-confirm-note {
  padding: 12px;
  background: #fff8ef;
  border: 1px solid #f4d3ad;
  border-radius: 10px;
}

.yz-confirm-note strong {
  color: #8a4a00;
}

.yz-confirm-note p {
  margin: 6px 0 0;
  color: #8a4a00;
  line-height: 1.7;
}

.yz-confirm-side {
  position: sticky;
  top: 12px;
}

.yz-confirm-steps {
  display: grid;
  gap: 8px;
}

.yz-confirm-steps span {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-confirm-steps b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #cbd5e1;
  color: #fff;
}

.yz-confirm-steps span.is-active b {
  background: #137a38;
}

.yz-confirm-steps strong {
  color: #202833;
}

.yz-confirm-steps small {
  color: #64748b;
}

.yz-confirm-actions {
  display: grid;
  gap: 8px;
}

@media (max-width: 768px) {
  .yz-confirm-layout {
    grid-template-columns: 1fr;
  }

  .yz-confirm-card {
    padding: 13px;
  }

  .yz-confirm-info-grid {
    grid-template-columns: 1fr;
  }

  .yz-confirm-side {
    position: static;
  }
}

.page-booking-ports .yz-ports-hero {
  background:
    linear-gradient(105deg, rgba(26, 80, 132, 0.94), rgba(28, 142, 126, 0.78)),
    url("../../../assets/images/banner3.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-ports .yz-ports-hero h1,
.page-booking-ports .yz-ports-hero p,
.page-booking-ports .yz-ports-hero .yz-section-kicker {
  color: #fff;
}

.yz-ports-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-ports-side {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-ports-side a {
  padding: 9px 10px;
  background: #f7faff;
  border: 1px solid #e2ebf6;
  border-radius: 6px;
  color: #1d4f90;
  font-size: 13px;
  font-weight: 900;
}

.yz-ports-content {
  display: grid;
  gap: 12px;
}

.yz-ports-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-ports-card h2,
.yz-ports-card h3,
.yz-ports-card p {
  margin: 0;
}

.yz-ports-card h2 {
  color: #202833;
  font-size: 24px;
  line-height: 1.25;
}

.yz-ports-card h3 {
  color: #1d4f90;
  font-size: 17px;
}

.yz-ports-card p,
.yz-ports-checklist {
  color: #526173;
  font-size: 14px;
  line-height: 1.75;
}

.yz-ports-grid,
.yz-ports-faq {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-port-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.yz-port-data-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-port-data-card strong {
  color: #1a4f93;
  font-size: 18px;
}

.yz-port-data-card p,
.yz-port-data-card span {
  margin: 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.6;
}

.yz-ports-grid article,
.yz-ports-faq article,
.yz-ports-warning {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-ports-grid strong {
  color: #202833;
  font-size: 18px;
}

.yz-ports-grid a {
  color: var(--bk-red);
  font-size: 13px;
  font-weight: 900;
}

.yz-ports-checklist {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

.yz-ports-warning {
  background: #fff8ef;
  border-color: #f4d3ad;
  color: #8a4a00;
  font-weight: 800;
}

@media (max-width: 768px) {
  .yz-ports-layout {
    grid-template-columns: 1fr;
  }

  .yz-ports-side {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .yz-ports-side a {
    padding: 8px 6px;
    text-align: center;
    font-size: 12px;
  }

  .yz-ports-card {
    padding: 12px;
  }

  .yz-ports-card h2 {
    font-size: 20px;
  }

  .yz-ports-grid,
  .yz-ports-faq,
  .yz-port-data-grid {
    grid-template-columns: 1fr;
  }
}

.page-booking-submit .yz-submit-hero {
  background:
    linear-gradient(105deg, rgba(24, 83, 139, 0.94), rgba(198, 58, 40, 0.78)),
    url("../../../assets/images/banner1.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-submit .yz-submit-hero h1,
.page-booking-submit .yz-submit-hero p,
.page-booking-submit .yz-submit-hero .yz-section-kicker {
  color: #fff;
}

.yz-submit-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-submit-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-submit-summary {
  position: sticky;
  top: 12px;
}

.yz-submit-summary h2 {
  margin: 0;
  color: #202833;
  font-size: 24px;
}

.yz-submit-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.yz-submit-summary-grid div {
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-submit-summary-grid dt,
.yz-submit-summary-grid dd {
  margin: 0;
}

.yz-submit-summary-grid dt {
  color: #64748b;
  font-size: 12px;
}

.yz-submit-summary-grid dd {
  margin-top: 4px;
  color: #202833;
  font-size: 15px;
  font-weight: 900;
}

.yz-submit-tip {
  padding: 12px;
  background: #fff8ef;
  border: 1px solid #f4d3ad;
  border-radius: 10px;
}

.yz-submit-tip strong {
  color: #8a4a00;
}

.yz-submit-tip p {
  margin: 6px 0 0;
  color: #8a4a00;
  line-height: 1.7;
}

.page-booking-facilities .yz-facilities-hero {
  background: linear-gradient(135deg, #123f75 0%, #1f68a8 58%, #f5f8fc 58%, #f5f8fc 100%);
}

.page-booking-facilities .yz-facilities-hero h1,
.page-booking-facilities .yz-facilities-hero p,
.page-booking-facilities .yz-facilities-hero .yz-section-kicker {
  color: #fff;
}

.yz-facility-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-facility-grid article {
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-facility-grid strong {
  display: block;
  color: #1a4f93;
  font-size: 16px;
}

.yz-facility-grid p {
  margin: 8px 0 0;
  color: var(--bk-muted);
  font-size: 13px;
  line-height: 1.65;
}

.yz-submit-form {
  display: grid;
  gap: 10px;
}

.yz-submit-form label {
  display: grid;
  gap: 5px;
  color: #333;
  font-size: 13px;
  font-weight: 800;
}

.yz-submit-form input,
.yz-submit-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  font: inherit;
  box-sizing: border-box;
}

.yz-submit-form textarea {
  min-height: 90px;
  resize: vertical;
}

.yz-submit-form-wide {
  grid-column: 1 / -1;
}

@media (max-width: 768px) {
  .yz-submit-layout {
    grid-template-columns: 1fr;
  }

  .yz-submit-card {
    padding: 13px;
  }

  .yz-submit-summary {
    position: static;
  }

  .yz-submit-summary-grid {
    grid-template-columns: 1fr;
  }

  .page-booking-facilities .yz-facilities-hero {
    background: #145aa2;
  }

  .yz-facility-grid {
    grid-template-columns: 1fr;
  }
}

.page-booking-ship .yz-ship-profile-hero {
  background:
    linear-gradient(105deg, rgba(29, 65, 106, 0.94), rgba(198, 58, 40, 0.78)),
    var(--ship-profile-image, url("../../../assets/images/banner1.jpg")) center / cover no-repeat;
  color: #fff;
}

.page-booking-ship .yz-ship-profile-hero h1,
.page-booking-ship .yz-ship-profile-hero p,
.page-booking-ship .yz-ship-profile-hero .yz-section-kicker {
  color: #fff;
}

.yz-ship-profile-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-ship-profile-summary,
.yz-ship-profile-card {
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-ship-profile-summary {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 12px;
  padding: 14px;
}

.yz-ship-profile-summary img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-radius: 8px;
}

.yz-ship-profile-summary strong {
  color: #202833;
  font-size: 22px;
}

.yz-ship-profile-summary p {
  margin: 0;
  color: #526173;
  font-size: 14px;
  line-height: 1.65;
}

.yz-ship-profile-summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.yz-ship-profile-summary dl div,
.yz-ship-profile-info-grid article {
  padding: 10px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-ship-profile-summary .yz-route-actions {
  display: grid;
  grid-template-columns: 1fr;
}

.yz-ship-profile-summary dt,
.yz-ship-profile-summary dd {
  margin: 0;
}

.yz-ship-profile-summary dt {
  color: #64748b;
  font-size: 12px;
}

.yz-ship-profile-summary dd {
  margin-top: 4px;
  color: #202833;
  font-weight: 900;
}

.yz-ship-profile-content {
  display: grid;
  gap: 12px;
}

.yz-ship-profile-card {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.yz-ship-profile-sailings {
  display: grid;
  gap: 8px;
}

.yz-ship-profile-sailing {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #e6eef7;
  border-radius: 8px;
}

.yz-ship-profile-sailing span {
  color: #1d4f90;
  font-size: 12px;
  font-weight: 900;
}

.yz-ship-profile-sailing strong {
  color: #202833;
  font-size: 15px;
}

.yz-ship-profile-sailing small {
  grid-column: 2;
  color: #64748b;
  font-size: 12px;
}

.yz-ship-profile-sailing em {
  color: var(--bk-red);
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}

.yz-ship-profile-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.yz-ship-room-price-grid,
.yz-ship-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-ship-room-price-card,
.yz-ship-check-grid article {
  display: grid;
  gap: 6px;
  padding: 12px;
  background: #fff;
  border: 1px solid #e6eef7;
  border-radius: 10px;
}

.yz-ship-room-price-card {
  align-content: start;
}

.yz-ship-room-price-card:hover {
  border-color: #f0b0b0;
  background: #fffafa;
}

.yz-ship-room-price-card span,
.yz-ship-check-grid strong {
  color: #202833;
  font-size: 15px;
  font-weight: 900;
}

.yz-ship-room-price-card strong {
  color: var(--bk-red);
  font-size: 20px;
}

.yz-ship-room-price-card small,
.yz-ship-check-grid p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
}

.yz-ship-room-price-card b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-top: 2px;
  border-radius: 999px;
  background: #c5161d;
  color: #fff;
  font-size: 12px;
}

.yz-ship-profile-info-grid strong {
  color: #202833;
  font-size: 17px;
}

.yz-ship-profile-info-grid p {
  margin: 6px 0 0;
  color: #526173;
  line-height: 1.65;
}

.yz-ship-profile-related {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.yz-ship-profile-related a {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px;
  border: 1px solid #e6eef7;
  border-radius: 8px;
}

.yz-ship-profile-related img {
  width: 88px;
  height: 66px;
  object-fit: cover;
  border-radius: 6px;
}

.yz-ship-profile-related strong {
  color: #202833;
  font-size: 15px;
}

.yz-ship-profile-related small {
  display: block;
  margin-top: 4px;
  color: #64748b;
}

.yz-ship-profile-summary .yz-booking-card-action,
.yz-ship-profile-summary .yz-booking-secondary-action {
  justify-content: center;
}

@media (max-width: 768px) {
  .yz-ship-profile-layout {
    grid-template-columns: 1fr;
  }

  .yz-ship-profile-summary {
    position: static;
    padding: 12px;
  }

  .yz-ship-profile-summary img {
    height: 150px;
  }

  .yz-ship-profile-card {
    padding: 12px;
  }

  .yz-ship-profile-sailing {
    grid-template-columns: 1fr auto;
    gap: 4px 8px;
    padding: 8px;
  }

  .yz-ship-profile-sailing strong {
    grid-column: 1 / -1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .yz-ship-profile-info-grid,
  .yz-ship-profile-related,
  .yz-ship-room-price-grid,
  .yz-ship-check-grid {
    grid-template-columns: 1fr;
  }

  .yz-ship-profile-summary .yz-route-actions {
    grid-template-columns: 1fr;
  }
}

.page-booking-sights .yz-sights-hero {
  background:
    linear-gradient(105deg, rgba(25, 84, 122, 0.94), rgba(28, 142, 126, 0.78)),
    url("../../../assets/images/banner3.jpg") center / cover no-repeat;
  color: #fff;
}

.page-booking-sights .yz-sights-hero h1,
.page-booking-sights .yz-sights-hero p,
.page-booking-sights .yz-sights-hero .yz-section-kicker {
  color: #fff;
}

.yz-sights-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.yz-sights-side {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
}

.yz-sights-side a {
  padding: 9px 10px;
  background: #f7faff;
  border: 1px solid #e2ebf6;
  border-radius: 6px;
  color: #1d4f90;
  font-size: 13px;
  font-weight: 900;
}

.yz-sights-content {
  display: grid;
  gap: 12px;
}

.yz-sights-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--bk-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yz-sights-card h2,
.yz-sights-card p {
  margin: 0;
}

.yz-sights-card h2 {
  color: #202833;
  font-size: 24px;
  line-height: 1.25;
}

.yz-sights-card p,
.yz-sights-checklist {
  color: #526173;
  font-size: 14px;
  line-height: 1.75;
}

.yz-sights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-sights-grid article,
.yz-sights-route-actions a {
  display: grid;
  gap: 7px;
  padding: 12px;
  background: #f8fbff;
  border: 1px solid #dce9f8;
  border-radius: 8px;
}

.yz-sights-grid strong {
  color: #202833;
  font-size: 17px;
}

.yz-sights-grid a,
.yz-sights-route-actions a {
  color: #1d4f90;
  font-weight: 900;
}

.yz-sights-route-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yz-sights-checklist {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

@media (max-width: 768px) {
  .yz-sights-layout {
    grid-template-columns: 1fr;
  }

  .yz-sights-side {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .yz-sights-side a {
    padding: 8px 6px;
    text-align: center;
    font-size: 12px;
  }

  .yz-sights-card {
    padding: 12px;
  }

  .yz-sights-card h2 {
    font-size: 20px;
  }

  .yz-sights-grid,
  .yz-sights-route-actions {
    grid-template-columns: 1fr;
  }
}

.page-booking-ships .yz-ship-list-card > img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  object-fit: cover;
}

.page-booking-ships .yz-ships-toolbar {
  display: grid;
  grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
}

.page-booking-ships .yz-ships-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.page-booking-ships .yz-ships-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.page-booking-ships .yz-ship-list-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
}

@media (max-width: 768px) {
  .page-booking-ships .yz-ships-toolbar,
  .page-booking-ships .yz-ships-grid {
    grid-template-columns: 1fr;
  }

  .page-booking-ships .yz-ships-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-booking-ships .yz-ship-list-card {
    grid-template-columns: 116px minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .page-booking-detail .yz-detail-order-inline.yz-detail-price-order {
    grid-template-columns: 1fr;
  }

  .page-booking-detail .yz-detail-order-sidebar {
    position: static;
  }

  .page-booking-detail .yz-order-price-table {
    min-width: 620px;
  }
}

.page-booking-compare .yz-compare-card > img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  object-fit: cover;
}

.yz-booking-floating-tools {
  position: fixed;
  right: 18px;
  bottom: 96px;
  z-index: 80;
  display: grid;
  gap: 8px;
  width: 118px;
}

.yz-booking-floating-tools a {
  display: grid;
  gap: 2px;
  padding: 10px 8px;
  background: #fff;
  border: 1px solid #e4edf7;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(19, 45, 71, 0.12);
  color: #1d4f90;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.yz-booking-floating-tools a:first-child {
  background: var(--bk-red);
  border-color: var(--bk-red);
  color: #fff;
}

.yz-booking-floating-tools small {
  color: inherit;
  font-size: 11px;
  font-weight: 700;
  opacity: 0.82;
}

@media (max-width: 768px) {
  .yz-booking-floating-tools {
    display: none;
  }
}

@media (max-width: 900px) {
  .page-booking-home .yz-booking-hero-banner img {
    height: 118px;
  }

  .page-booking-home .yz-booking-mobile-brandbar {
    height: 34px;
    padding: 3px 10px;
  }

  .page-booking-home .yz-booking-mobile-brandbar strong {
    font-size: 15px;
  }

  .page-booking-home .yz-booking-mobile-brandbar span {
    display: none;
  }

  .page-booking-home .yz-booking-search-card {
    margin-top: 0;
    transform: translateY(-6px);
  }

  .page-booking-home .yz-booking-mobile-icons {
    padding-top: 0;
    margin-top: -4px;
  }
}

.yz-order-success-main,
.yz-login-main {
  min-height: 100vh;
  background: #f3f3f3;
}

.yz-order-success-panel,
.yz-login-main {
  padding: 0 0 32px;
}

.yz-order-success-shell,
.yz-login-main {
  max-width: 640px;
  margin: 0 auto;
}

.yz-order-success-bar,
.yz-login-bar {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  min-height: 50px;
  background: #2878df;
  color: #fff;
  text-align: center;
}

.yz-order-success-bar a,
.yz-login-bar a {
  color: #fff;
  font-size: 38px;
  line-height: 1;
  text-decoration: none;
}

.yz-order-success-bar strong,
.yz-login-bar strong {
  font-size: 17px;
  font-weight: 900;
}

.yz-order-success-card {
  min-height: 256px;
  padding: 26px 18px 34px;
  background: #fff;
  text-align: center;
}

.yz-order-success-icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 2px auto 14px;
  background: #45c323;
  border-radius: 50%;
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
}

.yz-order-success-card h1 {
  margin: 0 0 22px;
  color: #0c1f39;
  font-size: 18px;
  font-weight: 500;
}

.yz-order-success-id {
  margin: 0 0 34px;
  color: #0f172a;
  font-size: 14px;
}

.yz-order-success-id b {
  font-weight: 500;
}

.yz-order-success-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.yz-order-success-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 30px;
  padding: 0 18px;
  background: #45c323;
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.yz-order-success-note {
  max-width: 460px;
  margin: 24px auto 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.7;
}

.yz-order-success-detail {
  max-width: 560px;
  margin: 18px auto 0;
  text-align: left;
}

.yz-order-success-detail summary {
  cursor: pointer;
  color: #2878df;
  font-weight: 900;
  text-align: center;
}

.yz-order-success-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 0;
}

.yz-order-success-detail dl div {
  padding: 8px;
  background: #f8fbff;
  border: 1px solid #e6eef8;
  border-radius: 8px;
}

.yz-order-success-detail dt,
.yz-order-success-detail dd {
  margin: 0;
}

.yz-order-success-detail dt {
  color: #64748b;
  font-size: 12px;
}

.yz-order-success-detail dd {
  margin-top: 4px;
  color: #102033;
  font-size: 13px;
  font-weight: 800;
}

.page-booking-login {
  background: linear-gradient(180deg, #2f80e5 0, #cfe5ff 100%);
}

.yz-login-main {
  background: linear-gradient(180deg, #2f80e5 0, #cfe5ff 100%);
}

.yz-login-card {
  width: min(576px, calc(100% - 48px));
  margin: 38px auto 0;
  padding: 22px 32px 28px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(15, 50, 90, 0.22);
}

.yz-login-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 26px;
}

.yz-login-tabs button {
  height: 30px;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #111827;
  font-size: 16px;
}

.yz-login-tabs button.is-active {
  border-color: #2878df;
  color: #0b72e7;
}

.yz-login-form {
  display: grid;
  gap: 0;
}

.yz-login-form label {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid #e5e7eb;
}

.yz-login-form label span {
  color: #64748b;
  font-size: 0;
}

.yz-login-form label span::before {
  content: "�?;
  color: #64748b;
  font-size: 18px;
}

.yz-login-form input {
  width: 100%;
  min-height: 44px;
  border: 0;
  outline: none;
  color: #111827;
  font-size: 15px;
}

.yz-login-captcha {
  color: #0f172a;
  font-size: 24px;
  font-style: italic;
  letter-spacing: -3px;
}

.yz-login-form label button {
  background: transparent;
  border: 0;
  color: #006eff;
  font-size: 14px;
  white-space: nowrap;
}

.yz-login-submit {
  min-height: 36px;
  margin: 50px 24px 34px;
  background: #ff9818;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
}

.yz-login-help {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
}

.yz-login-help a {
  color: #006eff;
}

.yz-login-tip {
  margin: 18px 0 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .yz-order-success-card {
    min-height: 256px;
  }

  .yz-order-success-actions a {
    min-width: 118px;
    padding: 0 14px;
  }

  .yz-order-success-detail dl {
    grid-template-columns: 1fr;
  }

  .yz-login-card {
    width: calc(100% - 48px);
    padding: 20px 30px 28px;
  }
}

@media (max-width: 760px) {
  .yz-booking-site {
    background: #f2f5f8;
  }

  .yz-booking-topline,
  .yz-booking-nav-row,
  .yz-booking-header .yz-booking-nav,
  .yz-booking-header-cta,
  .yz-booking-phone,
  .yz-booking-badge {
    display: none !important;
  }

  .yz-booking-header {
    position: sticky;
    top: 0;
    z-index: 80;
    background: #1478d4;
    box-shadow: 0 2px 8px rgba(15, 55, 100, 0.18);
  }

  .yz-booking-header-inner {
    min-height: 44px;
    padding: 0 12px;
  }

  .yz-booking-logo,
  .yz-booking-brand {
    color: #fff;
  }

  .yz-booking-logo img,
  .yz-booking-brand img {
    width: 28px;
    height: 28px;
  }

  .yz-booking-logo strong,
  .yz-booking-brand strong {
    color: #fff;
    font-size: 15px;
  }

  .yz-booking-logo small,
  .yz-booking-brand small {
    color: rgba(255, 255, 255, 0.82);
  }

  .yz-booking-hero,
  .yz-schedule-query-hero,
  .yz-order-page-hero,
  .yz-detail-top {
    padding: 10px 0 0 !important;
    background: #1478d4 !important;
  }

  .yz-booking-mobile-brandbar {
    display: none !important;
  }

  .yz-booking-hero-panel,
  .yz-schedule-query-wrap,
  .yz-detail-top-grid {
    display: block !important;
    padding: 0 10px 12px;
  }

  .yz-booking-hero-banner,
  .yz-detail-photo {
    display: none !important;
  }

  .yz-booking-hero-copy,
  .yz-schedule-query-copy,
  .yz-detail-title-card,
  .yz-detail-price-box {
    margin: 0;
    padding: 14px 14px 12px;
    border-radius: 10px 10px 0 0;
    background: #fff;
    box-shadow: none;
  }

  .yz-booking-hero-copy h1,
  .yz-schedule-query-copy h1,
  .yz-detail-title-card h1 {
    margin: 4px 0 6px;
    color: #111827;
    font-size: 20px;
    line-height: 1.25;
  }

  .yz-booking-hero-copy p,
  .yz-schedule-query-copy p,
  .yz-detail-title-card p {
    color: #5b6675;
    font-size: 13px;
    line-height: 1.55;
  }

  .yz-booking-search,
  .yz-booking-section,
  .yz-detail-body {
    padding: 10px 0 !important;
  }

  .yz-booking-search-card,
  .yz-schedule-query-card {
    margin: 0 10px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(16, 42, 67, 0.08);
  }

  .yz-booking-tabs {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    padding: 2px;
    background: #eef5ff;
    border-radius: 8px;
  }

  .yz-booking-tabs button {
    height: 34px;
    border-radius: 7px;
    font-size: 14px;
  }

  .yz-booking-tabs button.is-active {
    background: #1478d4;
    color: #fff;
  }

  .yz-booking-search-grid,
  .yz-schedule-query-row {
    display: grid !important;
    grid-template-columns: 1fr 34px 1fr;
    gap: 8px;
    align-items: end;
  }

  .booking-field-date,
  .booking-field-ship,
  .yz-schedule-ship-field {
    grid-column: 1 / -1;
  }

  .yz-booking-submit {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 42px;
    border-radius: 6px;
    background: #ff8a00;
    font-size: 16px;
  }

  .booking-field,
  .yz-schedule-query-card label {
    min-width: 0;
  }

  .booking-field span,
  .yz-schedule-query-card label span {
    margin-bottom: 4px;
    color: #64748b;
    font-size: 12px;
  }

  .booking-field select,
  .booking-field input,
  .booking-date-display,
  .yz-schedule-query-card select,
  .yz-schedule-query-card input {
    min-height: 38px;
    padding: 0 9px;
    border: 1px solid #d9e2ef;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
  }

  .yz-booking-swap {
    width: 34px;
    height: 38px;
    margin-bottom: 0;
    border-radius: 50%;
    background: #f2f7ff;
    color: #1478d4;
  }

  .yz-booking-announcement,
  .yz-booking-routes,
  .yz-booking-month-link,
  .yz-schedule-route-buttons {
    margin-top: 8px;
    padding: 0;
    background: transparent;
    font-size: 12px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .yz-booking-routes button,
  .yz-schedule-route-buttons button {
    display: inline-flex;
    min-height: 28px;
    margin-right: 6px;
    padding: 0 10px;
    border: 1px solid #d9e2ef;
    border-radius: 999px;
    background: #fff;
    color: #1478d4;
  }

  .yz-section-head,
  .yz-section-head.center,
  .yz-schedule-result-head {
    margin: 0 10px 8px;
    text-align: left;
  }

  .yz-section-head h2,
  .yz-schedule-result-head h2 {
    font-size: 17px;
  }

  .yz-booking-featured-grid,
  .yz-booking-result-list,
  .yz-schedule-card-list,
  .yz-ships-grid {
    display: grid;
    gap: 8px;
    margin: 0 10px;
  }

  .yz-booking-result-card,
  .yz-schedule-card-pro,
  .yz-ship-list-card-pro,
  .yz-detail-room-pro {
    display: grid !important;
    grid-template-columns: 72px 1fr;
    gap: 10px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08);
  }

  .yz-schedule-card-image,
  .yz-ship-list-card-pro > img,
  .yz-detail-room-pro > img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 8px;
    object-fit: cover;
  }

  .yz-booking-result-date {
    width: 72px;
    min-height: 72px;
    border-radius: 8px;
  }

  .yz-schedule-card-body,
  .yz-ship-list-body,
  .yz-booking-result-main,
  .yz-booking-room-card-main {
    min-width: 0;
  }

  .yz-schedule-card-title h2,
  .yz-ship-list-body h2,
  .yz-booking-result-title strong,
  .yz-detail-room-pro strong {
    font-size: 16px;
    line-height: 1.3;
  }

  .yz-schedule-card-side,
  .yz-booking-result-side,
  .yz-booking-room-price {
    grid-column: 1 / -1;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding-top: 8px;
    border-top: 1px solid #edf2f7;
  }

  .yz-schedule-card-side strong,
  .yz-booking-result-side strong,
  .yz-booking-room-price em {
    color: #ff5a00;
    font-size: 18px;
    font-weight: 900;
  }

  .yz-booking-card-action,
  .yz-detail-room-pro button {
    min-height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    background: #ff8a00;
    color: #fff !important;
    font-size: 14px;
  }

  .yz-schedule-table-wrap,
  .yz-booking-result-tools,
  .yz-booking-level-tools,
  .yz-booking-floating-tools {
    display: none !important;
  }

  .yz-booking-mobile-nav a span {
    font-size: 12px;
  }

  .page-booking-confirm,
  .page-booking-order,
  .page-booking-login {
    background: #f2f5f8;
    padding-bottom: 64px;
  }

  .yz-order-success-main,
  .yz-order-page-main,
  .yz-login-main {
    min-height: calc(100vh - 54px);
    background: #f2f5f8;
  }

  .yz-order-success-panel {
    padding: 0 0 12px;
    background: #1478d4;
  }

  .yz-order-success-shell {
    padding: 0 10px 12px;
  }

  .yz-order-success-bar,
  .yz-login-bar {
    height: 44px;
    padding: 0 8px;
    background: #1478d4;
    color: #fff;
  }

  .yz-order-success-bar a,
  .yz-login-bar a,
  .yz-order-success-bar strong,
  .yz-login-bar strong {
    color: #fff;
  }

  .yz-order-success-card,
  .yz-login-card,
  .yz-order-page-card {
    width: auto;
    margin: 10px;
    padding: 18px 14px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(16, 42, 67, 0.08);
  }

  .yz-order-success-card {
    min-height: auto;
    text-align: center;
  }

  .yz-order-success-icon {
    width: 54px;
    height: 54px;
    margin: 4px auto 12px;
    border-radius: 50%;
    background: #21bd55;
    color: #fff;
    font-size: 32px;
    line-height: 54px;
  }

  .yz-order-success-card h1 {
    margin: 0 0 8px;
    color: #111827;
    font-size: 20px;
    line-height: 1.35;
  }

  .yz-order-success-text,
  .yz-order-success-note,
  .yz-order-note {
    color: #64748b;
    font-size: 13px;
    line-height: 1.65;
  }

  .yz-order-success-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
  }

  .yz-order-success-actions a {
    min-width: 0;
    min-height: 38px;
    border-radius: 999px;
    background: #ff8a00;
    font-size: 14px;
  }

  .yz-order-success-actions a:first-child {
    background: #1478d4;
  }

  .yz-order-success-actions a:last-child {
    grid-column: 1 / -1;
  }

  .yz-order-success-detail {
    margin-top: 14px;
  }

  .yz-order-success-detail dl {
    grid-template-columns: 1fr;
  }

  .yz-order-page-hero {
    padding: 14px 0 0 !important;
    background: #1478d4 !important;
  }

  .yz-order-page-hero .container {
    margin: 0 10px;
    padding: 14px;
    border-radius: 10px 10px 0 0;
    background: #fff;
  }

  .yz-order-page-hero h1 {
    margin: 4px 0 6px;
    color: #111827;
    font-size: 20px;
  }

  .yz-order-page-layout {
    display: flex !important;
    flex-direction: column-reverse;
    gap: 0;
    padding: 0;
  }

  .yz-order-page-search {
    display: grid;
    gap: 10px;
  }

  .yz-order-page-search label,
  .yz-login-form label {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    min-height: auto;
    padding: 0;
    border: 0;
  }

  .yz-order-page-search input,
  .yz-login-form input {
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #d9e2ef;
    border-radius: 7px;
    background: #fff;
    font-size: 14px;
  }

  .yz-order-page-search button,
  .yz-login-submit {
    width: 100%;
    min-height: 42px;
    margin: 4px 0 0;
    border-radius: 999px;
    background: #ff8a00;
  }

  .yz-order-record-pro {
    padding: 12px;
    border: 0;
    border-radius: 10px;
    background: #fff;
  }

  .yz-order-record-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .yz-order-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 12px 0;
  }

  .yz-order-progress span {
    grid-template-rows: 40px 30px minmax(46px, auto);
    min-height: 158px;
    padding: 15px 4px 13px;
    border-radius: 0;
    background: #fbfdff;
    text-align: center;
  }

  .yz-order-progress b {
    width: 34px;
    height: 34px;
    font-size: 18px;
  }

  .yz-order-progress strong {
    font-size: 17px;
    line-height: 1.2;
  }

  .yz-order-progress small {
    max-width: 82px;
    font-size: 12px;
    line-height: 1.35;
  }

  .yz-order-progress span.is-active {
    background: #e8f3ff;
    color: #1478d4;
  }

  .yz-order-status-grid {
    grid-template-columns: 1fr;
  }

  .yz-order-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .yz-login-main {
    padding: 0 0 12px;
    background: #1478d4;
  }

  .yz-login-card {
    margin-top: 10px;
  }

  .yz-login-tabs {
    margin-bottom: 16px;
    padding: 2px;
    border-radius: 8px;
    background: #eef5ff;
  }

  .yz-login-tabs button {
    height: 34px;
    border: 0;
    border-radius: 7px;
    font-size: 14px;
  }

  .yz-login-tabs button.is-active {
    background: #1478d4;
    color: #fff;
  }

  .yz-login-form label span {
    color: #64748b;
    font-size: 13px;
  }

  .yz-login-form label span::before {
    content: none;
  }

  .yz-login-help {
    margin-top: 12px;
    font-size: 13px;
  }
}

@media (max-width: 760px) {
  .page-booking-home .yz-booking-header,
  .page-booking-schedule .yz-booking-header,
  .page-booking-detail .yz-booking-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 90 !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08) !important;
  }

  .page-booking-home .yz-booking-header-inner,
  .page-booking-schedule .yz-booking-header-inner,
  .page-booking-detail .yz-booking-header-inner {
    min-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    justify-content: flex-start !important;
  }

  .page-booking-home .yz-booking-topline,
  .page-booking-home .yz-booking-nav-row,
  .page-booking-home .yz-booking-phone,
  .page-booking-home .yz-booking-badge,
  .page-booking-schedule .yz-booking-nav,
  .page-booking-detail .yz-booking-nav,
  .page-booking-schedule .yz-booking-header-cta,
  .page-booking-detail .yz-booking-header-cta,
  .page-booking-schedule .yz-booking-floating-tools,
  .page-booking-detail .yz-booking-floating-tools {
    display: none !important;
  }

  .page-booking-home .yz-booking-brand,
  .page-booking-schedule .yz-booking-logo,
  .page-booking-detail .yz-booking-logo {
    gap: 8px !important;
    color: #1f2937 !important;
  }

  .page-booking-home .yz-booking-brand img,
  .page-booking-schedule .yz-booking-logo img,
  .page-booking-detail .yz-booking-logo img {
    width: 28px !important;
    height: 28px !important;
  }

  .page-booking-home .yz-booking-brand strong,
  .page-booking-schedule .yz-booking-logo strong,
  .page-booking-detail .yz-booking-logo strong {
    color: #1f2937 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-brand small,
  .page-booking-schedule .yz-booking-logo small,
  .page-booking-detail .yz-booking-logo small {
    display: none !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-booking-hero-panel {
    margin: 0 !important;
    border-radius: 0 !important;
    background: #0b7bd3 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-hero-banner {
    display: block !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    width: 100% !important;
    height: 122px !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-search,
  .page-booking-schedule .yz-schedule-query-hero {
    margin: 0 !important;
    padding: 0 0 10px !important;
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-booking-search-card,
  .page-booking-schedule .yz-schedule-query-card {
    margin: 0 10px !important;
    padding: 7px 7px 6px !important;
    border: 0 !important;
    border-radius: 0 0 8px 8px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12) !important;
  }

  .page-booking-home .yz-booking-tabs,
  .page-booking-schedule .yz-booking-tabs {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
    border-radius: 6px !important;
    background: #edf5ff !important;
  }

  .page-booking-home .yz-booking-tabs button,
  .page-booking-schedule .yz-booking-tabs button {
    min-height: 34px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active,
  .page-booking-schedule .yz-booking-tabs button.is-active {
    background: #ff8a00 !important;
    color: #fff !important;
  }

  .page-booking-home .yz-booking-search-grid {
    display: grid !important;
    grid-template-columns: 1fr 34px 1fr !important;
    gap: 8px !important;
  }

  .page-booking-schedule .yz-schedule-query-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .page-booking-home .booking-field,
  .page-booking-schedule .yz-schedule-query-row label {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .booking-field-date,
  .page-booking-home .booking-field-ship,
  .page-booking-home .yz-booking-submit,
  .page-booking-schedule .yz-schedule-query-row label,
  .page-booking-schedule .yz-schedule-query-row .yz-booking-submit {
    grid-column: 1 / -1 !important;
  }

  .page-booking-home .booking-field-ship {
    display: none !important;
  }

  .page-booking-home .booking-field-ship.is-visible {
    display: block !important;
  }

  .page-booking-home .booking-field span,
  .page-booking-schedule .yz-schedule-query-row label span {
    margin: 0 0 3px !important;
    color: #64748b !important;
    font-size: 10px !important;
  }

  .page-booking-home .booking-field select,
  .page-booking-home .booking-field input,
  .page-booking-home .booking-date-display,
  .page-booking-schedule .yz-schedule-query-row select,
  .page-booking-schedule .yz-schedule-query-row input {
    width: 100% !important;
    min-height: 36px !important;
    border: 1px solid #d6e2ef !important;
    border-radius: 5px !important;
    background: #fff !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-swap {
    align-self: end !important;
    width: 32px !important;
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 5px !important;
  }

  .page-booking-home .yz-booking-submit,
  .page-booking-schedule .yz-booking-submit {
    min-height: 36px !important;
    border-radius: 4px !important;
    background: #ff8a00 !important;
    font-size: 13px !important;
  }

  .page-booking-home .yz-booking-announcement,
  .page-booking-home .yz-booking-month-link {
    display: none !important;
  }

  .page-booking-home .yz-booking-routes,
  .page-booking-schedule .yz-schedule-route-buttons,
  .page-booking-detail .yz-booking-choice-list {
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .page-booking-home .yz-booking-routes::-webkit-scrollbar,
  .page-booking-schedule .yz-schedule-route-buttons::-webkit-scrollbar,
  .page-booking-detail .yz-booking-choice-list::-webkit-scrollbar {
    display: none !important;
  }

  .page-booking-home .yz-booking-mobile-icons {
    padding: 0 0 8px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px 6px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a {
    padding: 10px 4px 8px !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a span {
    width: 32px !important;
    height: 32px !important;
    margin: 0 auto 6px !important;
    border-radius: 50% !important;
    background: #eaf4ff !important;
    color: #1478d4 !important;
    line-height: 32px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a strong {
    color: #334155 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
  }

  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main {
    display: block !important;
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-card-list {
    margin: 0 10px !important;
  }

  .page-booking-schedule .yz-schedule-card-pro {
    display: grid !important;
    grid-template-columns: 88px 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-schedule .yz-schedule-card-image {
    width: 88px !important;
    height: 88px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .page-booking-schedule .yz-schedule-card-title {
    display: grid !important;
    gap: 2px !important;
    margin-bottom: 6px !important;
  }

  .page-booking-schedule .yz-schedule-card-title span {
    color: #1478d4 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-card-title em {
    color: #64748b !important;
    font-size: 11px !important;
    font-style: normal !important;
  }

  .page-booking-schedule .yz-schedule-card-meta {
    display: grid !important;
    gap: 4px !important;
  }

  .page-booking-schedule .yz-schedule-card-meta b {
    display: block !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  .page-booking-schedule .yz-schedule-room-strip,
  .page-booking-schedule .yz-schedule-card-body p {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-card-side {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 8px !important;
    border-top: 1px solid #edf2f7 !important;
  }

  .page-booking-detail .yz-detail-top {
    padding: 0 !important;
    background: #f2f5f8 !important;
  }

  .page-booking-detail .yz-detail-top-grid {
    display: block !important;
    padding: 0 !important;
  }

  .page-booking-detail .yz-detail-photo {
    display: block !important;
  }

  .page-booking-detail .yz-detail-photo img {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-title-card {
    margin: 0 !important;
    padding: 12px 10px 10px !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-price-box {
    margin: 8px 10px 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    background: #fff7ed !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-title-card .yz-section-kicker,
  .page-booking-detail .yz-detail-hero-actions,
  .page-booking-detail .yz-detail-alert {
    display: none !important;
  }

  .page-booking-detail .yz-detail-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }

  .page-booking-detail .yz-detail-tags span {
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-detail-body {
    padding: 8px 0 70px !important;
  }

  .page-booking-detail .yz-detail-layout,
  .page-booking-detail .yz-detail-main-card,
  .page-booking-detail .yz-detail-order-inline {
    display: block !important;
  }

  .page-booking-detail .yz-detail-section {
    margin: 0 10px 8px !important;
    padding: 10px !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-detail .yz-detail-section-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .page-booking-detail .yz-detail-section-head > span {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #0b7bd3 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 22px !important;
    text-align: center !important;
  }

  .page-booking-detail .yz-detail-section-head h2 {
    margin: 0 !important;
    font-size: 16px !important;
  }

  .page-booking-detail .yz-detail-section-head p {
    margin: 2px 0 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
  }

  .page-booking-detail .yz-detail-choice-card {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-detail .yz-detail-choice-card > strong {
    display: block !important;
    margin-bottom: 6px !important;
    color: #334155 !important;
    font-size: 12px !important;
  }

  .page-booking-detail .yz-booking-choice {
    flex: 0 0 auto !important;
    min-width: 76px !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12px !important;
    text-align: center !important;
  }

  .page-booking-detail .yz-booking-choice span {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .page-booking-detail .yz-booking-choice b {
    display: block !important;
    margin-top: 3px !important;
    color: #ff7a00 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-booking-choice.is-active {
    border-color: #ff8a00 !important;
    background: #fff7ed !important;
    color: #d45b00 !important;
  }

  .page-booking-detail .yz-detail-room-list,
  .page-booking-detail .yz-detail-schedule-list {
    display: grid !important;
    gap: 8px !important;
  }

  .page-booking-detail .yz-detail-room-pro {
    display: grid !important;
    grid-template-columns: 90px 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-detail .yz-detail-room-pro > img {
    width: 90px !important;
    height: 90px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main strong {
    display: block !important;
    margin-bottom: 2px !important;
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main span {
    display: block !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px 8px !important;
    margin-top: 6px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs div {
    display: block !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dt,
  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dd {
    display: inline !important;
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price em {
    color: #ff7a00 !important;
    font-size: 18px !important;
  }

  .page-booking-detail .yz-order-price-table-wrap,
  .page-booking-detail .yz-booking-summary,
  .page-booking-detail .yz-order-form {
    padding: 10px !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
  }

  .page-booking-detail .yz-order-form label {
    display: grid !important;
    gap: 4px !important;
    margin-bottom: 8px !important;
  }

  .page-booking-detail .yz-order-form input,
  .page-booking-detail .yz-order-form textarea {
    min-height: 38px !important;
    padding: 8px 10px !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 13px !important;
  }

  .page-booking-detail .yz-order-form textarea {
    min-height: 72px !important;
  }

  .page-booking-detail .yz-order-submit {
    width: 100% !important;
    min-height: 40px !important;
    border-radius: 6px !important;
    background: #ff8a00 !important;
    font-size: 15px !important;
  }

  .page-booking-detail .yz-booking-schedule-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
  }

  .page-booking-detail .yz-booking-schedule-row small {
    display: block !important;
    margin-top: 3px !important;
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-mobile-nav,
  .page-booking-schedule .yz-booking-mobile-nav,
  .page-booking-detail .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    border-top: 1px solid #e2e8f0 !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-mobile-nav a,
  .page-booking-schedule .yz-booking-mobile-nav a,
  .page-booking-detail .yz-booking-mobile-nav a {
    min-height: 52px !important;
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-mobile-nav a.is-active,
  .page-booking-schedule .yz-booking-mobile-nav a.is-active,
  .page-booking-detail .yz-booking-mobile-nav a.is-active {
    color: #ff8a00 !important;
    background: #fff !important;
  }
}

@media (max-width: 760px) {
  .page-booking-schedule .yz-schedule-result-head {
    margin: 0 10px 8px !important;
  }

  .page-booking-schedule .yz-schedule-result-head .yz-booking-secondary-action {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-result-head h2 {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .page-booking-schedule .yz-schedule-result-head p {
    margin-top: 2px !important;
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-card-title h2 {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .page-booking-schedule .yz-schedule-card-meta b {
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-card-side strong {
    color: #ff6a00 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  .page-booking-detail .yz-detail-title-card h1 {
    margin: 2px 0 4px !important;
    color: #111827 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  .page-booking-detail .yz-detail-title-card p {
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-price-box span {
    color: #9a3412 !important;
    font-size: 12px !important;
  }

  .page-booking-detail .yz-detail-price-box strong {
    display: block !important;
    margin: 2px 0 4px !important;
    color: #ff6a00 !important;
    font-size: 26px !important;
    line-height: 1 !important;
  }

  .page-booking-detail .yz-detail-price-box p {
    margin: 0 0 8px !important;
    color: #7c2d12 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-price-box dl {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px 8px !important;
  }

  .page-booking-detail .yz-detail-price-box dt,
  .page-booking-detail .yz-detail-price-box dd {
    font-size: 11px !important;
  }

  .page-booking-detail .yz-detail-choice-card > strong small {
    display: inline !important;
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
  }

  .page-booking-detail .yz-detail-order-section .yz-detail-section-head,
  .page-booking-detail #sameShip .yz-detail-section-head {
    margin-bottom: 6px !important;
  }

  .page-booking-detail .yz-order-table-head,
  .page-booking-detail .yz-detail-order-card-title {
    font-size: 13px !important;
  }

  .page-booking-detail .yz-booking-summary strong {
    color: #111827 !important;
  }

  .page-booking-detail .yz-booking-summary b,
  .page-booking-detail #detailOrderTotal {
    color: #ff6a00 !important;
    font-size: 20px !important;
  }

  .page-booking-schedule .yz-booking-footer,
  .page-booking-detail .yz-booking-footer {
    padding: 8px 0 62px !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-booking-footer .container,
  .page-booking-detail .yz-booking-footer .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-schedule .yz-booking-mobile-tel,
  .page-booking-detail .yz-booking-mobile-tel {
    display: block !important;
    color: #0b7bd3 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .page-booking-schedule .yz-booking-mobile-copy,
  .page-booking-detail .yz-booking-mobile-copy {
    margin-top: 6px !important;
    color: #64748b !important;
    font-size: 11px !important;
    text-align: center !important;
  }
}

@media (max-width: 760px) {
  .page-booking-home {
    background: #f5f5f5 !important;
  }

  .page-booking-home .container,
  .page-booking-schedule .container,
  .page-booking-detail .container {
    max-width: none !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-home .yz-booking-hero .container,
  .page-booking-home .yz-booking-search .container,
  .page-booking-home .yz-booking-announcement-bar .container,
  .page-booking-home .yz-booking-mobile-icons .container,
  .page-booking-home .yz-booking-section .container,
  .page-booking-home .yz-booking-footer .container,
  .page-booking-schedule .yz-schedule-query-hero .container,
  .page-booking-schedule .yz-booking-section .container,
  .page-booking-schedule .yz-booking-footer .container,
  .page-booking-detail .yz-detail-top .container,
  .page-booking-detail .yz-detail-body .container,
  .page-booking-detail .yz-booking-footer .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-home .yz-booking-header,
  .page-booking-schedule .yz-booking-header,
  .page-booking-detail .yz-booking-header {
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-topline,
  .page-booking-home .yz-booking-nav-row,
  .page-booking-home .yz-booking-badge,
  .page-booking-home .yz-booking-phone,
  .page-booking-home .yz-booking-header-cta,
  .page-booking-home .yz-booking-nav,
  .page-booking-schedule .yz-booking-nav,
  .page-booking-detail .yz-booking-nav {
    display: none !important;
  }

  .page-booking-home .yz-booking-header-inner,
  .page-booking-schedule .yz-booking-header-inner,
  .page-booking-detail .yz-booking-header-inner {
    min-height: 54px !important;
    padding: 8px 10px !important;
  }

  .page-booking-home .yz-booking-brand,
  .page-booking-schedule .yz-booking-logo,
  .page-booking-detail .yz-booking-logo {
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-brand img,
  .page-booking-schedule .yz-booking-logo img,
  .page-booking-detail .yz-booking-logo img {
    width: 34px !important;
    height: 34px !important;
  }

  .page-booking-home .yz-booking-brand strong,
  .page-booking-schedule .yz-booking-logo strong,
  .page-booking-detail .yz-booking-logo strong {
    font-size: 15px !important;
  }

  .page-booking-home .yz-booking-brand small,
  .page-booking-schedule .yz-booking-logo small,
  .page-booking-detail .yz-booking-logo small {
    font-size: 10px !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 8px 0 4px !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    width: 100% !important;
    height: 148px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-search-card {
    margin-top: -2px !important;
    padding: 8px !important;
    border-radius: 0 0 14px 14px !important;
    background: #0b7bd3 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-search {
    margin-top: -6px !important;
  }

  .page-booking-home .yz-booking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 42px !important;
    border: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #f2f4f8 !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #ff8a00 !important;
    color: #fff !important;
  }

  .page-booking-home .yz-booking-search-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 10px 10px 12px !important;
    border-radius: 0 0 14px 14px !important;
    background: #e8f2fd !important;
    border: 2px solid #1f86de !important;
    border-top: 0 !important;
  }

  .page-booking-home .booking-field,
  .page-booking-schedule .yz-schedule-query-card label {
    min-height: 56px !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .booking-field span,
  .page-booking-schedule .yz-schedule-query-card label span {
    margin: 0 0 6px !important;
    color: #2b4d75 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .booking-field select,
  .page-booking-home .booking-field input,
  .page-booking-home .booking-date-display,
  .page-booking-schedule .yz-schedule-query-card select,
  .page-booking-schedule .yz-schedule-query-card input {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    border: 1px solid #b8d1ea !important;
    border-radius: 10px !important;
    background: #f4f9ff !important;
  }

  .page-booking-home .booking-field select,
  .page-booking-home .booking-date-display {
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
  }

  .page-booking-home .booking-date-display small {
    display: block !important;
    margin-top: 2px !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  .page-booking-home .yz-booking-swap,
  .page-booking-schedule .yz-booking-swap {
    width: 50px !important;
    height: 50px !important;
    margin: -2px auto 8px !important;
    border: 2px solid #8fb7df !important;
    border-radius: 10px !important;
    background: #dcecff !important;
    color: #3b6ea8 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-submit,
  .page-booking-schedule .yz-booking-submit {
    min-height: 44px !important;
    margin-top: 2px !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #e48f13 0%, #d78000 100%) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 4px !important;
  }

  .page-booking-home .yz-booking-routes {
    gap: 6px !important;
    margin-top: 8px !important;
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-routes button,
  .page-booking-schedule .yz-schedule-route-buttons button {
    min-height: 30px !important;
    padding: 0 10px !important;
    border: 1px solid #d3dbe5 !important;
    border-radius: 999px !important;
    background: #fff !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    gap: 8px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    background: #fff !important;
    padding: 12px 10px !important;
    border-radius: 10px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a {
    min-height: 72px !important;
    padding: 10px 4px !important;
    border-radius: 10px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid span {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid strong {
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-series-grid,
  .page-booking-home .yz-booking-featured-grid,
  .page-booking-home .yz-booking-route-grid {
    gap: 8px !important;
  }

  .page-booking-home .yz-ref-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
  }

  .page-booking-home .yz-section-head h2 {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-series-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px 6px !important;
    background: #fff !important;
    padding: 12px 10px !important;
    border-radius: 10px !important;
  }

  .page-booking-home .yz-booking-series-card {
    display: grid !important;
    justify-items: center !important;
    gap: 4px !important;
    color: #333 !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-series-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    background: #f7f7f7 !important;
  }

  .page-booking-home .yz-booking-series-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-series-more {
    color: #0b7bd3 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-series-card span:last-child {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .page-booking-home .yz-booking-series-label {
    min-height: 28px !important;
    font-weight: 500 !important;
  }

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

  .page-booking-home .yz-booking-featured-card {
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(15, 50, 90, 0.08) !important;
  }

  .page-booking-home .yz-booking-featured-card img {
    height: 118px !important;
    border-radius: 0 !important;
  }

  .page-booking-home .yz-booking-featured-card {
    border: 1px solid #f3f4f6 !important;
  }

  .page-booking-home .yz-booking-featured-body {
    padding: 8px 8px 10px !important;
  }

  .page-booking-home .yz-booking-featured-body strong {
    display: block !important;
    color: #333 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .page-booking-home .yz-booking-featured-body small {
    display: block !important;
    margin-top: 2px !important;
    color: #64748b !important;
    font-size: 10px !important;
  }

  .page-booking-home .yz-booking-featured-price {
    margin-top: 6px !important;
    color: #ef5b2a !important;
  }

  .page-booking-home .yz-booking-featured-price b {
    font-size: 20px !important;
  }

  .page-booking-home .yz-booking-featured-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 196px !important;
  }

  .page-booking-home .yz-booking-featured-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 100% !important;
    padding: 8px 8px 12px !important;
  }

  .page-booking-home .yz-booking-featured-card img {
    display: block !important;
    width: 100% !important;
    height: 88px !important;
    object-fit: cover !important;
    flex: 0 0 88px !important;
  }

  .page-booking-home .yz-booking-featured-price {
    min-height: 24px !important;
    line-height: 1.15 !important;
    margin-top: auto !important;
    padding-bottom: 2px !important;
  }

  .page-booking-home .yz-booking-featured-price b,
  .page-booking-home .yz-booking-featured-price dfn,
  .page-booking-home .yz-booking-featured-price em {
    line-height: 1.1 !important;
  }

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

  .page-booking-home .yz-booking-route-card {
    position: relative !important;
    display: block !important;
    padding: 12px 10px !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #fff 0%, #fff7ef 100%) !important;
    color: #333 !important;
    box-shadow: 0 2px 8px rgba(255, 122, 0, 0.08) !important;
  }

  .page-booking-home .yz-booking-route-card .piao {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-route-card .piao i {
    color: #ff7a00 !important;
    font-style: normal !important;
  }

  .page-booking-home .yz-booking-route-card .prc {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-route-card .num {
    color: #ef5b2a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-route-card .num span {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .page-booking-home .yz-booking-route-card .tim {
    color: #666 !important;
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-route-card .yuan {
    position: absolute !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.14) !important;
  }

  .page-booking-home .yz-booking-route-card .yuan.up {
    left: 10px !important;
    top: 10px !important;
  }

  .page-booking-home .yz-booking-route-card .yuan.down {
    right: 10px !important;
    bottom: 10px !important;
  }

  .page-booking-home .yz-booking-footer {
    padding: 8px 0 62px !important;
    background: #fff !important;
  }

  .page-booking-home .yz-booking-mobile-pay-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .page-booking-home .yz-booking-mobile-pay-grid img {
    width: 100% !important;
    max-width: 64px !important;
    height: 24px !important;
    object-fit: contain !important;
  }

  .page-booking-home .yz-booking-mobile-tel,
  .page-booking-schedule .yz-booking-mobile-tel,
  .page-booking-detail .yz-booking-mobile-tel {
    font-size: 13px !important;
  }

  .page-booking-home .yz-booking-mobile-nav {
    height: 54px !important;
    border-top: 1px solid #dbe6f2 !important;
    background: #fff !important;
    box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.08) !important;
  }

  .page-booking-home .yz-booking-mobile-nav a {
    color: #64748b !important;
    font-size: 11px !important;
    text-align: center !important;
  }

  .page-booking-home .yz-booking-mobile-nav a i {
    display: block !important;
    margin-bottom: 2px !important;
    font-style: normal !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .page-booking-home .yz-booking-mobile-nav a span {
    display: block !important;
    line-height: 1.2 !important;
  }

  .page-booking-home .yz-booking-mobile-nav a.is-active {
    color: #0b7bd3 !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-floating-tools,
  .page-booking-schedule .yz-booking-floating-tools,
  .page-booking-detail .yz-booking-floating-tools {
    right: 10px !important;
    bottom: 68px !important;
  }

  .page-booking-home .yz-booking-floating-tools a,
  .page-booking-schedule .yz-booking-floating-tools a,
  .page-booking-detail .yz-booking-floating-tools a {
    width: 52px !important;
    height: 52px !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-query-card {
    padding: 10px !important;
    border-radius: 12px !important;
  }

  .page-booking-schedule .yz-schedule-query-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .page-booking-schedule .yz-schedule-results-main {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-day-list {
    display: grid !important;
    gap: 10px !important;
    margin: 0 10px !important;
  }

  .page-booking-schedule .yz-schedule-day-block {
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.06) !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: #f8fbff !important;
  }

  .page-booking-schedule .yz-schedule-day-head .date {
    color: #1478d4 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-day-head .week {
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    display: grid !important;
    gap: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-link {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }

  .page-booking-schedule .yz-schedule-day-link::before {
    content: "�? !important;
    flex: 0 0 auto !important;
    margin-right: 4px !important;
    color: #ff7a00 !important;
  }

  .page-booking-schedule .yz-schedule-day-link:last-child {
    border-bottom: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-ship {
    flex: 1 1 auto !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .page-booking-schedule .yz-schedule-day-price {
    flex: 0 0 auto !important;
    color: #ef5b2a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .page-booking-detail .yz-detail-photo img {
    height: 198px !important;
  }

  .page-booking-detail .yz-detail-top-grid {
    gap: 0 !important;
  }

  .page-booking-detail .yz-detail-price-box {
    margin-top: 6px !important;
    background: #fff7ed !important;
  }

  .page-booking-detail .yz-detail-title-card h1 {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  .page-booking-detail .yz-detail-title-card p {
    margin-top: 4px !important;
    font-size: 12px !important;
  }

  .page-booking-detail .yz-detail-price-box strong {
    font-size: 28px !important;
  }

  .page-booking-detail .yz-detail-price-box dl {
    gap: 4px 6px !important;
  }

  .page-booking-detail .yz-detail-price-box dl div {
    padding: 6px 8px !important;
  }

  .page-booking-detail .yz-detail-choice-grid {
    gap: 8px !important;
  }

  .page-booking-detail .yz-booking-choice-list {
    gap: 6px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .page-booking-detail .yz-booking-choice {
    min-width: 72px !important;
    border-radius: 8px !important;
  }

  .page-booking-detail .yz-detail-room-pro {
    grid-template-columns: 76px 1fr !important;
    padding: 10px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main strong {
    font-size: 13px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main span {
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  .page-booking-detail .yz-detail-room-pro > img {
    width: 76px !important;
    height: 76px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3px 6px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs div:last-child {
    grid-column: 1 / -1 !important;
  }

  .page-booking-detail .yz-detail-room-pro button {
    min-height: 30px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }

  .page-booking-detail .yz-order-price-table th,
  .page-booking-detail .yz-order-price-table td {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-order-form {
    background: #fff !important;
  }
}

@media (max-width: 760px) {
  .page-booking-detail {
    background: #f3f5f7 !important;
  }

  .page-booking-detail .yz-booking-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-booking-header-inner {
    min-height: 50px !important;
    padding: 8px 10px !important;
  }

  .page-booking-detail .yz-booking-nav,
  .page-booking-detail .yz-booking-header-cta,
  .page-booking-detail .yz-booking-floating-tools {
    display: none !important;
  }

  .page-booking-detail .yz-booking-logo strong {
    font-size: 14px !important;
  }

  .page-booking-detail .yz-booking-logo small {
    font-size: 10px !important;
  }

  .page-booking-detail .yz-detail-top {
    padding: 0 !important;
    background: transparent !important;
  }

  .page-booking-detail .yz-detail-top .container,
  .page-booking-detail .yz-detail-body .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-booking-detail .yz-detail-top-grid {
    display: block !important;
  }

  .page-booking-detail .yz-detail-photo,
  .page-booking-detail .yz-detail-title-card,
  .page-booking-detail .yz-detail-price-box {
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-photo img {
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-title-card {
    margin: 0 !important;
    padding: 12px 12px 10px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-detail-title-card .yz-section-kicker {
    display: none !important;
  }

  .page-booking-detail .yz-detail-title-card h1 {
    margin: 0 0 4px !important;
    color: #111827 !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .page-booking-detail .yz-detail-title-card p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .page-booking-detail .yz-detail-tags {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 6px !important;
    margin-top: 8px !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .page-booking-detail .yz-detail-tags::-webkit-scrollbar {
    display: none !important;
  }

  .page-booking-detail .yz-detail-tags span {
    flex: 0 0 auto !important;
    padding: 5px 9px !important;
    background: #f3f6fa !important;
    color: #475569 !important;
    font-size: 11px !important;
    border-radius: 999px !important;
  }

  .page-booking-detail .yz-detail-price-box {
    margin: 8px 10px 0 !important;
    padding: 12px !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #fff8ef 0%, #fff 100%) !important;
  }

  .page-booking-detail .yz-detail-price-box > span {
    display: block !important;
    color: #9a3412 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-detail-price-box strong {
    display: block !important;
    margin: 4px 0 6px !important;
    color: #ef5b2a !important;
    font-size: 30px !important;
    line-height: 1 !important;
  }

  .page-booking-detail .yz-detail-price-box p {
    margin: 0 0 8px !important;
    color: #7c2d12 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .page-booking-detail .yz-detail-price-box dl {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .page-booking-detail .yz-detail-price-box dl div {
    padding: 7px 8px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #fde6d3 !important;
  }

  .page-booking-detail .yz-detail-body {
    padding: 8px 0 68px !important;
  }

  .page-booking-detail .yz-detail-layout,
  .page-booking-detail .yz-detail-main-card,
  .page-booking-detail .yz-detail-order-inline {
    display: block !important;
  }

  .page-booking-detail .yz-detail-main-card {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-section {
    margin: 0 10px 8px !important;
    padding: 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.06) !important;
  }

  .page-booking-detail .yz-detail-section-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .page-booking-detail .yz-detail-section-head > span {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #1478d4 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 22px !important;
    text-align: center !important;
    flex: 0 0 auto !important;
  }

  .page-booking-detail .yz-detail-section-head h2 {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .page-booking-detail .yz-detail-section-head p {
    margin: 2px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-choice-grid {
    display: block !important;
  }

  .page-booking-detail .yz-detail-choice-card {
    padding: 0 !important;
    margin-bottom: 8px !important;
    background: transparent !important;
    border: 0 !important;
  }

  .page-booking-detail .yz-detail-choice-card:last-child {
    margin-bottom: 0 !important;
  }

  .page-booking-detail .yz-detail-choice-card > strong {
    display: block !important;
    margin-bottom: 6px !important;
    color: #334155 !important;
    font-size: 12px !important;
  }

  .page-booking-detail .yz-detail-choice-card > strong small {
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
  }

  .page-booking-detail .yz-booking-choice-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .page-booking-detail .yz-booking-choice-list::-webkit-scrollbar {
    display: none !important;
  }

  .page-booking-detail .yz-booking-choice {
    flex: 0 0 auto !important;
    min-width: 80px !important;
    min-height: 40px !important;
    padding: 7px 10px !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12px !important;
    text-align: center !important;
  }

  .page-booking-detail .yz-booking-choice span,
  .page-booking-detail .yz-booking-choice b {
    display: block !important;
  }

  .page-booking-detail .yz-booking-choice b {
    margin-top: 3px !important;
    color: #ef5b2a !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-booking-choice.is-active {
    border-color: #ff8a00 !important;
    background: #fff7ed !important;
    color: #d45b00 !important;
  }

  .page-booking-detail .yz-detail-room-list,
  .page-booking-detail .yz-detail-schedule-list {
    display: grid !important;
    gap: 8px !important;
  }

  .page-booking-detail .yz-detail-room-pro {
    display: grid !important;
    grid-template-columns: 86px 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-room-pro > img {
    width: 86px !important;
    height: 86px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main strong {
    display: block !important;
    margin-bottom: 3px !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .page-booking-detail .yz-detail-room-meta {
    display: grid !important;
    gap: 2px !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .page-booking-detail .yz-detail-room-meta li {
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-room-price-line {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
  }

  .page-booking-detail .yz-detail-room-price-line em {
    color: #ef5b2a !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .page-booking-detail .yz-detail-room-price-line span {
    color: #94a3b8 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .page-booking-detail .yz-detail-room-flags {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
  }

  .page-booking-detail .yz-detail-room-flags b {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: #fff1e8 !important;
    color: #ef5b2a !important;
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-detail-room-expand {
    margin-top: 4px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main span {
    display: block !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px 6px !important;
    margin-top: 6px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dt,
  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dd {
    display: inline !important;
    color: #64748b !important;
    font-size: 10px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
  }

  .page-booking-detail .yz-detail-room-pro button {
    min-height: 32px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    background: #ff8a00 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-booking-schedule-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
  }

  .page-booking-detail .yz-booking-schedule-row small {
    display: block !important;
    margin-top: 3px !important;
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-order-price-table-wrap,
  .page-booking-detail .yz-booking-summary,
  .page-booking-detail .yz-order-form {
    padding: 10px !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-order-table-head,
  .page-booking-detail .yz-detail-order-card-title {
    font-size: 13px !important;
  }

  .page-booking-detail .yz-order-form label {
    display: grid !important;
    gap: 4px !important;
    margin-bottom: 8px !important;
  }

  .page-booking-detail .yz-order-form input,
  .page-booking-detail .yz-order-form textarea {
    min-height: 38px !important;
    padding: 8px 10px !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 13px !important;
  }

  .page-booking-detail .yz-order-form textarea {
    min-height: 72px !important;
  }

  .page-booking-detail .yz-order-submit {
    width: 100% !important;
    min-height: 40px !important;
    border-radius: 6px !important;
    background: #ff8a00 !important;
    font-size: 15px !important;
  }

  .page-booking-detail .yz-booking-summary b,
  .page-booking-detail #detailOrderTotal {
    color: #ef5b2a !important;
    font-size: 20px !important;
  }

  .page-booking-detail .yz-booking-footer {
    padding: 8px 0 62px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-booking-footer .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

@media (max-width: 760px) {
  .page-booking-home .yz-booking-hero,
  .page-booking-home .yz-booking-search {
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-booking-hero .container,
  .page-booking-home .yz-booking-search .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    width: 100% !important;
    height: 176px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-search-card {
    margin: 0 !important;
    padding: 8px 8px 14px !important;
    border-radius: 0 0 16px 16px !important;
    background: #0b7bd3 !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 42px !important;
    border: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #f1f3f7 !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #ff8a00 !important;
    color: #fff !important;
  }

  .page-booking-home .yz-booking-search-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 10px 10px 10px !important;
    border: 2px solid #49a2ef !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
    background: #dbeeff !important;
  }

  .page-booking-home .booking-field {
    min-height: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .booking-field span {
    display: none !important;
  }

  .page-booking-home .booking-field select,
  .page-booking-home .booking-date-display {
    width: 100% !important;
    min-height: 78px !important;
    padding: 0 14px !important;
    border: 1px solid #b6d2ea !important;
    border-radius: 10px !important;
    background: #f4f9ff !important;
    color: #1f2937 !important;
    text-align: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: none !important;
  }

  .page-booking-home .booking-field-select {
    position: relative !important;
  }

  .page-booking-home .booking-field-display {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 78px !important;
    padding: 0 14px !important;
    border: 1px solid #b6d2ea !important;
    border-radius: 10px !important;
    background: #f4f9ff !important;
    color: #1f2937 !important;
    text-align: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    pointer-events: none !important;
  }

  .page-booking-home .booking-field-select select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
  }

  .page-booking-home .booking-field input {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid #b6d2ea !important;
    border-radius: 10px !important;
    background: #f4f9ff !important;
  }

  .page-booking-home .booking-date-display {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
  }

  .page-booking-home .booking-date-display strong {
    display: block !important;
    color: #1f2937 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  .page-booking-home .booking-date-display small {
    display: block !important;
    margin-top: 4px !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .page-booking-home .booking-field-ship {
    display: none !important;
  }

  .page-booking-home .yz-booking-swap {
    width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 auto 10px !important;
    border: 2px solid #8fb7df !important;
    border-radius: 10px !important;
    background: #dcecff !important;
    color: #3b6ea8 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    align-self: center !important;
  }

  .page-booking-home .yz-booking-submit {
    grid-column: auto !important;
    width: 100% !important;
    min-height: 46px !important;
    margin-top: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #e19217 0%, #d67f00 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 4px !important;
  }

  .page-booking-home .yz-booking-routes {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 10px !important;
    color: #fff !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-routes button {
    min-height: 32px !important;
    padding: 0 12px !important;
    border: 1px solid #d4dce7 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #2463a6 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }
}

@media (max-width: 760px) {
  .page-booking-home .yz-booking-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-header-inner {
    min-height: 46px !important;
    padding: 6px 10px !important;
  }

  .page-booking-home .yz-booking-brand {
    gap: 8px !important;
    color: #1f2937 !important;
  }

  .page-booking-home .yz-booking-brand img {
    width: 28px !important;
    height: 28px !important;
  }

  .page-booking-home .yz-booking-brand strong {
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-brand small {
    display: none !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    background: #f5f5f5 !important;
  }

  .page-booking-home .yz-booking-announcement-bar .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    min-height: 36px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-mobile-icons {
    margin-top: 0 !important;
    padding-top: 8px !important;
  }
}

@media (max-width: 760px) {
  .page-booking-home {
    background: #f5f5f5 !important;
  }

  .page-booking-home .yz-booking-header {
    position: relative !important;
    top: auto !important;
    z-index: 20 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-header .container,
  .page-booking-home .yz-booking-hero .container,
  .page-booking-home .yz-booking-search .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-booking-home .yz-booking-header-inner {
    min-height: 44px !important;
    padding: 0 12px !important;
  }

  .page-booking-home .yz-booking-brand-ref {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #1f2937 !important;
  }

  .page-booking-home .yz-booking-brand-ref img {
    width: 22px !important;
    height: 22px !important;
    border-radius: 0 !important;
    object-fit: contain !important;
  }

  .page-booking-home .yz-booking-brand-ref strong {
    color: #1f2937 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .page-booking-home .yz-booking-hero,
  .page-booking-home .yz-booking-search {
    background: #0b7bd3 !important;
  }

  .page-booking-home .yz-booking-hero {
    padding: 0 !important;
  }

  .page-booking-home .yz-booking-hero-panel,
  .page-booking-home .yz-booking-hero-banner-ref {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .page-booking-home .yz-booking-hero-banner img {
    width: 100% !important;
    height: 176px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-search {
    margin-top: 0 !important;
  }

  .page-booking-home .yz-booking-search-card {
    margin: 0 !important;
    padding: 0 8px 12px !important;
    border-radius: 0 !important;
    background: #0b7bd3 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .page-booking-home .yz-booking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .yz-booking-tabs button {
    height: 41px !important;
    min-height: 41px !important;
    border: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #f1f1f1 !important;
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-tabs button.is-active {
    background: #ffffff !important;
    color: #1f2937 !important;
  }

  .page-booking-home .yz-home-search-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 10px !important;
    border: 2px solid #49a2ef !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
    background: #dbeeff !important;
  }

  .page-booking-home .booking-field {
    min-height: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-home .booking-field span {
    display: none !important;
  }

  .page-booking-home .booking-field-start,
  .page-booking-home .booking-field-end,
  .page-booking-home .booking-field-date-hero {
    grid-column: auto !important;
  }

  .page-booking-home .booking-field-select {
    position: relative !important;
  }

  .page-booking-home .booking-field-display,
  .page-booking-home .booking-date-display {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 74px !important;
    padding: 0 14px !important;
    border: 1px solid #b6d2ea !important;
    border-radius: 10px !important;
    background: #f4f9ff !important;
    color: #1f2937 !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-field-display {
    pointer-events: none !important;
  }

  .page-booking-home .booking-field-select select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
  }

  .page-booking-home .booking-date-display {
    flex-direction: column !important;
  }

  .page-booking-home .booking-date-display strong {
    display: block !important;
    color: #1f2937 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  .page-booking-home .booking-date-display small {
    display: block !important;
    margin-top: 4px !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .page-booking-home .booking-field-ship {
    display: none !important;
    margin-bottom: 10px !important;
  }

  .page-booking-home .booking-field-ship input {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid #b6d2ea !important;
    border-radius: 10px !important;
    background: #f4f9ff !important;
    color: #1f2937 !important;
    font-size: 14px !important;
  }

  .page-booking-home .yz-booking-swap {
    width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 auto 10px !important;
    border: 2px solid #8fb7df !important;
    border-radius: 10px !important;
    background: #dcecff !important;
    color: #3b6ea8 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    align-self: center !important;
  }

  .page-booking-home .yz-booking-submit {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #e19217 0%, #d67f00 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
  }

  .page-booking-home .yz-booking-routes {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 6px !important;
    margin: 10px 0 0 !important;
    padding: 0 2px !important;
    color: #fff !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-routes button {
    min-height: 30px !important;
    padding: 0 10px !important;
    border: 1px solid #d4dce7 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #2463a6 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    padding-top: 6px !important;
    background: #f5f5f5 !important;
  }

  .page-booking-home .yz-booking-announcement-bar .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 12px !important;
  }
}

@media (max-width: 760px) {
  .page-booking-detail {
    background: #f5f5f5 !important;
  }

  .page-booking-detail .yz-booking-header {
    position: relative !important;
    top: auto !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-booking-header .container,
  .page-booking-detail .yz-detail-top .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-booking-detail .yz-booking-header-inner {
    min-height: 44px !important;
    padding: 0 12px !important;
  }

  .page-booking-detail .yz-booking-logo-ref {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #1f2937 !important;
  }

  .page-booking-detail .yz-booking-logo-ref img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
  }

  .page-booking-detail .yz-booking-logo-ref strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .page-booking-detail .yz-detail-top {
    padding: 0 !important;
    background: #f5f5f5 !important;
  }

  .page-booking-detail .yz-detail-top-grid {
    display: block !important;
    gap: 0 !important;
  }

  .page-booking-detail .yz-detail-photo,
  .page-booking-detail .yz-detail-title-card-ref,
  .page-booking-detail .yz-detail-price-box-ref {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-detail-photo img {
    width: 100% !important;
    min-height: 210px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-title-card-ref {
    padding: 12px 12px 8px !important;
  }

  .page-booking-detail .yz-detail-title-card-ref h1 {
    margin: 0 0 6px !important;
    color: #111827 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  .page-booking-detail .yz-detail-title-card-ref p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .page-booking-detail .yz-detail-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }

  .page-booking-detail .yz-detail-tags span {
    min-height: 24px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #f3f7fb !important;
    color: #47617b !important;
    font-size: 11px !important;
    line-height: 24px !important;
  }

  .page-booking-detail .yz-detail-price-box-ref {
    padding: 8px 12px 12px !important;
    border-top: 1px solid #edf2f7 !important;
  }

  .page-booking-detail .yz-detail-price-box-ref span {
    display: block !important;
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-detail-price-box-ref strong {
    display: block !important;
    margin-top: 2px !important;
    color: #ef5b2a !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
  }

  .page-booking-detail .yz-detail-price-box-ref p {
    margin: 4px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-body {
    padding-top: 8px !important;
  }

  .page-booking-detail .yz-detail-body .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-detail .yz-detail-main-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-section {
    margin-bottom: 8px !important;
    padding: 10px !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-section#sameShip {
    padding-bottom: 8px !important;
  }

  .page-booking-detail .yz-detail-section-head-ref {
    display: block !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
  }

  .page-booking-detail .yz-detail-section-head-ref > span {
    display: none !important;
  }

  .page-booking-detail .yz-detail-section-head-ref h2 {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-detail-section-head-ref p {
    margin: 4px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-choice-card {
    padding: 0 !important;
    margin-bottom: 8px !important;
    background: transparent !important;
    border: 0 !important;
  }

  .page-booking-detail .yz-detail-choice-card > strong {
    display: block !important;
    margin-bottom: 6px !important;
    color: #334155 !important;
    font-size: 12px !important;
  }

  .page-booking-detail .yz-detail-choice-card > strong small {
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
  }

  .page-booking-detail .yz-booking-choice-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .page-booking-detail .yz-booking-choice-list::-webkit-scrollbar {
    display: none !important;
  }

  .page-booking-detail .yz-booking-choice {
    flex: 0 0 auto !important;
    min-width: 80px !important;
    min-height: 40px !important;
    padding: 7px 10px !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12px !important;
    text-align: center !important;
  }

  .page-booking-detail .yz-booking-choice span,
  .page-booking-detail .yz-booking-choice b {
    display: block !important;
  }

  .page-booking-detail .yz-booking-choice b {
    margin-top: 3px !important;
    color: #ef5b2a !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-booking-choice.is-active {
    border-color: #ff8a00 !important;
    background: #fff7ed !important;
    color: #d45b00 !important;
  }

  .page-booking-detail .yz-detail-room-list,
  .page-booking-detail .yz-detail-schedule-list {
    display: grid !important;
    gap: 8px !important;
  }

  .page-booking-detail .yz-detail-schedule-list {
    gap: 6px !important;
  }

  .page-booking-detail .yz-booking-schedule-row {
    padding: 10px 12px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-booking-schedule-row.is-active {
    border-color: #ff8a00 !important;
    background: #fff7ed !important;
  }

  .page-booking-detail .yz-booking-schedule-row strong {
    color: #ef5b2a !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .page-booking-detail .yz-detail-room-pro {
    display: grid !important;
    grid-template-columns: 86px 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-room-pro > img {
    width: 86px !important;
    height: 86px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main strong {
    display: block !important;
    margin-bottom: 3px !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main span {
    display: block !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px 6px !important;
    margin-top: 6px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dt,
  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dd {
    display: inline !important;
    color: #64748b !important;
    font-size: 10px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price em {
    color: #ef5b2a !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .page-booking-detail .yz-detail-room-pro button {
    min-height: 30px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #ff8a00 !important;
    color: #fff !important;
    font-size: 13px !important;
  }

  .page-booking-detail .yz-detail-order-section {
    padding: 10px !important;
    border: 0 !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-detail-order-section .yz-detail-section-head-ref p {
    margin-top: 2px !important;
  }

  .page-booking-detail .yz-detail-order-inline {
    display: grid !important;
    gap: 10px !important;
  }

  .page-booking-detail .yz-order-price-table-wrap,
  .page-booking-detail .yz-booking-summary,
  .page-booking-detail .yz-order-form {
    padding: 10px !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-detail-price-calculator-ref,
  .page-booking-detail .yz-detail-order-sidebar-ref {
    border: 1px solid #edf2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-order-price-table-wrap {
    border: 1px solid #edf2f7 !important;
  }

  .page-booking-detail .yz-booking-summary {
    margin-bottom: 8px !important;
    border: 1px solid #fff1e8 !important;
    background: #fffaf6 !important;
  }

  .page-booking-detail .yz-booking-summary > span {
    color: #ff7a00 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-booking-summary > strong {
    color: #111827 !important;
    font-size: 17px !important;
  }

  .page-booking-detail .yz-booking-summary p,
  .page-booking-detail .yz-booking-summary dl,
  .page-booking-detail .yz-booking-summary small {
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-order-table-head,
  .page-booking-detail .yz-detail-order-card-title {
    font-size: 13px !important;
  }

  .page-booking-detail .yz-detail-order-card-title {
    margin-bottom: 8px !important;
    color: #111827 !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-order-form label {
    display: grid !important;
    gap: 4px !important;
    margin-bottom: 8px !important;
  }

  .page-booking-detail .yz-order-form input,
  .page-booking-detail .yz-order-form textarea {
    min-height: 38px !important;
    padding: 8px 10px !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 13px !important;
  }

  .page-booking-detail .yz-order-form textarea {
    min-height: 72px !important;
  }

  .page-booking-detail .yz-detail-order-sidebar-ref .yz-order-summary-mini {
    gap: 4px !important;
  }

  .page-booking-detail .yz-detail-order-sidebar-ref .yz-order-summary-mini dt,
  .page-booking-detail .yz-detail-order-sidebar-ref .yz-order-summary-mini dd {
    color: #64748b !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-order-submit {
    width: 100% !important;
    min-height: 40px !important;
    border-radius: 6px !important;
    background: #ff8a00 !important;
    font-size: 15px !important;
  }

  .page-booking-detail .yz-order-price-table {
    min-width: 620px !important;
  }

  .page-booking-detail .yz-order-price-table th,
  .page-booking-detail .yz-order-price-table td {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }

  .page-booking-detail .yz-order-note {
    margin-top: 6px !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-booking-summary b,
  .page-booking-detail #detailOrderTotal {
    color: #ef5b2a !important;
    font-size: 20px !important;
  }

  .page-booking-detail .yz-booking-footer {
    padding: 8px 0 62px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-booking-footer .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-booking-detail .yz-booking-mobile-nav {
    height: 54px !important;
    border-top: 1px solid #dbe6f2 !important;
    background: #fff !important;
    box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.08) !important;
  }

  .page-booking-detail .yz-booking-mobile-nav a {
    color: #64748b !important;
    font-size: 11px !important;
    text-align: center !important;
  }

  .page-booking-detail .yz-booking-mobile-nav a i {
    display: block !important;
    margin-bottom: 2px !important;
    font-style: normal !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .page-booking-detail .yz-booking-mobile-nav a span {
    display: block !important;
    line-height: 1.2 !important;
  }

  .page-booking-detail .yz-booking-mobile-nav a.is-active {
    color: #0b7bd3 !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 760px) {
  .page-booking-detail .yz-detail-top,
  .page-booking-detail .yz-detail-body {
    background: #f5f5f5 !important;
  }

  .page-booking-detail .yz-detail-section#sameShip {
    display: none !important;
  }

  .page-booking-detail .yz-detail-section {
    margin-bottom: 8px !important;
    padding: 10px !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-detail .yz-detail-room-list {
    display: grid !important;
    gap: 8px !important;
  }

  .page-booking-detail .yz-detail-order-inline {
    display: grid !important;
    gap: 10px !important;
  }

  .page-booking-detail .yz-detail-order-inline > .yz-detail-order-sidebar-ref {
    order: 1 !important;
  }

  .page-booking-detail .yz-detail-order-inline > .yz-detail-price-calculator-ref {
    order: 2 !important;
  }

  .page-booking-detail .yz-detail-room-pro {
    display: grid !important;
    grid-template-columns: 86px 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 10px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-detail-room-pro.is-active {
    border-color: #ff8a00 !important;
    background: #fffaf4 !important;
  }

  .page-booking-detail .yz-detail-room-pro > img {
    width: 86px !important;
    height: 86px !important;
    min-height: 86px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main {
    min-width: 0 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-card-main strong {
    display: block !important;
    margin-bottom: 4px !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .page-booking-detail .yz-detail-room-meta {
    display: grid !important;
    gap: 2px !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .page-booking-detail .yz-detail-room-meta li {
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-room-price-line {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
  }

  .page-booking-detail .yz-detail-room-price-line em {
    color: #ef5b2a !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .page-booking-detail .yz-detail-room-price-line span {
    color: #94a3b8 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .page-booking-detail .yz-detail-room-flags {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
  }

  .page-booking-detail .yz-detail-room-flags b {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: #fff1e8 !important;
    color: #ef5b2a !important;
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-detail-room-expand {
    margin-top: 4px !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    margin-top: 0 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs div {
    display: block !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dt,
  .page-booking-detail .yz-detail-room-pro .yz-booking-room-specs dd {
    display: inline !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price {
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: flex-end !important;
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
  }

  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price small,
  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price em,
  .page-booking-detail .yz-detail-room-pro .yz-booking-room-price b {
    display: none !important;
  }

  .page-booking-detail .yz-detail-room-pro button {
    min-height: 32px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    background: #ff8a00 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-detail .yz-detail-schedule-list {
    display: grid !important;
    gap: 6px !important;
  }

  .page-booking-detail .yz-booking-schedule-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-booking-schedule-row.is-active {
    border-color: #ff8a00 !important;
    background: #fff7ed !important;
  }

  .page-booking-detail .yz-booking-schedule-row b {
    color: #111827 !important;
    font-size: 13px !important;
  }

  .page-booking-detail .yz-booking-schedule-row small {
    display: block !important;
    margin-top: 2px !important;
    color: #64748b !important;
    font-size: 10px !important;
  }

  .page-booking-detail .yz-booking-schedule-row strong {
    color: #ef5b2a !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  .page-booking-detail .yz-detail-price-calculator-ref,
  .page-booking-detail .yz-detail-order-sidebar-ref {
    border: 1px solid #edf2f7 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  .page-booking-detail .yz-detail-price-calculator-ref {
    padding: 10px !important;
  }

  .page-booking-detail .yz-booking-summary {
    margin-bottom: 8px !important;
    border: 1px solid #fff1e8 !important;
    background: #fffaf6 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-home .yz-booking-search-card {
    background: #d8ecff !important;
    border: 2px solid #46a1ea !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .page-booking-home .yz-booking-tabs {
    margin: -2px -2px 0 !important;
  }

  .page-booking-home .yz-booking-tabs button {
    border-radius: 8px 8px 0 0 !important;
  }

  .page-booking-home .yz-home-search-grid {
    padding: 16px 40px 12px !important;
    border: 0 !important;
    background: #d8ecff !important;
  }

  .page-booking-home .booking-field,
  .page-booking-home .booking-field-start,
  .page-booking-home .booking-field-end,
  .page-booking-home .booking-field-date-hero {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-field-display,
  .page-booking-home .booking-date-display {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home .booking-field-display {
    min-height: 46px !important;
    font-size: 19px !important;
    white-space: nowrap !important;
  }

  .page-booking-home .yz-booking-swap {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
  }

  .page-booking-home .yz-booking-swap::before {
    width: 32px !important;
    height: 32px !important;
    font-size: 20px !important;
  }

  .page-booking-home .booking-field-date-hero {
    border-top: 1px solid #b9d8ef !important;
    margin-top: 4px !important;
    padding-top: 1px !important;
  }

  .page-booking-home .booking-date-display {
    min-height: 50px !important;
  }

  .page-booking-home .booking-date-display strong {
    font-size: 19px !important;
    white-space: nowrap !important;
  }

  .page-booking-home .booking-date-display small {
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-submit {
    background: #2088e8 !important;
    width: 184px !important;
    min-height: 45px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 9px !important;
    box-shadow: 0 8px 14px rgba(32, 136, 232, 0.24) !important;
  }

  .page-booking-home .yz-booking-routes {
    margin-top: 4px !important;
    padding: 0 10px 12px !important;
    background: transparent !important;
    color: #4b5563 !important;
  }

  .page-booking-home .yz-booking-routes span {
    color: #4b5563 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-routes button {
    min-height: 28px !important;
    padding: 0 12px !important;
    border: 1px solid #d7e2ec !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #2169af !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    padding: 8px 0 !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    border-radius: 8px !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-mobile-icons {
    background: #fff !important;
    padding-top: 0 !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-home #featured {
    background: #fff !important;
    padding-top: 8px !important;
  }

  .page-booking-home #featured .yz-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
    padding: 0 0 4px !important;
    border-bottom: 1px solid #e5e7eb !important;
  }

  .page-booking-home #featured .yz-section-head h2 {
    color: #0f2b4c !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  .page-booking-home #featured .yz-section-head p {
    color: #6b7280 !important;
    font-size: 12px !important;
  }

  .page-booking-home .yz-booking-featured-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
  }

  .page-booking-home .yz-booking-featured-card {
    display: grid !important;
    gap: 0 !important;
    width: 120px !important;
    min-width: 120px !important;
    border: 1px solid #e7edf3 !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .page-booking-home .yz-booking-featured-card img {
    width: 100% !important;
    height: 96px !important;
    object-fit: cover !important;
  }

  .page-booking-home .yz-booking-featured-body {
    padding: 6px 6px 8px !important;
  }

  .page-booking-home .yz-booking-featured-body strong {
    display: block !important;
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .page-booking-home .yz-booking-featured-body small {
    display: block !important;
    margin-top: 4px !important;
    color: #6b7280 !important;
    font-size: 11px !important;
  }

  .page-booking-home .yz-booking-featured-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 1px !important;
    margin-top: 4px !important;
    color: #d00 !important;
  }

  .page-booking-home .yz-booking-featured-price dfn,
  .page-booking-home .yz-booking-featured-price em {
    color: #d00 !important;
    font-style: normal !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-featured-price b {
    color: #d00 !important;
    font-size: 19px !important;
    font-weight: 800 !important;
  }

  .page-booking-home #featured .yz-booking-featured-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 146px !important;
    min-width: 146px !important;
    min-height: 182px !important;
    height: auto !important;
    overflow: hidden !important;
  }

  .page-booking-home #featured .yz-booking-featured-card img {
    display: block !important;
    width: 100% !important;
    height: 82px !important;
    min-height: 82px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    flex: 0 0 82px !important;
  }

  .page-booking-home #featured .yz-booking-featured-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 96px !important;
    height: auto !important;
    padding: 8px 8px 12px !important;
  }

  .page-booking-home #featured .yz-featured-route {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .page-booking-home #featured .yz-featured-route b,
  .page-booking-home #featured .yz-featured-route i {
    white-space: nowrap !important;
    font-style: normal !important;
  }

  .page-booking-home #featured .yz-booking-featured-price {
    display: flex !important;
    align-items: baseline !important;
    min-height: 24px !important;
    margin-top: auto !important;
    padding-bottom: 2px !important;
  }

  .page-booking-home #ships {
    background: #fff !important;
    padding-top: 8px !important;
  }

  .page-booking-home #ships .yz-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
    padding: 0 0 4px !important;
    border-bottom: 1px solid #e5e7eb !important;
  }

  .page-booking-home #ships .yz-section-head h2 {
    color: #0f2b4c !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

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

  .page-booking-home .yz-booking-route-card {
    display: grid !important;
    grid-template-rows: auto auto !important;
    gap: 0 !important;
    min-height: 70px !important;
    padding: 10px 8px !important;
    border: 1px solid #edf1f5 !important;
    border-radius: 4px !important;
    background: #fafafa !important;
    box-shadow: none !important;
  }

  .page-booking-home .yz-booking-route-card .piao,
  .page-booking-home .yz-booking-route-card .prc {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px !important;
  }

  .page-booking-home .yz-booking-route-card .ad_l,
  .page-booking-home .yz-booking-route-card .ad_r {
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-route-card .num {
    color: #d00 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-home .yz-booking-route-card .num span {
    color: #d00 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .page-booking-home .yz-booking-route-card .tim {
    color: #6b7280 !important;
    font-size: 12px !important;
  }

  .page-booking-home #series {
    margin-top: 0 !important;
    padding-top: 10px !important;
    background: #fff !important;
  }

  .page-booking-home #series .yz-section-head,
  .page-booking-home #series .yz-ref-head {
    margin: 0 0 8px !important;
    padding: 0 8px 7px !important;
    border-bottom: 1px solid #e5e7eb !important;
  }

  .page-booking-home #series .yz-section-head h2 {
    color: #0f2b4c !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  .page-booking-home #series .yz-section-head h2::after {
    content: "" !important;
    display: block !important;
    height: 2px !important;
    margin-top: 7px !important;
    background: #d33 !important;
  }

  .page-booking-home .yz-ref-head-icon {
    color: #0f2b4c !important;
    font-size: 12px !important;
  }

  .page-booking-home .booking-field-select,
  .page-booking-home .booking-field-date-hero {
    position: relative !important;
  }

  .page-booking-home .booking-field-select select,
  .page-booking-home .booking-field-date-hero input[type="date"] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    color: transparent !important;
    background: transparent !important;
    border: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    pointer-events: auto !important;
  }

  .page-booking-home .booking-field-display {
    pointer-events: none !important;
  }

  .page-booking-home .booking-field-select select option {
    color: #111 !important;
  }

  .page-booking-home .yz-booking-submit {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
  }
}

/* 2026-06-27: PC shell issue batch - keep booking activity cards readable on mobile. */
@media (max-width: 640px) {
  .page-booking-deals .yz-deal-activity-card {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 20px 16px 18px !important;
  }

  .page-booking-deals .yz-deal-activity-card .yz-deal-title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding-right: 36px !important;
  }

  .page-booking-deals .yz-deal-activity-card .yz-deal-title h2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: #073763 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .page-booking-deals .yz-deal-activity-card .yz-deal-score {
    justify-self: start !important;
    max-width: 100% !important;
    min-height: 28px !important;
    height: auto !important;
    padding: 6px 12px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .page-booking-deals .yz-deal-activity-card .yz-deal-spots {
    line-height: 1.55 !important;
  }
}

/* yz-ad-sr-only-visual-hide */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* yz-ad-order-query-country-code */
.yz-order-page-phone-row {
  display: grid;
  grid-template-columns: minmax(112px, 0.42fr) minmax(0, 1fr);
  gap: 8px;
  width: 100%;
}

.yz-order-page-phone-row select,
.yz-order-page-phone-row input {
  min-width: 0;
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  color: #0b2341;
  font: inherit;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .yz-order-page-phone-row {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 7px;
  }

  .yz-order-page-phone-row select,
  .yz-order-page-phone-row input {
    min-height: 42px;
    padding: 0 10px;
    border-color: #d9e2ef;
    border-radius: 7px;
    font-size: 14px;
  }
}

/* yz-ad-order-query-country-height-polish */
.yz-order-page-phone-row select,
.yz-order-page-phone-row input {
  height: 44px !important;
  min-height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 44px !important;
  border-color: #d8e2ef !important;
  vertical-align: middle !important;
}

.yz-order-page-phone-row select {
  display: block !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
}

.yz-order-page-phone-row input::placeholder {
  line-height: 44px !important;
}

/* yz-ad-order-country-final-align */
.yz-order-page-search .yz-order-page-phone-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
}

.yz-order-page-search .yz-order-page-phone-row select,
.yz-order-page-search .yz-order-page-phone-row input {
  box-sizing: border-box !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  border: 1px solid #d9e2ef !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  color: #0b2341 !important;
  font-family: Arial, "Microsoft YaHei", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  vertical-align: top !important;
}

.yz-order-page-search .yz-order-page-phone-row select {
  flex: 0 0 118px !important;
  width: 118px !important;
  padding: 0 24px 0 10px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: linear-gradient(45deg, transparent 50%, #0b2341 50%), linear-gradient(135deg, #0b2341 50%, transparent 50%) !important;
  background-position: calc(100% - 15px) 18px, calc(100% - 10px) 18px !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
}

.yz-order-page-search .yz-order-page-phone-row input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 11px !important;
}

.yz-order-page-search .yz-order-page-phone-row input::placeholder {
  color: #68788a !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}

/* yz-ad-order-country-shell-align */
.yz-order-page-search .yz-order-page-phone-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
}

.yz-order-page-search .yz-order-country-shell {
  position: relative !important;
  flex: 0 0 118px !important;
  width: 118px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  border: 1px solid #d9e2ef !important;
  border-radius: 6px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.yz-order-page-search .yz-order-country-shell::after {
  content: "" !important;
  position: absolute !important;
  right: 11px !important;
  top: 50% !important;
  width: 0 !important;
  height: 0 !important;
  margin-top: -2px !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid #0b2341 !important;
  pointer-events: none !important;
}

.yz-order-page-search .yz-order-country-shell select {
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 24px 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: #0b2341 !important;
  font-family: Arial, "Microsoft YaHei", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 40px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.yz-order-page-search .yz-order-page-phone-row > input {
  flex: 1 1 auto !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 11px !important;
  border: 1px solid #d9e2ef !important;
  border-radius: 6px !important;
  line-height: 40px !important;
}



/* home lower flow polish 20260630: make lower modules read as one continuous page surface */
@media (max-width: 760px) {
  .page-booking-home .yz-booking-announcement-bar,
  .page-booking-home .yz-booking-mobile-icons,
  .page-booking-home #series,
  .page-booking-home #featured,
  .page-booking-home #ships,
  .page-booking-home #recommend,
  .page-booking-home #news,
  .page-booking-home #latest {
    background: #eef6fd !important;
  }

  .page-booking-home .yz-booking-announcement-bar {
    padding-top: 16px !important;
    padding-bottom: 12px !important;
  }

  .page-booking-home .yz-booking-announcement-strip {
    min-height: 40px !important;
    border: 1px solid rgba(239, 156, 64, 0.42) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(31, 78, 121, 0.08) !important;
  }

  .page-booking-home .yz-booking-mobile-icons {
    padding: 12px 0 18px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid {
    padding: 0 2px !important;
  }

  .page-booking-home .yz-booking-mobile-icon-grid a span {
    box-shadow: 0 8px 18px rgba(26, 105, 175, 0.16) !important;
  }

  .page-booking-home .yz-booking-section {
    padding: 0 0 16px !important;
  }

  .page-booking-home .yz-booking-section .container {
    background: transparent !important;
  }

  .page-booking-home .yz-series-ref-title,
  .page-booking-home .yz-section-head.yz-ref-head {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .page-booking-home .yz-series-ref-title::after,
  .page-booking-home .yz-section-head.yz-ref-head::after {
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    height: 1px !important;
    margin-left: 10px !important;
    background: linear-gradient(90deg, rgba(233, 74, 74, 0.72), rgba(233, 74, 74, 0.24)) !important;
  }

  .page-booking-home .yz-series-ref-title h2,
  .page-booking-home .yz-section-head.yz-ref-head h2 {
    position: relative !important;
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 0 0 2px !important;
    background: transparent !important;
    color: #073f76 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .page-booking-home .yz-series-ref-title h2::before,
  .page-booking-home .yz-section-head.yz-ref-head h2::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #1677d2 !important;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08) !important;
    flex: 0 0 auto !important;
  }

  .page-booking-home .yz-series-ref-title h2 > span,
  .page-booking-home .yz-section-head.yz-ref-head .yz-ref-head-icon {
    display: none !important;
  }

  .page-booking-home #series {
    padding-top: 2px !important;
  }

  .page-booking-home #series .yz-booking-fleet-grid,
  .page-booking-home #series .yz-booking-series-grid {
    padding: 10px 0 2px !important;
  }

  .page-booking-home #recommend .yz-booking-recommend-grid,
  .page-booking-home #featured .yz-booking-featured-grid,
  .page-booking-home #ships .yz-booking-route-grid {
    padding-top: 2px !important;
  }

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

  .page-booking-home .yz-booking-news-tags a {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    border: 1px solid rgba(64, 112, 160, 0.10) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0b497f !important;
    box-shadow: 0 8px 18px rgba(31, 78, 121, 0.08) !important;
  }

  .page-booking-home #latest {
    padding-bottom: 26px !important;
  }

  .page-booking-home .yz-booking-latest-list {
    display: grid !important;
    gap: 10px !important;
  }

  .page-booking-home .yz-booking-latest-list a {
    min-height: 96px !important;
    padding: 18px 52px 18px 18px !important;
    border: 1px solid rgba(48, 93, 132, 0.08) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(31, 78, 121, 0.08) !important;
  }

  .page-booking-home .yz-booking-latest-list a p {
    margin-top: 8px !important;
    color: #55708c !important;
    line-height: 1.55 !important;
  }

  .page-booking-home .yz-booking-latest-list a span {
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #fff1ea !important;
    color: #f05a28 !important;
  }

  .page-booking-home .yz-booking-footer {
    margin-top: 0 !important;
    padding-top: 18px !important;
    background: #fff !important;
    border-top: 1px solid rgba(38, 91, 136, 0.10) !important;
  }
}


/* home lower flow polish adjustment 20260630: hide legacy heading glyphs and tighten section rhythm */
@media (max-width: 760px) {
  .page-booking-home .yz-series-ref-title h2 span,
  .page-booking-home .yz-section-head.yz-ref-head h2 span {
    display: none !important;
  }

  .page-booking-home .yz-series-ref-title h2,
  .page-booking-home .yz-section-head.yz-ref-head h2 {
    padding-left: 0 !important;
  }

  .page-booking-home #featured,
  .page-booking-home #ships,
  .page-booking-home #recommend,
  .page-booking-home #news,
  .page-booking-home #latest {
    padding-top: 4px !important;
  }

  .page-booking-home #featured .yz-section-head,
  .page-booking-home #ships .yz-section-head,
  .page-booking-home #recommend .yz-section-head,
  .page-booking-home #news .yz-section-head,
  .page-booking-home #latest .yz-section-head {
    margin-bottom: 10px !important;
  }

  .page-booking-home #ships,
  .page-booking-home #recommend {
    padding-bottom: 18px !important;
  }

  .page-booking-home #news {
    padding-bottom: 18px !important;
  }
}


/* home lower flow polish final gap fix 20260630: connect latest card to footer base */
@media (max-width: 760px) {
  .page-booking-home #latest.yz-booking-news-section {
    padding-bottom: 14px !important;
    margin-bottom: 0 !important;
  }

  .page-booking-home #latest .container {
    padding-bottom: 0 !important;
  }

  .page-booking-home #latest + .yz-booking-footer,
  .page-booking-home .yz-booking-footer {
    margin-top: 0 !important;
  }

  .page-booking-home .yz-booking-footer .container {
    margin-top: 0 !important;
  }
}


/* home lower flow polish footer base 20260630: extend footer surface above mobile nav */
@media (max-width: 760px) {
  body.page-booking-home.yz-booking-site {
    background: #ffffff !important;
  }

  .page-booking-home .yz-booking-home {
    background: #eef6fd !important;
  }

  .page-booking-home .yz-booking-footer {
    padding-bottom: 66px !important;
  }
}


/* product-design round2 home flow 20260630: remove pasted heading labels and connect lower sections */
@media (max-width: 760px) {
  .page-booking-home .yz-booking-home {
    background: #eef6fd !important;
  }

  .page-booking-home #recommend,
  .page-booking-home #news,
  .page-booking-home #latest {
    position: relative !important;
    margin: 0 !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    background: #eef6fd !important;
  }

  .page-booking-home #recommend::before,
  .page-booking-home #news::before,
  .page-booking-home #latest::before {
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: 0 !important;
    height: 1px !important;
    background: rgba(48, 93, 132, 0.06) !important;
  }

  .page-booking-home .yz-series-ref-title,
  .page-booking-home .yz-section-head.yz-ref-head {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    column-gap: 12px !important;
    min-height: 30px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .page-booking-home .yz-series-ref-title::after,
  .page-booking-home .yz-section-head.yz-ref-head::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, rgba(239, 82, 64, 0.76), rgba(239, 82, 64, 0.12)) !important;
  }

  .page-booking-home .yz-series-ref-title h2,
  .page-booking-home .yz-section-head.yz-ref-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    color: #073f76 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .page-booking-home .yz-series-ref-title h2::before,
  .page-booking-home .yz-section-head.yz-ref-head h2::before {
    content: "" !important;
    display: block !important;
    width: 5px !important;
    height: 18px !important;
    border-radius: 999px !important;
    background: #1677d2 !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
  }

  .page-booking-home .yz-series-ref-title h2 span,
  .page-booking-home .yz-section-head.yz-ref-head h2 span,
  .page-booking-home .yz-section-head.yz-ref-head .yz-ref-head-icon {
    display: none !important;
  }

  .page-booking-home #news .yz-booking-news-tags {
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-booking-home #latest {
    padding-bottom: 20px !important;
  }

  .page-booking-home #latest .yz-booking-latest-list {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(31, 78, 121, 0.08) !important;
    overflow: hidden !important;
  }

  .page-booking-home #latest .yz-booking-latest-list a {
    min-height: auto !important;
    margin: 0 !important;
    padding: 16px 52px 16px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-home #latest .yz-booking-latest-list a + a {
    border-top: 1px solid rgba(48, 93, 132, 0.08) !important;
  }

  .page-booking-home .yz-booking-footer {
    margin-top: 0 !important;
    border-top: 1px solid rgba(48, 93, 132, 0.08) !important;
  }
}


/* product-design support surface 20260630: add real base panels under lower modules */
@media (max-width: 760px) {
  .page-booking-home #news,
  .page-booking-home #latest {
    padding-left: 10px !important;
    padding-right: 10px !important;
    background: #eef6fd !important;
  }

  .page-booking-home #news > .container,
  .page-booking-home #latest > .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px 14px !important;
    border: 1px solid rgba(48, 93, 132, 0.08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: 0 14px 34px rgba(31, 78, 121, 0.08) !important;
  }

  .page-booking-home #news {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .page-booking-home #latest {
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }

  .page-booking-home #news .yz-section-head.yz-ref-head,
  .page-booking-home #latest .yz-section-head.yz-ref-head {
    margin-bottom: 14px !important;
  }

  .page-booking-home #news .yz-booking-news-tags {
    gap: 10px !important;
  }

  .page-booking-home #news .yz-booking-news-tags a {
    box-shadow: 0 6px 14px rgba(31, 78, 121, 0.07) !important;
  }

  .page-booking-home #latest .yz-booking-latest-list {
    border: 1px solid rgba(48, 93, 132, 0.07) !important;
    box-shadow: none !important;
  }

  .page-booking-home #latest .yz-booking-latest-list a {
    background: #fff !important;
  }

  .page-booking-home #latest + .yz-booking-footer,
  .page-booking-home .yz-booking-footer {
    margin-top: 0 !important;
    background: #fff !important;
  }
}


/* product-design final lower page support 20260630: one continuous base for news/latest */
@media (max-width: 760px) {
  .page-booking-home #recommend {
    padding-bottom: 10px !important;
    background: #eef6fd !important;
  }

  .page-booking-home #news,
  .page-booking-home #latest {
    margin: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    background: #eef6fd !important;
  }

  .page-booking-home #news {
    padding-top: 8px !important;
    padding-bottom: 0 !important;
  }

  .page-booking-home #latest {
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }

  .page-booking-home #news::before,
  .page-booking-home #latest::before {
    display: none !important;
  }

  .page-booking-home #news > .container,
  .page-booking-home #latest > .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 1px solid rgba(48, 93, 132, 0.10) !important;
    background: #fff !important;
    box-shadow: 0 14px 30px rgba(31, 78, 121, 0.08) !important;
  }

  .page-booking-home #news > .container {
    padding: 16px 14px 12px !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .page-booking-home #latest > .container {
    padding: 0 14px 16px !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
  }

  .page-booking-home #news .yz-section-head.yz-ref-head,
  .page-booking-home #latest .yz-section-head.yz-ref-head {
    grid-template-columns: auto 1fr !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .page-booking-home #latest .yz-section-head.yz-ref-head {
    padding-top: 2px !important;
  }

  .page-booking-home #news .yz-section-head.yz-ref-head::after,
  .page-booking-home #latest .yz-section-head.yz-ref-head::after {
    height: 1px !important;
    background: rgba(225, 78, 72, 0.45) !important;
  }

  .page-booking-home #news .yz-booking-news-tags {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid rgba(48, 93, 132, 0.08) !important;
  }

  .page-booking-home #news .yz-booking-news-tags a {
    min-height: 40px !important;
    border-radius: 999px !important;
    background: #f8fbff !important;
    border: 1px solid rgba(48, 93, 132, 0.10) !important;
    box-shadow: none !important;
  }

  .page-booking-home #latest .yz-booking-latest-list {
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(48, 93, 132, 0.08) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .page-booking-home #latest .yz-booking-latest-list a {
    min-height: auto !important;
    padding: 15px 50px 15px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .page-booking-home #latest .yz-booking-latest-list a + a {
    border-top: 1px solid rgba(48, 93, 132, 0.08) !important;
  }

  .page-booking-home .yz-booking-footer {
    margin-top: 0 !important;
    padding-top: 16px !important;
    background: #fff !important;
  }
}


/* product-design final lower page gap measure fix 20260630 */
@media (max-width: 760px) {
  body.page-booking-home main.yz-booking-home {
    padding-bottom: 18px !important;
  }

  body.page-booking-home .yz-booking-home #latest {
    padding-bottom: 12px !important;
  }
}







/* yz-order-result-mobile-readable-list */
@media (max-width: 767px) {
  html body.page-booking-order .yz-order-status-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 14px 0 16px !important;
    border: 1px solid rgba(34, 76, 122, 0.12) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  html body.page-booking-order .yz-order-status-grid > div {
    min-height: 50px !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(34, 76, 122, 0.09) !important;
    background: #fff !important;
  }

  html body.page-booking-order .yz-order-status-grid > div:last-child {
    border-bottom: 0 !important;
  }

  html body.page-booking-order .yz-order-status-grid dt,
  html body.page-booking-order .yz-order-status-grid dd {
    margin: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1.35 !important;
  }

  html body.page-booking-order .yz-order-status-grid dt {
    color: #63758a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  html body.page-booking-order .yz-order-status-grid dd {
    min-width: 0 !important;
    color: #0f2742 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-align: right !important;
  }

  html body.page-booking-order .yz-order-status-grid .yz-order-amount {
    color: #f05a28 !important;
    font-size: 17px !important;
  }
}

/* order mobile empty guide polish 20260630 */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-order .yz-order-empty-pro {
    gap: 12px !important;
    padding: 14px 12px !important;
    border-radius: 10px !important;
    border-color: #dbe7f3 !important;
    background: #fff !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro > strong {
    color: #10233f !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 1.35 !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro p {
    color: #58708a !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.65 !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro .yz-order-flow {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8e6f5 !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro .yz-order-flow span {
    min-height: 48px !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    padding: 7px 2px !important;
    border: 0 !important;
    border-right: 1px solid #d8e6f5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #173355 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro .yz-order-flow span:last-child {
    border-right: 0 !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro .yz-order-flow b {
    width: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #237dd8 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
  }

  html body.yz-booking-site.page-booking-order .yz-order-empty-pro .yz-booking-card-action {
    min-height: 44px !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }
}


/* ===== booking-feedback.css ===== */
.yz-booking-feedback {
  position: fixed;
  inset: 0;
  z-index: 100050;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease;
}

.yz-booking-feedback.is-visible {
  opacity: 1;
}

.yz-booking-feedback-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  overflow: hidden;
  background: rgba(9, 61, 105, .08);
}

.yz-booking-feedback-bar::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -40%;
  width: 42%;
  background: linear-gradient(90deg, rgba(9, 61, 105, 0), #0d5f9e 35%, #d62a22 100%);
  animation: yz-booking-feedback-run 1.05s cubic-bezier(.16, 1, .3, 1) infinite;
}

.yz-booking-feedback-pill {
  position: absolute;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(82px + env(safe-area-inset-bottom));
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  max-width: min(310px, calc(100vw - 28px));
  padding: 10px 14px 10px 12px;
  color: #fff;
  background: #0f253a;
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 12px 28px rgba(7, 29, 51, .2), inset 0 1px rgba(255, 255, 255, .12);
  transform: translate3d(0, 10px, 0);
  transition: transform .22s cubic-bezier(.16, 1, .3, 1);
}

.yz-booking-feedback.is-visible .yz-booking-feedback-pill {
  transform: translate3d(0, 0, 0);
}

.yz-booking-feedback-mark {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, .36);
  border-top-color: #fff;
  border-radius: 50%;
  animation: yz-booking-feedback-spin .72s linear infinite;
  flex: 0 0 auto;
}

.yz-booking-feedback-text {
  display: block;
  min-width: 0;
  font: 700 14px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}

.yz-booking-is-busy button[disabled] {
  cursor: wait;
}

.yz-nav-pending {
  pointer-events: none;
  cursor: wait !important;
  transform: translateY(1px);
  filter: saturate(.96);
  opacity: .88;
}

a.yz-nav-pending,
button.yz-nav-pending {
  transition: opacity .16s ease, transform .16s ease, filter .16s ease;
}

.yz-order-copy-button[disabled] {
  cursor: wait;
  opacity: .88;
}

.yz-order-copy-button[data-copy-state="success"] {
  border-color: #0b7f58 !important;
  color: #0b6248 !important;
  background: #f1fbf6 !important;
}

.yz-order-copy-button[data-copy-state="error"] {
  border-color: #c93a2f !important;
  color: #8f1e15 !important;
  background: #fff6f4 !important;
}

body.page-booking-order input[aria-invalid="true"] {
  border-color: #c93a2f !important;
  box-shadow: 0 0 0 2px rgba(201, 58, 47, .12) !important;
  background-color: #fffafa;
}

@media (max-width: 767px) {
  body.page-booking-submit .yz-booking-feedback-pill {
    display: none;
  }
}

@keyframes yz-booking-feedback-run {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(340%, 0, 0); }
}

@keyframes yz-booking-feedback-spin {
  to { transform: rotate(360deg); }
}

@media (min-width: 768px) {
  .yz-booking-feedback-pill {
    right: max(18px, calc((100vw - 580px) / 2 - 54px));
    bottom: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .yz-booking-feedback,
  .yz-booking-feedback-pill,
  .yz-booking-feedback-bar::before,
  .yz-booking-feedback-mark {
    transition: none !important;
    animation: none !important;
  }
}

.yz-submit-inline-error {
  margin: 0 0 14px;
  padding: 13px 14px;
  border: 1px solid #e4b4ad;
  border-radius: 8px;
  color: #5f211b;
  background: #fff6f4;
  box-shadow: 0 8px 18px rgba(119, 31, 22, .08);
}

.yz-submit-inline-error[hidden] {
  display: none !important;
}

.yz-submit-inline-error strong {
  display: block;
  color: #8f1e15;
  font-size: 15px;
  line-height: 1.35;
}

.yz-submit-inline-error p {
  margin: 6px 0 0;
  color: #5f211b;
  font-size: 13px;
  line-height: 1.55;
}

.yz-submit-inline-error div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.yz-submit-inline-error a,
.yz-submit-inline-error button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid #d99a91;
  border-radius: 8px;
  color: #8f1e15;
  background: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.yz-submit-inline-error button {
  cursor: pointer;
}

body.page-booking-submit input[aria-invalid="true"],
body.page-booking-submit textarea[aria-invalid="true"],
body.page-booking-submit select[aria-invalid="true"],
body.page-booking-detail input[aria-invalid="true"],
body.page-booking-detail textarea[aria-invalid="true"],
body.page-booking-detail select[aria-invalid="true"] {
  border-color: #c93a2f !important;
  box-shadow: 0 0 0 2px rgba(201, 58, 47, .12) !important;
  background-color: #fffafa;
}

body.page-booking-submit input[aria-invalid="true"]:focus,
body.page-booking-submit textarea[aria-invalid="true"]:focus,
body.page-booking-submit select[aria-invalid="true"]:focus,
body.page-booking-detail input[aria-invalid="true"]:focus,
body.page-booking-detail textarea[aria-invalid="true"]:focus,
body.page-booking-detail select[aria-invalid="true"]:focus {
  outline: 2px solid rgba(201, 58, 47, .22);
  outline-offset: 1px;
}

body.page-booking-submit.is-submit-submitting .yz-submit-contact-panel,
body.page-booking-submit.is-submit-submitting .yz-submit-fixed-actions {
  cursor: wait;
}

body.page-booking-submit.is-submit-submitting .yz-order-submit[disabled],
body.page-booking-submit.is-submit-submitting #submitNextStep[disabled] {
  opacity: .86;
}

.yz-schedule-empty-state {
  padding: 22px 18px;
  border: 1px solid #d9e6ef;
  background: #f8fbfd;
  color: #10253a;
  text-align: left;
}

.yz-schedule-empty-state strong {
  display: block;
  color: #0b2238;
  font: 800 18px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.yz-schedule-empty-state p {
  margin: 8px 0 0;
  color: #52677a;
  font: 500 14px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.yz-schedule-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.yz-schedule-empty-actions button,
.yz-schedule-empty-actions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid #b9d0e1;
  color: #0c5f99;
  background: #fff;
  font: 800 14px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.yz-schedule-empty-actions a {
  color: #fff;
  border-color: #0a639f;
  background: #0a639f;
}

.yz-schedule-empty-actions button:focus-visible,
.yz-schedule-empty-actions a:focus-visible {
  outline: 2px solid rgba(10, 99, 159, .35);
  outline-offset: 2px;
}

.yz-ships-empty-state {
  grid-column: 1 / -1;
  padding: 22px 18px;
  border: 1px solid #d9e6ef;
  background: #f8fbfd;
  color: #10253a;
  text-align: left;
}

.yz-ships-empty-state strong {
  display: block;
  color: #0b2238;
  font: 800 18px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.yz-ships-empty-state p {
  max-width: 58ch;
  margin: 8px 0 0;
  color: #52677a;
  font: 500 14px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.yz-ships-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.yz-ships-empty-actions button,
.yz-ships-empty-actions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid #b9d0e1;
  color: #0c5f99;
  background: #fff;
  font: 800 14px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.yz-ships-empty-actions .is-primary {
  color: #fff;
  border-color: #0a639f;
  background: #0a639f;
}

.yz-ships-empty-actions button:focus-visible,
.yz-ships-empty-actions a:focus-visible {
  outline: 2px solid rgba(10, 99, 159, .35);
  outline-offset: 2px;
}

body.page-booking-ships.is-ships-searching .yz-ships-grid {
  cursor: wait;
}

body.page-booking-ships.is-ships-searching #shipsReset {
  opacity: .88;
}

@media (max-width: 767px) {
  .yz-ships-empty-state {
    padding: 20px 15px;
  }

  .yz-ships-empty-actions {
    display: grid;
    grid-template-columns: 1fr;
    padding-right: 52px;
  }
}


/* ===== booking-image-state.css ===== */
.yz-img-frame {
  position: relative;
  overflow: hidden;
  background-color: #eef5fb;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #f6f9fc 0%, #e9f2f8 100%);
}

.yz-img-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(255,255,255,0) 22%, rgba(255,255,255,.82) 45%, rgba(255,255,255,0) 66%),
    radial-gradient(circle at 20% 18%, rgba(15, 95, 158, .08), transparent 32%);
  transform: translate3d(-72%, 0, 0);
}

.yz-img-frame.yz-img-loading::before {
  opacity: 1;
  animation: yz-img-sheen 1.18s cubic-bezier(.16, 1, .3, 1) infinite;
}

.yz-img-frame > img[data-yz-img-state="loading"],
.yz-img-frame img[data-yz-img-state="loading"] {
  opacity: .001;
}

.yz-img-frame > img,
.yz-img-frame img {
  position: relative;
  z-index: 1;
  transition: opacity .24s cubic-bezier(.16, 1, .3, 1), filter .24s ease;
}

.yz-img-frame.yz-img-loaded > img,
.yz-img-frame.yz-img-loaded img {
  opacity: 1;
}

.yz-img-frame.yz-img-error {
  background-color: #f1f5f8;
  background-image:
    linear-gradient(180deg, #f7fafc 0%, #edf3f7 100%),
    linear-gradient(90deg, rgba(13, 95, 158, .08), rgba(214, 42, 34, .06));
}

.yz-img-frame.yz-img-error::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 0;
  border: 1px solid rgba(15, 37, 58, .08);
}

.yz-ship-list-thumb.yz-img-frame {
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,255,255,0) 48%),
    linear-gradient(180deg, #f3f7fb 0%, #e6eff6 100%);
}

.yz-ship-list-thumb .yz-ship-list-thumb-bg {
  opacity: 0;
  transition: opacity .24s cubic-bezier(.16, 1, .3, 1), filter .24s ease;
}

.yz-ship-list-thumb.yz-img-loaded .yz-ship-list-thumb-bg {
  opacity: 1;
}

.yz-ship-list-thumb.yz-img-error .yz-ship-list-thumb-bg,
.yz-ship-list-thumb.yz-img-error img {
  display: none !important;
}

.yz-ship-list-thumb.yz-img-error::after {
  content: attr(data-placeholder);
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: #5d7184;
  font: 700 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

@keyframes yz-img-sheen {
  0% { transform: translate3d(-72%, 0, 0); }
  100% { transform: translate3d(72%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .yz-img-frame::before {
    animation: none !important;
    transform: none !important;
  }

  .yz-img-frame img {
    transition: none !important;
  }
}


/* ===== mobile-schedule-reference.css ===== */
@media (max-width: 767px) {
  html,
  body.page-booking-schedule {
    margin: 0;
    background: #f2f5f8 !important;
    color: #111;
    overflow-x: hidden;
  }

  .page-booking-schedule .container {
    width: 100% !important;
    max-width: none !important;
  }

  .page-booking-schedule .yz-booking-header {
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #2658bb !important;
    border: 0 !important;
  }

  .page-booking-schedule .yz-booking-header .container,
  .page-booking-schedule .yz-booking-header-inner {
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

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

  .page-booking-schedule .yz-booking-brand-ref {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 48px auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 8px !important;
    color: #fff !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-booking-brand-ref::before {
    content: "" !important;
    width: 50px !important;
    height: 30px !important;
    grid-row: 1 / 3 !important;
    background: #fff !important;
    clip-path: polygon(0 66%, 36% 43%, 58% 20%, 77% 42%, 100% 33%, 82% 70%, 47% 87%, 14% 82%) !important;
  }

  .page-booking-schedule .yz-booking-brand-ref strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .page-booking-schedule .yz-booking-brand-ref small {
    color: #fff !important;
    font-size: 7px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    line-height: 1 !important;
  }

  .page-booking-schedule .yz-schedule-main {
    background: #f2f5f8 !important;
    padding-bottom: 78px !important;
  }

  .page-booking-schedule .yz-schedule-query-hero {
    margin: 0 !important;
    padding: 10px 9px 12px !important;
    background: #0b7ed4 !important;
  }

  .page-booking-schedule .yz-schedule-query-wrap {
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-query-card {
    margin: 0 !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 3px 14px rgba(25, 79, 135, 0.18) !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-booking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ebebeb !important;
  }

  .page-booking-schedule .yz-booking-tabs button {
    height: 44px !important;
    min-height: 44px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ebebeb !important;
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #0059b9 !important;
    border-radius: 0 0 8px 0 !important;
  }

  .page-booking-schedule .yz-schedule-query-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1fr) !important;
    gap: 8px 0 !important;
    padding: 14px 28px 0 !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-query-row > label:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .page-booking-schedule .yz-schedule-query-row > .yz-booking-swap {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .page-booking-schedule .yz-schedule-query-row > label:nth-of-type(2) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .page-booking-schedule .yz-schedule-query-row label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-query-row label span {
    display: none !important;
  }

  .page-booking-schedule #scheduleStart,
  .page-booking-schedule #scheduleEnd {
    width: 100% !important;
    height: 38px !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-align-last: center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .page-booking-schedule .yz-booking-swap {
    align-self: center !important;
    justify-self: center !important;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    border: 1px solid #8ebdec !important;
    border-radius: 999px !important;
    background: #eef7ff !important;
    color: transparent !important;
    font-size: 0 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-booking-swap::before {
    content: "⇄" !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #0b66c2 !important;
    font-size: 21px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-query-row label:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    padding-top: 9px !important;
    border-top: 1px solid #d4d4d4 !important;
  }

  .page-booking-schedule #scheduleDate {
    width: 100% !important;
    height: 38px !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ship-field {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  .page-booking-schedule .yz-booking-submit {
    grid-row: 4 !important;
  }

  .page-booking-schedule #scheduleShip {
    width: 100% !important;
    height: 38px !important;
    padding: 0 12px !important;
    border: 1px solid #d6dce5 !important;
    border-radius: 5px !important;
    background: #fff !important;
    font-size: 14px !important;
  }

  .page-booking-schedule .yz-booking-submit {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    margin: 2px 0 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #2379d4 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 8px !important;
    text-indent: 8px !important;
    box-shadow: 0 8px 14px rgba(35, 121, 212, 0.3) !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 10px 28px 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons::-webkit-scrollbar {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons span,
  .page-booking-schedule .yz-schedule-route-buttons button {
    flex: 0 0 auto !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons button {
    height: 23px !important;
    padding: 0 8px !important;
    border: 1px solid #e2e6ea !important;
    border-radius: 3px !important;
    background: #eef2f5 !important;
    color: #46596b !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-booking-section {
    margin: 0 !important;
    padding: 10px 10px 0 !important;
    background: #f2f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-results-shell {
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-results-main {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-result-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-result-head h2 {
    margin: 0 0 4px !important;
    color: #063a73 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-result-head p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-back-home {
    flex: 0 0 auto !important;
    padding: 5px 9px !important;
    border: 1px solid #d9e3ef !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0b66c2 !important;
    font-size: 12px !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-schedule-day-block {
    margin: 0 0 10px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(16, 54, 92, 0.06) !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: 42px !important;
    padding: 0 12px !important;
    border-bottom: 1px solid #edf0f4 !important;
    background: #f8fbff !important;
  }

  .page-booking-schedule .yz-schedule-day-head .date {
    color: #0b66c2 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-day-head .week {
    color: #667085 !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-day-link {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    border-bottom: 1px solid #edf0f4 !important;
    color: #111 !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-schedule-day-link * {
    min-width: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-link:last-child {
    border-bottom: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-ship {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-day-ship::before {
    content: none !important;
  }

  .page-booking-schedule .yz-schedule-day-link::before,
  .page-booking-schedule .yz-schedule-day-link::after,
  .page-booking-schedule .yz-schedule-day-price::before,
  .page-booking-schedule .yz-schedule-day-price::after {
    content: none !important;
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-day-price {
    color: #f04b23 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 50 !important;
    height: 55px !important;
    background: #fff !important;
    border-top: 1px solid #e5e7eb !important;
  }
}


/* ===== mobile-schedule-final.css ===== */
@media (max-width: 767px) {
  body.page-booking-schedule {
    margin: 0;
    overflow-x: hidden;
    background: #f2f5f8 !important;
    color: #111;
  }

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

  .page-booking-schedule .yz-booking-header {
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #2658bb !important;
  }

  .page-booking-schedule .yz-booking-header-inner {
    height: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

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

  .page-booking-schedule .yz-booking-brand-ref {
    display: grid !important;
    grid-template-columns: 48px auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-booking-brand-ref::before {
    content: "" !important;
    grid-row: 1 / 3 !important;
    width: 50px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #fff !important;
    clip-path: polygon(0 66%, 36% 43%, 58% 20%, 77% 42%, 100% 33%, 82% 70%, 47% 87%, 14% 82%) !important;
  }

  .page-booking-schedule .yz-booking-brand-ref strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .page-booking-schedule .yz-booking-brand-ref small {
    color: #fff !important;
    font-size: 7px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    line-height: 1 !important;
  }

  .page-booking-schedule .yz-schedule-main {
    padding-bottom: 78px !important;
    background: #f2f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-query-hero {
    margin: 0 !important;
    padding: 10px 9px 12px !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-query-wrap {
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-query-card {
    margin: 0 !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 3px 14px rgba(25, 79, 135, 0.18) !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-booking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #ebebeb !important;
  }

  .page-booking-schedule .yz-booking-tabs button {
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ebebeb !important;
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-booking-tabs button.is-active {
    background: #fff !important;
    color: #0059b9 !important;
    border-radius: 0 0 8px 0 !important;
  }

  .page-booking-schedule .yz-schedule-query-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr) !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 18px 40px 0 !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-query-row > label:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .page-booking-schedule .yz-schedule-query-row > .yz-booking-swap {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .page-booking-schedule .yz-schedule-query-row > label:nth-of-type(2) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .page-booking-schedule .yz-schedule-query-row label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-query-row label span {
    display: none !important;
  }

  .page-booking-schedule #scheduleStart,
  .page-booking-schedule #scheduleEnd {
    width: 100% !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-align-last: center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .page-booking-schedule .yz-booking-swap {
    align-self: center !important;
    justify-self: center !important;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #8ebdec !important;
    border-radius: 999px !important;
    background: #eef7ff !important;
    color: transparent !important;
    font-size: 0 !important;
    text-indent: -999px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-booking-swap::before {
    content: "⇄" !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #0b66c2 !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    text-indent: 0 !important;
  }

  .page-booking-schedule .yz-schedule-query-row label:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 8px !important;
    padding-top: 10px !important;
    border-top: 1px solid #d4d4d4 !important;
  }

  .page-booking-schedule #scheduleDate {
    width: 100% !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-date-display {
    display: flex !important;
    width: 100% !important;
    min-height: 40px !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #050505 !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  .page-booking-schedule .yz-schedule-date-display strong {
    color: #050505 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-date-display small {
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-date-display + #scheduleDate {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    color: transparent !important;
    background: transparent !important;
  }

  .page-booking-schedule .yz-schedule-ship-field {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin-top: 8px !important;
    position: relative !important;
  }

  .page-booking-schedule #scheduleShip {
    width: 100% !important;
    height: 38px !important;
    padding: 0 12px !important;
    border: 1px solid #d6dce5 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 14px !important;
  }

  .page-booking-schedule .yz-ship-suggest-panel {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    z-index: 90 !important;
    padding: 6px !important;
    border: 1px solid rgba(41, 116, 196, 0.18) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 14px 32px rgba(23, 75, 135, 0.18) !important;
  }

  .page-booking-schedule .yz-ship-suggest-panel[hidden] {
    display: none !important;
  }

  .page-booking-schedule .yz-ship-suggest-panel button {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #173b63 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    padding: 10px 12px !important;
    text-align: left !important;
  }

  .page-booking-schedule .yz-ship-suggest-panel button:active {
    background: rgba(31, 119, 210, 0.1) !important;
  }

  .page-booking-schedule .yz-booking-submit {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #2379d4 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 41px !important;
    letter-spacing: 8px !important;
    text-indent: 8px !important;
    box-shadow: 0 8px 14px rgba(35, 121, 212, 0.3) !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 9px 40px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #4a4a4a !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons span {
    flex: 0 0 auto !important;
    color: #4a4a4a !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons button {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    height: 23px !important;
    min-height: 23px !important;
    padding: 0 6px !important;
    border: 1px solid #e2e6ea !important;
    border-radius: 3px !important;
    background: #eef2f5 !important;
    color: #46596b !important;
    font-size: 11px !important;
    line-height: 23px !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-route-buttons button:nth-of-type(n+4) {
    display: none !important;
  }

  .page-booking-schedule .yz-booking-section {
    margin: 0 !important;
    padding: 10px 10px 0 !important;
    background: #f2f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-result-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-result-head h2 {
    margin: 0 0 4px !important;
    color: #063a73 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
  }

  .page-booking-schedule .yz-schedule-result-head p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .page-booking-schedule .yz-schedule-back-home {
    flex: 0 0 auto !important;
    padding: 5px 9px !important;
    border: 1px solid #d9e3ef !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0b66c2 !important;
    font-size: 12px !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-schedule-day-block {
    margin: 0 0 10px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(16, 54, 92, 0.06) !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: 42px !important;
    padding: 0 12px !important;
    border-bottom: 1px solid #edf0f4 !important;
    background: #f8fbff !important;
  }

  .page-booking-schedule .yz-schedule-day-head .date {
    color: #0b66c2 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-day-head .week {
    color: #667085 !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-day-link {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) auto auto !important;
    column-gap: 8px !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 10px !important;
    border-bottom: 1px solid #edf0f4 !important;
    color: #111 !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-schedule-day-link:last-child {
    border-bottom: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-ship,
  .page-booking-schedule .yz-schedule-day-route {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-day-ship {
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-day-route {
    color: #667085 !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-day-price {
    color: #f04b23 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    min-width: 44px !important;
    height: 28px !important;
    border-radius: 4px !important;
    background: #ff8a00 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 50 !important;
    height: 55px !important;
    border-top: 1px solid #e5e7eb !important;
    background: #fff !important;
  }
}

@media (max-width: 767px) {
  /* Schedule list final pass: closer to the reference card proportions. */
  .page-booking-schedule .yz-schedule-day-body {
    gap: 20px !important;
    width: calc(100% - 30px) !important;
    max-width: 363px !important;
    padding: 20px 0 76px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    grid-template-columns: 74px minmax(0, 1fr) 74px !important;
    grid-template-rows: 26px 62px auto auto !important;
    min-height: 224px !important;
    padding: 12px 14px 11px !important;
    border-radius: 13px !important;
    box-shadow: 0 4px 14px rgba(28, 62, 99, 0.07) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time {
    align-self: start !important;
    padding-top: 2px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    font-size: 23px !important;
    line-height: 1.05 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    margin-top: 5px !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    align-self: start !important;
    margin-top: 12px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    height: 24px !important;
    min-width: 56px !important;
    font-size: 13px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    grid-column: 1 / 3 !important;
    padding-top: 13px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .page-booking-schedule .yz-schedule-score {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 54px !important;
    height: 18px !important;
    margin-top: 4px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    background: #ffc400 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 18px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    margin-top: 7px !important;
    font-size: 21px !important;
    letter-spacing: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    width: 84px !important;
    height: 40px !important;
    align-self: end !important;
    margin-bottom: 2px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    margin-top: 11px !important;
    padding: 8px 10px !important;
    border-radius: 5px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 767px) {
  /* Final width pass: schedule list should use the phone screen like the reference site. */
  .page-booking-schedule .yz-schedule-main {
    background: #f2f4f7 !important;
    padding-bottom: 58px !important;
  }

  .page-booking-schedule .yz-booking-section,
  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main,
  .page-booking-schedule .yz-schedule-day-list {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-list {
    padding: 12px 15px 10px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 18px 15px 13px !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 4px 13px rgba(31, 50, 73, .08) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 20px !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    width: 80px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ff6934 !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    height: 56px !important;
    background: #07599e !important;
  }
}

@media (max-width: 767px) {
  .page-booking-schedule .yz-booking-swap::before {
    content: "⇄" !important;
  }

  .page-booking-schedule .yz-schedule-day-block {
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    height: 34px !important;
    margin-bottom: 8px !important;
    padding: 0 4px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .page-booking-schedule .yz-schedule-day-head .date {
    color: #0f3f70 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 72px 1fr 72px !important;
    grid-template-rows: auto auto auto !important;
    gap: 10px 6px !important;
    min-height: 150px !important;
    margin: 0 0 12px !important;
    padding: 16px 14px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 5px 18px rgba(20, 82, 150, 0.12) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time {
    display: grid !important;
    gap: 4px !important;
    justify-items: center !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    color: #0f3f70 !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 24px !important;
    padding: 0 12px !important;
    border: 1px solid #ffe4d8 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #ff7043 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    border-top: 1px solid #dce7f1 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::after {
    content: "" !important;
    position: absolute !important;
    left: 5px !important;
    right: 5px !important;
    top: 50% !important;
    height: 7px !important;
    margin-top: -3px !important;
    background: radial-gradient(circle at left center, #0f4a80 0 3px, transparent 4px), radial-gradient(circle at right center, #0f4a80 0 3px, transparent 4px) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    grid-column: 1 / 3 !important;
    display: grid !important;
    gap: 6px !important;
    padding-top: 12px !important;
    border-top: 1px dashed #e6edf5 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    color: #0f3f70 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    color: #ff5b2e !important;
    font-size: 22px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    grid-column: 3 !important;
    align-self: center !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 78px !important;
    height: 38px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ff8a54, #ff6138) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 13px rgba(255, 96, 55, 0.28) !important;
  }

  .page-booking-schedule .yz-schedule-day-ship,
  .page-booking-schedule .yz-schedule-day-route,
  .page-booking-schedule .yz-schedule-day-price {
    display: none !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav {
    border-top: 0 !important;
    background: #07599e !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  /* Reference schedule page: route/date bar first, no repeated home search form. */
  .page-booking-schedule .yz-booking-header {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-main {
    padding-bottom: 58px !important;
    background: #f1f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-query-hero {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .page-booking-schedule .yz-schedule-ref-top {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #2665d8 0%, #0b69d0 100%) !important;
    color: #fff !important;
  }

  .page-booking-schedule .yz-schedule-ref-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 48px !important;
  }

  .page-booking-schedule .yz-schedule-ref-title strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .page-booking-schedule .yz-schedule-ref-back {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    width: 28px !important;
    height: 36px !important;
    margin-top: -18px !important;
    color: #fff !important;
    font-size: 40px !important;
    font-weight: 300 !important;
    line-height: 32px !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 86px 1fr 86px !important;
    align-items: center !important;
    gap: 8px !important;
    height: 52px !important;
    padding: 0 17px 8px !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar button {
    height: 36px !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 36px !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #1673d5 !important;
    font-size: 14px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date span {
    color: #1673d5 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date i {
    color: #1673d5 !important;
    font-size: 13px !important;
    font-style: normal !important;
  }

  .page-booking-schedule .yz-booking-section {
    padding: 12px 14px 0 !important;
    background: #f1f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-result-head {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    min-height: 154px !important;
    margin-bottom: 13px !important;
    padding: 17px 15px 13px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(24, 73, 123, 0.1) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card::before {
    content: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card::after {
    content: none !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    position: absolute !important;
    left: 15px !important;
    top: 14px !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    background: #ecfff2 !important;
    color: #20b65e !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    position: absolute !important;
    right: 17px !important;
    top: 16px !important;
    color: #8da1b5 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time {
    padding-top: 32px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    font-size: 22px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    padding-top: 10px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 17px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    font-size: 20px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em::first-letter {
    font-size: 14px !important;
    color: #6b7280 !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    min-width: 82px !important;
    height: 38px !important;
    font-size: 14px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    min-height: 220px !important;
    grid-template-rows: auto auto auto auto !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    grid-column: 1 / -1 !important;
    display: block !important;
    min-height: 34px !important;
    margin-top: 2px !important;
    padding: 9px 10px !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
    color: #606f7f !important;
    font-size: 12px !important;
    line-height: 16px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic span {
    color: #123c65 !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-schedule .yz-schedule-query-hero,
  .page-booking-schedule .yz-schedule-result-head,
  .page-booking-schedule .yz-booking-floating-tools,
  .page-booking-schedule .yz-booking-footer {
    display: none !important;
  }

  .page-booking-schedule .yz-booking-section {
    display: block !important;
    margin: 0 !important;
    padding: 0 8px 60px !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-main {
    padding-bottom: 0 !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-ref-top {
    padding: 10px 12px 8px !important;
    background: #2b78e4 !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 84px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar button {
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-ref-date {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #0b66c2 !important;
  }

  .page-booking-schedule .yz-schedule-ref-date span {
    color: #0b66c2 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-ref-date i {
    color: #0b66c2 !important;
    font-style: normal !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-booking-header {
    background: #2b78e4 !important;
  }

  .page-booking-schedule .yz-booking-header-inner {
    justify-content: space-between !important;
    padding: 0 14px !important;
  }

  .page-booking-schedule .yz-schedule-back,
  .page-booking-schedule .yz-schedule-home {
    color: #fff !important;
    font-size: 28px !important;
    text-decoration: none !important;
    line-height: 1 !important;
  }

  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main,
  .page-booking-schedule .yz-schedule-day-list {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-day-block {
    margin: 12px 0 14px !important;
    border: 1px solid #d9dfe7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14) !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border-bottom: 0 !important;
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-day-head .date,
  .page-booking-schedule .yz-schedule-day-head .week {
    color: #0074d9 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    position: relative !important;
    padding-top: 34px !important;
  }

  .page-booking-schedule .yz-schedule-day-body::before {
    content: "游轮          航向          航行时间        价格" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    display: block !important;
    height: 34px !important;
    padding: 0 10px !important;
    background: #0987ee !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 34px !important;
    white-space: pre !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    display: grid !important;
    grid-template-columns: 31% 24% 21% 24% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    gap: 0 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card:nth-child(odd) {
    background: #f2f7ff !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card > * {
    padding: 8px 8px !important;
    border: 0 !important;
  }

  .page-booking-schedule .yz-schedule-trip-type,
  .page-booking-schedule .yz-schedule-arrive-date,
  .page-booking-schedule .yz-schedule-ticket-scenic,
  .page-booking-schedule .yz-schedule-day-cta {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time:first-of-type {
    grid-column: 2 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time:last-of-type {
    grid-column: 3 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time {
    display: grid !important;
    gap: 2px !important;
    justify-items: start !important;
    padding-top: 8px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 31% 24% 21% 24% !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    grid-column: 1 !important;
    padding: 8px 8px !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    grid-column: 4 !important;
    padding: 8px 8px !important;
    color: #ff1f00 !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 767px) {
  .page-booking-schedule .yz-booking-header {
    display: block !important;
    height: 50px !important;
    background: #2b78e4 !important;
  }

  .page-booking-schedule .yz-booking-header-inner {
    display: grid !important;
    grid-template-columns: 42px 1fr 42px !important;
    align-items: center !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 10px !important;
  }

  .page-booking-schedule .yz-schedule-back {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .page-booking-schedule .yz-schedule-home {
    grid-column: 3 !important;
    justify-self: end !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    grid-template-columns: 31% 24% 21% 24% !important;
    align-items: center !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    display: contents !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    padding: 10px 8px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    grid-column: 4 !important;
    grid-row: 1 !important;
    align-self: center !important;
    padding: 10px 8px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time:first-of-type {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time:last-of-type {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time {
    padding: 10px 8px !important;
  }

  .page-booking-schedule .yz-schedule-route-cell strong,
  .page-booking-schedule .yz-schedule-duration-cell strong {
    display: block !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .page-booking-schedule .yz-schedule-route-cell small,
  .page-booking-schedule .yz-schedule-duration-cell small {
    display: block !important;
    color: #111 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .page-booking-schedule .yz-schedule-ref-top {
    padding-top: 10px !important;
  }
}

@media (max-width: 767px) {
  html,
  body.page-booking-schedule {
    width: min(100%, 393px) !important;
    min-width: 0 !important;
    max-width: min(100%, 393px) !important;
    overflow-x: hidden !important;
  }

  .page-booking-schedule {
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-booking-header {
    height: 50px !important;
    background: #2f6fd2 !important;
  }

  .page-booking-schedule .yz-booking-header-inner {
    grid-template-columns: 44px 1fr 44px !important;
    padding: 0 8px !important;
  }

  .page-booking-schedule .yz-schedule-home {
    visibility: hidden !important;
  }

  .page-booking-schedule .yz-schedule-ref-top {
    margin: 0 !important;
    padding: 9px 0 10px !important;
    background: #2f6fd2 !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 76px 1fr 76px !important;
    align-items: center !important;
    gap: 8px !important;
    width: min(100%, 393px) !important;
    max-width: min(100%, 393px) !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar > button {
    display: grid !important;
    place-items: center !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date {
    border-radius: 5px !important;
    background: #fff !important;
    color: #1f75da !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ref-date i {
    margin-left: 7px !important;
    color: #1f75da !important;
    font-size: 13px !important;
  }

  .page-booking-schedule .yz-schedule-query-hero {
    display: none !important;
  }

  .page-booking-schedule .yz-booking-section {
    margin: 0 !important;
    padding: 0 15px 70px !important;
    background: #f1f4f7 !important;
    overflow-x: hidden !important;
  }

  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main,
  .page-booking-schedule .yz-schedule-day-list {
    width: min(100%, 363px) !important;
    min-width: 0 !important;
    max-width: min(100%, 363px) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .page-booking-schedule .yz-schedule-day-block {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .page-booking-schedule .yz-schedule-day-head {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    display: grid !important;
    gap: 20px !important;
    padding: 20px 0 0 !important;
    background: transparent !important;
  }

  .page-booking-schedule .yz-schedule-day-body::before {
    content: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 82px 1fr 82px !important;
    width: min(100%, 363px) !important;
    max-width: min(100%, 363px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    grid-template-rows: auto auto auto auto auto !important;
    min-height: 226px !important;
    margin: 0 !important;
    padding: 14px 15px 12px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(28, 62, 99, 0.08) !important;
    color: #092f5d !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card:nth-child(odd) {
    background: #fff !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card > * {
    padding: 0 !important;
    border: 0 !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    display: inline-grid !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    place-items: center !important;
    justify-self: start !important;
    min-width: 48px !important;
    height: 26px !important;
    padding: 0 10px !important;
    border-radius: 4px !important;
    background: #eefaf1 !important;
    color: #12a04a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    display: block !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    max-width: 92px !important;
    height: 26px !important;
    padding: 0 7px !important;
    border-radius: 4px !important;
    background: #f5fbff !important;
    color: #86a6c6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 26px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-route-cell {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin-top: 18px !important;
    text-align: center !important;
  }

  .page-booking-schedule .yz-schedule-route-cell strong {
    display: block !important;
    color: #07376c !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-route-cell small {
    display: block !important;
    margin-top: 4px !important;
    color: #5c6f83 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: stretch !important;
    margin: 31px 3px 0 !important;
    place-items: center !important;
    height: 20px !important;
    color: #ff6a2b !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::before,
  .page-booking-schedule .yz-schedule-ticket-mid::after {
    content: "" !important;
    position: absolute !important;
    top: 65px !important;
    width: 38px !important;
    height: 1px !important;
    background: #d9dde4 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::before {
    left: 112px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::after {
    right: 112px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid i {
    display: block !important;
    position: absolute !important;
    left: calc(50% - 4px) !important;
    top: 61px !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #07376c !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    display: inline-grid !important;
    position: relative !important;
    z-index: 2 !important;
    place-items: center !important;
    min-width: 58px !important;
    height: 25px !important;
    padding: 0 8px !important;
    border: 1px solid #ffd6c8 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #ff5c25 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-duration-cell {
    display: block !important;
    grid-column: 3 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin-top: 18px !important;
    text-align: center !important;
  }

  .page-booking-schedule .yz-schedule-duration-cell strong {
    display: block !important;
    color: #07376c !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-duration-cell small {
    display: block !important;
    margin-top: 4px !important;
    color: #5c6f83 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    display: grid !important;
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    grid-template-columns: 1fr auto !important;
    min-width: 0 !important;
    align-items: end !important;
    gap: 10px !important;
    margin-top: 17px !important;
    padding-top: 15px !important;
    border-top: 1px dashed #e4e8ee !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    display: block !important;
    grid-column: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #063a73 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    display: block !important;
    grid-column: 1 !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    color: #ff5c25 !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em::first-letter {
    font-size: 17px !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    display: grid !important;
    grid-column: 3 !important;
    grid-row: 3 !important;
    align-self: end !important;
    justify-self: end !important;
    place-items: center !important;
    width: 78px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ff6934 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 16px rgba(255, 105, 52, 0.28) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 15px !important;
    padding: 9px 10px !important;
    border-radius: 5px !important;
    background: #f5f8fb !important;
    color: #22456d !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic span {
    color: #063a73 !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-schedule .yz-booking-mobile-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .page-booking-schedule .yz-schedule-main,
  body.page-booking-schedule {
    padding-bottom: 0 !important;
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    gap: 9px !important;
    width: calc(100% - 18px) !important;
    max-width: none !important;
    padding: 11px 0 18px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    grid-template-columns: 66px minmax(0, 1fr) 66px !important;
    grid-template-rows: 22px 55px auto auto !important;
    padding: 9px 11px 8px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 9px rgba(28, 62, 99, 0.08) !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    height: 20px !important;
    min-width: 40px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    max-width: 72px !important;
    height: 20px !important;
    padding: 0 4px !important;
    font-size: 11px !important;
    line-height: 20px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    font-size: 20px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    margin-top: 3px !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    height: 30px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    height: 21px !important;
    min-width: 50px !important;
    padding: 0 7px !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    padding-top: 9px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 18px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    margin-top: 4px !important;
    font-size: 18px !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    width: 76px !important;
    height: 34px !important;
    font-size: 13px !important;
    box-shadow: 0 5px 10px rgba(255, 105, 52, 0.22) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    margin-top: 8px !important;
    padding: 6px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 767px) {
  /* Route list density: match the tighter mobile reference route page. */
  .page-booking-schedule .yz-booking-mobile-nav {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-main,
  body.page-booking-schedule {
    padding-bottom: 0 !important;
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    gap: 9px !important;
    width: calc(100% - 18px) !important;
    max-width: none !important;
    padding: 11px 0 18px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    grid-template-columns: 66px minmax(0, 1fr) 66px !important;
    grid-template-rows: 22px 55px auto auto !important;
    padding: 9px 11px 8px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 9px rgba(28, 62, 99, 0.08) !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    height: 20px !important;
    min-width: 40px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    max-width: 72px !important;
    height: 20px !important;
    padding: 0 4px !important;
    font-size: 11px !important;
    line-height: 20px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    font-size: 20px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    margin-top: 3px !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    height: 30px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    height: 21px !important;
    min-width: 50px !important;
    padding: 0 7px !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    padding-top: 9px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 18px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    margin-top: 4px !important;
    font-size: 18px !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    width: 76px !important;
    height: 34px !important;
    font-size: 13px !important;
    box-shadow: 0 5px 10px rgba(255, 105, 52, 0.22) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    margin-top: 8px !important;
    padding: 6px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-schedule .yz-schedule-query-hero,
  .page-booking-schedule .yz-schedule-day-head {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-main,
  .page-booking-schedule .yz-booking-section,
  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #f2f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-ref-top {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
    background: #2f6fcd !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 80px 1fr 80px !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 393px !important;
    height: 50px !important;
    margin: 0 auto !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
    background: #2f6fcd !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar button {
    display: grid !important;
    place-items: center !important;
    height: 36px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date {
    background: #fff !important;
    color: #0b63d1 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    display: grid !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 393px !important;
    margin: 0 auto !important;
    padding: 20px 15px 78px !important;
    box-sizing: border-box !important;
    background: #f2f5f8 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 78px 1fr 78px !important;
    grid-template-rows: 28px 76px auto auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px 12px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(18, 58, 98, .08) !important;
    color: #082f5d !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    display: grid !important;
    place-items: center !important;
    height: 24px !important;
    min-width: 44px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    background: #eefaf1 !important;
    color: #10a34a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: block !important;
    max-width: 88px !important;
    height: 24px !important;
    padding: 0 6px !important;
    border-radius: 4px !important;
    background: #f5fbff !important;
    color: #86a6c6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-route-cell,
  .page-booking-schedule .yz-schedule-duration-cell {
    grid-row: 2 !important;
    align-self: center !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .page-booking-schedule .yz-schedule-route-cell { grid-column: 1 !important; }
  .page-booking-schedule .yz-schedule-duration-cell { grid-column: 3 !important; }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    display: block !important;
    color: #07376c !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    display: block !important;
    margin-top: 5px !important;
    color: #5c6f83 !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    height: 36px !important;
    margin: 0 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::before {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    top: 50% !important;
    height: 1px !important;
    background: #d9dde4 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::after {
    content: "" !important;
    position: absolute !important;
    left: 4px !important;
    top: calc(50% - 4px) !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #07376c !important;
    box-shadow: calc(100% + 82px) 0 0 #07376c !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid i {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    height: 25px !important;
    min-width: 58px !important;
    padding: 0 8px !important;
    border: 1px solid #ffd6c8 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #ff5c25 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px dashed #e4e8ee !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    display: block !important;
    color: #063a73 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    display: block !important;
    margin-top: 7px !important;
    color: #ff5c25 !important;
    font-size: 21px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    grid-column: 3 !important;
    grid-row: 3 !important;
    align-self: end !important;
    justify-self: end !important;
    display: grid !important;
    place-items: center !important;
    width: 78px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ff6934 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 16px rgba(255, 105, 52, .28) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    display: block !important;
    margin-top: 14px !important;
    padding: 8px 10px !important;
    border-radius: 5px !important;
    background: #f5f8fb !important;
    color: #22456d !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic span {
    color: #063a73 !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 767px) {
  .page-booking-schedule .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    height: 56px !important;
    border-top: 0 !important;
    background: #07599e !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav a,
  .page-booking-schedule .yz-booking-mobile-nav a.is-active {
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    background: transparent !important;
  }

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

  .page-booking-schedule .yz-booking-mobile-nav a:nth-child(1)::before { content: "⌂" !important; }
  .page-booking-schedule .yz-booking-mobile-nav a:nth-child(2)::before { content: "⇄" !important; }
  .page-booking-schedule .yz-booking-mobile-nav a:nth-child(3)::before { content: "¥" !important; }
  .page-booking-schedule .yz-booking-mobile-nav a:nth-child(4)::before { content: "☏" !important; }
}

@media (max-width: 767px) {
  /* Last override: keep schedule cards full-width after legacy duplicate blocks. */
  .page-booking-schedule .yz-booking-section,
  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main,
  .page-booking-schedule .yz-schedule-day-list {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-booking-schedule .yz-schedule-day-list {
    padding: 12px 15px 10px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 18px 15px 13px !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 4px 13px rgba(31, 50, 73, .08) !important;
  }

  .page-booking-schedule .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    height: 56px !important;
    background: #07599e !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-18 final parity pass: match the reference mobile schedule list, not a search form page. */
  html,
  body.page-booking-schedule {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #f1f4f7 !important;
  }

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

  .page-booking-schedule .yz-schedule-main {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 56px !important;
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-schedule-ref-top {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #2c65c9 !important;
    color: #fff !important;
  }

  .page-booking-schedule .yz-schedule-ref-title {
    position: relative !important;
    display: block !important;
    height: 50px !important;
    width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #2c65c9 !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-ref-title strong {
    position: absolute !important;
    left: 58px !important;
    right: 58px !important;
    top: 0 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 50px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-booking-schedule .yz-schedule-ref-back {
    position: absolute !important;
    left: 17px !important;
    top: 0 !important;
    display: block !important;
    width: 30px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 36px !important;
    font-weight: 300 !important;
    line-height: 46px !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  .page-booking-schedule .yz-schedule-home {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) 80px !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 393px !important;
    height: 50px !important;
    margin: 0 auto !important;
    padding: 0 22px 8px !important;
    box-sizing: border-box !important;
    background: #2c65c9 !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar button {
    display: grid !important;
    place-items: center !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 34px !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 8px !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #0b63d1 !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date span {
    color: #0b63d1 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 34px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date i {
    color: #0b63d1 !important;
    font-size: 13px !important;
    font-style: normal !important;
  }

  .page-booking-schedule .yz-booking-section,
  .page-booking-schedule .yz-schedule-results-shell,
  .page-booking-schedule .yz-schedule-results-main,
  .page-booking-schedule .yz-schedule-day-list {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    display: grid !important;
    gap: 14px !important;
    width: calc(100% - 30px) !important;
    max-width: 363px !important;
    margin: 0 auto !important;
    padding: 20px 0 72px !important;
    box-sizing: border-box !important;
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 72px !important;
    grid-template-rows: 26px 70px auto auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 14px 11px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(28, 62, 99, 0.08) !important;
    color: #082f5d !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    display: grid !important;
    place-items: center !important;
    height: 24px !important;
    min-width: 45px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    background: #eefaf1 !important;
    color: #10a34a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: block !important;
    max-width: 78px !important;
    height: 24px !important;
    padding: 0 5px !important;
    border-radius: 4px !important;
    background: #f5fbff !important;
    color: #86a6c6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  .page-booking-schedule .yz-schedule-route-cell,
  .page-booking-schedule .yz-schedule-duration-cell {
    grid-row: 2 !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .page-booking-schedule .yz-schedule-route-cell {
    grid-column: 1 !important;
  }

  .page-booking-schedule .yz-schedule-duration-cell {
    grid-column: 3 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    display: block !important;
    color: #07376c !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    display: block !important;
    margin-top: 5px !important;
    color: #5c6f83 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    height: 36px !important;
    margin: 0 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::before {
    content: "" !important;
    position: absolute !important;
    left: 5px !important;
    right: 5px !important;
    top: 50% !important;
    height: 1px !important;
    background: #d9dde4 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid::after {
    content: "" !important;
    position: absolute !important;
    left: 4px !important;
    top: calc(50% - 4px) !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #07376c !important;
    box-shadow: calc(100% + 58px) 0 0 #07376c !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid i {
    display: none !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    height: 25px !important;
    min-width: 58px !important;
    padding: 0 8px !important;
    border: 1px solid #ffd6c8 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #ff5c25 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 13px 0 0 !important;
    border-top: 1px dashed #e4e8ee !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    display: block !important;
    color: #063a73 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    display: block !important;
    margin-top: 7px !important;
    color: #ff5c25 !important;
    font-size: 21px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    grid-column: 3 !important;
    grid-row: 3 !important;
    align-self: end !important;
    justify-self: end !important;
    display: grid !important;
    place-items: center !important;
    width: 84px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ff6934 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 16px rgba(255, 105, 52, 0.28) !important;
    white-space: nowrap !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    display: block !important;
    margin-top: 11px !important;
    padding: 8px 10px !important;
    border-radius: 5px !important;
    background: #f5f8fb !important;
    color: #22456d !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic span {
    color: #063a73 !important;
    font-weight: 900 !important;
  }
}


/* ===== mobile-layout-canonical.css ===== */
@media (max-width: 767px) {
  html,
  body.yz-booking-site {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }

  body.yz-booking-site {
    padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  body.yz-booking-site *,
  body.yz-booking-site *::before,
  body.yz-booking-site *::after {
    box-sizing: border-box;
  }

  body.yz-booking-site .container {
    width: calc(100vw - 20px);
    min-width: 0;
    max-width: calc(100vw - 20px);
    margin-inline: auto;
  }

  body.yz-booking-site table {
    max-width: 100%;
  }

  body.yz-booking-site .yz-compare-table-wrap,
  body.yz-booking-site .yz-table-scroll,
  body.yz-booking-site .yz-route-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.yz-booking-site::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }
}


/* ===== mobile-schedule-stabilize.css ===== */
@media (max-width: 767px) {
  body.yz-booking-site.page-booking-schedule .yz-booking-mobile-nav,
  body.yz-booking-site.page-booking-schedule[class] .yz-booking-mobile-nav,
  .page-booking-schedule .yz-booking-mobile-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .page-booking-schedule .yz-schedule-main,
  body.page-booking-schedule {
    padding-bottom: 64px !important;
    background: #f1f4f7 !important;
  }

  .page-booking-schedule .yz-schedule-day-body {
    gap: 12px !important;
    width: calc(100% - 10px) !important;
    margin: 0 auto !important;
    max-width: none !important;
    padding: 20px 0 18px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-card {
    grid-template-columns: 78px minmax(0, 1fr) 78px !important;
    grid-template-rows: 28px 76px auto auto !important;
    min-height: 184px !important;
    padding: 13px 14px 12px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(28, 62, 99, 0.08) !important;
  }

  .page-booking-schedule .yz-schedule-trip-type {
    height: 22px !important;
    min-width: 44px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  .page-booking-schedule .yz-schedule-arrive-date {
    max-width: 84px !important;
    height: 22px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
    line-height: 22px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time strong {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-time small {
    margin-top: 4px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid {
    height: 48px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-mid span {
    height: 22px !important;
    min-width: 52px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info {
    padding-top: 12px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 19px !important;
  }

  .page-booking-schedule .yz-schedule-ticket-info em {
    margin-top: 7px !important;
    font-size: 23px !important;
  }

  .page-booking-schedule .yz-schedule-day-cta {
    width: 88px !important;
    height: 40px !important;
    font-size: 13px !important;
    box-shadow: 0 8px 14px rgba(255, 105, 52, 0.26) !important;
  }

  .page-booking-schedule .yz-schedule-ticket-scenic {
    margin-top: 11px !important;
    padding: 9px 11px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-card {
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) 86px !important;
    grid-template-rows: 28px 70px auto auto auto !important;
    grid-template-areas:
      "type . arrive"
      "start mid end"
      "info info cta"
      "info info cta"
      "scenic scenic scenic" !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 10px 14px 12px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  body.page-booking-schedule .yz-schedule-trip-type {
    grid-area: type !important;
    align-self: start !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 48px !important;
    height: 22px !important;
    margin: 0 !important;
    line-height: 22px !important;
  }

  body.page-booking-schedule .yz-schedule-arrive-date {
    grid-area: arrive !important;
    align-self: start !important;
    justify-self: end !important;
    width: auto !important;
    max-width: 86px !important;
    height: 22px !important;
    margin: 0 !important;
    line-height: 22px !important;
    text-align: center !important;
  }

  body.page-booking-schedule .yz-schedule-route-cell {
    grid-area: start !important;
  }

  body.page-booking-schedule .yz-schedule-duration-cell {
    grid-area: end !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-time {
    position: static !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 64px !important;
    margin: 0 !important;
    text-align: center !important;
    transform: none !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-card > .yz-schedule-route-cell,
  body.page-booking-schedule .yz-schedule-ticket-card > .yz-schedule-ticket-time:first-of-type {
    grid-column: 1 !important;
    grid-row: 2 !important;
    grid-area: start !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-card > .yz-schedule-ticket-mid {
    grid-column: 2 !important;
    grid-row: 2 !important;
    grid-area: mid !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-card > .yz-schedule-duration-cell,
  body.page-booking-schedule .yz-schedule-ticket-card > .yz-schedule-ticket-time:last-of-type {
    grid-column: 3 !important;
    grid-row: 2 !important;
    grid-area: end !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-time strong {
    display: block !important;
    font-size: 24px !important;
    line-height: 28px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-time small {
    display: block !important;
    margin-top: 4px !important;
    font-size: 13px !important;
    line-height: 16px !important;
    white-space: normal !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-mid {
    grid-area: mid !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 8px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-mid::before,
  body.page-booking-schedule .yz-schedule-ticket-mid::after {
    top: 50% !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-info {
    grid-area: info !important;
    align-self: start !important;
    min-width: 0 !important;
    padding-top: 9px !important;
    border-top: 1px dashed #dfe5ed !important;
  }

  body.page-booking-schedule .yz-schedule-day-cta {
    grid-area: cta !important;
    align-self: center !important;
    justify-self: end !important;
    width: 88px !important;
    height: 40px !important;
    margin: 10px 0 0 !important;
    line-height: 40px !important;
    border-radius: 999px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-scenic {
    grid-area: scenic !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    box-sizing: border-box !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-scenic span::before {
    content: "●" !important;
    display: inline-block !important;
    margin-right: 4px !important;
    color: #ff6334 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
  }
}

@media (max-width: 767px) {
  /* Final mobile parity pass: reference cards sit 15px from each edge on 393px screens. */
  body.page-booking-schedule .yz-booking-section,
  body.page-booking-schedule .yz-schedule-results-shell,
  body.page-booking-schedule .yz-schedule-results-main {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-booking-schedule .yz-schedule-day-body {
    width: calc(100vw - 30px) !important;
    max-width: 363px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 14px !important;
    padding-top: 20px !important;
    transform: translateX(-10px) !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-card {
    width: 100% !important;
    min-height: 258px !important;
    padding: 12px 14px 14px !important;
    grid-template-columns: 88px minmax(0, 1fr) 88px !important;
    grid-template-rows: 28px 74px 54px auto !important;
    column-gap: 8px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-info {
    padding-top: 12px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-scenic {
    margin-top: 12px !important;
    padding: 10px 11px !important;
    line-height: 1.55 !important;
  }
}


/* ===== mobile-schedule-clean.css ===== */
@media screen {
  body.page-booking-schedule {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    background: #f1f4f7 !important;
  }

  body.page-booking-schedule .container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-booking-schedule .yz-booking-header,
  body.page-booking-schedule .yz-schedule-query-hero,
  body.page-booking-schedule .yz-booking-footer {
    display: none !important;
  }

  body.page-booking-schedule .yz-schedule-main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    background: #f1f4f7 !important;
    overflow-x: hidden !important;
  }

  body.page-booking-schedule .yz-schedule-ref-top {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    background: linear-gradient(135deg, #1548a8 0%, #1f75d8 100%) !important;
    color: #fff !important;
  }

  body.page-booking-schedule .yz-schedule-ref-title {
    position: relative !important;
    display: flex !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 44px !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  body.page-booking-schedule .yz-schedule-ref-title strong {
    display: block !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 42px !important;
  }

  body.page-booking-schedule .yz-schedule-ref-back,
  body.page-booking-schedule .yz-schedule-home {
    position: absolute !important;
    top: 0 !important;
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  body.page-booking-schedule .yz-schedule-ref-back {
    left: 0 !important;
  }

  body.page-booking-schedule .yz-schedule-home {
    right: 0 !important;
    font-size: 20px !important;
  }

  body.page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) 78px !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 0 14px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  body.page-booking-schedule .yz-schedule-ref-datebar > button {
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
  }

  body.page-booking-schedule .yz-schedule-ref-datebar .yz-schedule-ref-date {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 24px !important;
    align-items: center !important;
    height: 34px !important;
    padding: 0 8px 0 12px !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #1c65c8 !important;
    text-align: center !important;
  }

  body.page-booking-schedule .yz-schedule-ref-date span {
    display: block !important;
    color: #1c65c8 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 34px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.page-booking-schedule .yz-schedule-ref-date i {
    color: #1c65c8 !important;
    font-style: normal !important;
    font-size: 15px !important;
    line-height: 34px !important;
  }

  body.page-booking-schedule .yz-booking-section {
    margin: 0 !important;
    padding: 12px 14px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #f1f4f7 !important;
    overflow: hidden !important;
  }

  body.page-booking-schedule .yz-schedule-results-shell,
  body.page-booking-schedule .yz-schedule-results-main,
  body.page-booking-schedule .yz-schedule-day-list,
  body.page-booking-schedule .yz-schedule-day-body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-booking-schedule .yz-schedule-day-body {
    display: grid !important;
    gap: 13px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-card {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) 82px !important;
    grid-template-rows: 26px 70px auto auto !important;
    column-gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px 11px !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(28, 62, 99, 0.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-time strong {
    font-size: 22px !important;
    line-height: 25px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-time small {
    font-size: 12px !important;
    line-height: 15px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-mid {
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-mid span {
    min-width: 48px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 12px !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-info {
    grid-column: 1 / 3 !important;
    min-width: 0 !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-info b {
    font-size: 19px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-booking-schedule .yz-schedule-ticket-info em {
    font-size: 21px !important;
  }

  body.page-booking-schedule .yz-schedule-day-cta {
    grid-column: 3 !important;
    width: 78px !important;
    height: 38px !important;
    font-size: 13px !important;
    justify-self: end !important;
  }

  body.page-booking-schedule .yz-booking-mobile-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
    background: #075ea5 !important;
    overflow: hidden !important;
  }

  body.page-booking-schedule .yz-booking-mobile-nav > a {
    flex: 1 1 20% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.page-booking-schedule .yz-booking-mobile-nav > a span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 10px !important;
    line-height: 14px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }
}


/* ===== mobile-ui-stabilize-20260619.css ===== */
@media (max-width: 767px) {
  html,
  body.yz-booking-site {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.yz-booking-site {
    background: #f4f7fb !important;
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
  }

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

  body.yz-booking-site .container {
    width: calc(100% - 24px) !important;
    max-width: 420px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #075ea5 !important;
    box-shadow: 0 -2px 10px rgba(0, 42, 91, 0.18) !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    flex: 0 0 20% !important;
    min-width: 0 !important;
    width: 20% !important;
    max-width: 20% !important;
    height: 60px !important;
    padding: 5px 0 4px !important;
    color: #fff !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a:nth-child(1),
  body.yz-booking-site .yz-booking-mobile-nav > a:nth-child(2),
  body.yz-booking-site .yz-booking-mobile-nav > a:nth-child(3),
  body.yz-booking-site .yz-booking-mobile-nav > a:nth-child(4),
  body.yz-booking-site .yz-booking-mobile-nav > a:nth-child(5) {
    grid-column: auto !important;
    flex: 0 0 20% !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a:nth-child(n + 6) {
    display: none !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a i {
    display: block !important;
    height: 20px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 17px !important;
    font-style: normal !important;
    line-height: 20px !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a::before {
    display: none !important;
    content: none !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a span {
    display: block !important;
    width: 100% !important;
    color: #fff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 13px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.page-booking-home .yz-home-bottom-nav-lock,
  body.page-booking-login .yz-login-bottom-nav,
  body.page-booking-order .yz-booking-mobile-nav,
  body.page-booking-submit .yz-booking-mobile-nav {
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
  }

  body.yz-booking-site.page-booking-home nav.yz-booking-mobile-nav.yz-home-bottom-nav-lock,
  body.yz-booking-site.page-booking-login nav.yz-booking-mobile-nav.yz-login-bottom-nav,
  body.yz-booking-site.page-booking-order nav.yz-booking-mobile-nav,
  body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav {
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }

  body.yz-booking-site.page-booking-schedule nav.yz-booking-mobile-nav,
  body.yz-booking-site.page-booking-schedule[class] nav.yz-booking-mobile-nav {
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    grid-template-columns: none !important;
    width: 100vw !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  body.yz-booking-site.page-booking-schedule nav.yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-schedule[class] nav.yz-booking-mobile-nav > a {
    flex: 0 0 20% !important;
    width: 20% !important;
    max-width: 20% !important;
    min-width: 0 !important;
    padding: 5px 0 4px !important;
    background: transparent !important;
  }

  body.page-booking-home .yz-booking-header {
    height: 42px !important;
    background: #0b68bd !important;
  }

  body.page-booking-schedule .yz-booking-header,
  body.page-booking-submit .yz-booking-header,
  body.page-booking-login .yz-booking-header,
  body.page-booking-detail .yz-booking-header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0b68bd !important;
    overflow: hidden !important;
  }

  body.page-booking-schedule .yz-booking-header-inner,
  body.page-booking-login .yz-login-bar,
  body.page-booking-order .yz-order-page-hero .container,
  body.page-booking-guides .yz-order-page-hero .container,
  body.page-booking-series .yz-order-page-hero .container {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 44px !important;
    height: 44px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    background: #0b68bd !important;
    color: #fff !important;
    overflow: hidden !important;
  }

  body.page-booking-detail .yz-detail-home-fixed {
    display: none !important;
  }

  body.page-booking-login .yz-login-bar > a,
  body.page-booking-schedule .yz-booking-header-inner > a,
  body.page-booking-guides .yz-order-page-hero .container > a,
  body.page-booking-series .yz-order-page-hero .container > a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 44px !important;
    text-align: center !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.page-booking-login .yz-login-bar > a::before,
  body.page-booking-login .yz-login-bar > a::after,
  body.page-booking-schedule .yz-booking-header-inner > a::before,
  body.page-booking-schedule .yz-booking-header-inner > a::after,
  body.page-booking-guides .yz-order-page-hero .container > a::before,
  body.page-booking-guides .yz-order-page-hero .container > a::after,
  body.page-booking-series .yz-order-page-hero .container > a::before,
  body.page-booking-series .yz-order-page-hero .container > a::after {
    display: none !important;
    content: none !important;
  }

  body.page-booking-login .yz-login-bar > a:first-child,
  body.page-booking-schedule .yz-booking-header-inner > a:first-child,
  body.page-booking-guides .yz-order-page-hero .container > a:first-child,
  body.page-booking-series .yz-order-page-hero .container > a:first-child {
    grid-column: 1 !important;
  }

  body.page-booking-login .yz-login-bar > a:last-child,
  body.page-booking-schedule .yz-booking-header-inner > a:last-child,
  body.page-booking-guides .yz-order-page-hero .container > a:last-child,
  body.page-booking-series .yz-order-page-hero .container > a:last-child {
    grid-column: 3 !important;
    font-size: 18px !important;
  }

  body.page-booking-login .yz-login-bar > strong,
  body.page-booking-schedule .yz-booking-header-inner > strong,
  body.page-booking-guides .yz-order-page-hero .container > h1,
  body.page-booking-series .yz-order-page-hero .container > h1 {
    display: block !important;
    grid-column: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 4px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 44px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-booking-schedule .yz-schedule-ref-title {
    display: none !important;
  }

  body.page-booking-schedule .yz-schedule-route-label {
    box-sizing: border-box !important;
    display: block !important;
    width: min(100% - 24px, 420px) !important;
    min-height: 40px !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #2b78e4 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 40px !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  body.page-booking-home .yz-booking-brand-ref strong {
    font-size: 16px !important;
    line-height: 20px !important;
  }

  body.page-booking-home .yz-booking-brand-ref small {
    font-size: 7px !important;
    line-height: 9px !important;
    letter-spacing: 0.2px !important;
    transform: none !important;
  }

  body.page-booking-home .yz-booking-search {
    padding: 8px 0 10px !important;
  }

  body.page-booking-home .yz-booking-search > .container {
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    width: min(100% - 24px, 420px) !important;
    max-width: 420px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-booking-home .yz-booking-search-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  body.yz-booking-site.page-booking-home #bookingSearchForm.yz-booking-search-card {
    margin-inline: auto !important;
    justify-self: center !important;
    align-self: center !important;
    transform: none !important;
  }

  body.page-booking-home .yz-booking-tabs {
    margin-bottom: 12px !important;
  }

  body.page-booking-home .yz-home-search-grid {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    gap: 12px 8px !important;
    align-items: stretch !important;
  }

  body.page-booking-home .booking-field,
  body.page-booking-home .booking-date-display,
  body.page-booking-home .yz-booking-submit {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 8px !important;
  }

  body.page-booking-home .booking-field-select {
    height: 48px !important;
  }

  body.page-booking-home .booking-field-display {
    line-height: 48px !important;
    text-align: center !important;
  }

  body.page-booking-home .yz-booking-swap {
    align-self: center !important;
    justify-self: center !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 48px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #1f7fe5 !important;
    -webkit-text-fill-color: #1f7fe5 !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 48px !important;
    text-align: center !important;
    text-indent: 0 !important;
    transform: translateY(0) !important;
  }

  body.page-booking-home .yz-booking-swap::before {
    display: none !important;
    content: none !important;
  }

  body.page-booking-home .yz-booking-swap::after {
    display: none !important;
    content: none !important;
  }

  body.page-booking-home .yz-booking-swap .yz-booking-swap-icon {
    display: block !important;
    width: 42px !important;
    height: 48px !important;
    color: #1f7fe5 !important;
    -webkit-text-fill-color: #1f7fe5 !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 48px !important;
    text-align: center !important;
    text-indent: 0 !important;
    transform: translateY(-1px) !important;
  }

  body.page-booking-home .booking-field-date-hero {
    grid-column: 1 / -1 !important;
    height: 52px !important;
  }

  body.page-booking-home .booking-date-display {
    height: 52px !important;
    padding: 6px 10px !important;
  }

  body.page-booking-home .booking-date-display strong {
    font-size: 15px !important;
    line-height: 20px !important;
  }

  body.page-booking-home .booking-date-display small {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.page-booking-home .booking-field-ship,
  body.page-booking-home .yz-booking-submit {
    grid-column: 1 / -1 !important;
  }

  body.page-booking-home .booking-field-ship input,
  body.page-booking-home #bookingShip {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.page-booking-home #bookingSearchForm.is-ship-mode .yz-home-search-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-booking-home #bookingSearchForm.is-ship-mode .booking-field-ship,
  body.page-booking-home #bookingSearchForm.is-ship-mode .yz-booking-submit {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-booking-home .yz-booking-submit {
    justify-self: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    height: 44px !important;
    font-size: 16px !important;
    overflow: hidden !important;
  }

  body.page-booking-home .yz-booking-routes {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
    margin-top: 10px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.page-booking-home .yz-booking-routes > button,
  body.yz-booking-site.page-booking-home .yz-booking-routes > button {
    box-sizing: border-box !important;
    display: block !important;
    grid-column: auto !important;
    justify-self: stretch !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    font-size: 10px !important;
    line-height: 34px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.page-booking-home #featured {
    display: none !important;
  }

  body.page-booking-detail .yz-detail-photo,
  body.page-booking-detail .yz-detail-photo > img,
  body.page-booking-detail .yz-detail-photo #detailShipImage {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
  }

  body.page-booking-detail #detailRoomRows .yz-detail-room-pro {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    padding: 10px !important;
  }

  body.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-room-single-image,
  body.page-booking-detail #detailRoomRows .yz-detail-room-pro > img {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 104px !important;
  }

  body.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price {
    grid-template-columns: minmax(0, 1fr) 58px !important;
    column-gap: 6px !important;
  }

  body.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price em {
    font-size: 16px !important;
    letter-spacing: -0.5px !important;
    overflow: visible !important;
  }

  body.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price button {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    background: #ff6b2a !important;
    color: #fff !important;
    opacity: 1 !important;
  }

  body.page-booking-login .yz-login-tip,
  body.page-booking-order .yz-order-note {
    color: #596579 !important;
    line-height: 1.55 !important;
  }

  body.page-booking-detail .yz-detail-home-fixed {
    display: none !important;
  }

  body.yz-booking-site .yz-submit-ref-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    background: #2b78e4 !important;
    color: #fff !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 50px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: Arial, "Microsoft YaHei", sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 50px !important;
    text-align: center !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a:first-child {
    grid-column: 1 !important;
    justify-self: center !important;
  }

  body.yz-booking-site .yz-submit-ref-top > strong {
    grid-column: 2 !important;
    justify-self: stretch !important;
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 50px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform: none !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a:last-child {
    grid-column: 3 !important;
    justify-self: center !important;
    font-size: 24px !important;
    color: #fff !important;
    position: static !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a::before,
  body.yz-booking-site .yz-submit-ref-top > a::after {
    display: none !important;
    content: none !important;
  }

  body.page-booking-schedule > .yz-booking-header,
  body.page-booking-order > .yz-booking-header,
  body.page-booking-guides > .yz-booking-header,
  body.page-booking-series > .yz-booking-header,
  body.page-booking-submit > .yz-booking-header,
  body.page-booking-detail > .yz-booking-header {
    display: none !important;
  }

  body.page-booking-order .yz-order-page-hero > .yz-order-top-action,
  body.page-booking-guides .yz-order-page-hero > .yz-guide-top-back,
  body.page-booking-guides .yz-order-page-hero > .yz-guide-top-home,
  body.page-booking-series .yz-order-page-hero .yz-series-top-back,
  body.page-booking-series .yz-order-page-hero .yz-series-top-title,
  body.page-booking-series .yz-order-page-hero .yz-series-real-home {
    display: none !important;
  }

  /* Final chrome lock: one shared mobile header and one shared 5-item bottom nav. */
  body.yz-booking-site .yz-submit-ref-top,
  body.yz-booking-site.page-booking-submit .yz-submit-ref-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 100000 !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    background: #2b78e4 !important;
    color: #fff !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a,
  body.yz-booking-site.page-booking-submit .yz-submit-ref-top > a {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 50px !important;
    text-align: center !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.yz-booking-site .yz-submit-ref-top > strong,
  body.yz-booking-site.page-booking-submit .yz-submit-ref-top > strong {
    grid-column: 2 !important;
    min-width: 0 !important;
    height: 50px !important;
    padding: 0 4px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 50px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a:first-child {
    grid-column: 1 !important;
    justify-self: center !important;
  }

  body.yz-booking-site .yz-submit-ref-top > a:last-child {
    grid-column: 3 !important;
    justify-self: center !important;
    font-size: 24px !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav,
  body.yz-booking-site.page-booking-submit .yz-booking-mobile-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    bottom: 0 !important;
    z-index: 99999 !important;
    height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.yz-booking-site.page-booking-detail .yz-detail-summary-tags {
    display: none !important;
  }

  body.yz-booking-site.page-booking-detail,
  body.yz-booking-site.page-booking-detail .yz-booking-detail-main {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.yz-booking-site.page-booking-order .yz-order-page-hero,
  body.yz-booking-site.page-booking-guides .yz-order-page-hero,
  body.yz-booking-site.page-booking-series .yz-order-page-hero {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 12px 0 0 !important;
    min-height: 0 !important;
    height: auto !important;
    color: inherit !important;
  }

  body.yz-booking-site.page-booking-order .yz-order-page-hero > .container,
  body.yz-booking-site.page-booking-guides .yz-order-page-hero > .container,
  body.yz-booking-site.page-booking-series .yz-order-page-hero > .container {
    display: block !important;
    width: calc(100% - 24px) !important;
    max-width: 420px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 12px !important;
    background: #fff !important;
    color: #0f2742 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 8px rgba(15, 39, 66, 0.08) !important;
    overflow: hidden !important;
  }

  body.yz-booking-site.page-booking-order .yz-order-page-hero h1,
  body.yz-booking-site.page-booking-guides .yz-order-page-hero h1,
  body.yz-booking-site.page-booking-series .yz-order-page-hero h1 {
    display: block !important;
    margin: 4px 0 6px !important;
    padding: 0 !important;
    color: #0f2742 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body.yz-booking-site.page-booking-order .yz-order-page-hero p,
  body.yz-booking-site.page-booking-guides .yz-order-page-hero p,
  body.yz-booking-site.page-booking-series .yz-order-page-hero p {
    margin: 0 !important;
    color: #5b6980 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  body.yz-booking-site.page-booking-order .yz-section-kicker,
  body.yz-booking-site.page-booking-guides .yz-section-kicker,
  body.yz-booking-site.page-booking-series .yz-section-kicker {
    display: inline-block !important;
    margin: 0 0 4px !important;
    padding: 3px 7px !important;
    border-radius: 4px !important;
    background: #eaf3ff !important;
    color: #1f6fd1 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  body.yz-booking-site.page-booking-guides .yz-guide-hero-actions {
    display: flex !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }

  body.yz-booking-site.page-booking-login .yz-login-main {
    padding-top: 12px !important;
  }

  body.yz-booking-site.page-booking-login .yz-login-bar {
    display: none !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-detail .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-submit .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-schedule .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-order .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-login .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-guides .yz-booking-mobile-nav > a,
  body.yz-booking-site.page-booking-series .yz-booking-mobile-nav > a {
    display: flex !important;
    flex: 0 0 20% !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 20% !important;
    max-width: 20% !important;
    min-width: 0 !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 5px 0 4px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-detail .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-home .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-order .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-login .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-schedule .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-submit .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-guides .yz-booking-mobile-nav > a i,
  body.yz-booking-site.page-booking-series .yz-booking-mobile-nav > a i {
    display: block !important;
    width: 100% !important;
    height: 20px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-align: center !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-detail .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-home .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-order .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-login .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-schedule .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-submit .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-guides .yz-booking-mobile-nav > a span,
  body.yz-booking-site.page-booking-series .yz-booking-mobile-nav > a span {
    display: block !important;
    width: 100% !important;
    height: 14px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.yz-booking-site .yz-booking-mobile-nav > a::before,
  body.yz-booking-site .yz-booking-mobile-nav > a::after,
  body.yz-booking-site[class] .yz-booking-mobile-nav > a::before,
  body.yz-booking-site[class] .yz-booking-mobile-nav > a::after {
    display: none !important;
    content: none !important;
  }
}

@media (max-width: 768px) {
  body.page-booking-schedule.is-ship-search .yz-schedule-ref-top,
  body.page-booking-schedule.is-ship-search .yz-schedule-arrive-date {
    display: none !important;
  }
}


/* ===== mobile-chrome-unified.css ===== */
@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: 36px !important;
    min-height: 36px !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 16px 10px !important;
    background: #eef5f8 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: calc(100vw - 72px) !important;
    height: 30px !important;
    margin: 0 auto 8px !important;
    padding: 0 14px !important;
    color: #10243e !important;
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(31, 58, 91, 0.08) !important;
    border-radius: 999px !important;
    box-shadow: 0 5px 14px rgba(24, 45, 72, 0.045) !important;
    font-size: 15px !important;
    font-weight: 820 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label::before {
    content: "航线" !important;
    display: inline-flex !important;
    margin-right: 8px !important;
    color: #5d728a !important;
    font-size: 11px !important;
    font-weight: 760 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 58px !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 6px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(31, 58, 91, 0.09) !important;
    border-top: 1px solid rgba(31, 58, 91, 0.09) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(24, 45, 72, 0.055) !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: #12619c !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 780 !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: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(31, 58, 91, 0.08) !important;
    border-right: 1px solid rgba(31, 58, 91, 0.08) !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 820 !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: #12619c !important;
    font-size: 15px !important;
    font-weight: 820 !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: 38px !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: 16px var(--yz-schedule-card-pad) 14px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(34, 62, 94, 0.075) !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 0 rgba(34, 62, 94, 0.035), 0 10px 24px rgba(24, 45, 72, 0.05) !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: 104px !important;
    right: 104px !important;
    display: block !important;
    height: 1px !important;
    border-radius: 999px !important;
    background: linear-gradient(
      90deg,
      rgba(34, 62, 94, 0),
      rgba(34, 62, 94, 0.09) 30%,
      rgba(34, 62, 94, 0.14) 50%,
      rgba(34, 62, 94, 0.09) 70%,
      rgba(34, 62, 94, 0)
    ) !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: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1b5f93 !important;
    font-size: 12px !important;
    font-weight: 850 !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: #60748e !important;
    font-size: 12px !important;
    font-weight: 800 !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: #10243e !important;
    font-size: var(--yz-schedule-time-size) !important;
    font-weight: 840 !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: #516a86 !important;
    font-size: 12px !important;
    font-weight: 760 !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: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #2c5f91 !important;
    font-size: clamp(11px, 3vw, 12px) !important;
    font-weight: 820 !important;
    line-height: 21px !important;
    box-shadow: none !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(34, 62, 94, 0.055) !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: #142b49 !important;
    font-size: clamp(16px, 4.7vw, 18px) !important;
    font-weight: 840 !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: #e94f2c !important;
    font-size: clamp(18px, 5.4vw, 22px) !important;
    font-style: normal !important;
    font-weight: 820 !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: 0 !important;
    background: #ef6a36 !important;
    box-shadow: 0 3px 8px rgba(205, 78, 38, 0.14) !important;
    color: #fff !important;
    font-size: clamp(12px, 3.5vw, 13px) !important;
    font-weight: 860 !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: 50px !important;
    padding: 6px clamp(6px, 2vw, 8px) !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: 780 !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%, 190px) !important;
    max-width: 190px !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: 10px !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;
    box-shadow: none !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: 0 !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: 0 !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 #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: transparent !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(78px, 22vw, 88px) !important;
    grid-template-areas: "photo info action" !important;
    align-items: center !important;
    column-gap: clamp(9px, 2.4vw, 12px) !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: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !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: clamp(78px, 22vw, 88px) !important;
    min-width: clamp(78px, 22vw, 88px) !important;
    max-width: 88px !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-detail-room-brief {
    display: block !important;
    max-width: 100% !important;
    margin: 5px 0 0 !important;
    color: #40546a !important;
    font-size: clamp(12px, 3.25vw, 12.5px) !important;
    font-weight: 650 !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !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 nav.yz-booking-mobile-nav,
  html body.yz-booking-site.page-booking-detail .yz-booking-mobile-nav,
  html body.yz-booking-site.page-booking-detail nav.yz-booking-mobile-nav.yz-shell-tabbar,
  html body.yz-booking-site.page-booking-detail nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    visibility: hidden !important;
    pointer-events: none !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;
  }

  html body.yz-booking-site.page-booking-detail .yz-reserve-confirm:disabled,
  html body.yz-booking-site.page-booking-detail .yz-reserve-confirm.is-loading {
    background: linear-gradient(180deg, #df5f24 0%, #c84713 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 6px 14px rgba(167, 63, 19, 0.18) !important;
    cursor: wait !important;
    opacity: 0.92 !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) 74px !important;
    column-gap: 8px !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;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro > .yz-booking-room-price {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
  }

  html body.yz-booking-site.page-booking-detail #detailRoomRows .yz-detail-room-pro .yz-detail-room-brief {
    font-size: 11.5px !important;
    line-height: 1.38 !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: 100vw !important;
    max-width: 100vw !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-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: 0 !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: 100vw !important;
    max-width: 100vw !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;
  }
}



/* submit mobile final phone/detail polish 20260630 */
@media (max-width: 760px) {
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line select,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line select {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    padding-left: 9px !important;
    padding-right: 20px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line input,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line input {
    width: 100% !important;
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 8px !important;
    font-size: 15px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(0, 1fr) 72px 102px !important;
    gap: 7px !important;
    padding-left: 8px !important;
    padding-right: 8px !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 {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #0b6fbd !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle::after {
    margin-left: 2px !important;
    color: #0b6fbd !important;
    font-size: 13px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    width: 102px !important;
    min-width: 102px !important;
    max-width: 102px !important;
  }
}


/* submit mobile phone label icon 20260630 */
@media (max-width: 760px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt::before,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-block !important;
    flex: 0 0 18px !important;
    background-color: #0b6fbd !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v2.6a2 2 0 0 1-2.2 2A19.8 19.8 0 0 1 3.5 5.2 2 2 0 0 1 5.5 3h2.6a2 2 0 0 1 2 1.7c.1.8.3 1.5.6 2.2a2 2 0 0 1-.45 2.1L9.2 10.1a15.5 15.5 0 0 0 4.7 4.7l1.1-1.05a2 2 0 0 1 2.1-.45c.7.3 1.45.5 2.2.6a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v2.6a2 2 0 0 1-2.2 2A19.8 19.8 0 0 1 3.5 5.2 2 2 0 0 1 5.5 3h2.6a2 2 0 0 1 2 1.7c.1.8.3 1.5.6 2.2a2 2 0 0 1-.45 2.1L9.2 10.1a15.5 15.5 0 0 0 4.7 4.7l1.1-1.05a2 2 0 0 1 2.1-.45c.7.3 1.45.5 2.2.6a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }
}


/* submit phone row exact left alignment 20260630 */
@media (max-width: 760px) {
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div:has(.yz-submit-phone-line),
  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields > div:has(.yz-submit-phone-line) {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt {
    width: 84px !important;
    max-width: 84px !important;
    gap: 4px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt::before,
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-contact-fields > div:has(.yz-submit-phone-line) dt::before {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }
}

/* submit mobile phone country width balance 20260630 */
@media (max-width: 760px) {
  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line select,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line select {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    padding-left: 12px !important;
    padding-right: 18px !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    text-overflow: clip !important;
  }

  html body.yz-booking-site.page-booking-submit.is-submit-contact-open .yz-submit-phone-line input,
  html body.yz-booking-site.page-booking-submit .yz-submit-phone-line input {
    min-width: 0 !important;
    font-size: 15px !important;
  }
}

/* login mobile order guide 20260630 */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login .yz-login-order-guide {
    display: grid !important;
    gap: 10px !important;
    margin: 12px 0 0 !important;
    padding: 12px !important;
    border: 1px solid #d8e6f5 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-order-guide > strong {
    color: #10233f !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.35 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-order-guide p {
    margin: 0 !important;
    color: #58708a !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.65 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-order-flow {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: hidden !important;
    border: 1px solid #d8e6f5 !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-order-flow span {
    min-height: 48px !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    padding: 7px 2px !important;
    border-right: 1px solid #d8e6f5 !important;
    color: #173355 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-order-flow span:last-child {
    border-right: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-order-flow b {
    width: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #237dd8 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
  }
}

/* login captcha input left align 20260630 */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > input#loginCaptcha,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha input#loginCaptcha {
    text-align: left !important;
    justify-self: stretch !important;
    padding-left: 14px !important;
    padding-right: 10px !important;
    text-indent: 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > input#loginCaptcha::placeholder,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha input#loginCaptcha::placeholder {
    text-align: left !important;
    color: #7a8aa1 !important;
    opacity: 1 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
  }
}

/* login captcha row remove hidden icon gap 20260630 */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha,
  html body.yz-booking-site.page-booking-login .yz-login-form label.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 > .yz-login-icon-lock,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha > .yz-login-icon-lock {
    display: none !important;
  }

  html body.yz-booking-site.page-booking-login .yz-login-form label.yz-login-line-captcha > input#loginCaptcha,
  html body.yz-booking-site.page-booking-login .yz-login-line-captcha input#loginCaptcha {
    grid-column: 1 !important;
    width: 100% !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 {
    grid-column: 2 !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit page: keep the orange order action bar above the normal blue bottom nav. */
  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(126px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(138px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 99990 !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    border-radius: 14px 14px 0 0 !important;
    box-shadow: 0 -6px 18px rgba(10, 35, 70, 0.12) !important;
  }

  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-simple-tabbar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99980 !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit page z-index fix: orange action bar must sit fully above shell bottom nav. */
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100020 !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    border-radius: 14px 14px 0 0 !important;
    transform: none !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep,
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions .yz-submit-detail-toggle {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    bottom: 0 !important;
    z-index: 100000 !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit page final: order form uses only the orange action bar, no blue bottom 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,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    bottom: 0 !important;
    z-index: 100020 !important;
    height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    border-radius: 14px 14px 0 0 !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit structural no-nav: blue nav is not created; keep orange action bar as the only bottom bar. */
  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    display: grid !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100020 !important;
    height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    border-radius: 14px 14px 0 0 !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit order bar final geometry: one compact white order bar, no blue nav layer. */
  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,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-tabbar,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: max(6px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100020 !important;
    display: grid !important;
    grid-template-columns: minmax(132px, 1fr) 74px 92px !important;
    align-items: center !important;
    gap: 6px !important;
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 6px !important;
    padding: 4px 6px !important;
    border: 1px solid rgba(13, 70, 128, 0.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 -4px 14px rgba(10, 35, 70, 0.12) !important;
    backdrop-filter: none !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 1px !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b {
    font-size: 14px !important;
    line-height: 16px !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;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    font-size: 11px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    font-size: 16px !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 360px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    grid-template-columns: minmax(126px, 1fr) 70px 88px !important;
    gap: 5px !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit order bar final geometry v2: compact flex bar, keep both action buttons visible. */
  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,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-tabbar,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    position: fixed !important;
    left: 6px !important;
    right: 6px !important;
    bottom: max(6px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    border: 1px solid rgba(13, 70, 128, 0.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 -4px 14px rgba(10, 35, 70, 0.12) !important;
    backdrop-filter: none !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    flex: 1 1 auto !important;
    min-width: 110px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 1px !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b {
    font-size: 14px !important;
    line-height: 16px !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;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    width: 74px !important;
    font-size: 11px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 82px !important;
    background: linear-gradient(135deg, #ff7a28, #ff4b16) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 360px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    left: 4px !important;
    right: 4px !important;
    gap: 4px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    width: 68px !important;
    padding: 0 5px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    width: 76px !important;
    padding: 0 6px !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit order bar final geometry v3: pin to visual viewport, not the overflowing page width. */
  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,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-tabbar,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.yz-booking-site.page-booking-submit {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-main {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    position: fixed !important;
    left: 6px !important;
    right: auto !important;
    bottom: max(6px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5px !important;
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 4px 5px !important;
    border: 1px solid rgba(13, 70, 128, 0.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 -4px 14px rgba(10, 35, 70, 0.12) !important;
    backdrop-filter: none !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    flex: 1 1 auto !important;
    min-width: 92px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 1px !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b {
    font-size: 14px !important;
    line-height: 16px !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;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    width: 70px !important;
    font-size: 11px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 76px !important;
    background: linear-gradient(135deg, #ff7a28, #ff4b16) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 340px) {
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    left: 4px !important;
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    gap: 4px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    width: 64px !important;
    padding: 0 4px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    width: 70px !important;
    padding: 0 4px !important;
    font-size: 15px !important;
  }
}

@media (max-width: 767px) {
  /* 2026-06-30 submit order bar final geometry v4: visible next-step button on narrow mobile screenshots. */
  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions {
    position: fixed !important;
    left: 0 !important;
    right: auto !important;
    bottom: max(6px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100020 !important;
    display: grid !important;
    grid-template-columns: minmax(118px, 1fr) 64px 72px !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    border: 1px solid rgba(13, 70, 128, 0.10) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 -4px 14px rgba(10, 35, 70, 0.12) !important;
    box-sizing: border-box !important;
    transform: translateX(0) !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary {
    grid-column: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary p {
    font-size: 10px !important;
    line-height: 16px !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-summary b {
    font-size: 14px !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;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-detail-toggle {
    grid-column: 2 !important;
    width: 64px !important;
    font-size: 10px !important;
  }

  html body.yz-booking-site.page-booking-submit .yz-submit-fixed-actions #submitNextStep {
    grid-column: 3 !important;
    width: 72px !important;
    background: linear-gradient(135deg, #ff7a28, #ff4b16) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  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,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-tabbar,
  html body.yz-booking-site.page-booking-submit nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}


/* 20260702 schedule refined ticket design */
@media (max-width: 767px) {
  html,
  html body.yz-booking-site.page-booking-schedule {
    background: #f4fbff !important;
  }

  html body.yz-booking-site.page-booking-schedule main.yz-schedule-main,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-main,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-page,
  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-top,
  html body.yz-booking-site.page-booking-schedule .yz-booking-section,
  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 .yz-schedule-day-body,
  html body.yz-booking-site.page-booking-schedule #scheduleCards {
    background: #f4fbff !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-top {
    padding: 14px 18px 12px !important;
    background: #f4fbff !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: calc(100vw - 72px) !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 auto 12px !important;
    padding: 0 13px 0 13px !important;
    border: 1px solid rgba(171, 194, 213, .58) !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.92) inset !important;
    color: #102844 !important;
    font-size: 14px !important;
    font-weight: 780 !important;
    line-height: 38px !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label::before {
    content: "航线" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 18px !important;
    margin-right: 8px !important;
    padding-left: 27px !important;
    color: #647c92 !important;
    font-size: 12px !important;
    font-weight: 720 !important;
    line-height: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8.7 7.9V5.8c0-1 .8-1.8 1.8-1.8h3c1 0 1.8.8 1.8 1.8v2.1' stroke='%23165f98' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.8 13.1V9.6c0-.9.72-1.62 1.62-1.62h9.16c.9 0 1.62.72 1.62 1.62v3.5' stroke='%23165f98' stroke-width='1.45' stroke-linejoin='round'/%3E%3Cpath d='M4.05 14.15 11.35 12c.43-.13.87-.13 1.3 0l7.3 2.15-2.05 5.45-4.72-1.12a5.08 5.08 0 0 0-2.36 0L6.1 19.6l-2.05-5.45Z' stroke='%23165f98' stroke-width='1.45' stroke-linejoin='round'/%3E%3Cpath d='M12 12.05v6.05M7.15 20.85c1.2.55 2.4.55 3.6 0 1.2.55 2.4.55 3.6 0' stroke='%23165f98' stroke-width='1.35' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 0 center !important;
    background-size: 20px 20px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label::after {
    content: "" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 14px !important;
    height: 14px !important;
    margin-left: 7px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m7 9.5 5 5 5-5' stroke='%23547693' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 14px 14px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar {
    display: grid !important;
    grid-template-columns: minmax(58px, .72fr) minmax(0, 1.62fr) minmax(58px, .72fr) !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 2px !important;
    border: 1px solid rgba(25, 72, 116, .105) !important;
    border-radius: 4px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,253,255,.98)) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.96) inset,
      0 -1px 0 rgba(20, 82, 130, .025) inset !important;
    overflow: hidden !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button {
    height: 40px !important;
    min-height: 40px !important;
    min-width: 0 !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0d609c !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 40px !important;
    white-space: nowrap !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > button:active {
    background: rgba(13, 96, 156, .06) !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date {
    position: relative !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: 40px !important;
    gap: 4px !important;
    border: 0 !important;
    border-left: 1px solid rgba(25, 72, 116, .09) !important;
    border-right: 1px solid rgba(25, 72, 116, .09) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f6fbff 100%) !important;
    color: #102844 !important;
    font-weight: 850 !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date span {
    color: #0f649f !important;
    font-size: 14px !important;
    font-weight: 860 !important;
    line-height: 40px !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-ref-datebar > .yz-schedule-ref-date i {
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
    margin-left: 2px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Crect x='4.25' y='5.5' width='15.5' height='14.25' rx='2.4' stroke='%23677f98' stroke-width='1.7'/%3E%3Cpath d='M8 3.8v3.4M16 3.8v3.4M4.7 10h14.6' stroke='%23677f98' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M8.2 13.6h2.2M13.6 13.6h2.2M8.2 16.7h2.2' stroke='%230f649f' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 14px 14px !important;
  }

  html body.yz-booking-site.page-booking-schedule #scheduleCards {
    --yz-schedule-page-gutter: 18px;
    --yz-schedule-content-width: calc(100vw - (var(--yz-schedule-page-gutter) * 2));
    width: var(--yz-schedule-content-width) !important;
    max-width: var(--yz-schedule-content-width) !important;
    margin-left: calc((100% - var(--yz-schedule-content-width)) / 2) !important;
    margin-right: calc((100% - var(--yz-schedule-content-width)) / 2) !important;
  }

  html body.yz-booking-site.page-booking-schedule .yz-schedule-day-body {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card {
    grid-template-rows: minmax(64px, auto) minmax(54px, auto) auto !important;
    row-gap: 12px !important;
    padding: 17px var(--yz-schedule-card-pad) 15px !important;
    border: 1px solid rgba(31, 57, 86, .075) !important;
    border-radius: 4px !important;
    background: linear-gradient(180deg, #fff 0%, #fdfeff 100%) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 10px 22px rgba(22, 48, 78, .052) !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card::before {
    top: 59px !important;
    left: 112px !important;
    right: 112px !important;
    background: linear-gradient(90deg, rgba(27,57,91,0), rgba(27,57,91,.07) 34%, rgba(27,57,91,.12) 50%, rgba(27,57,91,.07) 66%, rgba(27,57,91,0)) !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-trip-type {
    top: 13px !important;
    left: var(--yz-schedule-card-pad) !important;
    padding: 0 !important;
    color: #0f649f !important;
    font-size: 12px !important;
    font-weight: 820 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-arrive-date {
    top: 13px !important;
    right: var(--yz-schedule-card-pad) !important;
    padding: 0 7px !important;
    border-radius: 6px !important;
    background: rgba(241, 248, 253, .82) !important;
    color: #61758d !important;
    font-size: 12px !important;
    font-weight: 780 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-time {
    margin-top: 24px !important;
    min-height: 52px !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-time strong {
    color: #10233d !important;
    font-weight: 820 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-time small {
    margin-top: 7px !important;
    color: #526d89 !important;
    font-weight: 740 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-mid span {
    color: #245f93 !important;
    font-size: 12px !important;
    font-weight: 810 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-info {
    padding-top: 12px !important;
    border-top: 1px solid rgba(31, 57, 86, .055) !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-info b {
    color: #142b48 !important;
    font-weight: 820 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-info em {
    color: #e95831 !important;
    font-weight: 860 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-day-cta {
    height: 37px !important;
    min-height: 37px !important;
    border-radius: 4px !important;
    background: linear-gradient(180deg, #f47b43 0%, #ed6733 100%) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 5px 12px rgba(213, 84, 42, .16) !important;
    font-weight: 830 !important;
  }
}

html body.yz-booking-site.page-booking-detail nav.yz-booking-mobile-nav,
html body.yz-booking-site.page-booking-detail .yz-booking-mobile-nav,
html body.yz-booking-site.page-booking-detail nav.yz-booking-mobile-nav.yz-shell-tabbar,
html body.yz-booking-site.page-booking-detail nav.yz-booking-mobile-nav.yz-shell-simple-tabbar {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 340px) {
  html body.yz-booking-site.page-booking-schedule .yz-schedule-route-label {
    max-width: calc(100vw - 48px) !important;
    padding: 0 11px !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card::before {
    left: 96px !important;
    right: 96px !important;
  }
}


/* ===== mobile-schedule-ship-card-final.css ===== */
@charset "UTF-8";

@media (max-width: 767px) {
  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-day-body {
    display: grid !important;
    gap: 16px !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ticket-card.yz-schedule-ship-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "tag price"
      "main price"
      "dates dates"
      "meta meta"
      "scenic scenic"
      "cta cta" !important;
    column-gap: 14px !important;
    row-gap: 12px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 20px 18px 18px !important;
    overflow: visible !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(18, 72, 130, .10) !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-card .yz-schedule-trip-type {
    grid-area: tag !important;
    position: static !important;
    justify-self: start !important;
    width: auto !important;
    margin: 0 !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main {
    grid-area: main !important;
    min-width: 0 !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main b {
    display: block !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    color: #082f5f !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main span {
    display: block !important;
    overflow: hidden !important;
    color: #536a84 !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-dates {
    grid-area: dates !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    background: rgba(232, 244, 255, .78) !important;
    border-radius: 12px !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-dates strong {
    color: #0e73c9 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-dates span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #244d78 !important;
    font-size: 12px !important;
    font-weight: 780 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-meta {
    grid-area: meta !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-meta span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 0 9px !important;
    color: #234a72 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    background: rgba(241, 247, 253, .94) !important;
    border-radius: 999px !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-price {
    grid-area: price !important;
    align-self: start !important;
    justify-self: end !important;
    margin: 0 !important;
    color: #f05a26 !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-card .yz-schedule-day-cta {
    grid-area: cta !important;
    position: static !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    margin: 2px 0 0 !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    background: linear-gradient(135deg, #ff8a42, #ef6a2d) !important;
    box-shadow: 0 8px 18px rgba(239, 106, 45, .22) !important;
    white-space: nowrap !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-card .yz-schedule-ticket-scenic {
    grid-area: scenic !important;
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    margin: 2px 0 0 !important;
    padding: 10px 12px 2px 18px !important;
    overflow: hidden !important;
    color: #57708a !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    border-top: 1px solid rgba(19, 78, 140, .10) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-card .yz-schedule-ticket-scenic::before {
    position: absolute !important;
    top: 15px !important;
    left: 2px !important;
    width: 7px !important;
    height: 7px !important;
    content: "" !important;
    background: #f05a26 !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 360px) {
  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ticket-card.yz-schedule-ship-card {
    padding: 18px 15px 16px !important;
    column-gap: 10px !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-main b {
    font-size: 16px !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-price {
    font-size: 15px !important;
  }

  body.yz-booking-site.page-booking-schedule.is-ship-search .yz-schedule-ship-card .yz-schedule-day-cta {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 10px !important;
  }
}

/* Override legacy chrome rules that force the ship-search CTA back into the right corner. */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ticket-scenic {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    grid-area: scenic !important;
    padding: 10px 12px 2px 18px !important;
    margin: 2px 0 0 !important;
    border-top: 1px solid rgba(19, 78, 140, .10) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-day-cta {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    grid-area: cta !important;
    position: static !important;
    z-index: 2 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 4px 0 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 40px !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    overflow: visible !important;
    background: linear-gradient(135deg, #ff8a42, #ef6a2d) !important;
    box-shadow: 0 8px 18px rgba(239, 106, 45, .22) !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-day-cta::before,
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-day-cta::after {
    display: none !important;
    content: none !important;
  }
}

@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic {
    grid-area: 3 / 1 / 4 / 4 !important;
    position: relative !important;
    display: block !important;
    max-width: 100% !important;
    margin: 3px 0 0 !important;
    padding: 10px 2px 0 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    border-top: 1px solid rgba(34, 62, 94, .055) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #405a75 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
    text-align: left !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic::before {
    display: none !important;
    content: none !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic span,
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ticket-scenic span {
    display: block !important;
    margin: 0 0 4px !important;
    color: #12385e !important;
    font-weight: 850 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic span::before,
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ticket-scenic span::before {
    display: none !important;
    content: none !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card {
    grid-template-areas:
      "tag price"
      "main price"
      "dates dates"
      "meta meta"
      "scenic scenic"
      "cta cta" !important;
    row-gap: 10px !important;
    padding-bottom: 18px !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ship-dates {
    padding: 0 0 9px !important;
    border-bottom: 1px solid rgba(14, 62, 112, .10) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ship-dates span {
    color: #335b84 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ship-meta span {
    min-height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #496683 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ticket-scenic {
    padding: 8px 2px 0 16px !important;
    margin: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
    -webkit-line-clamp: 1 !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ticket-scenic::before {
    top: 14px !important;
  }

  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-day-cta {
    margin-top: 2px !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
    letter-spacing: .06em !important;
  }
}


/* 20260702 schedule refined ticket scenic area */
@media (max-width: 767px) {
  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic {
    margin-top: 2px !important;
    padding: 11px 0 0 !important;
    border-top: 1px solid rgba(31, 57, 86, .055) !important;
    color: #405a75 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.58 !important;
  }

  html body.yz-booking-site.page-booking-schedule a.yz-schedule-ticket-card > .yz-schedule-ticket-scenic span,
  html body.yz-booking-site.page-booking-schedule.is-ship-search a.yz-schedule-ticket-card.yz-schedule-ship-card > .yz-schedule-ticket-scenic span {
    margin-bottom: 5px !important;
    color: #153a5f !important;
    font-weight: 780 !important;
  }
}


/* ===== mobile-bottom-nav-canonical.css ===== */
.yz-static-bottom-nav {
  display: none;
}

@media (max-width: 767px) {
  *,
  html,
  body {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  *::-webkit-scrollbar,
  html::-webkit-scrollbar,
  body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
    background: transparent;
  }

  body.yz-booking-site {
    padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }

  .yz-static-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100000;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    height: calc(60px + env(safe-area-inset-bottom, 0px));
    margin: 0;
    padding: 0 0 env(safe-area-inset-bottom, 0px);
    overflow: hidden;
    color: #fff;
    background: #075ea5;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 -3px 14px rgba(0, 0, 0, 0.18);
  }

  .yz-static-bottom-nav__item {
    display: flex;
    min-width: 0;
    height: 60px;
    padding: 6px 0 5px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-align: center;
    text-decoration: none;
    font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 700;
  }

  .yz-static-bottom-nav__item.is-active {
    background: rgba(255, 255, 255, 0.12);
  }

  .yz-static-bottom-nav__item svg {
    display: block;
    width: 22px;
    height: 22px;
    margin: 0 0 3px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .yz-static-bottom-nav__item span {
    display: block;
    width: 100%;
    height: 15px;
    overflow: hidden;
    color: inherit;
    font-size: 11px;
    font-family: inherit;
    font-weight: 700;
    line-height: 15px;
    white-space: nowrap;
  }
}


/* ===== mobile-topbar-canonical.css ===== */
:root {
  --yz-topbar-height: 48px;
  --yz-topbar-bg: #0d6fb3;
  --yz-topbar-fg: #fff;
}

.yz-app-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: var(--yz-topbar-height) minmax(0, 1fr) var(--yz-topbar-height);
  align-items: center;
  width: 100%;
  height: var(--yz-topbar-height);
  min-height: var(--yz-topbar-height);
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  color: var(--yz-topbar-fg);
  font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--yz-topbar-bg);
  box-shadow: 0 1px 4px rgba(0, 38, 76, 0.16);
}

.yz-app-topbar__action {
  display: grid;
  width: var(--yz-topbar-height);
  height: var(--yz-topbar-height);
  margin: 0;
  padding: 0;
  place-items: center;
  color: inherit;
  background: transparent;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.yz-app-topbar__action svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.yz-app-topbar__title {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: inherit;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yz-app-topbar__action:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

@media (prefers-reduced-motion: reduce) {
  .yz-app-topbar,
  .yz-app-topbar * {
    scroll-behavior: auto;
    animation: none;
    transition: none;
  }
}
