/* ==========================================================
   MESSONGHI TRAVEL CENTER
   MOBILE / TABLET CSS ONLY

   Load this file AFTER messonghi-main-desktop.css or
   messonghi-tour-pages-complete.css.

   Contains only responsive/touch overrides:
   - Touch hover safety
   - Tablet layout
   - Mobile header/navigation
   - Mobile booking experience
   - Small phone refinements
   - iPhone safe-area support
========================================================== */

/* ==========================================================
   TOUCH DEVICE HOVER SAFETY
========================================================== */

@media (hover: none), (pointer: coarse) {
  .tourmaster-tour-grid:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-frame:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-modern:hover .tourmaster-tour-thumbnail img {
    transform: none;
  }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  :root {
    --mtc-gutter: clamp(18px, 3.2vw, 26px);
    --mtc-header-offset: 78px;
    --mtc-blue-soft: #eaf7fd;
    --mtc-border-strong: #cfdee8;
    --mtc-success: #008f5d;
    --mtc-radius-sm: 12px;
    --mtc-focus: 0 0 0 4px rgba(0, 119, 182, 0.16);
  }

  .tourmaster-tour-booking-bar-outer {
    top: calc(var(--mtc-header-offset) + 14px);
    border-radius: 24px !important;
  }

  .mtc-soft-section {
    padding: clamp(32px, 5vw, 44px) var(--mtc-gutter);
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {
  :root {
    --mtc-gutter: clamp(16px, 5vw, 22px);
    --mtc-header-offset: 68px;
    --mtc-control-height: 48px;
    --mtc-section-space: 48px;
  }

  body {
    font-size: 16px;
  }

  body.single-tour {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .traveltour-footer-back-to-top-button,
  .traveltour-footer-back-to-top-button.traveltour-scrolled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ========================================================
     MOBILE HEADER
  ======================================================== */

  .traveltour-mobile-header {
    padding-block: 10px !important;
    border-bottom: 1px solid var(--mtc-border);
    box-shadow: 0 6px 22px rgba(8, 43, 69, 0.07);
  }

  .traveltour-mobile-header-container {
    min-height: 52px;
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo {
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo img {
    width: auto !important;
    max-width: min(38vw, 145px) !important;
    max-height: 46px;
    object-fit: contain;
  }

  .traveltour-mobile-menu-right {
    min-height: 44px;
  }

  .traveltour-mobile-menu-right .tourmaster-user-top-bar {
    font-size: 13px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .traveltour-mobile-menu {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .traveltour-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
    border-radius: 12px;
    background: var(--mtc-blue-soft);
  }

  /* ========================================================
     MOBILE NAVIGATION DRAWER
  ======================================================== */

  #traveltour-mobile-menu.traveltour-mm-menu-wrap {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: #101820 !important;
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.30);
  }

  #traveltour-mobile-menu .mm-panels,
  #traveltour-mobile-menu .mm-panel {
    width: 100% !important;
    background: #101820 !important;
  }

  #traveltour-mobile-menu .mm-panel {
    padding: 0 20px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  #traveltour-mobile-menu .mm-panel.mm-hasnavbar {
    padding: 40px 20px 0 !important;
  }

  #traveltour-mobile-menu .mm-navbar {
    height: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #traveltour-mobile-menu .mm-navbar .mm-title {
    padding-inline: 40px !important;
    color: var(--mtc-white) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #traveltour-mobile-menu
    :is(.mm-navbar .mm-prev, .mm-navbar .mm-next, .mmenu-custom-close) {
    width: 40px !important;
    min-width: 0 !important;
    height: 40px !important;
  }

  #traveltour-mobile-menu .mm-listview > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    min-height: 52px;
    padding-block: 14px !important;
    padding-right: 44px !important;
    color: rgba(255, 255, 255, 0.90) !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    text-transform: none !important;
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)):hover {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.14) !important;
  }

  #traveltour-mobile-menu .mm-listview > li > .mm-next {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li.current-menu-item
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.18) !important;
  }

  .traveltour-top-bar {
    min-height: 38px;
  }

  .traveltour-top-bar-container {
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
  }

  .traveltour-custom-wpml-flag {
    gap: 6px;
  }

  .traveltour-custom-wpml-flag-item {
    width: 26px;
    height: 25px;
  }

  /* ========================================================
     MOBILE BOOKING EXPERIENCE
  ======================================================== */

  @supports selector(:has(*)) {
    .single-tour
      .gdlr-core-pbf-sidebar-wrapper
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      ) {
      display: flex !important;
      width: 100% !important;
      flex-direction: column;
      gap: 26px;
      padding-inline: 12px !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-right,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      > .gdlr-core-sidebar-item {
      display: contents !important;
    }

    /* Booking form: protected top position, never grouped with Latest Tours. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .tourmaster-tour-booking-bar-custom,
        .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-booking-bar-wrap),
        .tourmaster-tour-booking-bar-wrap
      ) {
      order: 1 !important;
      width: 100% !important;
      margin: 0 0 24px !important;
    }

    /* Main tour body follows the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-content {
      order: 2 !important;
      float: none !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 4px 0 52px !important;
    }

    /*
       Extra sidebar trust widgets, e.g. "Book With Confidence", are separate
       from both the booking form and Latest Tours. Keep them after the main
       tour body, but before the final Latest Tours section.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:not(:has(.tourmaster-tour-booking-bar-wrap)):not(:has(.tourmaster-tour-widget)) {
      order: 3 !important;
      width: 100% !important;
      margin: 0 0 34px !important;
      clear: both !important;
    }

    /* Latest Tours wrapper only: must contain tour cards, not the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-widget):not(:has(.tourmaster-tour-booking-bar-wrap)) {
      order: 99 !important;
      width: 100% !important;
      margin: 18px 0 42px !important;
      clear: both !important;
    }

    /*
       Latest Tours belongs at the end on phones. Keep this separate from
       booking: these selectors target tour-card widgets only, not the booking
       form wrapper.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .widget_tourmaster-tour-widget,
        .widget_tourmaster_recent_tour,
        .widget_tourmaster-recent-tour-widget,
        .tourmaster-tour-widget:not(:has(.tourmaster-tour-booking-bar-wrap))
      ) {
      order: 99 !important;
      align-self: stretch;
      width: 100% !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget
      .tourmaster-tour-booking-bar-wrap,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-custom
      .tourmaster-tour-booking-bar-wrap {
      order: initial !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      .gdlr-core-pbf-sidebar-content-inner {
      width: 100% !important;
    }
  }

  .tourmaster-urgency-message {
    display: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-custom,
  .single-tour .tourmaster-tour-booking-bar-wrap {
    width: 100% !important;
    margin-inline: auto !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    position: relative !important;
    top: auto !important;
    z-index: 30;
    margin: 8px auto 24px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    box-shadow:
      0 16px 34px rgba(8, 43, 69, 0.12),
      0 24px 68px rgba(0, 119, 182, 0.12) !important;
  }

  .single-tour .tourmaster-tour-booking-bar-inner::before {
    content: "Quick secure booking";
    display: block;
    margin: 0 20px;
    padding: 17px 0 11px;
    border-bottom: 1px solid var(--mtc-border);
    color: var(--mtc-heading);
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .single-tour .tourmaster-header-price {
    padding: 20px 22px !important;
  }

  .single-tour .tourmaster-header-price-ribbon {
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    padding: 7px 12px !important;
    border-radius: var(--mtc-pill);
    background: rgba(255, 255, 255, 0.18) !important;
    color: var(--mtc-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tourmaster-mobile-booknow-bar {
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding:
      10px
      max(14px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid var(--mtc-border) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 26px rgba(8, 43, 69, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price-wrap {
    min-width: 88px;
    flex: 0 0 auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    line-height: 1 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-head {
    margin: 0 !important;
    color: var(--mtc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tail {
    color: var(--mtc-blue) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: min(170px, 54vw) !important;
    min-height: 52px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #006fa8, var(--mtc-blue-dark)) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 182, 0.24) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-shadow: 0 1px 1px rgba(8, 43, 69, 0.16);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 119, 182, 0.18);
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button > * {
    pointer-events: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button:visited,
  .tourmaster-mobile-booknow-bar .tourmaster-button:hover,
  .tourmaster-mobile-booknow-bar .tourmaster-button:focus-visible {
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #005f92, #004f76) !important;
  }

  #tourmaster-single-tour-booking-fields {
    padding: 18px 20px 10px !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .tourmaster-tour-booking-date,
  .tourmaster-tour-booking-people {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .tourmaster-tour-booking-date > i,
  .tourmaster-tour-booking-people > i {
    display: none !important;
  }

  .tourmaster-tour-booking-date-input,
  .tourmaster-datepicker-wrap,
  .tourmaster-tour-booking-people-input {
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-date input,
  .tourmaster-tour-booking-people select {
    width: 100% !important;
    min-height: 54px;
    font-size: 16px !important;
  }

  .tourmaster-tour-booking-available {
    margin: -4px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 143, 93, 0.16);
    border-radius: var(--mtc-radius-sm);
    color: var(--mtc-success) !important;
    background: rgba(0, 143, 93, 0.07);
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  .tourmaster-tour-booking-submit {
    margin: 4px 0 10px !important;
  }

  .tourmaster-tour-booking-submit-error {
    margin-top: 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  #ui-datepicker-div,
  .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-datepicker-wrap,
  .single-tour
    .tourmaster-tour-booking-bar-wrap
    .tourmaster-datepicker-wrap
    .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap {
    z-index: 999999 !important;
  }

  /* Booking card final mobile-safe layer: internal fixes only. */
  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-wrap *,
  .single-tour .tourmaster-tour-booking-bar-outer,
  .single-tour .tourmaster-tour-booking-bar-outer * {
    box-sizing: border-box;
  }

  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-outer {
    max-width: 100% !important;
    transform: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    overflow: visible !important;
    border: 1px solid rgba(8, 43, 69, 0.12) !important;
    background: var(--mtc-white) !important;
  }

  .single-tour .tourmaster-header-price {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--mtc-white) !important;
  }

  .single-tour
    .tourmaster-header-price
    :is(
      .tourmaster-head,
      .tourmaster-tail,
      .tourmaster-tour-price,
      .tourmaster-tour-price-wrap,
      .tourmaster-price,
      .tourmaster-price-discount,
      i
    ) {
    color: var(--mtc-white) !important;
  }

  .single-tour #tourmaster-single-tour-booking-fields {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 18px 18px 14px !important;
    overflow: visible !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      .tourmaster-tour-booking-date,
      .tourmaster-tour-booking-people,
      .tourmaster-tour-booking-package,
      .tourmaster-tour-booking-service,
      .tourmaster-tour-booking-field,
      .tourmaster-tour-booking-field-wrap,
      .tourmaster-tour-booking-field-input
    ) {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .single-tour .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .single-tour
    .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ) {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mtc-border-strong) !important;
    border-radius: 16px !important;
    color: var(--mtc-heading) !important;
    background-color: var(--mtc-white) !important;
    box-shadow: none !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ):focus {
    border-color: var(--mtc-blue) !important;
    outline: 0;
    box-shadow: var(--mtc-focus) !important;
  }

  .single-tour .tourmaster-tour-booking-submit-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"],
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: var(--mtc-pill) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #0077b6, #004f76) !important;
    box-shadow: 0 15px 30px rgba(0, 119, 182, 0.26) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
  }

  /* Final mobile size fix: the in-form Proceed Booking button was too large. */
  .single-tour .tourmaster-tour-booking-submit,
  .single-tour .tourmaster-tour-booking-submit-input {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"].tourmaster-button,
  .single-tour .tourmaster-tour-booking-submit .tourmaster-button {
    width: min(100%, 218px) !important;
    max-width: 218px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-datepicker-wrap, .tourmaster-combobox-wrap) {
    position: relative;
    z-index: 60 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-combobox-list, .tourmaster-combobox-list-wrap) {
    z-index: 999999 !important;
    max-height: min(320px, 55vh);
    overflow-y: auto;
  }

  /* Preserve JS hero behavior; only improve image focal point. */
  .gdlr-core-pbf-wrapper:is(
      .gdlr-core-wrapper-full-height,
      .gdlr-core-js,
      .gdlr-core-hide-in-mobile
    )
    .gdlr-core-pbf-background {
    background-position: center center !important;
  }

  .tourmaster-single-header-title {
    max-width: 12ch !important;
    font-size: clamp(2.15rem, 10.5vw, 3.3rem) !important;
    line-height: 1.03 !important;
  }

  .gdlr-core-title-item-title {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
  }

  .gdlr-core-text-box-item-content h2,
  .tourmaster-single-tour-content h2 {
    margin-top: 28px !important;
    font-size: clamp(1.75rem, 7vw, 2.05rem) !important;
  }

  .gdlr-core-text-box-item-content h3,
  .tourmaster-single-tour-content h3 {
    margin-top: 24px !important;
    font-size: clamp(1.4rem, 5.8vw, 1.65rem) !important;
  }

  /* The six headline tour facts become a compact two-column grid. */
  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    > li {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    .gdlr-core-icon-list-content {
    font-size: 15px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-thumbnail,
  .tourmaster-tour-modern .tourmaster-tour-thumbnail {
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-item-holder
    > .gdlr-core-item-list[class*="tourmaster-column-"] {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tourmaster-tour-grid,
  .tourmaster-tour-modern,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    ) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid-inner, .tourmaster-tour-modern-inner, .tourmaster-tour-frame-inner) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-thumbnail {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 20px !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid, .tourmaster-tour-modern, .tourmaster-tour-frame)
    .tourmaster-tour-title {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    height: auto !important;
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    padding: 24px !important;
  }

  /*
     Medium framed Tourmaster cards use a desktop two-column grid.
     On phones that can collapse the text column to almost zero width,
     especially when the theme adds 30px content padding. This stronger
     mobile stack intentionally wins over the desktop card rules.
  */
  body .tourmaster-tour-medium.tourmaster-tour-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    table-layout: auto !important;
    overflow: visible !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(235px, 68vw, 320px) !important;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 24px !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    :is(.tourmaster-tour-title, .tourmaster-tour-title a, .tourmaster-tour-price-wrap) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame .tourmaster-tour-content-wrap {
    position: relative !important;
    overflow: visible !important;
    text-align: center;
  }

  .tourmaster-tour-grid
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-modern
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-frame
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    margin: -40px auto 16px !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    border-radius: var(--mtc-pill) !important;
    box-shadow:
      0 10px 22px rgba(8, 43, 69, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 10.8px !important;
    font-weight: 820 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.035em;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    transform: none !important;
  }

  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-cornor,
  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-corner {
    display: none !important;
  }

  /* The booking card becomes normal document flow on mobile. */
  .tourmaster-tour-booking-bar-outer {
    position: relative;
    top: auto;
    z-index: 2;
    margin-top: 28px;
    border-radius: 22px !important;
    box-shadow: var(--mtc-shadow) !important;
  }

  .tourmaster-header-price {
    border-radius: 22px 22px 0 0;
    padding: 24px !important;
  }

  .tourmaster-tour-booking-bar-inner {
    border-radius: 0 0 22px 22px;
  }

  .tourmaster-tour-booking-submit input[type="submit"],
  .tourmaster-tour-booking-bar-wrap input[type="submit"],
  .tourmaster-tour-booking-bar-wrap .tourmaster-button,
  .tourmaster-payment-submit,
  .woocommerce #payment #place_order {
    width: 100%;
    min-height: 52px;
  }

  .tourmaster-single-tour-tab-title-wrap {
    display: flex;
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    gap: 4px;
    overflow-x: auto;
    padding-inline: var(--mtc-gutter);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tourmaster-single-tour-tab-title {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .tourmaster-tour-itinerary-item {
    padding-block: 19px !important;
  }

  .tourmaster-tour-faq-question {
    min-height: 54px;
    padding-block: 16px !important;
  }

  .mtc-card,
  .mtc-premium-card,
  .mtc-feature-card {
    padding: 21px;
    border-radius: 21px;
  }

  .mtc-soft-section {
    margin-inline: calc(var(--mtc-gutter) * -0.25);
    padding: 30px var(--mtc-gutter);
    border-radius: 22px;
  }

  .mtc-review-strip {
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    padding-inline: var(--mtc-gutter);
  }

  .mtc-review-pill {
    min-width: min(78vw, 270px);
  }


  .woocommerce-checkout #payment {
    border-radius: 18px !important;
  }

  .traveltour-footer-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: var(--mtc-gutter) !important;
    text-align: center !important;
  }

  .traveltour-footer-column {
    width: 100% !important;
    max-width: 360px;
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .traveltour-footer-wrapper
    :is(.traveltour-widget, .widget, .wp-block-image, figure, p, figcaption, ul, ol, .menu) {
    max-width: 320px;
    text-align: center !important;
  }

  .traveltour-footer-wrapper :is(a, p, li, figcaption, span, input, textarea, select, button) {
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
  }

  .traveltour-footer-wrapper
    :is(h1, h2, h3, h4, .widget-title, .traveltour-widget-title, .wp-block-heading) {
    color: #ffffff !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-signup {
    display: none !important;
  }

  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-widget-inner {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-thumbnail,
  .tourmaster-tour-widget .tourmaster-tour-thumbnail a,
  .tourmaster-tour-widget img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

/* iPhone safe-area support for booking and payment actions. */
@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .tourmaster-tour-booking-bar-outer,
    .woocommerce-checkout #payment {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}


/* ==========================================================
   FINAL LOCK: MOBILE CORE WEB VITALS LAYOUT GUARD
   Lightweight containment for mobile overflow without changing
   Eesti fonts, tour-card styling, images, or booking design.
========================================================== */

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

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

  html body .traveltour-body-wrapper,
  html body .traveltour-page-wrapper,
  html body #tourmaster-page-wrapper,
  html body .tourmaster-template-wrapper,
  html body .tourmaster-single-tour-content-wrap,
  html body .gdlr-core-page-builder-body,
  html body .gdlr-core-pbf-wrapper,
  html body .gdlr-core-pbf-wrapper-container,
  html body .gdlr-core-pbf-sidebar-container,
  html body .gdlr-core-container,
  html body .gdlr-core-pbf-column,
  html body .gdlr-core-pbf-column-content,
  html body #gdlr-core-sidebar-wrapper-1 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html body img,
  html body picture,
  html body video,
  html body iframe {
    max-width: 100% !important;
  }

  html body .tourmaster-tour-item-holder,
  html body .tourmaster-tour-item-holder > [class*="tourmaster-column-"],
  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-modern-inner,
  html body .tourmaster-tour-content-wrap,
  html body .tourmaster-tour-info-wrap,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern-inner {
    overflow: hidden !important;
  }

  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    white-space: normal !important;
  }

  html body.single-tour .gdlr-core-icon-list-item,
  html body.single-tour .gdlr-core-icon-list-item ul,
  html body.single-tour .gdlr-core-icon-list-item li,
  html body.single-tour .gdlr-core-icon-list-content {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.single-tour .gdlr-core-icon-list-icon-wrap,
  html body.single-tour .gdlr-core-icon-list-icon {
    overflow: visible !important;
    flex: 0 0 auto !important;
  }`r`n
  html body #CDSWIDFRR,
  html body .widFRR,
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* ==========================================================
   FINAL LOCK: ICON FONT RECOVERY - MOBILE/TABLET
   Restore icon families after Eesti text styling.
========================================================== */

@media (max-width: 1024px) {
  html body i.fa,
  html body .fa,
  html body .fa::before,
  html body [class^="fa-"],
  html body [class*=" fa-"],
  html body [class^="fa-"]::before,
  html body [class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6s,
  html body .fa6s,
  html body .fa6s::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6b,
  html body .fa6b,
  html body .fa6b::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .far,
  html body .far::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-weight: 900 !important;
  }

  html body .far,
  html body .far::before {
    font-weight: 400 !important;
  }

  html body .fab,
  html body .fab::before {
    font-family: "Font Awesome 5 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="gdl-travel-"],
  html body i[class*=" gdl-travel-"],
  html body [class^="gdl-travel-"],
  html body [class*=" gdl-travel-"],
  html body [class^="gdl-travel-"]::before,
  html body [class*=" gdl-travel-"]::before {
    font-family: "gdl-travel" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="icon_"],
  html body i[class*=" icon_"],
  html body [class^="icon_"],
  html body [class*=" icon_"],
  html body [class^="icon_"]::before,
  html body [class*=" icon_"]::before {
    font-family: "ElegantIcons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* ==========================================================
   FINAL LOCK: AIRPORT TRANSFER DIRECTION BUTTONS
   Desktop + mobile pressed-state fix.
   Scope: airport transfer page only.
========================================================== */

html body.page-id-8739 .mtc-airport-direction{
  display:none !important;
}

html body.page-id-8739 #mtc-airport-switch{
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto 22px !important;
  padding:8px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:18px !important;
  background:#f5faff !important;
  box-shadow:0 14px 34px rgba(8,43,69,.08) !important;
  box-sizing:border-box !important;
}

html body.page-id-8739 #mtc-airport-switch button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#082b45 !important;
  box-shadow:0 6px 16px rgba(8,43,69,.06),inset 0 1px 0 rgba(255,255,255,.90) !important;
  font-family:"GT Eesti Pro Display","Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body.page-id-8739 #mtc-airport-switch button:hover{
  border-color:rgba(0,119,182,.24) !important;
  background:#fbfdff !important;
  color:#006da5 !important;
  box-shadow:0 10px 22px rgba(8,43,69,.10),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
  border-color:#0077b6 !important;
  background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(0,119,182,.28),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active:hover,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"]:hover,
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"]:hover,
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]:hover{
  border-color:#00557f !important;
  background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
  color:#ffffff !important;
  box-shadow:0 17px 32px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
}

html body.page-id-8739 #mtc-airport-switch button:focus,
html body.page-id-8739 #mtc-airport-switch button:focus-visible{
  outline:3px solid rgba(0,166,214,.28) !important;
  outline-offset:2px !important;
}

@media only screen and (max-width:767px){
  html body.page-id-8739 #mtc-airport-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 18px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#f5faff 0%,#eef8ff 100%) !important;
    box-shadow:0 10px 24px rgba(8,43,69,.10) !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:58px !important;
    padding:14px 16px !important;
    border-radius:15px !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  html body.page-id-8739 #mtc-airport-switch button.active,
  html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
  html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
  html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#0077b6 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform:none !important;
  }
}

@media only screen and (max-width:380px){
  html body.page-id-8739 #mtc-airport-switch{
    gap:7px !important;
    padding:7px !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:56px !important;
    padding:12px 10px !important;
    font-size:15px !important;
  }
}
/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}

/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}
/* Messonghi Travel Center - premium Eesti footer v2 */

