/* GM Sailings responsive layout. Scoped to existing TravelTour and page components. */
:root {
  --gms-responsive-revision: 20261112-1;
  --gms-edge: clamp(16px, 3vw, 32px);
  --gms-section-space: clamp(38px, 6vw, 80px);
}

.traveltour-page-title-content.traveltour-item-pdlr {
  padding-block: clamp(44px, 7vw, 108px) !important;
}

.traveltour-page-title-wrap .traveltour-page-title,
.traveltour-page-title-wrap .traveltour-page-caption,
.tourmaster-single-header .tourmaster-single-header-title {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.traveltour-page-title-wrap .traveltour-page-title {
  font-size: clamp(1.7rem, 3.8vw, 3rem) !important;
  line-height: 1.16;
  max-inline-size: 29ch;
}

.traveltour-page-title-wrap.traveltour-center-align :is(.traveltour-page-title, .traveltour-page-caption) {
  margin-inline: auto;
}

.traveltour-page-title-wrap.traveltour-center-align .traveltour-page-caption {
  max-inline-size: 60ch;
}

body:has(.gm-boat-hero) .traveltour-page-title-wrap .traveltour-page-title-overlay {
  background-color: #102540;
  opacity: 0.38 !important;
}

body .gm-hero,
body .gm-boat-hero {
  padding-inline: var(--gms-edge);
}

body .gm-hero {
  min-block-size: clamp(26rem, 62vh, 43rem) !important;
  padding-block: clamp(42px, 7vw, 94px) !important;
}

body .gm-hero-content,
body .gm-boat-hero-content {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: 64rem;
  min-inline-size: 0;
}

body :is(.gm-hero-content, .gm-boat-hero-content) h1 {
  font-size: clamp(1.75rem, 4.6vw, 3.5rem);
  line-height: 1.12;
  margin-inline: auto;
  max-inline-size: 24ch;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

body :is(.gm-hero-content, .gm-boat-hero-content) p {
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.55;
  margin-inline: auto;
  max-inline-size: 61ch;
}

body .gm-section {
  padding-block: var(--gms-section-space);
}

body .gm-container {
  box-sizing: border-box;
  padding-inline: var(--gms-edge);
}

body .gm-flex-container > *,
body .gm-split-section > *,
body .gm-specs-grid > *,
body .gm-equipment-list > * {
  box-sizing: border-box;
  min-inline-size: 0 !important;
  max-inline-size: 100%;
}

body .gm-section :is(h2, h3) {
  text-wrap: balance;
  overflow-wrap: anywhere;
}

body .gm-btn {
  box-sizing: border-box;
  max-inline-size: 100%;
  text-align: center;
  text-wrap: balance;
  white-space: normal;
}

body .gm-tabla-wrapper {
  box-sizing: border-box;
  inline-size: 100% !important;
  max-inline-size: 100%;
  min-inline-size: 0;
  margin-inline: auto;
  overflow-x: auto;
}

body .gm-tabla-wrapper table {
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  margin-inline: 0 !important;
}

body .gm-tabla-wrapper :is(th, td, caption) {
  overflow-wrap: anywhere;
  white-space: normal;
}

body .gm-tabla-wrapper caption {
  max-inline-size: 100%;
}

.tourmaster-single-header-title-wrap {
  padding-block-start: clamp(98px, 13vw, 174px) !important;
  padding-block-end: clamp(26px, 4vw, 54px) !important;
}

.tourmaster-single-header .tourmaster-single-header-title {
  font-size: clamp(1.72rem, 4vw, 3.25rem) !important;
  line-height: 1.16;
  max-inline-size: 29ch;
  margin-inline: 0 auto;
}

.wpcf7 :is(input:not([type="checkbox"], [type="radio"], [type="hidden"]), textarea, select),
.tourmaster-register-form :is(input:not([type="checkbox"], [type="radio"], [type="hidden"]), select),
.tourmaster-tour-booking-bar-wrap :is(input:not([type="checkbox"], [type="radio"], [type="hidden"]), select),
.woocommerce :is(.input-text, .woocommerce-input-wrapper, select),
.summary.entry-summary :is(input:not([type="checkbox"], [type="radio"], [type="hidden"]), select) {
  box-sizing: border-box;
  max-inline-size: 100%;
  min-inline-size: 0;
}

.woocommerce .product .product_title,
.woocommerce .woocommerce-notices-wrapper,
.woocommerce .cart-empty,
.traveltour-copyright-text {
  overflow-wrap: anywhere;
}

.traveltour-footer-wrapper .traveltour-copyright-text {
  line-height: 1.65;
}

.woocommerce .product .product_title {
  font-size: clamp(1.75rem, 3.1vw, 2.5rem);
  line-height: 1.15;
  text-wrap: balance;
}

.ld-course-list-items.row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 26px);
  margin-inline: 0;
}

