/* --------------------------------------------------
   Utilities
   -------------------------------------------------- */
.box-shadow {
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
  /* padding: 20px; */
}

.booking-form-wrap {
  border-radius: 8px;
  background: linear-gradient(
    125deg,
    rgba(99, 171, 69, 0.1) 0%,
    rgba(251, 176, 59, 0.1) 100%
  );
  border-radius: 4px;
  padding: 24px;
}

.tablinks.active {
  background-color: #e07728;
  color: #fff;
}

.pb-10 {
  padding-bottom: 8px;
}

.fw-600 {
  font-weight: 600;
}

.ptb-20 {
  padding: 20px 0;
}

.black {
  color: #000;
}

.text-center {
  text-align: center;
}

.quantity {
  width: 100%;
}

@media (max-width: 1024px) {
  .m-w-100 {
    width: 100%;
  }

  .m-w-50 {
    width: 50%;
  }

  .w-33 {
    width: 33.33%;
  }
}

@media only screen and (min-width: 768px) {
  .dis-none {
    display: none;
  }
}

.w-20 {
  width: 20%;
}

/* --------------------------------------------------
   Tabs component (contact-us.php enquiry tabs)
   -------------------------------------------------- */
.minus {
  background: darkblue;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.plus {
  border-right: 0;
  border-left: 0;
}

.tab1 {
  padding: 8px;
  border-radius: 48px;
}

.tabcontent {
  border: none !important;
}

/* Tab row: flexbox instead of float + fixed-percentage width utility classes,
   so buttons share space evenly with no additive-margin overflow and wrap
   cleanly on narrow viewports without a separate media query. */
.tab {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}

.tablinks {
  flex: 1 1 200px;
  background-color: inherit;
  border: none;
  outline: none;
  border-radius: 24px;
  padding: 8px 8px;
  cursor: pointer;
  transition: 0.3s;
  font-size: 17px;
}

/* Style the tab content */
.tabcontent {
  display: none;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-top: none;
}

.p-0 {
  padding: 0;
}

.tablinks:hover {
  background-color: #ff9900;
  color: #fff;
}

.tab button:hover a {
  background-color: #ff9900;
  color: #fff;
}

a {
  color: #000;
}

@media only screen and (min-width: 1024px) {
  .chr-jumplinks-v2 {
    display: block;
  }
}

.new-select .nice-select .list {
  bottom: 100%;
  top: auto;
}

@media only screen and (max-width: 767px) {
  ul.action li {
    float: left;
    display: inline;
    width: 50%;
    padding: 12px;
  }
}

.bw {
  background: #fff;
}

@media only screen and (max-width: 767px) {
  ul.action li a {
    font-size: 14px;
  }
}

/* --------------------------------------------------
   Navigation overrides
   -------------------------------------------------- */
.hs_logo_wrapper1 {
  float: left;
  width: auto;
  padding-top: 20px;
  padding-bottom: 16px;
}

.hs_navigation_header_wrapper {
  position: relative;
  z-index: 9999;
}

/* Sticky nav: desktop-only (>=992px), matching the ad bar's existing
   desktop-only fixed scope (assets/css/legacy/shared-topbar.css). Sits
   directly under the fixed ad bar via --topbar-height; body's padding-top
   is extended (shared-topbar.css) to reserve space for both bars stacked.
   Uses `position: fixed` rather than `sticky`: body/html have
   `overflow-x: hidden` with no matching overflow-y (style.css), which per
   the CSS Overflow spec forces overflow-y to compute as `auto` - making
   body/html scroll containers that break `position: sticky` on
   descendants. `fixed` is immune to this (it's already how the ad bar
   itself works), so it's the safe choice here. Mobile/tablet keep
   scrolling normally, unchanged. */
@media (min-width: 992px) {
  .hs_navigation_header_wrapper {
    float: none;
    position: fixed;
    top: var(--topbar-height, 48px);
    left: 0;
    right: 0;
    width: 100%;
    background: #ffffff;
  }
}

.dropdown-wrapper .drop-menu {
  z-index: 9999;
}

/* --------------------------------------------------
   Legacy enquiry-form validation (js/legacy-enquiry-forms.js)
   -------------------------------------------------- */
.form-error {
  font-size: 12px;
  color: red;
  min-height: 14px;
  margin: 4px 0 8px;
  text-align: left;
}

.x_slider_form_input_wrapper input.error,
.form-sec-header input.error,
.x_slider_select select.error {
  border: 1px solid red;
}