.traveltour-footer-wrapper,
.traveltour-footer-wrapper *,
.traveltour-footer-container,
.traveltour-footer-container *,
.traveltour-copyright-wrapper,
.traveltour-copyright-wrapper *{
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  box-sizing:border-box !important;
}

.traveltour-footer-wrapper{
  position:relative !important;
  overflow:hidden !important;
  padding:64px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(900px circle at 12% 0%,rgba(0,166,214,.24),transparent 42%),
    radial-gradient(720px circle at 92% 12%,rgba(216,168,78,.18),transparent 46%),
    linear-gradient(135deg,#061722 0%,#082b45 38%,#06364d 70%,#05131f 100%) !important;
  color:#dceaf1 !important;
}

.traveltour-footer-wrapper::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#0077b6 0%,#00a6d6 54%,#d8a84e 100%) !important;
  pointer-events:none !important;
}

.traveltour-footer-container{
  display:grid !important;
  grid-template-columns:1.15fr .95fr .95fr 1.15fr !important;
  gap:18px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px 48px !important;
  text-align:center !important;
}

.traveltour-footer-column{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px 20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08) !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .traveltour-widget,
.traveltour-footer-wrapper .widget,
.traveltour-footer-wrapper .widget_block,
.traveltour-footer-wrapper .wp-block-group,
.traveltour-footer-wrapper .wp-block-image,
.traveltour-footer-wrapper .wp-block-gallery,
.traveltour-footer-wrapper figure,
.traveltour-footer-wrapper p,
.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol,
.traveltour-footer-wrapper .menu{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .widget{
  margin-bottom:18px !important;
}

.traveltour-footer-wrapper .widget:last-child{
  margin-bottom:0 !important;
}

.traveltour-footer-wrapper h1,
.traveltour-footer-wrapper h2,
.traveltour-footer-wrapper h3,
.traveltour-footer-wrapper h4,
.traveltour-footer-wrapper h5,
.traveltour-footer-wrapper h6,
.traveltour-footer-wrapper .widget-title,
.traveltour-footer-wrapper .traveltour-widget-title,
.traveltour-footer-wrapper .wp-block-heading{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:"GT Eesti Pro Display","GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
}

.traveltour-footer-wrapper .traveltour-widget-title .traveltour-widget-head-text{
  color:inherit !important;
  font-family:inherit !important;
}

.traveltour-footer-wrapper .traveltour-widget-title::after,
.traveltour-footer-wrapper .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#00a6d6 !important;
}

.traveltour-footer-wrapper p,
.traveltour-footer-wrapper li,
.traveltour-footer-wrapper figcaption,
.traveltour-footer-wrapper span,
.traveltour-footer-wrapper small{
  color:#dceaf1 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.56 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol{
  padding:0 !important;
  list-style:none !important;
}

.traveltour-footer-wrapper li{
  margin:0 0 10px !important;
}

.traveltour-footer-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-weight:650 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}

.traveltour-footer-wrapper a:hover,
.traveltour-footer-wrapper a:focus{
  color:#8bdfff !important;
  border-color:rgba(139,223,255,.65) !important;
}

.traveltour-footer-wrapper img{
  display:inline-block !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}

.traveltour-footer-wrapper .wp-block-image img,
.traveltour-footer-wrapper .widget_media_image img{
  border-radius:8px !important;
}

.traveltour-footer-wrapper iframe{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:180px !important;
  margin:14px auto 0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}

.traveltour-footer-wrapper .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
}

.traveltour-footer-wrapper .menu a:hover,
.traveltour-footer-wrapper .menu a:focus{
  background:rgba(0,166,214,.18) !important;
  border-color:rgba(139,223,255,.35) !important;
}

.traveltour-footer-wrapper p:has(a[href*="facebook.com"]),
.traveltour-footer-wrapper p:has(a[href*="instagram.com"]),
.traveltour-footer-wrapper p:has(a[href*="youtube.com"]){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"],
.traveltour-footer-wrapper a[href*="instagram.com"],
.traveltour-footer-wrapper a[href*="youtube.com"]{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.14) !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"]:hover,
.traveltour-footer-wrapper a[href*="instagram.com"]:hover,
.traveltour-footer-wrapper a[href*="youtube.com"]:hover{
  background:#0077b6 !important;
  border-color:#0077b6 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"] i,
.traveltour-footer-wrapper a[href*="instagram.com"] i,
.traveltour-footer-wrapper a[href*="youtube.com"] i{
  margin:0 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper .gdlr-core-space-shortcode{
  display:none !important;
  margin:0 !important;
}

.traveltour-copyright-wrapper{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(90deg,rgba(4,20,32,.96),rgba(7,42,62,.96),rgba(4,20,32,.96)) !important;
  color:#c9dce7 !important;
}

.traveltour-copyright-container{
  display:flex !important;
  width:100% !important;
  max-width:1180px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px 22px !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  text-align:center !important;
}

.traveltour-copyright-left,
.traveltour-copyright-right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#c9dce7 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.traveltour-copyright-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  text-decoration:none !important;
}

.traveltour-copyright-wrapper a:hover,
.traveltour-copyright-wrapper a:focus{
  color:#8bdfff !important;
}

@media only screen and (max-width:1024px){
  .traveltour-footer-wrapper{
    padding-top:52px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:860px !important;
    gap:18px !important;
    padding:0 22px 40px !important;
  }

  .traveltour-footer-column{
    padding:24px 18px !important;
  }
}

@media only screen and (max-width:767px){
  .traveltour-footer-wrapper{
    padding-top:42px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:15px !important;
    padding:0 18px 32px !important;
  }

  .traveltour-footer-column{
    width:100% !important;
    max-width:100% !important;
    padding:22px 18px !important;
    border-radius:10px !important;
  }

  .traveltour-footer-wrapper h1,
  .traveltour-footer-wrapper h2,
  .traveltour-footer-wrapper h3,
  .traveltour-footer-wrapper h4,
  .traveltour-footer-wrapper h5,
  .traveltour-footer-wrapper h6,
  .traveltour-footer-wrapper .widget-title,
  .traveltour-footer-wrapper .traveltour-widget-title,
  .traveltour-footer-wrapper .wp-block-heading{
    font-size:17px !important;
  }

  .traveltour-footer-wrapper p,
  .traveltour-footer-wrapper li,
  .traveltour-footer-wrapper figcaption,
  .traveltour-footer-wrapper span,
  .traveltour-footer-wrapper small{
    font-size:14px !important;
  }

  .traveltour-footer-wrapper iframe{
    max-width:100% !important;
    height:190px !important;
  }

  .traveltour-copyright-container{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:18px !important;
  }

  .traveltour-copyright-left,
  .traveltour-copyright-right{
    width:100% !important;
  }
}

/* ==========================================================
   MESSONGHI TRAVEL CENTER
   MOBILE / TABLET CSS ONLY

   Load this file AFTER messonghi-main-desktop.css or
   messonghi-tour-pages-complete.css.

   Contains only responsive/touch overrides:
   - Touch hover safety
   - Tablet layout
   - Mobile header/navigation
   - Mobile booking experience
   - Small phone refinements
   - iPhone safe-area support
========================================================== */

/* ==========================================================
   TOUCH DEVICE HOVER SAFETY
========================================================== */

@media (hover: none), (pointer: coarse) {
  .tourmaster-tour-grid:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-frame:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-modern:hover .tourmaster-tour-thumbnail img {
    transform: none;
  }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  :root {
    --mtc-gutter: clamp(18px, 3.2vw, 26px);
    --mtc-header-offset: 78px;
    --mtc-blue-soft: #eaf7fd;
    --mtc-border-strong: #cfdee8;
    --mtc-success: #008f5d;
    --mtc-radius-sm: 12px;
    --mtc-focus: 0 0 0 4px rgba(0, 119, 182, 0.16);
  }

  .tourmaster-tour-booking-bar-outer {
    top: calc(var(--mtc-header-offset) + 14px);
    border-radius: 24px !important;
  }

  .mtc-soft-section {
    padding: clamp(32px, 5vw, 44px) var(--mtc-gutter);
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {
  :root {
    --mtc-gutter: clamp(16px, 5vw, 22px);
    --mtc-header-offset: 68px;
    --mtc-control-height: 48px;
    --mtc-section-space: 48px;
  }

  body {
    font-size: 16px;
  }

  body.single-tour {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .traveltour-footer-back-to-top-button,
  .traveltour-footer-back-to-top-button.traveltour-scrolled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ========================================================
     MOBILE HEADER
  ======================================================== */

  .traveltour-mobile-header {
    padding-block: 10px !important;
    border-bottom: 1px solid var(--mtc-border);
    box-shadow: 0 6px 22px rgba(8, 43, 69, 0.07);
  }

  .traveltour-mobile-header-container {
    min-height: 52px;
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo {
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo img {
    width: auto !important;
    max-width: min(38vw, 145px) !important;
    max-height: 46px;
    object-fit: contain;
  }

  .traveltour-mobile-menu-right {
    min-height: 44px;
  }

  .traveltour-mobile-menu-right .tourmaster-user-top-bar {
    font-size: 13px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .traveltour-mobile-menu {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .traveltour-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
    border-radius: 12px;
    background: var(--mtc-blue-soft);
  }

  /* ========================================================
     MOBILE NAVIGATION DRAWER
  ======================================================== */

  #traveltour-mobile-menu.traveltour-mm-menu-wrap {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: #101820 !important;
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.30);
  }

  #traveltour-mobile-menu .mm-panels,
  #traveltour-mobile-menu .mm-panel {
    width: 100% !important;
    background: #101820 !important;
  }

  #traveltour-mobile-menu .mm-panel {
    padding: 0 20px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  #traveltour-mobile-menu .mm-panel.mm-hasnavbar {
    padding: 40px 20px 0 !important;
  }

  #traveltour-mobile-menu .mm-navbar {
    height: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #traveltour-mobile-menu .mm-navbar .mm-title {
    padding-inline: 40px !important;
    color: var(--mtc-white) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #traveltour-mobile-menu
    :is(.mm-navbar .mm-prev, .mm-navbar .mm-next, .mmenu-custom-close) {
    width: 40px !important;
    min-width: 0 !important;
    height: 40px !important;
  }

  #traveltour-mobile-menu .mm-listview > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    min-height: 52px;
    padding-block: 14px !important;
    padding-right: 44px !important;
    color: rgba(255, 255, 255, 0.90) !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    text-transform: none !important;
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)):hover {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.14) !important;
  }

  #traveltour-mobile-menu .mm-listview > li > .mm-next {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li.current-menu-item
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.18) !important;
  }

  .traveltour-top-bar {
    min-height: 38px;
  }

  .traveltour-top-bar-container {
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
  }

  .traveltour-custom-wpml-flag {
    gap: 6px;
  }

  .traveltour-custom-wpml-flag-item {
    width: 26px;
    height: 25px;
  }

  /* ========================================================
     MOBILE BOOKING EXPERIENCE
  ======================================================== */

  @supports selector(:has(*)) {
    .single-tour
      .gdlr-core-pbf-sidebar-wrapper
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      ) {
      display: flex !important;
      width: 100% !important;
      flex-direction: column;
      gap: 26px;
      padding-inline: 12px !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-right,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      > .gdlr-core-sidebar-item {
      display: contents !important;
    }

    /* Booking form: protected top position, never grouped with Latest Tours. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .tourmaster-tour-booking-bar-custom,
        .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-booking-bar-wrap),
        .tourmaster-tour-booking-bar-wrap
      ) {
      order: 1 !important;
      width: 100% !important;
      margin: 0 0 24px !important;
    }

    /* Main tour body follows the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-content {
      order: 2 !important;
      float: none !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 4px 0 52px !important;
    }

    /*
       Extra sidebar trust widgets, e.g. "Book With Confidence", are separate
       from both the booking form and Latest Tours. Keep them after the main
       tour body, but before the final Latest Tours section.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:not(:has(.tourmaster-tour-booking-bar-wrap)):not(:has(.tourmaster-tour-widget)) {
      order: 3 !important;
      width: 100% !important;
      margin: 0 0 34px !important;
      clear: both !important;
    }

    /* Latest Tours wrapper only: must contain tour cards, not the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-widget):not(:has(.tourmaster-tour-booking-bar-wrap)) {
      order: 99 !important;
      width: 100% !important;
      margin: 18px 0 42px !important;
      clear: both !important;
    }

    /*
       Latest Tours belongs at the end on phones. Keep this separate from
       booking: these selectors target tour-card widgets only, not the booking
       form wrapper.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .widget_tourmaster-tour-widget,
        .widget_tourmaster_recent_tour,
        .widget_tourmaster-recent-tour-widget,
        .tourmaster-tour-widget:not(:has(.tourmaster-tour-booking-bar-wrap))
      ) {
      order: 99 !important;
      align-self: stretch;
      width: 100% !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget
      .tourmaster-tour-booking-bar-wrap,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-custom
      .tourmaster-tour-booking-bar-wrap {
      order: initial !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      .gdlr-core-pbf-sidebar-content-inner {
      width: 100% !important;
    }
  }

  .tourmaster-urgency-message {
    display: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-custom,
  .single-tour .tourmaster-tour-booking-bar-wrap {
    width: 100% !important;
    margin-inline: auto !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    position: relative !important;
    top: auto !important;
    z-index: 30;
    margin: 8px auto 24px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    box-shadow:
      0 16px 34px rgba(8, 43, 69, 0.12),
      0 24px 68px rgba(0, 119, 182, 0.12) !important;
  }

  .single-tour .tourmaster-tour-booking-bar-inner::before {
    content: "Quick secure booking";
    display: block;
    margin: 0 20px;
    padding: 17px 0 11px;
    border-bottom: 1px solid var(--mtc-border);
    color: var(--mtc-heading);
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .single-tour .tourmaster-header-price {
    padding: 20px 22px !important;
  }

  .single-tour .tourmaster-header-price-ribbon {
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    padding: 7px 12px !important;
    border-radius: var(--mtc-pill);
    background: rgba(255, 255, 255, 0.18) !important;
    color: var(--mtc-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tourmaster-mobile-booknow-bar {
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding:
      10px
      max(14px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid var(--mtc-border) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 26px rgba(8, 43, 69, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price-wrap {
    min-width: 88px;
    flex: 0 0 auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    line-height: 1 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-head {
    margin: 0 !important;
    color: var(--mtc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tail {
    color: var(--mtc-blue) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: min(170px, 54vw) !important;
    min-height: 52px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #006fa8, var(--mtc-blue-dark)) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 182, 0.24) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-shadow: 0 1px 1px rgba(8, 43, 69, 0.16);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 119, 182, 0.18);
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button > * {
    pointer-events: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button:visited,
  .tourmaster-mobile-booknow-bar .tourmaster-button:hover,
  .tourmaster-mobile-booknow-bar .tourmaster-button:focus-visible {
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #005f92, #004f76) !important;
  }

  #tourmaster-single-tour-booking-fields {
    padding: 18px 20px 10px !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .tourmaster-tour-booking-date,
  .tourmaster-tour-booking-people {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .tourmaster-tour-booking-date > i,
  .tourmaster-tour-booking-people > i {
    display: none !important;
  }

  .tourmaster-tour-booking-date-input,
  .tourmaster-datepicker-wrap,
  .tourmaster-tour-booking-people-input {
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-date input,
  .tourmaster-tour-booking-people select {
    width: 100% !important;
    min-height: 54px;
    font-size: 16px !important;
  }

  .tourmaster-tour-booking-available {
    margin: -4px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 143, 93, 0.16);
    border-radius: var(--mtc-radius-sm);
    color: var(--mtc-success) !important;
    background: rgba(0, 143, 93, 0.07);
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  .tourmaster-tour-booking-submit {
    margin: 4px 0 10px !important;
  }

  .tourmaster-tour-booking-submit-error {
    margin-top: 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  #ui-datepicker-div,
  .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-datepicker-wrap,
  .single-tour
    .tourmaster-tour-booking-bar-wrap
    .tourmaster-datepicker-wrap
    .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap {
    z-index: 999999 !important;
  }

  /* Booking card final mobile-safe layer: internal fixes only. */
  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-wrap *,
  .single-tour .tourmaster-tour-booking-bar-outer,
  .single-tour .tourmaster-tour-booking-bar-outer * {
    box-sizing: border-box;
  }

  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-outer {
    max-width: 100% !important;
    transform: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    overflow: visible !important;
    border: 1px solid rgba(8, 43, 69, 0.12) !important;
    background: var(--mtc-white) !important;
  }

  .single-tour .tourmaster-header-price {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--mtc-white) !important;
  }

  .single-tour
    .tourmaster-header-price
    :is(
      .tourmaster-head,
      .tourmaster-tail,
      .tourmaster-tour-price,
      .tourmaster-tour-price-wrap,
      .tourmaster-price,
      .tourmaster-price-discount,
      i
    ) {
    color: var(--mtc-white) !important;
  }

  .single-tour #tourmaster-single-tour-booking-fields {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 18px 18px 14px !important;
    overflow: visible !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      .tourmaster-tour-booking-date,
      .tourmaster-tour-booking-people,
      .tourmaster-tour-booking-package,
      .tourmaster-tour-booking-service,
      .tourmaster-tour-booking-field,
      .tourmaster-tour-booking-field-wrap,
      .tourmaster-tour-booking-field-input
    ) {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .single-tour .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .single-tour
    .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ) {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mtc-border-strong) !important;
    border-radius: 16px !important;
    color: var(--mtc-heading) !important;
    background-color: var(--mtc-white) !important;
    box-shadow: none !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ):focus {
    border-color: var(--mtc-blue) !important;
    outline: 0;
    box-shadow: var(--mtc-focus) !important;
  }

  .single-tour .tourmaster-tour-booking-submit-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"],
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: var(--mtc-pill) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #0077b6, #004f76) !important;
    box-shadow: 0 15px 30px rgba(0, 119, 182, 0.26) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
  }

  /* Final mobile size fix: the in-form Proceed Booking button was too large. */
  .single-tour .tourmaster-tour-booking-submit,
  .single-tour .tourmaster-tour-booking-submit-input {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"].tourmaster-button,
  .single-tour .tourmaster-tour-booking-submit .tourmaster-button {
    width: min(100%, 218px) !important;
    max-width: 218px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-datepicker-wrap, .tourmaster-combobox-wrap) {
    position: relative;
    z-index: 60 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-combobox-list, .tourmaster-combobox-list-wrap) {
    z-index: 999999 !important;
    max-height: min(320px, 55vh);
    overflow-y: auto;
  }

  /* Preserve JS hero behavior; only improve image focal point. */
  .gdlr-core-pbf-wrapper:is(
      .gdlr-core-wrapper-full-height,
      .gdlr-core-js,
      .gdlr-core-hide-in-mobile
    )
    .gdlr-core-pbf-background {
    background-position: center center !important;
  }

  .tourmaster-single-header-title {
    max-width: 12ch !important;
    font-size: clamp(2.15rem, 10.5vw, 3.3rem) !important;
    line-height: 1.03 !important;
  }

  .gdlr-core-title-item-title {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
  }

  .gdlr-core-text-box-item-content h2,
  .tourmaster-single-tour-content h2 {
    margin-top: 28px !important;
    font-size: clamp(1.75rem, 7vw, 2.05rem) !important;
  }

  .gdlr-core-text-box-item-content h3,
  .tourmaster-single-tour-content h3 {
    margin-top: 24px !important;
    font-size: clamp(1.4rem, 5.8vw, 1.65rem) !important;
  }

  /* The six headline tour facts become a compact two-column grid. */
  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    > li {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    .gdlr-core-icon-list-content {
    font-size: 15px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-thumbnail,
  .tourmaster-tour-modern .tourmaster-tour-thumbnail {
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-item-holder
    > .gdlr-core-item-list[class*="tourmaster-column-"] {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tourmaster-tour-grid,
  .tourmaster-tour-modern,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    ) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid-inner, .tourmaster-tour-modern-inner, .tourmaster-tour-frame-inner) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-thumbnail {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 20px !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid, .tourmaster-tour-modern, .tourmaster-tour-frame)
    .tourmaster-tour-title {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    height: auto !important;
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    padding: 24px !important;
  }

  /*
     Medium framed Tourmaster cards use a desktop two-column grid.
     On phones that can collapse the text column to almost zero width,
     especially when the theme adds 30px content padding. This stronger
     mobile stack intentionally wins over the desktop card rules.
  */
  body .tourmaster-tour-medium.tourmaster-tour-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    table-layout: auto !important;
    overflow: visible !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(235px, 68vw, 320px) !important;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 24px !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    :is(.tourmaster-tour-title, .tourmaster-tour-title a, .tourmaster-tour-price-wrap) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame .tourmaster-tour-content-wrap {
    position: relative !important;
    overflow: visible !important;
    text-align: center;
  }

  .tourmaster-tour-grid
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-modern
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-frame
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    margin: -40px auto 16px !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    border-radius: var(--mtc-pill) !important;
    box-shadow:
      0 10px 22px rgba(8, 43, 69, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 10.8px !important;
    font-weight: 820 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.035em;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    transform: none !important;
  }

  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-cornor,
  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-corner {
    display: none !important;
  }

  /* The booking card becomes normal document flow on mobile. */
  .tourmaster-tour-booking-bar-outer {
    position: relative;
    top: auto;
    z-index: 2;
    margin-top: 28px;
    border-radius: 22px !important;
    box-shadow: var(--mtc-shadow) !important;
  }

  .tourmaster-header-price {
    border-radius: 22px 22px 0 0;
    padding: 24px !important;
  }

  .tourmaster-tour-booking-bar-inner {
    border-radius: 0 0 22px 22px;
  }

  .tourmaster-tour-booking-submit input[type="submit"],
  .tourmaster-tour-booking-bar-wrap input[type="submit"],
  .tourmaster-tour-booking-bar-wrap .tourmaster-button,
  .tourmaster-payment-submit,
  .woocommerce #payment #place_order {
    width: 100%;
    min-height: 52px;
  }

  .tourmaster-single-tour-tab-title-wrap {
    display: flex;
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    gap: 4px;
    overflow-x: auto;
    padding-inline: var(--mtc-gutter);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tourmaster-single-tour-tab-title {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .tourmaster-tour-itinerary-item {
    padding-block: 19px !important;
  }

  .tourmaster-tour-faq-question {
    min-height: 54px;
    padding-block: 16px !important;
  }

  .mtc-card,
  .mtc-premium-card,
  .mtc-feature-card {
    padding: 21px;
    border-radius: 21px;
  }

  .mtc-soft-section {
    margin-inline: calc(var(--mtc-gutter) * -0.25);
    padding: 30px var(--mtc-gutter);
    border-radius: 22px;
  }

  .mtc-review-strip {
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    padding-inline: var(--mtc-gutter);
  }

  .mtc-review-pill {
    min-width: min(78vw, 270px);
  }

  .woocommerce-checkout #payment {
    border-radius: 18px !important;
  }

  .traveltour-footer-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: var(--mtc-gutter) !important;
    text-align: center !important;
  }

  .traveltour-footer-column {
    width: 100% !important;
    max-width: 360px;
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .traveltour-footer-wrapper
    :is(.traveltour-widget, .widget, .wp-block-image, figure, p, figcaption, ul, ol, .menu) {
    max-width: 320px;
    text-align: center !important;
  }

  .traveltour-footer-wrapper :is(a, p, li, figcaption, span, input, textarea, select, button) {
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
  }

  .traveltour-footer-wrapper
    :is(h1, h2, h3, h4, .widget-title, .traveltour-widget-title, .wp-block-heading) {
    color: #ffffff !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-signup {
    display: none !important;
  }

  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-widget-inner {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-thumbnail,
  .tourmaster-tour-widget .tourmaster-tour-thumbnail a,
  .tourmaster-tour-widget img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

/* iPhone safe-area support for booking and payment actions. */
@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .tourmaster-tour-booking-bar-outer,
    .woocommerce-checkout #payment {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}


/* ==========================================================
   FINAL LOCK: MOBILE CORE WEB VITALS LAYOUT GUARD
   Lightweight containment for mobile overflow without changing
   Eesti fonts, tour-card styling, images, or booking design.
========================================================== */

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

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

  html body .traveltour-body-wrapper,
  html body .traveltour-page-wrapper,
  html body #tourmaster-page-wrapper,
  html body .tourmaster-template-wrapper,
  html body .tourmaster-single-tour-content-wrap,
  html body .gdlr-core-page-builder-body,
  html body .gdlr-core-pbf-wrapper,
  html body .gdlr-core-pbf-wrapper-container,
  html body .gdlr-core-pbf-sidebar-container,
  html body .gdlr-core-container,
  html body .gdlr-core-pbf-column,
  html body .gdlr-core-pbf-column-content,
  html body #gdlr-core-sidebar-wrapper-1 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html body img,
  html body picture,
  html body video,
  html body iframe {
    max-width: 100% !important;
  }

  html body .tourmaster-tour-item-holder,
  html body .tourmaster-tour-item-holder > [class*="tourmaster-column-"],
  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-modern-inner,
  html body .tourmaster-tour-content-wrap,
  html body .tourmaster-tour-info-wrap,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern-inner {
    overflow: hidden !important;
  }

  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    white-space: normal !important;
  }

  html body.single-tour .gdlr-core-icon-list-item,
  html body.single-tour .gdlr-core-icon-list-item ul,
  html body.single-tour .gdlr-core-icon-list-item li,
  html body.single-tour .gdlr-core-icon-list-content {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.single-tour .gdlr-core-icon-list-icon-wrap,
  html body.single-tour .gdlr-core-icon-list-icon {
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  html body #CDSWIDFRR,
  html body .widFRR {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* ==========================================================
   FINAL LOCK: ICON FONT RECOVERY - MOBILE/TABLET
   Restore icon families after Eesti text styling.
========================================================== */

@media (max-width: 1024px) {
  html body i.fa,
  html body .fa,
  html body .fa::before,
  html body [class^="fa-"],
  html body [class*=" fa-"],
  html body [class^="fa-"]::before,
  html body [class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6s,
  html body .fa6s,
  html body .fa6s::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6b,
  html body .fa6b,
  html body .fa6b::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .far,
  html body .far::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-weight: 900 !important;
  }

  html body .far,
  html body .far::before {
    font-weight: 400 !important;
  }

  html body .fab,
  html body .fab::before {
    font-family: "Font Awesome 5 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="gdl-travel-"],
  html body i[class*=" gdl-travel-"],
  html body [class^="gdl-travel-"],
  html body [class*=" gdl-travel-"],
  html body [class^="gdl-travel-"]::before,
  html body [class*=" gdl-travel-"]::before {
    font-family: "gdl-travel" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="icon_"],
  html body i[class*=" icon_"],
  html body [class^="icon_"],
  html body [class*=" icon_"],
  html body [class^="icon_"]::before,
  html body [class*=" icon_"]::before {
    font-family: "ElegantIcons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* ==========================================================
   FINAL LOCK: AIRPORT TRANSFER DIRECTION BUTTONS
   Desktop + mobile pressed-state fix.
   Scope: airport transfer page only.
========================================================== */

html body.page-id-8739 .mtc-airport-direction{
  display:none !important;
}

html body.page-id-8739 #mtc-airport-switch{
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto 22px !important;
  padding:8px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:18px !important;
  background:#f5faff !important;
  box-shadow:0 14px 34px rgba(8,43,69,.08) !important;
  box-sizing:border-box !important;
}

html body.page-id-8739 #mtc-airport-switch button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#082b45 !important;
  box-shadow:0 6px 16px rgba(8,43,69,.06),inset 0 1px 0 rgba(255,255,255,.90) !important;
  font-family:"GT Eesti Pro Display","Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body.page-id-8739 #mtc-airport-switch button:hover{
  border-color:rgba(0,119,182,.24) !important;
  background:#fbfdff !important;
  color:#006da5 !important;
  box-shadow:0 10px 22px rgba(8,43,69,.10),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
  border-color:#0077b6 !important;
  background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(0,119,182,.28),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active:hover,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"]:hover,
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"]:hover,
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]:hover{
  border-color:#00557f !important;
  background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
  color:#ffffff !important;
  box-shadow:0 17px 32px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
}

html body.page-id-8739 #mtc-airport-switch button:focus,
html body.page-id-8739 #mtc-airport-switch button:focus-visible{
  outline:3px solid rgba(0,166,214,.28) !important;
  outline-offset:2px !important;
}

@media only screen and (max-width:767px){
  html body.page-id-8739 #mtc-airport-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 18px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#f5faff 0%,#eef8ff 100%) !important;
    box-shadow:0 10px 24px rgba(8,43,69,.10) !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:58px !important;
    padding:14px 16px !important;
    border-radius:15px !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  html body.page-id-8739 #mtc-airport-switch button.active,
  html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
  html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
  html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#0077b6 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform:none !important;
  }
}

@media only screen and (max-width:380px){
  html body.page-id-8739 #mtc-airport-switch{
    gap:7px !important;
    padding:7px !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:56px !important;
    padding:12px 10px !important;
    font-size:15px !important;
  }
}
/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}

/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}
/* Messonghi Travel Center - premium Eesti footer v2 */

.traveltour-footer-wrapper,
.traveltour-footer-wrapper *,
.traveltour-footer-container,
.traveltour-footer-container *,
.traveltour-copyright-wrapper,
.traveltour-copyright-wrapper *{
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  box-sizing:border-box !important;
}

.traveltour-footer-wrapper{
  position:relative !important;
  overflow:hidden !important;
  padding:64px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(900px circle at 12% 0%,rgba(0,166,214,.24),transparent 42%),
    radial-gradient(720px circle at 92% 12%,rgba(216,168,78,.18),transparent 46%),
    linear-gradient(135deg,#061722 0%,#082b45 38%,#06364d 70%,#05131f 100%) !important;
  color:#dceaf1 !important;
}

.traveltour-footer-wrapper::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#0077b6 0%,#00a6d6 54%,#d8a84e 100%) !important;
  pointer-events:none !important;
}

.traveltour-footer-container{
  display:grid !important;
  grid-template-columns:1.15fr .95fr .95fr 1.15fr !important;
  gap:18px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px 48px !important;
  text-align:center !important;
}

.traveltour-footer-column{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px 20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08) !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .traveltour-widget,
.traveltour-footer-wrapper .widget,
.traveltour-footer-wrapper .widget_block,
.traveltour-footer-wrapper .wp-block-group,
.traveltour-footer-wrapper .wp-block-image,
.traveltour-footer-wrapper .wp-block-gallery,
.traveltour-footer-wrapper figure,
.traveltour-footer-wrapper p,
.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol,
.traveltour-footer-wrapper .menu{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .widget{
  margin-bottom:18px !important;
}

.traveltour-footer-wrapper .widget:last-child{
  margin-bottom:0 !important;
}

.traveltour-footer-wrapper h1,
.traveltour-footer-wrapper h2,
.traveltour-footer-wrapper h3,
.traveltour-footer-wrapper h4,
.traveltour-footer-wrapper h5,
.traveltour-footer-wrapper h6,
.traveltour-footer-wrapper .widget-title,
.traveltour-footer-wrapper .traveltour-widget-title,
.traveltour-footer-wrapper .wp-block-heading{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:"GT Eesti Pro Display","GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
}

.traveltour-footer-wrapper .traveltour-widget-title .traveltour-widget-head-text{
  color:inherit !important;
  font-family:inherit !important;
}

.traveltour-footer-wrapper .traveltour-widget-title::after,
.traveltour-footer-wrapper .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#00a6d6 !important;
}

.traveltour-footer-wrapper p,
.traveltour-footer-wrapper li,
.traveltour-footer-wrapper figcaption,
.traveltour-footer-wrapper span,
.traveltour-footer-wrapper small{
  color:#dceaf1 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.56 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol{
  padding:0 !important;
  list-style:none !important;
}

.traveltour-footer-wrapper li{
  margin:0 0 10px !important;
}

.traveltour-footer-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-weight:650 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}

.traveltour-footer-wrapper a:hover,
.traveltour-footer-wrapper a:focus{
  color:#8bdfff !important;
  border-color:rgba(139,223,255,.65) !important;
}

.traveltour-footer-wrapper img{
  display:inline-block !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}

.traveltour-footer-wrapper .wp-block-image img,
.traveltour-footer-wrapper .widget_media_image img{
  border-radius:8px !important;
}

.traveltour-footer-wrapper iframe{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:180px !important;
  margin:14px auto 0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}

.traveltour-footer-wrapper .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
}