.ld-course-list-items.row::before,
.ld-course-list-items.row::after {
  display: none;
}

.ld-course-list-items.row > .ld_course_grid {
  inline-size: auto;
  min-inline-size: 0;
  max-inline-size: none;
  margin: 0;
  padding: 0;
}

.ld-course-list-items.row > .ld_course_grid > article {
  block-size: 100%;
  margin-block: 0;
}

.page-id-1964 .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:first-child {
  padding-block: clamp(50px, 10vw, 120px) !important;
}

.page-id-1964 .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:first-child .gdlr-core-title-item-title {
  font-size: clamp(1.95rem, 5vw, 3.5rem) !important;
  line-height: 1.14;
  text-wrap: balance;
}

@media (min-width: 1000px) and (max-width: 1279px) {
  .traveltour-navigation.traveltour-item-pdlr {
    padding-inline: 0;
  }

  .traveltour-navigation .traveltour-main-menu {
    display: block;
  }

  .traveltour-navigation .traveltour-main-menu > .sf-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .traveltour-navigation .traveltour-main-menu > .sf-menu > li {
    float: none;
    padding-inline: 3px;
  }

  .traveltour-navigation .traveltour-main-menu > .sf-menu > li:not(.wpmenucartli) > a {
    font-size: 0.8125rem;
  }
}

@media (max-width: 999px) {
  .traveltour-mobile-header .traveltour-logo-inner {
    max-inline-size: min(66vw, 230px);
  }

  .traveltour-mobile-header .traveltour-mm-menu-button.traveltour-mobile-button-hamburger-with-border {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 44px;
    block-size: 44px;
    padding: 0;
  }

  .traveltour-mobile-header .traveltour-mobile-header-container {
    padding-block: 0;
  }

  .ld-course-list-items.row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .traveltour-content-area.traveltour-sidebar-style-none:has(:is(.gm-almeria-page-wrapper, .gm-patron-page-wrapper, .gm-sin-patron-page-wrapper)) {
    padding-inline: 0;
    padding-block-start: clamp(22px, 3.5vw, 42px);
  }

  .traveltour-content-container:has(.traveltour-content-area :is(.gm-almeria-page-wrapper, .gm-patron-page-wrapper, .gm-sin-patron-page-wrapper)) {
    padding-inline: var(--gms-edge);
  }

  .elementor-widget-wrap.elementor-element-populated:has(> .elementor-widget > .elementor-widget-container > :is(.gm-almeria-page-wrapper, .gm-patron-page-wrapper, .gm-sin-patron-page-wrapper)) {
    padding-inline: 0;
  }

  body:has(.gm-boat-hero) .traveltour-page-title-content.traveltour-item-pdlr {
    padding-block: clamp(34px, 5vw, 64px) !important;
  }
}