.traveltour-footer-wrapper .menu a:hover,
.traveltour-footer-wrapper .menu a:focus{
  background:rgba(0,166,214,.18) !important;
  border-color:rgba(139,223,255,.35) !important;
}

.traveltour-footer-wrapper p:has(a[href*="facebook.com"]),
.traveltour-footer-wrapper p:has(a[href*="instagram.com"]),
.traveltour-footer-wrapper p:has(a[href*="youtube.com"]){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"],
.traveltour-footer-wrapper a[href*="instagram.com"],
.traveltour-footer-wrapper a[href*="youtube.com"]{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.14) !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"]:hover,
.traveltour-footer-wrapper a[href*="instagram.com"]:hover,
.traveltour-footer-wrapper a[href*="youtube.com"]:hover{
  background:#0077b6 !important;
  border-color:#0077b6 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"] i,
.traveltour-footer-wrapper a[href*="instagram.com"] i,
.traveltour-footer-wrapper a[href*="youtube.com"] i{
  margin:0 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper .gdlr-core-space-shortcode{
  display:none !important;
  margin:0 !important;
}

.traveltour-copyright-wrapper{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(90deg,rgba(4,20,32,.96),rgba(7,42,62,.96),rgba(4,20,32,.96)) !important;
  color:#c9dce7 !important;
}

.traveltour-copyright-container{
  display:flex !important;
  width:100% !important;
  max-width:1180px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px 22px !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  text-align:center !important;
}

.traveltour-copyright-left,
.traveltour-copyright-right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#c9dce7 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.traveltour-copyright-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  text-decoration:none !important;
}

.traveltour-copyright-wrapper a:hover,
.traveltour-copyright-wrapper a:focus{
  color:#8bdfff !important;
}

@media only screen and (max-width:1024px){
  .traveltour-footer-wrapper{
    padding-top:52px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:860px !important;
    gap:18px !important;
    padding:0 22px 40px !important;
  }

  .traveltour-footer-column{
    padding:24px 18px !important;
  }
}

@media only screen and (max-width:767px){
  .traveltour-footer-wrapper{
    padding-top:42px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:15px !important;
    padding:0 18px 32px !important;
  }

  .traveltour-footer-column{
    width:100% !important;
    max-width:100% !important;
    padding:22px 18px !important;
    border-radius:10px !important;
  }

  .traveltour-footer-wrapper h1,
  .traveltour-footer-wrapper h2,
  .traveltour-footer-wrapper h3,
  .traveltour-footer-wrapper h4,
  .traveltour-footer-wrapper h5,
  .traveltour-footer-wrapper h6,
  .traveltour-footer-wrapper .widget-title,
  .traveltour-footer-wrapper .traveltour-widget-title,
  .traveltour-footer-wrapper .wp-block-heading{
    font-size:17px !important;
  }

  .traveltour-footer-wrapper p,
  .traveltour-footer-wrapper li,
  .traveltour-footer-wrapper figcaption,
  .traveltour-footer-wrapper span,
  .traveltour-footer-wrapper small{
    font-size:14px !important;
  }

  .traveltour-footer-wrapper iframe{
    max-width:100% !important;
    height:190px !important;
  }

  .traveltour-copyright-container{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:18px !important;
  }

  .traveltour-copyright-left,
  .traveltour-copyright-right{
    width:100% !important;
  }
}

/* ==========================================================
   MESSONGHI TRAVEL CENTER
   MOBILE / TABLET CSS ONLY

   Load this file AFTER messonghi-main-desktop.css or
   messonghi-tour-pages-complete.css.

   Contains only responsive/touch overrides:
   - Touch hover safety
   - Tablet layout
   - Mobile header/navigation
   - Mobile booking experience
   - Small phone refinements
   - iPhone safe-area support
========================================================== */

/* ==========================================================
   TOUCH DEVICE HOVER SAFETY
========================================================== */

@media (hover: none), (pointer: coarse) {
  .tourmaster-tour-grid:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-frame:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-modern:hover .tourmaster-tour-thumbnail img {
    transform: none;
  }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  :root {
    --mtc-gutter: clamp(18px, 3.2vw, 26px);
    --mtc-header-offset: 78px;
    --mtc-blue-soft: #eaf7fd;
    --mtc-border-strong: #cfdee8;
    --mtc-success: #008f5d;
    --mtc-radius-sm: 12px;
    --mtc-focus: 0 0 0 4px rgba(0, 119, 182, 0.16);
  }

  .tourmaster-tour-booking-bar-outer {
    top: calc(var(--mtc-header-offset) + 14px);
    border-radius: 24px !important;
  }

  .mtc-soft-section {
    padding: clamp(32px, 5vw, 44px) var(--mtc-gutter);
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {
  :root {
    --mtc-gutter: clamp(16px, 5vw, 22px);
    --mtc-header-offset: 68px;
    --mtc-control-height: 48px;
    --mtc-section-space: 48px;
  }

  body {
    font-size: 16px;
  }

  body.single-tour {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .traveltour-footer-back-to-top-button,
  .traveltour-footer-back-to-top-button.traveltour-scrolled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ========================================================
     MOBILE HEADER
  ======================================================== */

  .traveltour-mobile-header {
    padding-block: 10px !important;
    border-bottom: 1px solid var(--mtc-border);
    box-shadow: 0 6px 22px rgba(8, 43, 69, 0.07);
  }

  .traveltour-mobile-header-container {
    min-height: 52px;
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo {
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo img {
    width: auto !important;
    max-width: min(38vw, 145px) !important;
    max-height: 46px;
    object-fit: contain;
  }

  .traveltour-mobile-menu-right {
    min-height: 44px;
  }

  .traveltour-mobile-menu-right .tourmaster-user-top-bar {
    font-size: 13px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .traveltour-mobile-menu {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .traveltour-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
    border-radius: 12px;
    background: var(--mtc-blue-soft);
  }

  /* ========================================================
     MOBILE NAVIGATION DRAWER
  ======================================================== */

  #traveltour-mobile-menu.traveltour-mm-menu-wrap {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: #101820 !important;
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.30);
  }

  #traveltour-mobile-menu .mm-panels,
  #traveltour-mobile-menu .mm-panel {
    width: 100% !important;
    background: #101820 !important;
  }

  #traveltour-mobile-menu .mm-panel {
    padding: 0 20px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  #traveltour-mobile-menu .mm-panel.mm-hasnavbar {
    padding: 40px 20px 0 !important;
  }

  #traveltour-mobile-menu .mm-navbar {
    height: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #traveltour-mobile-menu .mm-navbar .mm-title {
    padding-inline: 40px !important;
    color: var(--mtc-white) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #traveltour-mobile-menu
    :is(.mm-navbar .mm-prev, .mm-navbar .mm-next, .mmenu-custom-close) {
    width: 40px !important;
    min-width: 0 !important;
    height: 40px !important;
  }

  #traveltour-mobile-menu .mm-listview > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    min-height: 52px;
    padding-block: 14px !important;
    padding-right: 44px !important;
    color: rgba(255, 255, 255, 0.90) !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    text-transform: none !important;
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)):hover {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.14) !important;
  }

  #traveltour-mobile-menu .mm-listview > li > .mm-next {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li.current-menu-item
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.18) !important;
  }

  .traveltour-top-bar {
    min-height: 38px;
  }

  .traveltour-top-bar-container {
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
  }

  .traveltour-custom-wpml-flag {
    gap: 6px;
  }

  .traveltour-custom-wpml-flag-item {
    width: 26px;
    height: 25px;
  }

  /* ========================================================
     MOBILE BOOKING EXPERIENCE
  ======================================================== */

  @supports selector(:has(*)) {
    .single-tour
      .gdlr-core-pbf-sidebar-wrapper
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      ) {
      display: flex !important;
      width: 100% !important;
      flex-direction: column;
      gap: 26px;
      padding-inline: 12px !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-right,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      > .gdlr-core-sidebar-item {
      display: contents !important;
    }

    /* Booking form: protected top position, never grouped with Latest Tours. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .tourmaster-tour-booking-bar-custom,
        .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-booking-bar-wrap),
        .tourmaster-tour-booking-bar-wrap
      ) {
      order: 1 !important;
      width: 100% !important;
      margin: 0 0 24px !important;
    }

    /* Main tour body follows the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-content {
      order: 2 !important;
      float: none !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 4px 0 52px !important;
    }

    /*
       Extra sidebar trust widgets, e.g. "Book With Confidence", are separate
       from both the booking form and Latest Tours. Keep them after the main
       tour body, but before the final Latest Tours section.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:not(:has(.tourmaster-tour-booking-bar-wrap)):not(:has(.tourmaster-tour-widget)) {
      order: 3 !important;
      width: 100% !important;
      margin: 0 0 34px !important;
      clear: both !important;
    }

    /* Latest Tours wrapper only: must contain tour cards, not the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-widget):not(:has(.tourmaster-tour-booking-bar-wrap)) {
      order: 99 !important;
      width: 100% !important;
      margin: 18px 0 42px !important;
      clear: both !important;
    }

    /*
       Latest Tours belongs at the end on phones. Keep this separate from
       booking: these selectors target tour-card widgets only, not the booking
       form wrapper.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .widget_tourmaster-tour-widget,
        .widget_tourmaster_recent_tour,
        .widget_tourmaster-recent-tour-widget,
        .tourmaster-tour-widget:not(:has(.tourmaster-tour-booking-bar-wrap))
      ) {
      order: 99 !important;
      align-self: stretch;
      width: 100% !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget
      .tourmaster-tour-booking-bar-wrap,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-custom
      .tourmaster-tour-booking-bar-wrap {
      order: initial !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      .gdlr-core-pbf-sidebar-content-inner {
      width: 100% !important;
    }
  }

  .tourmaster-urgency-message {
    display: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-custom,
  .single-tour .tourmaster-tour-booking-bar-wrap {
    width: 100% !important;
    margin-inline: auto !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    position: relative !important;
    top: auto !important;
    z-index: 30;
    margin: 8px auto 24px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    box-shadow:
      0 16px 34px rgba(8, 43, 69, 0.12),
      0 24px 68px rgba(0, 119, 182, 0.12) !important;
  }

  .single-tour .tourmaster-tour-booking-bar-inner::before {
    content: "Quick secure booking";
    display: block;
    margin: 0 20px;
    padding: 17px 0 11px;
    border-bottom: 1px solid var(--mtc-border);
    color: var(--mtc-heading);
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .single-tour .tourmaster-header-price {
    padding: 20px 22px !important;
  }

  .single-tour .tourmaster-header-price-ribbon {
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    padding: 7px 12px !important;
    border-radius: var(--mtc-pill);
    background: rgba(255, 255, 255, 0.18) !important;
    color: var(--mtc-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tourmaster-mobile-booknow-bar {
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding:
      10px
      max(14px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid var(--mtc-border) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 26px rgba(8, 43, 69, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price-wrap {
    min-width: 88px;
    flex: 0 0 auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    line-height: 1 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-head {
    margin: 0 !important;
    color: var(--mtc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tail {
    color: var(--mtc-blue) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: min(170px, 54vw) !important;
    min-height: 52px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #006fa8, var(--mtc-blue-dark)) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 182, 0.24) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-shadow: 0 1px 1px rgba(8, 43, 69, 0.16);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 119, 182, 0.18);
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button > * {
    pointer-events: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button:visited,
  .tourmaster-mobile-booknow-bar .tourmaster-button:hover,
  .tourmaster-mobile-booknow-bar .tourmaster-button:focus-visible {
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #005f92, #004f76) !important;
  }

  #tourmaster-single-tour-booking-fields {
    padding: 18px 20px 10px !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .tourmaster-tour-booking-date,
  .tourmaster-tour-booking-people {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .tourmaster-tour-booking-date > i,
  .tourmaster-tour-booking-people > i {
    display: none !important;
  }

  .tourmaster-tour-booking-date-input,
  .tourmaster-datepicker-wrap,
  .tourmaster-tour-booking-people-input {
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-date input,
  .tourmaster-tour-booking-people select {
    width: 100% !important;
    min-height: 54px;
    font-size: 16px !important;
  }

  .tourmaster-tour-booking-available {
    margin: -4px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 143, 93, 0.16);
    border-radius: var(--mtc-radius-sm);
    color: var(--mtc-success) !important;
    background: rgba(0, 143, 93, 0.07);
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  .tourmaster-tour-booking-submit {
    margin: 4px 0 10px !important;
  }

  .tourmaster-tour-booking-submit-error {
    margin-top: 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  #ui-datepicker-div,
  .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-datepicker-wrap,
  .single-tour
    .tourmaster-tour-booking-bar-wrap
    .tourmaster-datepicker-wrap
    .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap {
    z-index: 999999 !important;
  }

  /* Booking card final mobile-safe layer: internal fixes only. */
  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-wrap *,
  .single-tour .tourmaster-tour-booking-bar-outer,
  .single-tour .tourmaster-tour-booking-bar-outer * {
    box-sizing: border-box;
  }

  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-outer {
    max-width: 100% !important;
    transform: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    overflow: visible !important;
    border: 1px solid rgba(8, 43, 69, 0.12) !important;
    background: var(--mtc-white) !important;
  }

  .single-tour .tourmaster-header-price {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--mtc-white) !important;
  }

  .single-tour
    .tourmaster-header-price
    :is(
      .tourmaster-head,
      .tourmaster-tail,
      .tourmaster-tour-price,
      .tourmaster-tour-price-wrap,
      .tourmaster-price,
      .tourmaster-price-discount,
      i
    ) {
    color: var(--mtc-white) !important;
  }

  .single-tour #tourmaster-single-tour-booking-fields {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 18px 18px 14px !important;
    overflow: visible !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      .tourmaster-tour-booking-date,
      .tourmaster-tour-booking-people,
      .tourmaster-tour-booking-package,
      .tourmaster-tour-booking-service,
      .tourmaster-tour-booking-field,
      .tourmaster-tour-booking-field-wrap,
      .tourmaster-tour-booking-field-input
    ) {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .single-tour .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .single-tour
    .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ) {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mtc-border-strong) !important;
    border-radius: 16px !important;
    color: var(--mtc-heading) !important;
    background-color: var(--mtc-white) !important;
    box-shadow: none !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ):focus {
    border-color: var(--mtc-blue) !important;
    outline: 0;
    box-shadow: var(--mtc-focus) !important;
  }

  .single-tour .tourmaster-tour-booking-submit-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"],
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: var(--mtc-pill) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #0077b6, #004f76) !important;
    box-shadow: 0 15px 30px rgba(0, 119, 182, 0.26) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
  }

  /* Final mobile size fix: the in-form Proceed Booking button was too large. */
  .single-tour .tourmaster-tour-booking-submit,
  .single-tour .tourmaster-tour-booking-submit-input {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"].tourmaster-button,
  .single-tour .tourmaster-tour-booking-submit .tourmaster-button {
    width: min(100%, 218px) !important;
    max-width: 218px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-datepicker-wrap, .tourmaster-combobox-wrap) {
    position: relative;
    z-index: 60 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-combobox-list, .tourmaster-combobox-list-wrap) {
    z-index: 999999 !important;
    max-height: min(320px, 55vh);
    overflow-y: auto;
  }

  /* Preserve JS hero behavior; only improve image focal point. */
  .gdlr-core-pbf-wrapper:is(
      .gdlr-core-wrapper-full-height,
      .gdlr-core-js,
      .gdlr-core-hide-in-mobile
    )
    .gdlr-core-pbf-background {
    background-position: center center !important;
  }

  .tourmaster-single-header-title {
    max-width: 12ch !important;
    font-size: clamp(2.15rem, 10.5vw, 3.3rem) !important;
    line-height: 1.03 !important;
  }

  .gdlr-core-title-item-title {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
  }

  .gdlr-core-text-box-item-content h2,
  .tourmaster-single-tour-content h2 {
    margin-top: 28px !important;
    font-size: clamp(1.75rem, 7vw, 2.05rem) !important;
  }

  .gdlr-core-text-box-item-content h3,
  .tourmaster-single-tour-content h3 {
    margin-top: 24px !important;
    font-size: clamp(1.4rem, 5.8vw, 1.65rem) !important;
  }

  /* The six headline tour facts become a compact two-column grid. */
  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    > li {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    .gdlr-core-icon-list-content {
    font-size: 15px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-thumbnail,
  .tourmaster-tour-modern .tourmaster-tour-thumbnail {
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-item-holder
    > .gdlr-core-item-list[class*="tourmaster-column-"] {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tourmaster-tour-grid,
  .tourmaster-tour-modern,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    ) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid-inner, .tourmaster-tour-modern-inner, .tourmaster-tour-frame-inner) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-thumbnail {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 20px !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid, .tourmaster-tour-modern, .tourmaster-tour-frame)
    .tourmaster-tour-title {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    height: auto !important;
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    padding: 24px !important;
  }

  /*
     Medium framed Tourmaster cards use a desktop two-column grid.
     On phones that can collapse the text column to almost zero width,
     especially when the theme adds 30px content padding. This stronger
     mobile stack intentionally wins over the desktop card rules.
  */
  body .tourmaster-tour-medium.tourmaster-tour-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    table-layout: auto !important;
    overflow: visible !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(235px, 68vw, 320px) !important;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 24px !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    :is(.tourmaster-tour-title, .tourmaster-tour-title a, .tourmaster-tour-price-wrap) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame .tourmaster-tour-content-wrap {
    position: relative !important;
    overflow: visible !important;
    text-align: center;
  }

  .tourmaster-tour-grid
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-modern
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-frame
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    margin: -40px auto 16px !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    border-radius: var(--mtc-pill) !important;
    box-shadow:
      0 10px 22px rgba(8, 43, 69, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 10.8px !important;
    font-weight: 820 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.035em;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    transform: none !important;
  }

  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-cornor,
  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-corner {
    display: none !important;
  }

  /* The booking card becomes normal document flow on mobile. */
  .tourmaster-tour-booking-bar-outer {
    position: relative;
    top: auto;
    z-index: 2;
    margin-top: 28px;
    border-radius: 22px !important;
    box-shadow: var(--mtc-shadow) !important;
  }

  .tourmaster-header-price {
    border-radius: 22px 22px 0 0;
    padding: 24px !important;
  }

  .tourmaster-tour-booking-bar-inner {
    border-radius: 0 0 22px 22px;
  }

  .tourmaster-tour-booking-submit input[type="submit"],
  .tourmaster-tour-booking-bar-wrap input[type="submit"],
  .tourmaster-tour-booking-bar-wrap .tourmaster-button,
  .tourmaster-payment-submit,
  .woocommerce #payment #place_order {
    width: 100%;
    min-height: 52px;
  }

  .tourmaster-single-tour-tab-title-wrap {
    display: flex;
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    gap: 4px;
    overflow-x: auto;
    padding-inline: var(--mtc-gutter);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tourmaster-single-tour-tab-title {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .tourmaster-tour-itinerary-item {
    padding-block: 19px !important;
  }

  .tourmaster-tour-faq-question {
    min-height: 54px;
    padding-block: 16px !important;
  }

  .mtc-card,
  .mtc-premium-card,
  .mtc-feature-card {
    padding: 21px;
    border-radius: 21px;
  }

  .mtc-soft-section {
    margin-inline: calc(var(--mtc-gutter) * -0.25);
    padding: 30px var(--mtc-gutter);
    border-radius: 22px;
  }

  .mtc-review-strip {
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    padding-inline: var(--mtc-gutter);
  }

  .mtc-review-pill {
    min-width: min(78vw, 270px);
  }

  .woocommerce-checkout #payment {
    border-radius: 18px !important;
  }

  .traveltour-footer-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: var(--mtc-gutter) !important;
    text-align: center !important;
  }

  .traveltour-footer-column {
    width: 100% !important;
    max-width: 360px;
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .traveltour-footer-wrapper
    :is(.traveltour-widget, .widget, .wp-block-image, figure, p, figcaption, ul, ol, .menu) {
    max-width: 320px;
    text-align: center !important;
  }

  .traveltour-footer-wrapper :is(a, p, li, figcaption, span, input, textarea, select, button) {
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
  }

  .traveltour-footer-wrapper
    :is(h1, h2, h3, h4, .widget-title, .traveltour-widget-title, .wp-block-heading) {
    color: #ffffff !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-signup {
    display: none !important;
  }

  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-widget-inner {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-thumbnail,
  .tourmaster-tour-widget .tourmaster-tour-thumbnail a,
  .tourmaster-tour-widget img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

/* iPhone safe-area support for booking and payment actions. */
@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .tourmaster-tour-booking-bar-outer,
    .woocommerce-checkout #payment {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}


/* ==========================================================
   FINAL LOCK: MOBILE CORE WEB VITALS LAYOUT GUARD
   Lightweight containment for mobile overflow without changing
   Eesti fonts, tour-card styling, images, or booking design.
========================================================== */

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

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

  html body .traveltour-body-wrapper,
  html body .traveltour-page-wrapper,
  html body #tourmaster-page-wrapper,
  html body .tourmaster-template-wrapper,
  html body .tourmaster-single-tour-content-wrap,
  html body .gdlr-core-page-builder-body,
  html body .gdlr-core-pbf-wrapper,
  html body .gdlr-core-pbf-wrapper-container,
  html body .gdlr-core-pbf-sidebar-container,
  html body .gdlr-core-container,
  html body .gdlr-core-pbf-column,
  html body .gdlr-core-pbf-column-content,
  html body #gdlr-core-sidebar-wrapper-1 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html body img,
  html body picture,
  html body video,
  html body iframe {
    max-width: 100% !important;
  }

  html body .tourmaster-tour-item-holder,
  html body .tourmaster-tour-item-holder > [class*="tourmaster-column-"],
  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-modern-inner,
  html body .tourmaster-tour-content-wrap,
  html body .tourmaster-tour-info-wrap,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern-inner {
    overflow: hidden !important;
  }

  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    white-space: normal !important;
  }

  html body.single-tour .gdlr-core-icon-list-item,
  html body.single-tour .gdlr-core-icon-list-item ul,
  html body.single-tour .gdlr-core-icon-list-item li,
  html body.single-tour .gdlr-core-icon-list-content {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.single-tour .gdlr-core-icon-list-icon-wrap,
  html body.single-tour .gdlr-core-icon-list-icon {
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  html body #CDSWIDFRR,
  html body .widFRR {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* ==========================================================
   FINAL LOCK: ICON FONT RECOVERY - MOBILE/TABLET
   Restore icon families after Eesti text styling.
========================================================== */

@media (max-width: 1024px) {
  html body i.fa,
  html body .fa,
  html body .fa::before,
  html body [class^="fa-"],
  html body [class*=" fa-"],
  html body [class^="fa-"]::before,
  html body [class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6s,
  html body .fa6s,
  html body .fa6s::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6b,
  html body .fa6b,
  html body .fa6b::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .far,
  html body .far::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-weight: 900 !important;
  }

  html body .far,
  html body .far::before {
    font-weight: 400 !important;
  }

  html body .fab,
  html body .fab::before {
    font-family: "Font Awesome 5 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="gdl-travel-"],
  html body i[class*=" gdl-travel-"],
  html body [class^="gdl-travel-"],
  html body [class*=" gdl-travel-"],
  html body [class^="gdl-travel-"]::before,
  html body [class*=" gdl-travel-"]::before {
    font-family: "gdl-travel" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="icon_"],
  html body i[class*=" icon_"],
  html body [class^="icon_"],
  html body [class*=" icon_"],
  html body [class^="icon_"]::before,
  html body [class*=" icon_"]::before {
    font-family: "ElegantIcons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* ==========================================================
   FINAL LOCK: AIRPORT TRANSFER DIRECTION BUTTONS
   Desktop + mobile pressed-state fix.
   Scope: airport transfer page only.
========================================================== */

html body.page-id-8739 .mtc-airport-direction{
  display:none !important;
}

html body.page-id-8739 #mtc-airport-switch{
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto 22px !important;
  padding:8px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:18px !important;
  background:#f5faff !important;
  box-shadow:0 14px 34px rgba(8,43,69,.08) !important;
  box-sizing:border-box !important;
}

html body.page-id-8739 #mtc-airport-switch button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#082b45 !important;
  box-shadow:0 6px 16px rgba(8,43,69,.06),inset 0 1px 0 rgba(255,255,255,.90) !important;
  font-family:"GT Eesti Pro Display","Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body.page-id-8739 #mtc-airport-switch button:hover{
  border-color:rgba(0,119,182,.24) !important;
  background:#fbfdff !important;
  color:#006da5 !important;
  box-shadow:0 10px 22px rgba(8,43,69,.10),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
  border-color:#0077b6 !important;
  background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(0,119,182,.28),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active:hover,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"]:hover,
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"]:hover,
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]:hover{
  border-color:#00557f !important;
  background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
  color:#ffffff !important;
  box-shadow:0 17px 32px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
}

html body.page-id-8739 #mtc-airport-switch button:focus,
html body.page-id-8739 #mtc-airport-switch button:focus-visible{
  outline:3px solid rgba(0,166,214,.28) !important;
  outline-offset:2px !important;
}

@media only screen and (max-width:767px){
  html body.page-id-8739 #mtc-airport-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 18px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#f5faff 0%,#eef8ff 100%) !important;
    box-shadow:0 10px 24px rgba(8,43,69,.10) !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:58px !important;
    padding:14px 16px !important;
    border-radius:15px !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  html body.page-id-8739 #mtc-airport-switch button.active,
  html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
  html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
  html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#0077b6 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform:none !important;
  }
}

@media only screen and (max-width:380px){
  html body.page-id-8739 #mtc-airport-switch{
    gap:7px !important;
    padding:7px !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:56px !important;
    padding:12px 10px !important;
    font-size:15px !important;
  }
}
/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}

/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}
/* Messonghi Travel Center - premium Eesti footer v2 */

.traveltour-footer-wrapper,
.traveltour-footer-wrapper *,
.traveltour-footer-container,
.traveltour-footer-container *,
.traveltour-copyright-wrapper,
.traveltour-copyright-wrapper *{
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  box-sizing:border-box !important;
}

.traveltour-footer-wrapper{
  position:relative !important;
  overflow:hidden !important;
  padding:64px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(900px circle at 12% 0%,rgba(0,166,214,.24),transparent 42%),
    radial-gradient(720px circle at 92% 12%,rgba(216,168,78,.18),transparent 46%),
    linear-gradient(135deg,#061722 0%,#082b45 38%,#06364d 70%,#05131f 100%) !important;
  color:#dceaf1 !important;
}

.traveltour-footer-wrapper::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#0077b6 0%,#00a6d6 54%,#d8a84e 100%) !important;
  pointer-events:none !important;
}

.traveltour-footer-container{
  display:grid !important;
  grid-template-columns:1.15fr .95fr .95fr 1.15fr !important;
  gap:18px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px 48px !important;
  text-align:center !important;
}

.traveltour-footer-column{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px 20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08) !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .traveltour-widget,
.traveltour-footer-wrapper .widget,
.traveltour-footer-wrapper .widget_block,
.traveltour-footer-wrapper .wp-block-group,
.traveltour-footer-wrapper .wp-block-image,
.traveltour-footer-wrapper .wp-block-gallery,
.traveltour-footer-wrapper figure,
.traveltour-footer-wrapper p,
.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol,
.traveltour-footer-wrapper .menu{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .widget{
  margin-bottom:18px !important;
}

.traveltour-footer-wrapper .widget:last-child{
  margin-bottom:0 !important;
}

.traveltour-footer-wrapper h1,
.traveltour-footer-wrapper h2,
.traveltour-footer-wrapper h3,
.traveltour-footer-wrapper h4,
.traveltour-footer-wrapper h5,
.traveltour-footer-wrapper h6,
.traveltour-footer-wrapper .widget-title,
.traveltour-footer-wrapper .traveltour-widget-title,
.traveltour-footer-wrapper .wp-block-heading{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:"GT Eesti Pro Display","GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
}

.traveltour-footer-wrapper .traveltour-widget-title .traveltour-widget-head-text{
  color:inherit !important;
  font-family:inherit !important;
}

.traveltour-footer-wrapper .traveltour-widget-title::after,
.traveltour-footer-wrapper .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#00a6d6 !important;
}

.traveltour-footer-wrapper p,
.traveltour-footer-wrapper li,
.traveltour-footer-wrapper figcaption,
.traveltour-footer-wrapper span,
.traveltour-footer-wrapper small{
  color:#dceaf1 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.56 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol{
  padding:0 !important;
  list-style:none !important;
}

.traveltour-footer-wrapper li{
  margin:0 0 10px !important;
}

.traveltour-footer-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-weight:650 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}

.traveltour-footer-wrapper a:hover,
.traveltour-footer-wrapper a:focus{
  color:#8bdfff !important;
  border-color:rgba(139,223,255,.65) !important;
}

.traveltour-footer-wrapper img{
  display:inline-block !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}

.traveltour-footer-wrapper .wp-block-image img,
.traveltour-footer-wrapper .widget_media_image img{
  border-radius:8px !important;
}

.traveltour-footer-wrapper iframe{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:180px !important;
  margin:14px auto 0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}

.traveltour-footer-wrapper .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
}

.traveltour-footer-wrapper .menu a:hover,
.traveltour-footer-wrapper .menu a:focus{
  background:rgba(0,166,214,.18) !important;
  border-color:rgba(139,223,255,.35) !important;
}

.traveltour-footer-wrapper p:has(a[href*="facebook.com"]),
.traveltour-footer-wrapper p:has(a[href*="instagram.com"]),
.traveltour-footer-wrapper p:has(a[href*="youtube.com"]){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"],
.traveltour-footer-wrapper a[href*="instagram.com"],
.traveltour-footer-wrapper a[href*="youtube.com"]{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.14) !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"]:hover,
.traveltour-footer-wrapper a[href*="instagram.com"]:hover,
.traveltour-footer-wrapper a[href*="youtube.com"]:hover{
  background:#0077b6 !important;
  border-color:#0077b6 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"] i,
.traveltour-footer-wrapper a[href*="instagram.com"] i,
.traveltour-footer-wrapper a[href*="youtube.com"] i{
  margin:0 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper .gdlr-core-space-shortcode{
  display:none !important;
  margin:0 !important;
}

.traveltour-copyright-wrapper{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(90deg,rgba(4,20,32,.96),rgba(7,42,62,.96),rgba(4,20,32,.96)) !important;
  color:#c9dce7 !important;
}

.traveltour-copyright-container{
  display:flex !important;
  width:100% !important;
  max-width:1180px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px 22px !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  text-align:center !important;
}

.traveltour-copyright-left,
.traveltour-copyright-right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#c9dce7 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.traveltour-copyright-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  text-decoration:none !important;
}

.traveltour-copyright-wrapper a:hover,
.traveltour-copyright-wrapper a:focus{
  color:#8bdfff !important;
}

@media only screen and (max-width:1024px){
  .traveltour-footer-wrapper{
    padding-top:52px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:860px !important;
    gap:18px !important;
    padding:0 22px 40px !important;
  }

  .traveltour-footer-column{
    padding:24px 18px !important;
  }
}

@media only screen and (max-width:767px){
  .traveltour-footer-wrapper{
    padding-top:42px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:15px !important;
    padding:0 18px 32px !important;
  }

  .traveltour-footer-column{
    width:100% !important;
    max-width:100% !important;
    padding:22px 18px !important;
    border-radius:10px !important;
  }

  .traveltour-footer-wrapper h1,
  .traveltour-footer-wrapper h2,
  .traveltour-footer-wrapper h3,
  .traveltour-footer-wrapper h4,
  .traveltour-footer-wrapper h5,
  .traveltour-footer-wrapper h6,
  .traveltour-footer-wrapper .widget-title,
  .traveltour-footer-wrapper .traveltour-widget-title,
  .traveltour-footer-wrapper .wp-block-heading{
    font-size:17px !important;
  }

  .traveltour-footer-wrapper p,
  .traveltour-footer-wrapper li,
  .traveltour-footer-wrapper figcaption,
  .traveltour-footer-wrapper span,
  .traveltour-footer-wrapper small{
    font-size:14px !important;
  }

  .traveltour-footer-wrapper iframe{
    max-width:100% !important;
    height:190px !important;
  }

  .traveltour-copyright-container{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:18px !important;
  }

  .traveltour-copyright-left,
  .traveltour-copyright-right{
    width:100% !important;
  }
}

/* ==========================================================
   MESSONGHI TRAVEL CENTER
   MOBILE / TABLET CSS ONLY

   Load this file AFTER messonghi-main-desktop.css or
   messonghi-tour-pages-complete.css.

   Contains only responsive/touch overrides:
   - Touch hover safety
   - Tablet layout
   - Mobile header/navigation
   - Mobile booking experience
   - Small phone refinements
   - iPhone safe-area support
========================================================== */

/* ==========================================================
   TOUCH DEVICE HOVER SAFETY
========================================================== */

@media (hover: none), (pointer: coarse) {
  .tourmaster-tour-grid:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-frame:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-modern:hover .tourmaster-tour-thumbnail img {
    transform: none;
  }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  :root {
    --mtc-gutter: clamp(18px, 3.2vw, 26px);
    --mtc-header-offset: 78px;
    --mtc-blue-soft: #eaf7fd;
    --mtc-border-strong: #cfdee8;
    --mtc-success: #008f5d;
    --mtc-radius-sm: 12px;
    --mtc-focus: 0 0 0 4px rgba(0, 119, 182, 0.16);
  }

  .tourmaster-tour-booking-bar-outer {
    top: calc(var(--mtc-header-offset) + 14px);
    border-radius: 24px !important;
  }

  .mtc-soft-section {
    padding: clamp(32px, 5vw, 44px) var(--mtc-gutter);
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {
  :root {
    --mtc-gutter: clamp(16px, 5vw, 22px);
    --mtc-header-offset: 68px;
    --mtc-control-height: 48px;
    --mtc-section-space: 48px;
  }

  body {
    font-size: 16px;
  }

  body.single-tour {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .traveltour-footer-back-to-top-button,
  .traveltour-footer-back-to-top-button.traveltour-scrolled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ========================================================
     MOBILE HEADER
  ======================================================== */

  .traveltour-mobile-header {
    padding-block: 10px !important;
    border-bottom: 1px solid var(--mtc-border);
    box-shadow: 0 6px 22px rgba(8, 43, 69, 0.07);
  }

  .traveltour-mobile-header-container {
    min-height: 52px;
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo {
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo img {
    width: auto !important;
    max-width: min(38vw, 145px) !important;
    max-height: 46px;
    object-fit: contain;
  }

  .traveltour-mobile-menu-right {
    min-height: 44px;
  }

  .traveltour-mobile-menu-right .tourmaster-user-top-bar {
    font-size: 13px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .traveltour-mobile-menu {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .traveltour-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
    border-radius: 12px;
    background: var(--mtc-blue-soft);
  }

  /* ========================================================
     MOBILE NAVIGATION DRAWER
  ======================================================== */

  #traveltour-mobile-menu.traveltour-mm-menu-wrap {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: #101820 !important;
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.30);
  }

  #traveltour-mobile-menu .mm-panels,
  #traveltour-mobile-menu .mm-panel {
    width: 100% !important;
    background: #101820 !important;
  }

  #traveltour-mobile-menu .mm-panel {
    padding: 0 20px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  #traveltour-mobile-menu .mm-panel.mm-hasnavbar {
    padding: 40px 20px 0 !important;
  }

  #traveltour-mobile-menu .mm-navbar {
    height: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #traveltour-mobile-menu .mm-navbar .mm-title {
    padding-inline: 40px !important;
    color: var(--mtc-white) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #traveltour-mobile-menu
    :is(.mm-navbar .mm-prev, .mm-navbar .mm-next, .mmenu-custom-close) {
    width: 40px !important;
    min-width: 0 !important;
    height: 40px !important;
  }

  #traveltour-mobile-menu .mm-listview > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    min-height: 52px;
    padding-block: 14px !important;
    padding-right: 44px !important;
    color: rgba(255, 255, 255, 0.90) !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    text-transform: none !important;
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)):hover {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.14) !important;
  }

  #traveltour-mobile-menu .mm-listview > li > .mm-next {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li.current-menu-item
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.18) !important;
  }

  .traveltour-top-bar {
    min-height: 38px;
  }

  .traveltour-top-bar-container {
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
  }

  .traveltour-custom-wpml-flag {
    gap: 6px;
  }

  .traveltour-custom-wpml-flag-item {
    width: 26px;
    height: 25px;
  }

  /* ========================================================
     MOBILE BOOKING EXPERIENCE
  ======================================================== */

  @supports selector(:has(*)) {
    .single-tour
      .gdlr-core-pbf-sidebar-wrapper
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      ) {
      display: flex !important;
      width: 100% !important;
      flex-direction: column;
      gap: 26px;
      padding-inline: 12px !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-right,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      > .gdlr-core-sidebar-item {
      display: contents !important;
    }

    /* Booking form: protected top position, never grouped with Latest Tours. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .tourmaster-tour-booking-bar-custom,
        .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-booking-bar-wrap),
        .tourmaster-tour-booking-bar-wrap
      ) {
      order: 1 !important;
      width: 100% !important;
      margin: 0 0 24px !important;
    }

    /* Main tour body follows the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-content {
      order: 2 !important;
      float: none !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 4px 0 52px !important;
    }

    /*
       Extra sidebar trust widgets, e.g. "Book With Confidence", are separate
       from both the booking form and Latest Tours. Keep them after the main
       tour body, but before the final Latest Tours section.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:not(:has(.tourmaster-tour-booking-bar-wrap)):not(:has(.tourmaster-tour-widget)) {
      order: 3 !important;
      width: 100% !important;
      margin: 0 0 34px !important;
      clear: both !important;
    }

    /* Latest Tours wrapper only: must contain tour cards, not the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-widget):not(:has(.tourmaster-tour-booking-bar-wrap)) {
      order: 99 !important;
      width: 100% !important;
      margin: 18px 0 42px !important;
      clear: both !important;
    }

    /*
       Latest Tours belongs at the end on phones. Keep this separate from
       booking: these selectors target tour-card widgets only, not the booking
       form wrapper.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .widget_tourmaster-tour-widget,
        .widget_tourmaster_recent_tour,
        .widget_tourmaster-recent-tour-widget,
        .tourmaster-tour-widget:not(:has(.tourmaster-tour-booking-bar-wrap))
      ) {
      order: 99 !important;
      align-self: stretch;
      width: 100% !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget
      .tourmaster-tour-booking-bar-wrap,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-custom
      .tourmaster-tour-booking-bar-wrap {
      order: initial !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      .gdlr-core-pbf-sidebar-content-inner {
      width: 100% !important;
    }
  }

  .tourmaster-urgency-message {
    display: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-custom,
  .single-tour .tourmaster-tour-booking-bar-wrap {
    width: 100% !important;
    margin-inline: auto !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    position: relative !important;
    top: auto !important;
    z-index: 30;
    margin: 8px auto 24px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    box-shadow:
      0 16px 34px rgba(8, 43, 69, 0.12),
      0 24px 68px rgba(0, 119, 182, 0.12) !important;
  }

  .single-tour .tourmaster-tour-booking-bar-inner::before {
    content: "Quick secure booking";
    display: block;
    margin: 0 20px;
    padding: 17px 0 11px;
    border-bottom: 1px solid var(--mtc-border);
    color: var(--mtc-heading);
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .single-tour .tourmaster-header-price {
    padding: 20px 22px !important;
  }

  .single-tour .tourmaster-header-price-ribbon {
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    padding: 7px 12px !important;
    border-radius: var(--mtc-pill);
    background: rgba(255, 255, 255, 0.18) !important;
    color: var(--mtc-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tourmaster-mobile-booknow-bar {
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding:
      10px
      max(14px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid var(--mtc-border) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 26px rgba(8, 43, 69, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price-wrap {
    min-width: 88px;
    flex: 0 0 auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    line-height: 1 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-head {
    margin: 0 !important;
    color: var(--mtc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tail {
    color: var(--mtc-blue) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: min(170px, 54vw) !important;
    min-height: 52px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #006fa8, var(--mtc-blue-dark)) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 182, 0.24) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-shadow: 0 1px 1px rgba(8, 43, 69, 0.16);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 119, 182, 0.18);
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button > * {
    pointer-events: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button:visited,
  .tourmaster-mobile-booknow-bar .tourmaster-button:hover,
  .tourmaster-mobile-booknow-bar .tourmaster-button:focus-visible {
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #005f92, #004f76) !important;
  }

  #tourmaster-single-tour-booking-fields {
    padding: 18px 20px 10px !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .tourmaster-tour-booking-date,
  .tourmaster-tour-booking-people {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .tourmaster-tour-booking-date > i,
  .tourmaster-tour-booking-people > i {
    display: none !important;
  }

  .tourmaster-tour-booking-date-input,
  .tourmaster-datepicker-wrap,
  .tourmaster-tour-booking-people-input {
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-date input,
  .tourmaster-tour-booking-people select {
    width: 100% !important;
    min-height: 54px;
    font-size: 16px !important;
  }

  .tourmaster-tour-booking-available {
    margin: -4px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 143, 93, 0.16);
    border-radius: var(--mtc-radius-sm);
    color: var(--mtc-success) !important;
    background: rgba(0, 143, 93, 0.07);
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  .tourmaster-tour-booking-submit {
    margin: 4px 0 10px !important;
  }

  .tourmaster-tour-booking-submit-error {
    margin-top: 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  #ui-datepicker-div,
  .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-datepicker-wrap,
  .single-tour
    .tourmaster-tour-booking-bar-wrap
    .tourmaster-datepicker-wrap
    .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap {
    z-index: 999999 !important;
  }

  /* Booking card final mobile-safe layer: internal fixes only. */
  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-wrap *,
  .single-tour .tourmaster-tour-booking-bar-outer,
  .single-tour .tourmaster-tour-booking-bar-outer * {
    box-sizing: border-box;
  }

  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-outer {
    max-width: 100% !important;
    transform: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    overflow: visible !important;
    border: 1px solid rgba(8, 43, 69, 0.12) !important;
    background: var(--mtc-white) !important;
  }

  .single-tour .tourmaster-header-price {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--mtc-white) !important;
  }

  .single-tour
    .tourmaster-header-price
    :is(
      .tourmaster-head,
      .tourmaster-tail,
      .tourmaster-tour-price,
      .tourmaster-tour-price-wrap,
      .tourmaster-price,
      .tourmaster-price-discount,
      i
    ) {
    color: var(--mtc-white) !important;
  }

  .single-tour #tourmaster-single-tour-booking-fields {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 18px 18px 14px !important;
    overflow: visible !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      .tourmaster-tour-booking-date,
      .tourmaster-tour-booking-people,
      .tourmaster-tour-booking-package,
      .tourmaster-tour-booking-service,
      .tourmaster-tour-booking-field,
      .tourmaster-tour-booking-field-wrap,
      .tourmaster-tour-booking-field-input
    ) {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .single-tour .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .single-tour
    .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ) {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mtc-border-strong) !important;
    border-radius: 16px !important;
    color: var(--mtc-heading) !important;
    background-color: var(--mtc-white) !important;
    box-shadow: none !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ):focus {
    border-color: var(--mtc-blue) !important;
    outline: 0;
    box-shadow: var(--mtc-focus) !important;
  }

  .single-tour .tourmaster-tour-booking-submit-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"],
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: var(--mtc-pill) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #0077b6, #004f76) !important;
    box-shadow: 0 15px 30px rgba(0, 119, 182, 0.26) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
  }

  /* Final mobile size fix: the in-form Proceed Booking button was too large. */
  .single-tour .tourmaster-tour-booking-submit,
  .single-tour .tourmaster-tour-booking-submit-input {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"].tourmaster-button,
  .single-tour .tourmaster-tour-booking-submit .tourmaster-button {
    width: min(100%, 218px) !important;
    max-width: 218px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-datepicker-wrap, .tourmaster-combobox-wrap) {
    position: relative;
    z-index: 60 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-combobox-list, .tourmaster-combobox-list-wrap) {
    z-index: 999999 !important;
    max-height: min(320px, 55vh);
    overflow-y: auto;
  }

  /* Preserve JS hero behavior; only improve image focal point. */
  .gdlr-core-pbf-wrapper:is(
      .gdlr-core-wrapper-full-height,
      .gdlr-core-js,
      .gdlr-core-hide-in-mobile
    )
    .gdlr-core-pbf-background {
    background-position: center center !important;
  }

  .tourmaster-single-header-title {
    max-width: 12ch !important;
    font-size: clamp(2.15rem, 10.5vw, 3.3rem) !important;
    line-height: 1.03 !important;
  }

  .gdlr-core-title-item-title {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
  }

  .gdlr-core-text-box-item-content h2,
  .tourmaster-single-tour-content h2 {
    margin-top: 28px !important;
    font-size: clamp(1.75rem, 7vw, 2.05rem) !important;
  }

  .gdlr-core-text-box-item-content h3,
  .tourmaster-single-tour-content h3 {
    margin-top: 24px !important;
    font-size: clamp(1.4rem, 5.8vw, 1.65rem) !important;
  }

  /* The six headline tour facts become a compact two-column grid. */
  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    > li {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    .gdlr-core-icon-list-content {
    font-size: 15px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-thumbnail,
  .tourmaster-tour-modern .tourmaster-tour-thumbnail {
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-item-holder
    > .gdlr-core-item-list[class*="tourmaster-column-"] {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tourmaster-tour-grid,
  .tourmaster-tour-modern,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    ) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid-inner, .tourmaster-tour-modern-inner, .tourmaster-tour-frame-inner) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-thumbnail {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 20px !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid, .tourmaster-tour-modern, .tourmaster-tour-frame)
    .tourmaster-tour-title {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    height: auto !important;
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    padding: 24px !important;
  }

  /*
     Medium framed Tourmaster cards use a desktop two-column grid.
     On phones that can collapse the text column to almost zero width,
     especially when the theme adds 30px content padding. This stronger
     mobile stack intentionally wins over the desktop card rules.
  */
  body .tourmaster-tour-medium.tourmaster-tour-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    table-layout: auto !important;
    overflow: visible !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(235px, 68vw, 320px) !important;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 24px !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    :is(.tourmaster-tour-title, .tourmaster-tour-title a, .tourmaster-tour-price-wrap) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame .tourmaster-tour-content-wrap {
    position: relative !important;
    overflow: visible !important;
    text-align: center;
  }

  .tourmaster-tour-grid
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-modern
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-frame
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    margin: -40px auto 16px !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    border-radius: var(--mtc-pill) !important;
    box-shadow:
      0 10px 22px rgba(8, 43, 69, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 10.8px !important;
    font-weight: 820 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.035em;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    transform: none !important;
  }

  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-cornor,
  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-corner {
    display: none !important;
  }

  /* The booking card becomes normal document flow on mobile. */
  .tourmaster-tour-booking-bar-outer {
    position: relative;
    top: auto;
    z-index: 2;
    margin-top: 28px;
    border-radius: 22px !important;
    box-shadow: var(--mtc-shadow) !important;
  }

  .tourmaster-header-price {
    border-radius: 22px 22px 0 0;
    padding: 24px !important;
  }

  .tourmaster-tour-booking-bar-inner {
    border-radius: 0 0 22px 22px;
  }

  .tourmaster-tour-booking-submit input[type="submit"],
  .tourmaster-tour-booking-bar-wrap input[type="submit"],
  .tourmaster-tour-booking-bar-wrap .tourmaster-button,
  .tourmaster-payment-submit,
  .woocommerce #payment #place_order {
    width: 100%;
    min-height: 52px;
  }

  .tourmaster-single-tour-tab-title-wrap {
    display: flex;
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    gap: 4px;
    overflow-x: auto;
    padding-inline: var(--mtc-gutter);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tourmaster-single-tour-tab-title {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .tourmaster-tour-itinerary-item {
    padding-block: 19px !important;
  }

  .tourmaster-tour-faq-question {
    min-height: 54px;
    padding-block: 16px !important;
  }

  .mtc-card,
  .mtc-premium-card,
  .mtc-feature-card {
    padding: 21px;
    border-radius: 21px;
  }

  .mtc-soft-section {
    margin-inline: calc(var(--mtc-gutter) * -0.25);
    padding: 30px var(--mtc-gutter);
    border-radius: 22px;
  }

  .mtc-review-strip {
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    padding-inline: var(--mtc-gutter);
  }

  .mtc-review-pill {
    min-width: min(78vw, 270px);
  }

  .woocommerce-checkout #payment {
    border-radius: 18px !important;
  }

  .traveltour-footer-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: var(--mtc-gutter) !important;
    text-align: center !important;
  }

  .traveltour-footer-column {
    width: 100% !important;
    max-width: 360px;
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .traveltour-footer-wrapper
    :is(.traveltour-widget, .widget, .wp-block-image, figure, p, figcaption, ul, ol, .menu) {
    max-width: 320px;
    text-align: center !important;
  }

  .traveltour-footer-wrapper :is(a, p, li, figcaption, span, input, textarea, select, button) {
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
  }

  .traveltour-footer-wrapper
    :is(h1, h2, h3, h4, .widget-title, .traveltour-widget-title, .wp-block-heading) {
    color: #ffffff !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-signup {
    display: none !important;
  }

  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-widget-inner {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-thumbnail,
  .tourmaster-tour-widget .tourmaster-tour-thumbnail a,
  .tourmaster-tour-widget img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

/* iPhone safe-area support for booking and payment actions. */
@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .tourmaster-tour-booking-bar-outer,
    .woocommerce-checkout #payment {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}


/* ==========================================================
   FINAL LOCK: MOBILE CORE WEB VITALS LAYOUT GUARD
   Lightweight containment for mobile overflow without changing
   Eesti fonts, tour-card styling, images, or booking design.
========================================================== */

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

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

  html body .traveltour-body-wrapper,
  html body .traveltour-page-wrapper,
  html body #tourmaster-page-wrapper,
  html body .tourmaster-template-wrapper,
  html body .tourmaster-single-tour-content-wrap,
  html body .gdlr-core-page-builder-body,
  html body .gdlr-core-pbf-wrapper,
  html body .gdlr-core-pbf-wrapper-container,
  html body .gdlr-core-pbf-sidebar-container,
  html body .gdlr-core-container,
  html body .gdlr-core-pbf-column,
  html body .gdlr-core-pbf-column-content,
  html body #gdlr-core-sidebar-wrapper-1 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html body img,
  html body picture,
  html body video,
  html body iframe {
    max-width: 100% !important;
  }

  html body .tourmaster-tour-item-holder,
  html body .tourmaster-tour-item-holder > [class*="tourmaster-column-"],
  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-modern-inner,
  html body .tourmaster-tour-content-wrap,
  html body .tourmaster-tour-info-wrap,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern-inner {
    overflow: hidden !important;
  }

  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    white-space: normal !important;
  }

  html body.single-tour .gdlr-core-icon-list-item,
  html body.single-tour .gdlr-core-icon-list-item ul,
  html body.single-tour .gdlr-core-icon-list-item li,
  html body.single-tour .gdlr-core-icon-list-content {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.single-tour .gdlr-core-icon-list-icon-wrap,
  html body.single-tour .gdlr-core-icon-list-icon {
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  html body #CDSWIDFRR,
  html body .widFRR {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* ==========================================================
   FINAL LOCK: ICON FONT RECOVERY - MOBILE/TABLET
   Restore icon families after Eesti text styling.
========================================================== */

@media (max-width: 1024px) {
  html body i.fa,
  html body .fa,
  html body .fa::before,
  html body [class^="fa-"],
  html body [class*=" fa-"],
  html body [class^="fa-"]::before,
  html body [class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6s,
  html body .fa6s,
  html body .fa6s::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6b,
  html body .fa6b,
  html body .fa6b::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .far,
  html body .far::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-weight: 900 !important;
  }

  html body .far,
  html body .far::before {
    font-weight: 400 !important;
  }

  html body .fab,
  html body .fab::before {
    font-family: "Font Awesome 5 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="gdl-travel-"],
  html body i[class*=" gdl-travel-"],
  html body [class^="gdl-travel-"],
  html body [class*=" gdl-travel-"],
  html body [class^="gdl-travel-"]::before,
  html body [class*=" gdl-travel-"]::before {
    font-family: "gdl-travel" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="icon_"],
  html body i[class*=" icon_"],
  html body [class^="icon_"],
  html body [class*=" icon_"],
  html body [class^="icon_"]::before,
  html body [class*=" icon_"]::before {
    font-family: "ElegantIcons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* ==========================================================
   FINAL LOCK: AIRPORT TRANSFER DIRECTION BUTTONS
   Desktop + mobile pressed-state fix.
   Scope: airport transfer page only.
========================================================== */

html body.page-id-8739 .mtc-airport-direction{
  display:none !important;
}

html body.page-id-8739 #mtc-airport-switch{
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto 22px !important;
  padding:8px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:18px !important;
  background:#f5faff !important;
  box-shadow:0 14px 34px rgba(8,43,69,.08) !important;
  box-sizing:border-box !important;
}

html body.page-id-8739 #mtc-airport-switch button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#082b45 !important;
  box-shadow:0 6px 16px rgba(8,43,69,.06),inset 0 1px 0 rgba(255,255,255,.90) !important;
  font-family:"GT Eesti Pro Display","Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body.page-id-8739 #mtc-airport-switch button:hover{
  border-color:rgba(0,119,182,.24) !important;
  background:#fbfdff !important;
  color:#006da5 !important;
  box-shadow:0 10px 22px rgba(8,43,69,.10),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
  border-color:#0077b6 !important;
  background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(0,119,182,.28),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active:hover,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"]:hover,
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"]:hover,
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]:hover{
  border-color:#00557f !important;
  background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
  color:#ffffff !important;
  box-shadow:0 17px 32px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
}

html body.page-id-8739 #mtc-airport-switch button:focus,
html body.page-id-8739 #mtc-airport-switch button:focus-visible{
  outline:3px solid rgba(0,166,214,.28) !important;
  outline-offset:2px !important;
}

@media only screen and (max-width:767px){
  html body.page-id-8739 #mtc-airport-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 18px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#f5faff 0%,#eef8ff 100%) !important;
    box-shadow:0 10px 24px rgba(8,43,69,.10) !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:58px !important;
    padding:14px 16px !important;
    border-radius:15px !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  html body.page-id-8739 #mtc-airport-switch button.active,
  html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
  html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
  html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#0077b6 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform:none !important;
  }
}

@media only screen and (max-width:380px){
  html body.page-id-8739 #mtc-airport-switch{
    gap:7px !important;
    padding:7px !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:56px !important;
    padding:12px 10px !important;
    font-size:15px !important;
  }
}
/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}

/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}
/* Messonghi Travel Center - premium Eesti footer v2 */

.traveltour-footer-wrapper,
.traveltour-footer-wrapper *,
.traveltour-footer-container,
.traveltour-footer-container *,
.traveltour-copyright-wrapper,
.traveltour-copyright-wrapper *{
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  box-sizing:border-box !important;
}

.traveltour-footer-wrapper{
  position:relative !important;
  overflow:hidden !important;
  padding:64px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(900px circle at 12% 0%,rgba(0,166,214,.24),transparent 42%),
    radial-gradient(720px circle at 92% 12%,rgba(216,168,78,.18),transparent 46%),
    linear-gradient(135deg,#061722 0%,#082b45 38%,#06364d 70%,#05131f 100%) !important;
  color:#dceaf1 !important;
}

.traveltour-footer-wrapper::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#0077b6 0%,#00a6d6 54%,#d8a84e 100%) !important;
  pointer-events:none !important;
}

.traveltour-footer-container{
  display:grid !important;
  grid-template-columns:1.15fr .95fr .95fr 1.15fr !important;
  gap:18px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px 48px !important;
  text-align:center !important;
}

.traveltour-footer-column{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px 20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08) !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .traveltour-widget,
.traveltour-footer-wrapper .widget,
.traveltour-footer-wrapper .widget_block,
.traveltour-footer-wrapper .wp-block-group,
.traveltour-footer-wrapper .wp-block-image,
.traveltour-footer-wrapper .wp-block-gallery,
.traveltour-footer-wrapper figure,
.traveltour-footer-wrapper p,
.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol,
.traveltour-footer-wrapper .menu{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .widget{
  margin-bottom:18px !important;
}

.traveltour-footer-wrapper .widget:last-child{
  margin-bottom:0 !important;
}

.traveltour-footer-wrapper h1,
.traveltour-footer-wrapper h2,
.traveltour-footer-wrapper h3,
.traveltour-footer-wrapper h4,
.traveltour-footer-wrapper h5,
.traveltour-footer-wrapper h6,
.traveltour-footer-wrapper .widget-title,
.traveltour-footer-wrapper .traveltour-widget-title,
.traveltour-footer-wrapper .wp-block-heading{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:"GT Eesti Pro Display","GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
}

.traveltour-footer-wrapper .traveltour-widget-title .traveltour-widget-head-text{
  color:inherit !important;
  font-family:inherit !important;
}

.traveltour-footer-wrapper .traveltour-widget-title::after,
.traveltour-footer-wrapper .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#00a6d6 !important;
}

.traveltour-footer-wrapper p,
.traveltour-footer-wrapper li,
.traveltour-footer-wrapper figcaption,
.traveltour-footer-wrapper span,
.traveltour-footer-wrapper small{
  color:#dceaf1 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.56 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol{
  padding:0 !important;
  list-style:none !important;
}

.traveltour-footer-wrapper li{
  margin:0 0 10px !important;
}

.traveltour-footer-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-weight:650 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}

.traveltour-footer-wrapper a:hover,
.traveltour-footer-wrapper a:focus{
  color:#8bdfff !important;
  border-color:rgba(139,223,255,.65) !important;
}

.traveltour-footer-wrapper img{
  display:inline-block !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}

.traveltour-footer-wrapper .wp-block-image img,
.traveltour-footer-wrapper .widget_media_image img{
  border-radius:8px !important;
}

.traveltour-footer-wrapper iframe{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:180px !important;
  margin:14px auto 0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}

.traveltour-footer-wrapper .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
}