@media (max-width: 639px) {
  .traveltour-mobile-header .traveltour-top-bar {
    padding-block: 7px;
  }

  .traveltour-mobile-header .traveltour-top-bar-container :is(.traveltour-top-bar-left, .traveltour-top-bar-right) {
    margin-inline: 0;
    padding-inline: 12px;
  }

  .traveltour-mobile-header .traveltour-top-bar-left a {
    white-space: nowrap;
  }

  .traveltour-page-title-content.traveltour-item-pdlr {
    padding-inline: var(--gms-edge);
  }

  body .gm-hero {
    min-block-size: 0 !important;
    padding-block: 44px !important;
  }

  body .gm-boat-hero {
    min-block-size: 0;
    padding-block: 32px;
  }

  body .gm-boat-hero-content {
    padding-inline: 0;
  }

  body .gm-tabla-wrapper :is(th, td) {
    padding: 9px 5px;
    font-size: 0.875rem;
    line-height: 1.42;
  }

  body .gm-tabla-wrapper caption {
    padding-inline: 8px;
  }

  .single-product .traveltour-content-area .summary.entry-summary {
    box-sizing: border-box;
    padding: 20px 16px;
  }

  .ld-course-list-items.row {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-id-1964 .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:nth-child(3) {
    padding-block: 42px !important;
  }
}

/* Alineación de las zonas principales de contenido de GM Sailings. */
:root {
  --gms-content-max: 1240px;
  --gms-content-gutter: 20px;
}

.traveltour-content-container.traveltour-container,
.tourmaster-container,
.gdlr-core-container {
  box-sizing: border-box;
  width: min(100%, var(--gms-content-max));
  max-width: var(--gms-content-max);
  margin-inline: auto;
}

body .gm-container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--gms-content-max) !important;
  padding-inline: var(--gms-content-gutter) !important;
  margin-inline: auto;
}

body :is(.gm-almeria-page-wrapper, .gm-patron-page-wrapper, .gm-sin-patron-page-wrapper) .gm-container {
  padding-inline: var(--gms-content-gutter) !important;
}

body .gm-section:has(> .gm-container) {
  padding-inline: 0 !important;
}

.traveltour-content-container:has(.gm-almeria-page-wrapper) .elementor-section-boxed > .elementor-container,
.traveltour-content-container:has(.gm-patron-page-wrapper) .elementor-section-boxed > .elementor-container,
.traveltour-content-container:has(.gm-sin-patron-page-wrapper) .elementor-section-boxed > .elementor-container {
  max-width: 100%;
}

.traveltour-content-container:has(.gm-almeria-page-wrapper),
.traveltour-content-container:has(.gm-patron-page-wrapper),
.traveltour-content-container:has(.gm-sin-patron-page-wrapper) {
  width: 100%;
  max-width: var(--gms-content-max);
  padding-inline: 0 !important;
}

.traveltour-content-area.traveltour-sidebar-style-none:has(.ld-course-list-items) {
  padding-inline: 0;
}

.traveltour-content-container:has(.ld-course-list-items) {
  padding-inline: var(--gms-content-gutter) !important;
}

.traveltour-content-container:has(.traveltour-sidebar-style-none .learndash-wrapper) {
  width: min(100%, calc(var(--gms-content-max) + 40px));
  max-width: calc(var(--gms-content-max) + 40px);
}

.traveltour-content-area.traveltour-sidebar-style-none:has(:is(.gm-almeria-page-wrapper, .gm-patron-page-wrapper, .gm-sin-patron-page-wrapper)) {
  padding-inline: 0;
}

.elementor-widget-wrap.elementor-element-populated:has(> .elementor-widget > .elementor-widget-container > :is(.gm-almeria-page-wrapper, .gm-patron-page-wrapper, .gm-sin-patron-page-wrapper)) {
  padding-inline: 0;
}

@media (max-width: 1279px) {
  .traveltour-content-container:has(.traveltour-sidebar-style-none .learndash-wrapper) {
    padding-inline: 0;
  }
}

@media (max-width: 767px) {
  :root { --gms-content-gutter: 16px; }
  .gdlr-core-container {
    padding-inline: var(--gms-content-gutter) !important;
  }
  .traveltour-content-container:has(.traveltour-sidebar-style-none .learndash-wrapper) {
    padding-inline: 0;
  }
  .traveltour-sidebar-style-none:has(.learndash-wrapper) .traveltour-content-wrap.traveltour-item-pdlr {
    padding-inline: var(--gms-content-gutter);
  }
}