.traveltour-footer-wrapper .menu a:hover,
.traveltour-footer-wrapper .menu a:focus{
  background:rgba(0,166,214,.18) !important;
  border-color:rgba(139,223,255,.35) !important;
}

.traveltour-footer-wrapper p:has(a[href*="facebook.com"]),
.traveltour-footer-wrapper p:has(a[href*="instagram.com"]),
.traveltour-footer-wrapper p:has(a[href*="youtube.com"]){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"],
.traveltour-footer-wrapper a[href*="instagram.com"],
.traveltour-footer-wrapper a[href*="youtube.com"]{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.14) !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"]:hover,
.traveltour-footer-wrapper a[href*="instagram.com"]:hover,
.traveltour-footer-wrapper a[href*="youtube.com"]:hover{
  background:#0077b6 !important;
  border-color:#0077b6 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"] i,
.traveltour-footer-wrapper a[href*="instagram.com"] i,
.traveltour-footer-wrapper a[href*="youtube.com"] i{
  margin:0 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper .gdlr-core-space-shortcode{
  display:none !important;
  margin:0 !important;
}

.traveltour-copyright-wrapper{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(90deg,rgba(4,20,32,.96),rgba(7,42,62,.96),rgba(4,20,32,.96)) !important;
  color:#c9dce7 !important;
}

.traveltour-copyright-container{
  display:flex !important;
  width:100% !important;
  max-width:1180px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px 22px !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  text-align:center !important;
}

.traveltour-copyright-left,
.traveltour-copyright-right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#c9dce7 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.traveltour-copyright-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  text-decoration:none !important;
}

.traveltour-copyright-wrapper a:hover,
.traveltour-copyright-wrapper a:focus{
  color:#8bdfff !important;
}

@media only screen and (max-width:1024px){
  .traveltour-footer-wrapper{
    padding-top:52px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:860px !important;
    gap:18px !important;
    padding:0 22px 40px !important;
  }

  .traveltour-footer-column{
    padding:24px 18px !important;
  }
}

@media only screen and (max-width:767px){
  .traveltour-footer-wrapper{
    padding-top:42px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:15px !important;
    padding:0 18px 32px !important;
  }

  .traveltour-footer-column{
    width:100% !important;
    max-width:100% !important;
    padding:22px 18px !important;
    border-radius:10px !important;
  }

  .traveltour-footer-wrapper h1,
  .traveltour-footer-wrapper h2,
  .traveltour-footer-wrapper h3,
  .traveltour-footer-wrapper h4,
  .traveltour-footer-wrapper h5,
  .traveltour-footer-wrapper h6,
  .traveltour-footer-wrapper .widget-title,
  .traveltour-footer-wrapper .traveltour-widget-title,
  .traveltour-footer-wrapper .wp-block-heading{
    font-size:17px !important;
  }

  .traveltour-footer-wrapper p,
  .traveltour-footer-wrapper li,
  .traveltour-footer-wrapper figcaption,
  .traveltour-footer-wrapper span,
  .traveltour-footer-wrapper small{
    font-size:14px !important;
  }

  .traveltour-footer-wrapper iframe{
    max-width:100% !important;
    height:190px !important;
  }

  .traveltour-copyright-container{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:18px !important;
  }

  .traveltour-copyright-left,
  .traveltour-copyright-right{
    width:100% !important;
  }
}

/* ==========================================================
   MESSONGHI TRAVEL CENTER
   MOBILE / TABLET CSS ONLY

   Load this file AFTER messonghi-main-desktop.css or
   messonghi-tour-pages-complete.css.

   Contains only responsive/touch overrides:
   - Touch hover safety
   - Tablet layout
   - Mobile header/navigation
   - Mobile booking experience
   - Small phone refinements
   - iPhone safe-area support
========================================================== */

/* ==========================================================
   TOUCH DEVICE HOVER SAFETY
========================================================== */

@media (hover: none), (pointer: coarse) {
  .tourmaster-tour-grid:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-frame:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-modern:hover .tourmaster-tour-thumbnail img {
    transform: none;
  }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  :root {
    --mtc-gutter: clamp(18px, 3.2vw, 26px);
    --mtc-header-offset: 78px;
    --mtc-blue-soft: #eaf7fd;
    --mtc-border-strong: #cfdee8;
    --mtc-success: #008f5d;
    --mtc-radius-sm: 12px;
    --mtc-focus: 0 0 0 4px rgba(0, 119, 182, 0.16);
  }

  .tourmaster-tour-booking-bar-outer {
    top: calc(var(--mtc-header-offset) + 14px);
    border-radius: 24px !important;
  }

  .mtc-soft-section {
    padding: clamp(32px, 5vw, 44px) var(--mtc-gutter);
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {
  :root {
    --mtc-gutter: clamp(16px, 5vw, 22px);
    --mtc-header-offset: 68px;
    --mtc-control-height: 48px;
    --mtc-section-space: 48px;
  }

  body {
    font-size: 16px;
  }

  body.single-tour {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .traveltour-footer-back-to-top-button,
  .traveltour-footer-back-to-top-button.traveltour-scrolled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ========================================================
     MOBILE HEADER
  ======================================================== */

  .traveltour-mobile-header {
    padding-block: 10px !important;
    border-bottom: 1px solid var(--mtc-border);
    box-shadow: 0 6px 22px rgba(8, 43, 69, 0.07);
  }

  .traveltour-mobile-header-container {
    min-height: 52px;
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo {
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo img {
    width: auto !important;
    max-width: min(38vw, 145px) !important;
    max-height: 46px;
    object-fit: contain;
  }

  .traveltour-mobile-menu-right {
    min-height: 44px;
  }

  .traveltour-mobile-menu-right .tourmaster-user-top-bar {
    font-size: 13px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .traveltour-mobile-menu {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .traveltour-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
    border-radius: 12px;
    background: var(--mtc-blue-soft);
  }

  /* ========================================================
     MOBILE NAVIGATION DRAWER
  ======================================================== */

  #traveltour-mobile-menu.traveltour-mm-menu-wrap {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: #101820 !important;
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.30);
  }

  #traveltour-mobile-menu .mm-panels,
  #traveltour-mobile-menu .mm-panel {
    width: 100% !important;
    background: #101820 !important;
  }

  #traveltour-mobile-menu .mm-panel {
    padding: 0 20px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  #traveltour-mobile-menu .mm-panel.mm-hasnavbar {
    padding: 40px 20px 0 !important;
  }

  #traveltour-mobile-menu .mm-navbar {
    height: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #traveltour-mobile-menu .mm-navbar .mm-title {
    padding-inline: 40px !important;
    color: var(--mtc-white) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #traveltour-mobile-menu
    :is(.mm-navbar .mm-prev, .mm-navbar .mm-next, .mmenu-custom-close) {
    width: 40px !important;
    min-width: 0 !important;
    height: 40px !important;
  }

  #traveltour-mobile-menu .mm-listview > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    min-height: 52px;
    padding-block: 14px !important;
    padding-right: 44px !important;
    color: rgba(255, 255, 255, 0.90) !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    text-transform: none !important;
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)):hover {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.14) !important;
  }

  #traveltour-mobile-menu .mm-listview > li > .mm-next {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li.current-menu-item
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.18) !important;
  }

  .traveltour-top-bar {
    min-height: 38px;
  }

  .traveltour-top-bar-container {
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
  }

  .traveltour-custom-wpml-flag {
    gap: 6px;
  }

  .traveltour-custom-wpml-flag-item {
    width: 26px;
    height: 25px;
  }

  /* ========================================================
     MOBILE BOOKING EXPERIENCE
  ======================================================== */

  @supports selector(:has(*)) {
    .single-tour
      .gdlr-core-pbf-sidebar-wrapper
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      ) {
      display: flex !important;
      width: 100% !important;
      flex-direction: column;
      gap: 26px;
      padding-inline: 12px !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-right,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      > .gdlr-core-sidebar-item {
      display: contents !important;
    }

    /* Booking form: protected top position, never grouped with Latest Tours. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .tourmaster-tour-booking-bar-custom,
        .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-booking-bar-wrap),
        .tourmaster-tour-booking-bar-wrap
      ) {
      order: 1 !important;
      width: 100% !important;
      margin: 0 0 24px !important;
    }

    /* Main tour body follows the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-content {
      order: 2 !important;
      float: none !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 4px 0 52px !important;
    }

    /*
       Extra sidebar trust widgets, e.g. "Book With Confidence", are separate
       from both the booking form and Latest Tours. Keep them after the main
       tour body, but before the final Latest Tours section.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:not(:has(.tourmaster-tour-booking-bar-wrap)):not(:has(.tourmaster-tour-widget)) {
      order: 3 !important;
      width: 100% !important;
      margin: 0 0 34px !important;
      clear: both !important;
    }

    /* Latest Tours wrapper only: must contain tour cards, not the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-widget):not(:has(.tourmaster-tour-booking-bar-wrap)) {
      order: 99 !important;
      width: 100% !important;
      margin: 18px 0 42px !important;
      clear: both !important;
    }

    /*
       Latest Tours belongs at the end on phones. Keep this separate from
       booking: these selectors target tour-card widgets only, not the booking
       form wrapper.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .widget_tourmaster-tour-widget,
        .widget_tourmaster_recent_tour,
        .widget_tourmaster-recent-tour-widget,
        .tourmaster-tour-widget:not(:has(.tourmaster-tour-booking-bar-wrap))
      ) {
      order: 99 !important;
      align-self: stretch;
      width: 100% !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget
      .tourmaster-tour-booking-bar-wrap,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-custom
      .tourmaster-tour-booking-bar-wrap {
      order: initial !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      .gdlr-core-pbf-sidebar-content-inner {
      width: 100% !important;
    }
  }

  .tourmaster-urgency-message {
    display: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-custom,
  .single-tour .tourmaster-tour-booking-bar-wrap {
    width: 100% !important;
    margin-inline: auto !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    position: relative !important;
    top: auto !important;
    z-index: 30;
    margin: 8px auto 24px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    box-shadow:
      0 16px 34px rgba(8, 43, 69, 0.12),
      0 24px 68px rgba(0, 119, 182, 0.12) !important;
  }

  .single-tour .tourmaster-tour-booking-bar-inner::before {
    content: "Quick secure booking";
    display: block;
    margin: 0 20px;
    padding: 17px 0 11px;
    border-bottom: 1px solid var(--mtc-border);
    color: var(--mtc-heading);
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .single-tour .tourmaster-header-price {
    padding: 20px 22px !important;
  }

  .single-tour .tourmaster-header-price-ribbon {
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    padding: 7px 12px !important;
    border-radius: var(--mtc-pill);
    background: rgba(255, 255, 255, 0.18) !important;
    color: var(--mtc-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tourmaster-mobile-booknow-bar {
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding:
      10px
      max(14px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid var(--mtc-border) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 26px rgba(8, 43, 69, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price-wrap {
    min-width: 88px;
    flex: 0 0 auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    line-height: 1 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-head {
    margin: 0 !important;
    color: var(--mtc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tail {
    color: var(--mtc-blue) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: min(170px, 54vw) !important;
    min-height: 52px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #006fa8, var(--mtc-blue-dark)) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 182, 0.24) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-shadow: 0 1px 1px rgba(8, 43, 69, 0.16);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 119, 182, 0.18);
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button > * {
    pointer-events: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button:visited,
  .tourmaster-mobile-booknow-bar .tourmaster-button:hover,
  .tourmaster-mobile-booknow-bar .tourmaster-button:focus-visible {
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #005f92, #004f76) !important;
  }

  #tourmaster-single-tour-booking-fields {
    padding: 18px 20px 10px !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .tourmaster-tour-booking-date,
  .tourmaster-tour-booking-people {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .tourmaster-tour-booking-date > i,
  .tourmaster-tour-booking-people > i {
    display: none !important;
  }

  .tourmaster-tour-booking-date-input,
  .tourmaster-datepicker-wrap,
  .tourmaster-tour-booking-people-input {
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-date input,
  .tourmaster-tour-booking-people select {
    width: 100% !important;
    min-height: 54px;
    font-size: 16px !important;
  }

  .tourmaster-tour-booking-available {
    margin: -4px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 143, 93, 0.16);
    border-radius: var(--mtc-radius-sm);
    color: var(--mtc-success) !important;
    background: rgba(0, 143, 93, 0.07);
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  .tourmaster-tour-booking-submit {
    margin: 4px 0 10px !important;
  }

  .tourmaster-tour-booking-submit-error {
    margin-top: 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  #ui-datepicker-div,
  .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-datepicker-wrap,
  .single-tour
    .tourmaster-tour-booking-bar-wrap
    .tourmaster-datepicker-wrap
    .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap {
    z-index: 999999 !important;
  }

  /* Booking card final mobile-safe layer: internal fixes only. */
  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-wrap *,
  .single-tour .tourmaster-tour-booking-bar-outer,
  .single-tour .tourmaster-tour-booking-bar-outer * {
    box-sizing: border-box;
  }

  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-outer {
    max-width: 100% !important;
    transform: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    overflow: visible !important;
    border: 1px solid rgba(8, 43, 69, 0.12) !important;
    background: var(--mtc-white) !important;
  }

  .single-tour .tourmaster-header-price {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--mtc-white) !important;
  }

  .single-tour
    .tourmaster-header-price
    :is(
      .tourmaster-head,
      .tourmaster-tail,
      .tourmaster-tour-price,
      .tourmaster-tour-price-wrap,
      .tourmaster-price,
      .tourmaster-price-discount,
      i
    ) {
    color: var(--mtc-white) !important;
  }

  .single-tour #tourmaster-single-tour-booking-fields {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 18px 18px 14px !important;
    overflow: visible !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      .tourmaster-tour-booking-date,
      .tourmaster-tour-booking-people,
      .tourmaster-tour-booking-package,
      .tourmaster-tour-booking-service,
      .tourmaster-tour-booking-field,
      .tourmaster-tour-booking-field-wrap,
      .tourmaster-tour-booking-field-input
    ) {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .single-tour .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .single-tour
    .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ) {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mtc-border-strong) !important;
    border-radius: 16px !important;
    color: var(--mtc-heading) !important;
    background-color: var(--mtc-white) !important;
    box-shadow: none !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ):focus {
    border-color: var(--mtc-blue) !important;
    outline: 0;
    box-shadow: var(--mtc-focus) !important;
  }

  .single-tour .tourmaster-tour-booking-submit-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"],
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: var(--mtc-pill) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #0077b6, #004f76) !important;
    box-shadow: 0 15px 30px rgba(0, 119, 182, 0.26) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
  }

  /* Final mobile size fix: the in-form Proceed Booking button was too large. */
  .single-tour .tourmaster-tour-booking-submit,
  .single-tour .tourmaster-tour-booking-submit-input {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"].tourmaster-button,
  .single-tour .tourmaster-tour-booking-submit .tourmaster-button {
    width: min(100%, 218px) !important;
    max-width: 218px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-datepicker-wrap, .tourmaster-combobox-wrap) {
    position: relative;
    z-index: 60 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-combobox-list, .tourmaster-combobox-list-wrap) {
    z-index: 999999 !important;
    max-height: min(320px, 55vh);
    overflow-y: auto;
  }

  /* Preserve JS hero behavior; only improve image focal point. */
  .gdlr-core-pbf-wrapper:is(
      .gdlr-core-wrapper-full-height,
      .gdlr-core-js,
      .gdlr-core-hide-in-mobile
    )
    .gdlr-core-pbf-background {
    background-position: center center !important;
  }

  .tourmaster-single-header-title {
    max-width: 12ch !important;
    font-size: clamp(2.15rem, 10.5vw, 3.3rem) !important;
    line-height: 1.03 !important;
  }

  .gdlr-core-title-item-title {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
  }

  .gdlr-core-text-box-item-content h2,
  .tourmaster-single-tour-content h2 {
    margin-top: 28px !important;
    font-size: clamp(1.75rem, 7vw, 2.05rem) !important;
  }

  .gdlr-core-text-box-item-content h3,
  .tourmaster-single-tour-content h3 {
    margin-top: 24px !important;
    font-size: clamp(1.4rem, 5.8vw, 1.65rem) !important;
  }

  /* The six headline tour facts become a compact two-column grid. */
  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    > li {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    .gdlr-core-icon-list-content {
    font-size: 15px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-thumbnail,
  .tourmaster-tour-modern .tourmaster-tour-thumbnail {
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-item-holder
    > .gdlr-core-item-list[class*="tourmaster-column-"] {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tourmaster-tour-grid,
  .tourmaster-tour-modern,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    ) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid-inner, .tourmaster-tour-modern-inner, .tourmaster-tour-frame-inner) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-thumbnail {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 20px !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid, .tourmaster-tour-modern, .tourmaster-tour-frame)
    .tourmaster-tour-title {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    height: auto !important;
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    padding: 24px !important;
  }

  /*
     Medium framed Tourmaster cards use a desktop two-column grid.
     On phones that can collapse the text column to almost zero width,
     especially when the theme adds 30px content padding. This stronger
     mobile stack intentionally wins over the desktop card rules.
  */
  body .tourmaster-tour-medium.tourmaster-tour-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    table-layout: auto !important;
    overflow: visible !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(235px, 68vw, 320px) !important;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 24px !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    :is(.tourmaster-tour-title, .tourmaster-tour-title a, .tourmaster-tour-price-wrap) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame .tourmaster-tour-content-wrap {
    position: relative !important;
    overflow: visible !important;
    text-align: center;
  }

  .tourmaster-tour-grid
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-modern
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-frame
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    margin: -40px auto 16px !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    border-radius: var(--mtc-pill) !important;
    box-shadow:
      0 10px 22px rgba(8, 43, 69, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 10.8px !important;
    font-weight: 820 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.035em;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    transform: none !important;
  }

  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-cornor,
  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-corner {
    display: none !important;
  }

  /* The booking card becomes normal document flow on mobile. */
  .tourmaster-tour-booking-bar-outer {
    position: relative;
    top: auto;
    z-index: 2;
    margin-top: 28px;
    border-radius: 22px !important;
    box-shadow: var(--mtc-shadow) !important;
  }

  .tourmaster-header-price {
    border-radius: 22px 22px 0 0;
    padding: 24px !important;
  }

  .tourmaster-tour-booking-bar-inner {
    border-radius: 0 0 22px 22px;
  }

  .tourmaster-tour-booking-submit input[type="submit"],
  .tourmaster-tour-booking-bar-wrap input[type="submit"],
  .tourmaster-tour-booking-bar-wrap .tourmaster-button,
  .tourmaster-payment-submit,
  .woocommerce #payment #place_order {
    width: 100%;
    min-height: 52px;
  }

  .tourmaster-single-tour-tab-title-wrap {
    display: flex;
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    gap: 4px;
    overflow-x: auto;
    padding-inline: var(--mtc-gutter);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tourmaster-single-tour-tab-title {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .tourmaster-tour-itinerary-item {
    padding-block: 19px !important;
  }

  .tourmaster-tour-faq-question {
    min-height: 54px;
    padding-block: 16px !important;
  }

  .mtc-card,
  .mtc-premium-card,
  .mtc-feature-card {
    padding: 21px;
    border-radius: 21px;
  }

  .mtc-soft-section {
    margin-inline: calc(var(--mtc-gutter) * -0.25);
    padding: 30px var(--mtc-gutter);
    border-radius: 22px;
  }

  .mtc-review-strip {
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    padding-inline: var(--mtc-gutter);
  }

  .mtc-review-pill {
    min-width: min(78vw, 270px);
  }

  .woocommerce-checkout #payment {
    border-radius: 18px !important;
  }

  .traveltour-footer-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: var(--mtc-gutter) !important;
    text-align: center !important;
  }

  .traveltour-footer-column {
    width: 100% !important;
    max-width: 360px;
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .traveltour-footer-wrapper
    :is(.traveltour-widget, .widget, .wp-block-image, figure, p, figcaption, ul, ol, .menu) {
    max-width: 320px;
    text-align: center !important;
  }

  .traveltour-footer-wrapper :is(a, p, li, figcaption, span, input, textarea, select, button) {
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
  }

  .traveltour-footer-wrapper
    :is(h1, h2, h3, h4, .widget-title, .traveltour-widget-title, .wp-block-heading) {
    color: #ffffff !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-signup {
    display: none !important;
  }

  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-widget-inner {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-thumbnail,
  .tourmaster-tour-widget .tourmaster-tour-thumbnail a,
  .tourmaster-tour-widget img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

/* iPhone safe-area support for booking and payment actions. */
@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .tourmaster-tour-booking-bar-outer,
    .woocommerce-checkout #payment {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}


/* ==========================================================
   FINAL LOCK: MOBILE CORE WEB VITALS LAYOUT GUARD
   Lightweight containment for mobile overflow without changing
   Eesti fonts, tour-card styling, images, or booking design.
========================================================== */

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

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

  html body .traveltour-body-wrapper,
  html body .traveltour-page-wrapper,
  html body #tourmaster-page-wrapper,
  html body .tourmaster-template-wrapper,
  html body .tourmaster-single-tour-content-wrap,
  html body .gdlr-core-page-builder-body,
  html body .gdlr-core-pbf-wrapper,
  html body .gdlr-core-pbf-wrapper-container,
  html body .gdlr-core-pbf-sidebar-container,
  html body .gdlr-core-container,
  html body .gdlr-core-pbf-column,
  html body .gdlr-core-pbf-column-content,
  html body #gdlr-core-sidebar-wrapper-1 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html body img,
  html body picture,
  html body video,
  html body iframe {
    max-width: 100% !important;
  }

  html body .tourmaster-tour-item-holder,
  html body .tourmaster-tour-item-holder > [class*="tourmaster-column-"],
  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-modern-inner,
  html body .tourmaster-tour-content-wrap,
  html body .tourmaster-tour-info-wrap,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern-inner {
    overflow: hidden !important;
  }

  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    white-space: normal !important;
  }

  html body.single-tour .gdlr-core-icon-list-item,
  html body.single-tour .gdlr-core-icon-list-item ul,
  html body.single-tour .gdlr-core-icon-list-item li,
  html body.single-tour .gdlr-core-icon-list-content {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.single-tour .gdlr-core-icon-list-icon-wrap,
  html body.single-tour .gdlr-core-icon-list-icon {
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  html body #CDSWIDFRR,
  html body .widFRR {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* ==========================================================
   FINAL LOCK: ICON FONT RECOVERY - MOBILE/TABLET
   Restore icon families after Eesti text styling.
========================================================== */

@media (max-width: 1024px) {
  html body i.fa,
  html body .fa,
  html body .fa::before,
  html body [class^="fa-"],
  html body [class*=" fa-"],
  html body [class^="fa-"]::before,
  html body [class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6s,
  html body .fa6s,
  html body .fa6s::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6b,
  html body .fa6b,
  html body .fa6b::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .far,
  html body .far::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-weight: 900 !important;
  }

  html body .far,
  html body .far::before {
    font-weight: 400 !important;
  }

  html body .fab,
  html body .fab::before {
    font-family: "Font Awesome 5 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="gdl-travel-"],
  html body i[class*=" gdl-travel-"],
  html body [class^="gdl-travel-"],
  html body [class*=" gdl-travel-"],
  html body [class^="gdl-travel-"]::before,
  html body [class*=" gdl-travel-"]::before {
    font-family: "gdl-travel" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="icon_"],
  html body i[class*=" icon_"],
  html body [class^="icon_"],
  html body [class*=" icon_"],
  html body [class^="icon_"]::before,
  html body [class*=" icon_"]::before {
    font-family: "ElegantIcons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* ==========================================================
   FINAL LOCK: AIRPORT TRANSFER DIRECTION BUTTONS
   Desktop + mobile pressed-state fix.
   Scope: airport transfer page only.
========================================================== */

html body.page-id-8739 .mtc-airport-direction{
  display:none !important;
}

html body.page-id-8739 #mtc-airport-switch{
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto 22px !important;
  padding:8px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:18px !important;
  background:#f5faff !important;
  box-shadow:0 14px 34px rgba(8,43,69,.08) !important;
  box-sizing:border-box !important;
}

html body.page-id-8739 #mtc-airport-switch button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#082b45 !important;
  box-shadow:0 6px 16px rgba(8,43,69,.06),inset 0 1px 0 rgba(255,255,255,.90) !important;
  font-family:"GT Eesti Pro Display","Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body.page-id-8739 #mtc-airport-switch button:hover{
  border-color:rgba(0,119,182,.24) !important;
  background:#fbfdff !important;
  color:#006da5 !important;
  box-shadow:0 10px 22px rgba(8,43,69,.10),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
  border-color:#0077b6 !important;
  background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(0,119,182,.28),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active:hover,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"]:hover,
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"]:hover,
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]:hover{
  border-color:#00557f !important;
  background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
  color:#ffffff !important;
  box-shadow:0 17px 32px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
}

html body.page-id-8739 #mtc-airport-switch button:focus,
html body.page-id-8739 #mtc-airport-switch button:focus-visible{
  outline:3px solid rgba(0,166,214,.28) !important;
  outline-offset:2px !important;
}

@media only screen and (max-width:767px){
  html body.page-id-8739 #mtc-airport-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 18px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#f5faff 0%,#eef8ff 100%) !important;
    box-shadow:0 10px 24px rgba(8,43,69,.10) !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:58px !important;
    padding:14px 16px !important;
    border-radius:15px !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  html body.page-id-8739 #mtc-airport-switch button.active,
  html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
  html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
  html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#0077b6 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform:none !important;
  }
}

@media only screen and (max-width:380px){
  html body.page-id-8739 #mtc-airport-switch{
    gap:7px !important;
    padding:7px !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:56px !important;
    padding:12px 10px !important;
    font-size:15px !important;
  }
}
/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}

/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}
/* Messonghi Travel Center - premium Eesti footer v2 */

.traveltour-footer-wrapper,
.traveltour-footer-wrapper *,
.traveltour-footer-container,
.traveltour-footer-container *,
.traveltour-copyright-wrapper,
.traveltour-copyright-wrapper *{
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  box-sizing:border-box !important;
}

.traveltour-footer-wrapper{
  position:relative !important;
  overflow:hidden !important;
  padding:64px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(900px circle at 12% 0%,rgba(0,166,214,.24),transparent 42%),
    radial-gradient(720px circle at 92% 12%,rgba(216,168,78,.18),transparent 46%),
    linear-gradient(135deg,#061722 0%,#082b45 38%,#06364d 70%,#05131f 100%) !important;
  color:#dceaf1 !important;
}

.traveltour-footer-wrapper::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#0077b6 0%,#00a6d6 54%,#d8a84e 100%) !important;
  pointer-events:none !important;
}

.traveltour-footer-container{
  display:grid !important;
  grid-template-columns:1.15fr .95fr .95fr 1.15fr !important;
  gap:18px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px 48px !important;
  text-align:center !important;
}

.traveltour-footer-column{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px 20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08) !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .traveltour-widget,
.traveltour-footer-wrapper .widget,
.traveltour-footer-wrapper .widget_block,
.traveltour-footer-wrapper .wp-block-group,
.traveltour-footer-wrapper .wp-block-image,
.traveltour-footer-wrapper .wp-block-gallery,
.traveltour-footer-wrapper figure,
.traveltour-footer-wrapper p,
.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol,
.traveltour-footer-wrapper .menu{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .widget{
  margin-bottom:18px !important;
}

.traveltour-footer-wrapper .widget:last-child{
  margin-bottom:0 !important;
}

.traveltour-footer-wrapper h1,
.traveltour-footer-wrapper h2,
.traveltour-footer-wrapper h3,
.traveltour-footer-wrapper h4,
.traveltour-footer-wrapper h5,
.traveltour-footer-wrapper h6,
.traveltour-footer-wrapper .widget-title,
.traveltour-footer-wrapper .traveltour-widget-title,
.traveltour-footer-wrapper .wp-block-heading{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:"GT Eesti Pro Display","GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
}

.traveltour-footer-wrapper .traveltour-widget-title .traveltour-widget-head-text{
  color:inherit !important;
  font-family:inherit !important;
}

.traveltour-footer-wrapper .traveltour-widget-title::after,
.traveltour-footer-wrapper .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#00a6d6 !important;
}

.traveltour-footer-wrapper p,
.traveltour-footer-wrapper li,
.traveltour-footer-wrapper figcaption,
.traveltour-footer-wrapper span,
.traveltour-footer-wrapper small{
  color:#dceaf1 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.56 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol{
  padding:0 !important;
  list-style:none !important;
}

.traveltour-footer-wrapper li{
  margin:0 0 10px !important;
}

.traveltour-footer-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-weight:650 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}

.traveltour-footer-wrapper a:hover,
.traveltour-footer-wrapper a:focus{
  color:#8bdfff !important;
  border-color:rgba(139,223,255,.65) !important;
}

.traveltour-footer-wrapper img{
  display:inline-block !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}

.traveltour-footer-wrapper .wp-block-image img,
.traveltour-footer-wrapper .widget_media_image img{
  border-radius:8px !important;
}

.traveltour-footer-wrapper iframe{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:180px !important;
  margin:14px auto 0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}

.traveltour-footer-wrapper .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
}

.traveltour-footer-wrapper .menu a:hover,
.traveltour-footer-wrapper .menu a:focus{
  background:rgba(0,166,214,.18) !important;
  border-color:rgba(139,223,255,.35) !important;
}

.traveltour-footer-wrapper p:has(a[href*="facebook.com"]),
.traveltour-footer-wrapper p:has(a[href*="instagram.com"]),
.traveltour-footer-wrapper p:has(a[href*="youtube.com"]){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"],
.traveltour-footer-wrapper a[href*="instagram.com"],
.traveltour-footer-wrapper a[href*="youtube.com"]{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.14) !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"]:hover,
.traveltour-footer-wrapper a[href*="instagram.com"]:hover,
.traveltour-footer-wrapper a[href*="youtube.com"]:hover{
  background:#0077b6 !important;
  border-color:#0077b6 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"] i,
.traveltour-footer-wrapper a[href*="instagram.com"] i,
.traveltour-footer-wrapper a[href*="youtube.com"] i{
  margin:0 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper .gdlr-core-space-shortcode{
  display:none !important;
  margin:0 !important;
}

.traveltour-copyright-wrapper{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(90deg,rgba(4,20,32,.96),rgba(7,42,62,.96),rgba(4,20,32,.96)) !important;
  color:#c9dce7 !important;
}

.traveltour-copyright-container{
  display:flex !important;
  width:100% !important;
  max-width:1180px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px 22px !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  text-align:center !important;
}

.traveltour-copyright-left,
.traveltour-copyright-right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#c9dce7 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.traveltour-copyright-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  text-decoration:none !important;
}

.traveltour-copyright-wrapper a:hover,
.traveltour-copyright-wrapper a:focus{
  color:#8bdfff !important;
}

@media only screen and (max-width:1024px){
  .traveltour-footer-wrapper{
    padding-top:52px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:860px !important;
    gap:18px !important;
    padding:0 22px 40px !important;
  }

  .traveltour-footer-column{
    padding:24px 18px !important;
  }
}

@media only screen and (max-width:767px){
  .traveltour-footer-wrapper{
    padding-top:42px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:15px !important;
    padding:0 18px 32px !important;
  }

  .traveltour-footer-column{
    width:100% !important;
    max-width:100% !important;
    padding:22px 18px !important;
    border-radius:10px !important;
  }

  .traveltour-footer-wrapper h1,
  .traveltour-footer-wrapper h2,
  .traveltour-footer-wrapper h3,
  .traveltour-footer-wrapper h4,
  .traveltour-footer-wrapper h5,
  .traveltour-footer-wrapper h6,
  .traveltour-footer-wrapper .widget-title,
  .traveltour-footer-wrapper .traveltour-widget-title,
  .traveltour-footer-wrapper .wp-block-heading{
    font-size:17px !important;
  }

  .traveltour-footer-wrapper p,
  .traveltour-footer-wrapper li,
  .traveltour-footer-wrapper figcaption,
  .traveltour-footer-wrapper span,
  .traveltour-footer-wrapper small{
    font-size:14px !important;
  }

  .traveltour-footer-wrapper iframe{
    max-width:100% !important;
    height:190px !important;
  }

  .traveltour-copyright-container{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:18px !important;
  }

  .traveltour-copyright-left,
  .traveltour-copyright-right{
    width:100% !important;
  }
}

/* ==========================================================
   MESSONGHI TRAVEL CENTER
   MOBILE / TABLET CSS ONLY

   Load this file AFTER messonghi-main-desktop.css or
   messonghi-tour-pages-complete.css.

   Contains only responsive/touch overrides:
   - Touch hover safety
   - Tablet layout
   - Mobile header/navigation
   - Mobile booking experience
   - Small phone refinements
   - iPhone safe-area support
========================================================== */

/* ==========================================================
   TOUCH DEVICE HOVER SAFETY
========================================================== */

@media (hover: none), (pointer: coarse) {
  .tourmaster-tour-grid:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-frame:hover .tourmaster-tour-thumbnail img,
  .tourmaster-tour-modern:hover .tourmaster-tour-thumbnail img {
    transform: none;
  }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  :root {
    --mtc-gutter: clamp(18px, 3.2vw, 26px);
    --mtc-header-offset: 78px;
    --mtc-blue-soft: #eaf7fd;
    --mtc-border-strong: #cfdee8;
    --mtc-success: #008f5d;
    --mtc-radius-sm: 12px;
    --mtc-focus: 0 0 0 4px rgba(0, 119, 182, 0.16);
  }

  .tourmaster-tour-booking-bar-outer {
    top: calc(var(--mtc-header-offset) + 14px);
    border-radius: 24px !important;
  }

  .mtc-soft-section {
    padding: clamp(32px, 5vw, 44px) var(--mtc-gutter);
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {
  :root {
    --mtc-gutter: clamp(16px, 5vw, 22px);
    --mtc-header-offset: 68px;
    --mtc-control-height: 48px;
    --mtc-section-space: 48px;
  }

  body {
    font-size: 16px;
  }

  body.single-tour {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .traveltour-footer-back-to-top-button,
  .traveltour-footer-back-to-top-button.traveltour-scrolled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ========================================================
     MOBILE HEADER
  ======================================================== */

  .traveltour-mobile-header {
    padding-block: 10px !important;
    border-bottom: 1px solid var(--mtc-border);
    box-shadow: 0 6px 22px rgba(8, 43, 69, 0.07);
  }

  .traveltour-mobile-header-container {
    min-height: 52px;
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo {
    padding-inline: 15px !important;
  }

  .traveltour-mobile-header .traveltour-logo img {
    width: auto !important;
    max-width: min(38vw, 145px) !important;
    max-height: 46px;
    object-fit: contain;
  }

  .traveltour-mobile-menu-right {
    min-height: 44px;
  }

  .traveltour-mobile-menu-right .tourmaster-user-top-bar {
    font-size: 13px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .traveltour-mobile-menu {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .traveltour-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
    border-radius: 12px;
    background: var(--mtc-blue-soft);
  }

  /* ========================================================
     MOBILE NAVIGATION DRAWER
  ======================================================== */

  #traveltour-mobile-menu.traveltour-mm-menu-wrap {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: #101820 !important;
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.30);
  }

  #traveltour-mobile-menu .mm-panels,
  #traveltour-mobile-menu .mm-panel {
    width: 100% !important;
    background: #101820 !important;
  }

  #traveltour-mobile-menu .mm-panel {
    padding: 0 20px !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  #traveltour-mobile-menu .mm-panel.mm-hasnavbar {
    padding: 40px 20px 0 !important;
  }

  #traveltour-mobile-menu .mm-navbar {
    height: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #traveltour-mobile-menu .mm-navbar .mm-title {
    padding-inline: 40px !important;
    color: var(--mtc-white) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #traveltour-mobile-menu
    :is(.mm-navbar .mm-prev, .mm-navbar .mm-next, .mmenu-custom-close) {
    width: 40px !important;
    min-width: 0 !important;
    height: 40px !important;
  }

  #traveltour-mobile-menu .mm-listview > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    min-height: 52px;
    padding-block: 14px !important;
    padding-right: 44px !important;
    color: rgba(255, 255, 255, 0.90) !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    text-transform: none !important;
  }

  #traveltour-mobile-menu
    .mm-listview
    > li
    > :is(a:not(.mm-next), span:not(.mm-next)):hover {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.14) !important;
  }

  #traveltour-mobile-menu .mm-listview > li > .mm-next {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  #traveltour-mobile-menu
    .mm-listview
    > li.current-menu-item
    > :is(a:not(.mm-next), span:not(.mm-next)) {
    color: var(--mtc-white) !important;
    background: rgba(0, 119, 182, 0.18) !important;
  }

  .traveltour-top-bar {
    min-height: 38px;
  }

  .traveltour-top-bar-container {
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
  }

  .traveltour-custom-wpml-flag {
    gap: 6px;
  }

  .traveltour-custom-wpml-flag-item {
    width: 26px;
    height: 25px;
  }

  /* ========================================================
     MOBILE BOOKING EXPERIENCE
  ======================================================== */

  @supports selector(:has(*)) {
    .single-tour
      .gdlr-core-pbf-sidebar-wrapper
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      ) {
      display: flex !important;
      width: 100% !important;
      flex-direction: column;
      gap: 26px;
      padding-inline: 12px !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-right,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      > .gdlr-core-sidebar-item {
      display: contents !important;
    }

    /* Booking form: protected top position, never grouped with Latest Tours. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .tourmaster-tour-booking-bar-custom,
        .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-booking-bar-wrap),
        .tourmaster-tour-booking-bar-wrap
      ) {
      order: 1 !important;
      width: 100% !important;
      margin: 0 0 24px !important;
    }

    /* Main tour body follows the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      > .gdlr-core-pbf-sidebar-content {
      order: 2 !important;
      float: none !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 4px 0 52px !important;
    }

    /*
       Extra sidebar trust widgets, e.g. "Book With Confidence", are separate
       from both the booking form and Latest Tours. Keep them after the main
       tour body, but before the final Latest Tours section.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:not(:has(.tourmaster-tour-booking-bar-wrap)):not(:has(.tourmaster-tour-widget)) {
      order: 3 !important;
      width: 100% !important;
      margin: 0 0 34px !important;
      clear: both !important;
    }

    /* Latest Tours wrapper only: must contain tour cards, not the booking form. */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget:has(.tourmaster-tour-widget):not(:has(.tourmaster-tour-booking-bar-wrap)) {
      order: 99 !important;
      width: 100% !important;
      margin: 18px 0 42px !important;
      clear: both !important;
    }

    /*
       Latest Tours belongs at the end on phones. Keep this separate from
       booking: these selectors target tour-card widgets only, not the booking
       form wrapper.
    */
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      :is(
        .widget_tourmaster-tour-widget,
        .widget_tourmaster_recent_tour,
        .widget_tourmaster-recent-tour-widget,
        .tourmaster-tour-widget:not(:has(.tourmaster-tour-booking-bar-wrap))
      ) {
      order: 99 !important;
      align-self: stretch;
      width: 100% !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-widget
      .tourmaster-tour-booking-bar-wrap,
    .single-tour
      .gdlr-core-pbf-sidebar-right:has(.tourmaster-tour-booking-bar-wrap)
      .tourmaster-tour-booking-bar-custom
      .tourmaster-tour-booking-bar-wrap {
      order: initial !important;
    }

    .single-tour
      .gdlr-core-pbf-sidebar-container:has(
        > .gdlr-core-pbf-sidebar-right .tourmaster-tour-booking-bar-wrap
      )
      .gdlr-core-pbf-sidebar-content-inner {
      width: 100% !important;
    }
  }

  .tourmaster-urgency-message {
    display: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-custom,
  .single-tour .tourmaster-tour-booking-bar-wrap {
    width: 100% !important;
    margin-inline: auto !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    position: relative !important;
    top: auto !important;
    z-index: 30;
    margin: 8px auto 24px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    box-shadow:
      0 16px 34px rgba(8, 43, 69, 0.12),
      0 24px 68px rgba(0, 119, 182, 0.12) !important;
  }

  .single-tour .tourmaster-tour-booking-bar-inner::before {
    content: "Quick secure booking";
    display: block;
    margin: 0 20px;
    padding: 17px 0 11px;
    border-bottom: 1px solid var(--mtc-border);
    color: var(--mtc-heading);
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .single-tour .tourmaster-header-price {
    padding: 20px 22px !important;
  }

  .single-tour .tourmaster-header-price-ribbon {
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    padding: 7px 12px !important;
    border-radius: var(--mtc-pill);
    background: rgba(255, 255, 255, 0.18) !important;
    color: var(--mtc-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tourmaster-mobile-booknow-bar {
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding:
      10px
      max(14px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid var(--mtc-border) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 26px rgba(8, 43, 69, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price-wrap {
    min-width: 88px;
    flex: 0 0 auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tour-price {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    line-height: 1 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-head {
    margin: 0 !important;
    color: var(--mtc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-tail {
    color: var(--mtc-blue) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: min(170px, 54vw) !important;
    min-height: 52px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #006fa8, var(--mtc-blue-dark)) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 182, 0.24) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-shadow: 0 1px 1px rgba(8, 43, 69, 0.16);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 119, 182, 0.18);
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button > * {
    pointer-events: none !important;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: auto;
  }

  .tourmaster-mobile-booknow-bar .tourmaster-button:visited,
  .tourmaster-mobile-booknow-bar .tourmaster-button:hover,
  .tourmaster-mobile-booknow-bar .tourmaster-button:focus-visible {
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #005f92, #004f76) !important;
  }

  #tourmaster-single-tour-booking-fields {
    padding: 18px 20px 10px !important;
    scroll-margin-top: calc(var(--mtc-header-offset) + 14px);
  }

  .tourmaster-tour-booking-date,
  .tourmaster-tour-booking-people {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .tourmaster-tour-booking-date > i,
  .tourmaster-tour-booking-people > i {
    display: none !important;
  }

  .tourmaster-tour-booking-date-input,
  .tourmaster-datepicker-wrap,
  .tourmaster-tour-booking-people-input {
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .tourmaster-tour-booking-date input,
  .tourmaster-tour-booking-people select {
    width: 100% !important;
    min-height: 54px;
    font-size: 16px !important;
  }

  .tourmaster-tour-booking-available {
    margin: -4px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 143, 93, 0.16);
    border-radius: var(--mtc-radius-sm);
    color: var(--mtc-success) !important;
    background: rgba(0, 143, 93, 0.07);
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  .tourmaster-tour-booking-submit {
    margin: 4px 0 10px !important;
  }

  .tourmaster-tour-booking-submit-error {
    margin-top: 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  #ui-datepicker-div,
  .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-datepicker-wrap,
  .single-tour
    .tourmaster-tour-booking-bar-wrap
    .tourmaster-datepicker-wrap
    .ui-datepicker,
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap {
    z-index: 999999 !important;
  }

  /* Booking card final mobile-safe layer: internal fixes only. */
  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-wrap *,
  .single-tour .tourmaster-tour-booking-bar-outer,
  .single-tour .tourmaster-tour-booking-bar-outer * {
    box-sizing: border-box;
  }

  .single-tour .tourmaster-tour-booking-bar-wrap,
  .single-tour .tourmaster-tour-booking-bar-outer {
    max-width: 100% !important;
    transform: none !important;
  }

  .single-tour .tourmaster-tour-booking-bar-outer {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    overflow: visible !important;
    border: 1px solid rgba(8, 43, 69, 0.12) !important;
    background: var(--mtc-white) !important;
  }

  .single-tour .tourmaster-header-price {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--mtc-white) !important;
  }

  .single-tour
    .tourmaster-header-price
    :is(
      .tourmaster-head,
      .tourmaster-tail,
      .tourmaster-tour-price,
      .tourmaster-tour-price-wrap,
      .tourmaster-price,
      .tourmaster-price-discount,
      i
    ) {
    color: var(--mtc-white) !important;
  }

  .single-tour #tourmaster-single-tour-booking-fields {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 18px 18px 14px !important;
    overflow: visible !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      .tourmaster-tour-booking-date,
      .tourmaster-tour-booking-people,
      .tourmaster-tour-booking-package,
      .tourmaster-tour-booking-service,
      .tourmaster-tour-booking-field,
      .tourmaster-tour-booking-field-wrap,
      .tourmaster-tour-booking-field-input
    ) {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .single-tour .tourmaster-tour-booking-people-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .single-tour
    .tourmaster-tour-booking-people-input
    .tourmaster-combobox-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ) {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mtc-border-strong) !important;
    border-radius: 16px !important;
    color: var(--mtc-heading) !important;
    background-color: var(--mtc-white) !important;
    box-shadow: none !important;
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      input[type="number"],
      select,
      textarea
    ):focus {
    border-color: var(--mtc-blue) !important;
    outline: 0;
    box-shadow: var(--mtc-focus) !important;
  }

  .single-tour .tourmaster-tour-booking-submit-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"],
  .single-tour .tourmaster-tour-booking-bar-wrap .tourmaster-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: var(--mtc-pill) !important;
    color: var(--mtc-white) !important;
    background: linear-gradient(135deg, #0077b6, #004f76) !important;
    box-shadow: 0 15px 30px rgba(0, 119, 182, 0.26) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
  }

  /* Final mobile size fix: the in-form Proceed Booking button was too large. */
  .single-tour .tourmaster-tour-booking-submit,
  .single-tour .tourmaster-tour-booking-submit-input {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .single-tour .tourmaster-tour-booking-submit input[type="submit"].tourmaster-button,
  .single-tour .tourmaster-tour-booking-submit .tourmaster-button {
    width: min(100%, 218px) !important;
    max-width: 218px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-datepicker-wrap, .tourmaster-combobox-wrap) {
    position: relative;
    z-index: 60 !important;
  }

  .single-tour
    .tourmaster-tour-booking-bar-wrap
    :is(.tourmaster-combobox-list, .tourmaster-combobox-list-wrap) {
    z-index: 999999 !important;
    max-height: min(320px, 55vh);
    overflow-y: auto;
  }

  /* Preserve JS hero behavior; only improve image focal point. */
  .gdlr-core-pbf-wrapper:is(
      .gdlr-core-wrapper-full-height,
      .gdlr-core-js,
      .gdlr-core-hide-in-mobile
    )
    .gdlr-core-pbf-background {
    background-position: center center !important;
  }

  .tourmaster-single-header-title {
    max-width: 12ch !important;
    font-size: clamp(2.15rem, 10.5vw, 3.3rem) !important;
    line-height: 1.03 !important;
  }

  .gdlr-core-title-item-title {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
  }

  .gdlr-core-text-box-item-content h2,
  .tourmaster-single-tour-content h2 {
    margin-top: 28px !important;
    font-size: clamp(1.75rem, 7vw, 2.05rem) !important;
  }

  .gdlr-core-text-box-item-content h3,
  .tourmaster-single-tour-content h3 {
    margin-top: 24px !important;
    font-size: clamp(1.4rem, 5.8vw, 1.65rem) !important;
  }

  /* The six headline tour facts become a compact two-column grid. */
  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    > li {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-tour
    .gdlr-core-icon-list-item
    ul:has(> li.gdlr-core-column-10)
    .gdlr-core-icon-list-content {
    font-size: 15px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-thumbnail,
  .tourmaster-tour-modern .tourmaster-tour-thumbnail {
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-item-holder
    > .gdlr-core-item-list[class*="tourmaster-column-"] {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tourmaster-tour-grid,
  .tourmaster-tour-modern,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    ) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid-inner, .tourmaster-tour-modern-inner, .tourmaster-tour-frame-inner) {
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-thumbnail {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  body.page-id-5424
    :is(
      .tourmaster-tour-grid,
      .tourmaster-tour-modern,
      .tourmaster-tour-frame:not(.tourmaster-tour-medium)
    )
    .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 20px !important;
  }

  body.page-id-5424
    :is(.tourmaster-tour-grid, .tourmaster-tour-modern, .tourmaster-tour-frame)
    .tourmaster-tour-title {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame:not(.tourmaster-tour-medium) .tourmaster-tour-content-wrap {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    height: auto !important;
    min-height: clamp(235px, 68vw, 310px);
    aspect-ratio: 4 / 3;
  }

  .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    padding: 24px !important;
  }

  /*
     Medium framed Tourmaster cards use a desktop two-column grid.
     On phones that can collapse the text column to almost zero width,
     especially when the theme adds 30px content padding. This stronger
     mobile stack intentionally wins over the desktop card rules.
  */
  body .tourmaster-tour-medium.tourmaster-tour-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-medium-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    table-layout: auto !important;
    overflow: visible !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(235px, 68vw, 320px) !important;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-thumbnail
    img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    .tourmaster-tour-content-wrap {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 24px !important;
  }

  body
    .tourmaster-tour-medium.tourmaster-tour-frame
    :is(.tourmaster-tour-title, .tourmaster-tour-title a, .tourmaster-tour-price-wrap) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .tourmaster-tour-grid .tourmaster-tour-content-wrap,
  .tourmaster-tour-modern .tourmaster-tour-content-wrap,
  .tourmaster-tour-frame .tourmaster-tour-content-wrap {
    position: relative !important;
    overflow: visible !important;
    text-align: center;
  }

  .tourmaster-tour-grid
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-modern
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element,
  .tourmaster-tour-frame
    .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    margin: -40px auto 16px !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    border-radius: var(--mtc-pill) !important;
    box-shadow:
      0 10px 22px rgba(8, 43, 69, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    font-size: 10.8px !important;
    font-weight: 820 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.035em;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    transform: none !important;
  }

  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-cornor,
  .tourmaster-thumbnail-ribbon.gdlr-core-outer-frame-element
    .tourmaster-thumbnail-ribbon-corner {
    display: none !important;
  }

  /* The booking card becomes normal document flow on mobile. */
  .tourmaster-tour-booking-bar-outer {
    position: relative;
    top: auto;
    z-index: 2;
    margin-top: 28px;
    border-radius: 22px !important;
    box-shadow: var(--mtc-shadow) !important;
  }

  .tourmaster-header-price {
    border-radius: 22px 22px 0 0;
    padding: 24px !important;
  }

  .tourmaster-tour-booking-bar-inner {
    border-radius: 0 0 22px 22px;
  }

  .tourmaster-tour-booking-submit input[type="submit"],
  .tourmaster-tour-booking-bar-wrap input[type="submit"],
  .tourmaster-tour-booking-bar-wrap .tourmaster-button,
  .tourmaster-payment-submit,
  .woocommerce #payment #place_order {
    width: 100%;
    min-height: 52px;
  }

  .tourmaster-single-tour-tab-title-wrap {
    display: flex;
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    gap: 4px;
    overflow-x: auto;
    padding-inline: var(--mtc-gutter);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tourmaster-single-tour-tab-title {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .tourmaster-tour-itinerary-item {
    padding-block: 19px !important;
  }

  .tourmaster-tour-faq-question {
    min-height: 54px;
    padding-block: 16px !important;
  }

  .mtc-card,
  .mtc-premium-card,
  .mtc-feature-card {
    padding: 21px;
    border-radius: 21px;
  }

  .mtc-soft-section {
    margin-inline: calc(var(--mtc-gutter) * -0.25);
    padding: 30px var(--mtc-gutter);
    border-radius: 22px;
  }

  .mtc-review-strip {
    width: calc(100% + (var(--mtc-gutter) * 2));
    margin-inline: calc(var(--mtc-gutter) * -1);
    padding-inline: var(--mtc-gutter);
  }

  .mtc-review-pill {
    min-width: min(78vw, 270px);
  }

  .woocommerce-checkout #payment {
    border-radius: 18px !important;
  }

  .traveltour-footer-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: var(--mtc-gutter) !important;
    text-align: center !important;
  }

  .traveltour-footer-column {
    width: 100% !important;
    max-width: 360px;
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .traveltour-footer-wrapper
    :is(.traveltour-widget, .widget, .wp-block-image, figure, p, figcaption, ul, ol, .menu) {
    max-width: 320px;
    text-align: center !important;
  }

  .traveltour-footer-wrapper :is(a, p, li, figcaption, span, input, textarea, select, button) {
    font-family: "GT Eesti Pro Text", "Manrope", Arial, sans-serif !important;
  }

  .traveltour-footer-wrapper
    :is(h1, h2, h3, h4, .widget-title, .traveltour-widget-title, .wp-block-heading) {
    color: #ffffff !important;
    font-family: "GT Eesti Pro Display", "Manrope", Arial, sans-serif !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-signup {
    display: none !important;
  }

  .traveltour-mobile-menu-right
    .tourmaster-user-top-bar-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-widget-inner {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .tourmaster-tour-widget .tourmaster-tour-thumbnail,
  .tourmaster-tour-widget .tourmaster-tour-thumbnail a,
  .tourmaster-tour-widget img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

/* iPhone safe-area support for booking and payment actions. */
@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .tourmaster-tour-booking-bar-outer,
    .woocommerce-checkout #payment {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}

/* ==========================================================
   FINAL LOCK: MOBILE CORE WEB VITALS LAYOUT GUARD
   Lightweight containment for mobile overflow without changing
   Eesti fonts, tour-card styling, images, or booking design.
========================================================== */

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

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

  html body .traveltour-body-wrapper,
  html body .traveltour-page-wrapper,
  html body #tourmaster-page-wrapper,
  html body .tourmaster-template-wrapper,
  html body .tourmaster-single-tour-content-wrap,
  html body .gdlr-core-page-builder-body,
  html body .gdlr-core-pbf-wrapper,
  html body .gdlr-core-pbf-wrapper-container,
  html body .gdlr-core-pbf-sidebar-container,
  html body .gdlr-core-container,
  html body .gdlr-core-pbf-column,
  html body .gdlr-core-pbf-column-content,
  html body #gdlr-core-sidebar-wrapper-1 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html body img,
  html body picture,
  html body video,
  html body iframe {
    max-width: 100% !important;
  }

  html body .tourmaster-tour-item-holder,
  html body .tourmaster-tour-item-holder > [class*="tourmaster-column-"],
  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-modern-inner,
  html body .tourmaster-tour-content-wrap,
  html body .tourmaster-tour-info-wrap,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .tourmaster-tour-grid,
  html body .tourmaster-tour-frame,
  html body .tourmaster-tour-modern,
  html body .tourmaster-tour-grid-inner,
  html body .tourmaster-tour-frame-inner,
  html body .tourmaster-tour-modern-inner {
    overflow: hidden !important;
  }

  html body .tourmaster-tour-title,
  html body .tourmaster-tour-title a,
  html body .tourmaster-tour-info,
  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body .tourmaster-tour-price-wrap,
  html body .tourmaster-tour-price {
    white-space: normal !important;
  }

  html body.single-tour .gdlr-core-icon-list-item,
  html body.single-tour .gdlr-core-icon-list-item ul,
  html body.single-tour .gdlr-core-icon-list-item li,
  html body.single-tour .gdlr-core-icon-list-content {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.single-tour .gdlr-core-icon-list-icon-wrap,
  html body.single-tour .gdlr-core-icon-list-icon {
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  html body #CDSWIDFRR,
  html body .widFRR {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* ==========================================================
   FINAL LOCK: ICON FONT RECOVERY - MOBILE/TABLET
   Restore icon families after Eesti text styling.
========================================================== */

@media (max-width: 1024px) {
  html body i.fa,
  html body .fa,
  html body .fa::before,
  html body [class^="fa-"],
  html body [class*=" fa-"],
  html body [class^="fa-"]::before,
  html body [class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6s,
  html body .fa6s,
  html body .fa6s::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i.fa6b,
  html body .fa6b,
  html body .fa6b::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .far,
  html body .far::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body .fas,
  html body .fas::before,
  html body .fa5,
  html body .fa5::before,
  html body [class^="fa5-"],
  html body [class*=" fa5-"],
  html body [class^="fa5-"]::before,
  html body [class*=" fa5-"]::before {
    font-weight: 900 !important;
  }

  html body .far,
  html body .far::before {
    font-weight: 400 !important;
  }

  html body .fab,
  html body .fab::before {
    font-family: "Font Awesome 5 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="gdl-travel-"],
  html body i[class*=" gdl-travel-"],
  html body [class^="gdl-travel-"],
  html body [class*=" gdl-travel-"],
  html body [class^="gdl-travel-"]::before,
  html body [class*=" gdl-travel-"]::before {
    font-family: "gdl-travel" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  html body i[class^="icon_"],
  html body i[class*=" icon_"],
  html body [class^="icon_"],
  html body [class*=" icon_"],
  html body [class^="icon_"]::before,
  html body [class*=" icon_"]::before {
    font-family: "ElegantIcons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* ==========================================================
   FINAL LOCK: AIRPORT TRANSFER DIRECTION BUTTONS
   Desktop + mobile pressed-state fix.
   Scope: airport transfer page only.
========================================================== */

html body.page-id-8739 .mtc-airport-direction{
  display:none !important;
}

html body.page-id-8739 #mtc-airport-switch{
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto 22px !important;
  padding:8px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:18px !important;
  background:#f5faff !important;
  box-shadow:0 14px 34px rgba(8,43,69,.08) !important;
  box-sizing:border-box !important;
}

html body.page-id-8739 #mtc-airport-switch button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(8,43,69,.10) !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#082b45 !important;
  box-shadow:0 6px 16px rgba(8,43,69,.06),inset 0 1px 0 rgba(255,255,255,.90) !important;
  font-family:"GT Eesti Pro Display","Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body.page-id-8739 #mtc-airport-switch button:hover{
  border-color:rgba(0,119,182,.24) !important;
  background:#fbfdff !important;
  color:#006da5 !important;
  box-shadow:0 10px 22px rgba(8,43,69,.10),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
  border-color:#0077b6 !important;
  background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(0,119,182,.28),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px) !important;
}

html body.page-id-8739 #mtc-airport-switch button.active:hover,
html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"]:hover,
html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"]:hover,
html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]:hover{
  border-color:#00557f !important;
  background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
  color:#ffffff !important;
  box-shadow:0 17px 32px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
}

html body.page-id-8739 #mtc-airport-switch button:focus,
html body.page-id-8739 #mtc-airport-switch button:focus-visible{
  outline:3px solid rgba(0,166,214,.28) !important;
  outline-offset:2px !important;
}

@media only screen and (max-width:767px){
  html body.page-id-8739 #mtc-airport-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 18px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#f5faff 0%,#eef8ff 100%) !important;
    box-shadow:0 10px 24px rgba(8,43,69,.10) !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:58px !important;
    padding:14px 16px !important;
    border-radius:15px !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  html body.page-id-8739 #mtc-airport-switch button.active,
  html body.page-id-8739 #mtc-airport-switch button[aria-pressed="true"],
  html body.page-id-8739[data-airport-transfer="from"] #mtc-airport-switch button[data-type="from"],
  html body.page-id-8739[data-airport-transfer="to"] #mtc-airport-switch button[data-type="to"]{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#0077b6 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.34),inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform:none !important;
  }
}

@media only screen and (max-width:380px){
  html body.page-id-8739 #mtc-airport-switch{
    gap:7px !important;
    padding:7px !important;
  }

  html body.page-id-8739 #mtc-airport-switch button{
    min-height:56px !important;
    padding:12px 10px !important;
    font-size:15px !important;
  }
}
/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}

/* Chauffeur Booking System - mobile next button color fix */

@media only screen and (max-width:767px){
  .chbs-main .chbs-main-content-navigation-button{
    width:100% !important;
    margin-top:18px !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next{
    display:flex !important;
    width:100% !important;
    min-height:58px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:15px 18px !important;
    border:1px solid #0077b6 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0077b6 0%,#00557f 100%) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(0,119,182,.30) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    text-transform:none !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:visited{
    color:#ffffff !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:hover,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next:focus{
    border-color:#00557f !important;
    background:linear-gradient(135deg,#006fa8 0%,#004f76 100%) !important;
    color:#ffffff !important;
    box-shadow:0 16px 30px rgba(0,119,182,.36) !important;
  }

  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next span,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::before,
  .chbs-main .chbs-main-content-navigation-button .chbs-button.chbs-button-step-next::after{
    color:#ffffff !important;
  }
}
/* Messonghi Travel Center - premium Eesti footer v2 */

.traveltour-footer-wrapper,
.traveltour-footer-wrapper *,
.traveltour-footer-container,
.traveltour-footer-container *,
.traveltour-copyright-wrapper,
.traveltour-copyright-wrapper *{
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  box-sizing:border-box !important;
}

.traveltour-footer-wrapper{
  position:relative !important;
  overflow:hidden !important;
  padding:64px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(900px circle at 12% 0%,rgba(0,166,214,.24),transparent 42%),
    radial-gradient(720px circle at 92% 12%,rgba(216,168,78,.18),transparent 46%),
    linear-gradient(135deg,#061722 0%,#082b45 38%,#06364d 70%,#05131f 100%) !important;
  color:#dceaf1 !important;
}

.traveltour-footer-wrapper::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#0077b6 0%,#00a6d6 54%,#d8a84e 100%) !important;
  pointer-events:none !important;
}

.traveltour-footer-container{
  display:grid !important;
  grid-template-columns:1.15fr .95fr .95fr 1.15fr !important;
  gap:18px !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px 48px !important;
  text-align:center !important;
}

.traveltour-footer-column{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px 20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08) !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .traveltour-widget,
.traveltour-footer-wrapper .widget,
.traveltour-footer-wrapper .widget_block,
.traveltour-footer-wrapper .wp-block-group,
.traveltour-footer-wrapper .wp-block-image,
.traveltour-footer-wrapper .wp-block-gallery,
.traveltour-footer-wrapper figure,
.traveltour-footer-wrapper p,
.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol,
.traveltour-footer-wrapper .menu{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.traveltour-footer-wrapper .widget{
  margin-bottom:18px !important;
}

.traveltour-footer-wrapper .widget:last-child{
  margin-bottom:0 !important;
}

.traveltour-footer-wrapper h1,
.traveltour-footer-wrapper h2,
.traveltour-footer-wrapper h3,
.traveltour-footer-wrapper h4,
.traveltour-footer-wrapper h5,
.traveltour-footer-wrapper h6,
.traveltour-footer-wrapper .widget-title,
.traveltour-footer-wrapper .traveltour-widget-title,
.traveltour-footer-wrapper .wp-block-heading{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:"GT Eesti Pro Display","GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-transform:none !important;
}

.traveltour-footer-wrapper .traveltour-widget-title .traveltour-widget-head-text{
  color:inherit !important;
  font-family:inherit !important;
}

.traveltour-footer-wrapper .traveltour-widget-title::after,
.traveltour-footer-wrapper .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#00a6d6 !important;
}

.traveltour-footer-wrapper p,
.traveltour-footer-wrapper li,
.traveltour-footer-wrapper figcaption,
.traveltour-footer-wrapper span,
.traveltour-footer-wrapper small{
  color:#dceaf1 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.56 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.traveltour-footer-wrapper ul,
.traveltour-footer-wrapper ol{
  padding:0 !important;
  list-style:none !important;
}

.traveltour-footer-wrapper li{
  margin:0 0 10px !important;
}

.traveltour-footer-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-weight:650 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}

.traveltour-footer-wrapper a:hover,
.traveltour-footer-wrapper a:focus{
  color:#8bdfff !important;
  border-color:rgba(139,223,255,.65) !important;
}

.traveltour-footer-wrapper img{
  display:inline-block !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}

.traveltour-footer-wrapper .wp-block-image img,
.traveltour-footer-wrapper .widget_media_image img{
  border-radius:8px !important;
}

.traveltour-footer-wrapper iframe{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:180px !important;
  margin:14px auto 0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}

.traveltour-footer-wrapper .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
}

.traveltour-footer-wrapper .menu a:hover,
.traveltour-footer-wrapper .menu a:focus{
  background:rgba(0,166,214,.18) !important;
  border-color:rgba(139,223,255,.35) !important;
}

.traveltour-footer-wrapper p:has(a[href*="facebook.com"]),
.traveltour-footer-wrapper p:has(a[href*="instagram.com"]),
.traveltour-footer-wrapper p:has(a[href*="youtube.com"]){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"],
.traveltour-footer-wrapper a[href*="instagram.com"],
.traveltour-footer-wrapper a[href*="youtube.com"]{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.14) !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"]:hover,
.traveltour-footer-wrapper a[href*="instagram.com"]:hover,
.traveltour-footer-wrapper a[href*="youtube.com"]:hover{
  background:#0077b6 !important;
  border-color:#0077b6 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper a[href*="facebook.com"] i,
.traveltour-footer-wrapper a[href*="instagram.com"] i,
.traveltour-footer-wrapper a[href*="youtube.com"] i{
  margin:0 !important;
  color:#ffffff !important;
}

.traveltour-footer-wrapper .gdlr-core-space-shortcode{
  display:none !important;
  margin:0 !important;
}

.traveltour-copyright-wrapper{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(90deg,rgba(4,20,32,.96),rgba(7,42,62,.96),rgba(4,20,32,.96)) !important;
  color:#c9dce7 !important;
}

.traveltour-copyright-container{
  display:flex !important;
  width:100% !important;
  max-width:1180px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px 22px !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  text-align:center !important;
}

.traveltour-copyright-left,
.traveltour-copyright-right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#c9dce7 !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.traveltour-copyright-wrapper a{
  color:#ffffff !important;
  font-family:"GT Eesti Pro Text","Manrope",Arial,sans-serif !important;
  text-decoration:none !important;
}

.traveltour-copyright-wrapper a:hover,
.traveltour-copyright-wrapper a:focus{
  color:#8bdfff !important;
}

@media only screen and (max-width:1024px){
  .traveltour-footer-wrapper{
    padding-top:52px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:860px !important;
    gap:18px !important;
    padding:0 22px 40px !important;
  }

  .traveltour-footer-column{
    padding:24px 18px !important;
  }
}

@media only screen and (max-width:767px){
  .traveltour-footer-wrapper{
    padding-top:42px !important;
  }

  .traveltour-footer-container{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:15px !important;
    padding:0 18px 32px !important;
  }

  .traveltour-footer-column{
    width:100% !important;
    max-width:100% !important;
    padding:22px 18px !important;
    border-radius:10px !important;
  }

  .traveltour-footer-wrapper h1,
  .traveltour-footer-wrapper h2,
  .traveltour-footer-wrapper h3,
  .traveltour-footer-wrapper h4,
  .traveltour-footer-wrapper h5,
  .traveltour-footer-wrapper h6,
  .traveltour-footer-wrapper .widget-title,
  .traveltour-footer-wrapper .traveltour-widget-title,
  .traveltour-footer-wrapper .wp-block-heading{
    font-size:17px !important;
  }

  .traveltour-footer-wrapper p,
  .traveltour-footer-wrapper li,
  .traveltour-footer-wrapper figcaption,
  .traveltour-footer-wrapper span,
  .traveltour-footer-wrapper small{
    font-size:14px !important;
  }

  .traveltour-footer-wrapper iframe{
    max-width:100% !important;
    height:190px !important;
  }

  .traveltour-copyright-container{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:18px !important;
  }

  .traveltour-copyright-left,
  .traveltour-copyright-right{
    width:100% !important;
  }
}

/* ==========================================================
   MOBILE PROCEED BOOKING BUTTON — CENTERED, NOT STRETCHED
========================================================== */

@media only screen and (max-width: 768px) {

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit-input {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit-input::after {
    content: none !important;
    display: none !important;
  }

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit
  input[type="submit"].tourmaster-button,

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit
  input[type="submit"].tourmaster-button:hover,

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit
  input[type="submit"].tourmaster-button:focus,

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit
  input[type="submit"].tourmaster-button:active {
    display: block !important;
    width: min(100%, 218px) !important;
    min-width: 0 !important;
    max-width: 218px !important;
    min-height: 46px !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    margin: 0 auto !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    transform: none !important;
  }

  html body.single-tour
  #tourmaster-single-tour-booking-fields
  .tourmaster-tour-booking-submit-error {
    width: 100% !important;
    margin-top: 10px !important;
    text-align: center !important;
  }
}