/*
  font-family: "Red Hat Text", sans-serif;
  
*/

:root {
  --ct-color-primary: #111236;
  --ct-color-secondary: #f8D000;
  --ct-color-alternative: #ebf1ff;
  --ct-font-primary: "Golos Text", sans-serif;
  --ct-font-secondary: "Alumni Sans", sans-serif;
  --ct-font-alternative: "Bricolage Grotesque", sans-serif;
  --ct-body-font-size: 1.6rem;
  --ct-body-font-weight: 400;
  --ct-body-line-height: 1.4;
  --ct-body-color: #0a0a0a;
  --ct-body-bg: #fff;
  --ct-color-cta: #000;
  --ct-color-cta-secondary: #3f4ef4;

  --font-family-main: var(--ct-font-primary);
  --Theme-Brand---main: #121212;
  --Theme-Brand---main-alt: #fff;
  --Theme-Brand---aux: var(--ct-color-primary);
  --theme-brand-main-alt: #fff;
  --Theme-CTA-CTA---main: var(--ct-color-secondary);
  --Theme-CTA-CTA---main---content: #ffffff;
  --Theme-CTA-CTA---lIght: #d9e0ea;
  --Theme-CTA-CTA---light---content: var(--ct-color-);
  --Theme-BG-BG---area-1: #fafbfc;
  --Theme-BG-BG---area-2: #eff2f7;
  --Theme-Form-FORM-border: #d8d9eb;
  --Theme-Form-FORM---border: #d8d9eb;
  --Theme-Form-FORM---text: #473f4b;
  --Theme-Form-FORM---label: #473f4b;
  --Theme-Form-FORM---icon: #b7b9d2;
  --Theme-Texto-Text---base: #473f4b;
  --Theme-Texto-Text---title: #473f4b;
  --Theme-Avisos-Blue-Blue: #010101;
  --Theme-Avisos-Blue-Blue-aux: #dbeaff;
  --Theme-Avisos-Red-Red: #ff3b2f;
  --Theme-Avisos-Red-Red-aux: #fee2e1;
  --Theme-Avisos-Neutral-Neutral: #44546f;
  --Theme-Avisos-Neutral-Neutral-aux: #f1f1f8;
  --Theme-Avisos-Neutral-Neutral---main: #473f4b;
  --Theme-Avisos-Brand-Brand: #090909;
  --theme-form-form-placeholder: #8a8ba7;
}

h1,
h2,
h3,
h4,
h5 {
  font-size: inherit;
  font-family: inherit;
  margin: 0px;
  display: inline-block;
}

body {
  font-weight: var(--ct-body-font-weight);
  font-size: var(--ct-body-font-size);
  line-height: var(--ct-body-line-height);
  font-family: var(--ct-font-primary);
  background-color: var(--ct-body-bg);
  color: var(--ct-body-color);

  font-stretch: normal;
  font-optical-sizing: none;
}

a {
  color: var(--ct-color-cta);
}
a:hover {
  color: var(--ct-color-cta-secondary);
  text-decoration: none;
  transition: all 0.25s ease-out 0s;
}
a:focus{outline:none}
.fw,
.full-width {
  width: 100%;
  float: left;
}
.full-width.container {
  max-width: 100%;
}
.full-image {
  background-size: cover;
  background-position: center;
}
.btnSearch {
  float: right;
}
.btnSearch,
.btn-theme {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 25px;
  font-size: 1.8rem;
  border-radius: 25px;
  text-align: center;
  text-transform: inherit;
  background-color: var(--ct-color-secondary) !important;
  color: #000 !important;
  font-weight: 600;
  box-shadow: 0px 4px 15px 0px #00000024;

  &:hover {
    background: var(--ct-color-cta-secondary);
    gap: 10px;
  }
}

.btn-theme.md-button {
  text-transform: inherit;
  line-height: inherit;
  font-weight: inherit;
  min-height: inherit;
  font-size: inherit;
}
.btn-theme.btn-white {
  background-color: #fff !important;
}
.btn-theme.btn-alt {
  background-color: #000 !important;
  color: #fff !important;
  border: 0px;
  .material-icons-outlined {
    color: #fff;
  }
}
.btn-outlined {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 25px;
  font-size: 1.45rem;
  border-radius: 25px;
  text-align: center;
  text-transform: inherit;
  background: transparent;
  font-weight: 900;
  border: 2px solid var(--ct-color-cta);
  color: var(--ct-color-cta);
  text-transform: uppercase;
  .material-icons-outlined {
    color: var(--ct-color-cta);
  }
}
.btn-outlined.btn-white {
  border: 2px solid #fff;
  color: #fff;
  &:hover {
    color: var(--ct-color-cta);
    border-color: var(--ct-color-cta);
  }
}
.btn-alt {
  padding: 13px 20px 15px 20px;
  background-color: #fff;
  border-radius: 27px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ct-body-color);
  box-shadow: 0px 2px 8px 0px #0000001f;
  font-size: 1.8rem;
  span {
    color: var(--ct-color-secondary);
  }
}

.md-button.md-default-theme.md-primary.md-fab, .md-button.md-primary.md-fab, .md-button.md-default-theme.md-primary.md-raised, .md-button.md-primary.md-raised{background-color:var(--ct-color-secondary) !important; color:var(--ct-body-color) !important; md-icon{color:var(--ct-body-color)}}
.productTour .alert-insurance-text a{color:var(--ct-color-cta-secondary)}
.btn-theme.btn-alt:hover{color:#Fee300 !important;}

.row-sp {
  margin-left: -3px;
  margin-right: -3px;
}
.pad-sp {
  padding: 0px 3px;
}

.p-0,
.no-pad {
  padding: 0px !important;
}

.color-primary {
  color: var(--ct-color-primary) !important;
}
a.color-primary:hover {
  opacity: 0.8;
}
.color-secondary {
  color: var(--ct-color-secondary) !important;
}
a.color-secondary:hover {
  opacity: 0.8;
}
.color-cta {
  color: var(--ct-color-cta) !important;
}
a.color-cta:hover {
  opacity: 0.8;
}
.color-alt {
  color: var(--ct-color-alternative) !important;
}
a.color-alt:hover {
  opacity: 0.8;
}
.color-white {
  color: #fff !important;
}
a.color-white:hover {
  opacity: 0.8;
}

.md-dialog .md-dialog-content.loadingCreateBooking md-progress-circular path {
  color: var(--ct-color-primary);
}
.md-dialog .md-dialog-content.loadingCreateBooking span {
  color: #0a0a0a;
  font-weight: 500;
  font-size: 16px;
}

.tooltip-tour {
  height: auto !important;
  padding: 5px 15px;
  background-color: #252526 !important;
  color: #fff !important;
  opacity: 1 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  border-radius: 25px;
}
.box-container {
  padding: 0px 30px;
}
/* LOADERS */
.bookingPage .loadingBooking,
.availEngines .loadingResults {
  text-align: center;
  margin-top: 10px;
  display: flex;
  justify-content: center;
  padding: 15px;
  position: fixed;
  z-index: 999;
  top: 0px;
  bottom: 0px;
  right: 0px;
  left: 0px;
  flex-direction: column;
  align-items: center;
  background-color: var(--ct-color-cta);
}
.bookingPage .loadingBooking::after,
.availEngines .loadingResults::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 200px; /* Ajusta según el tamaño del logo */
  height: 53.7px; /* Ajusta según el tamaño del logo */
  transform: translate(-50%, -50%);
  background: url("/cdn/images/logo.svg") no-repeat center center;
  background-size: contain;
}
.bookingPage .loadingBooking::before,
.availEngines .loadingResults::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 48%;
  left: 50%;
  width: 50px;
  margin-top: -70px;
  margin-left: -25px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 2px solid var(--ct-color-cta);
  border-right-color: #f4f6fa;
  animation: spinner 1s infinite linear;
}
.bookingPage .loadingBooking md-progress-circular,
.availEngines .loadingResults md-progress-circular {
  display: none;
}
.bookingPage .loadingBooking span,
.availEngines .loadingResults span {
  color: #fdfdfd;
  font-weight: bold;
  display: inline-block;
  margin-top: 100px;
}
.availEngines .loadingResults md-progress-circular path {
  stroke: var(--ct-color-secondary);
}

login-client-engine-page .btnLogin.btnTwitter, login-client-engine-page .btnLogin.btnLinkedin,  login-client-engine-page .btnLogin.btnPayPal {display:none;}				

#loader-container {
  background: var(--ct-color-cta);
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 99999;
}
#loader-container::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 51%;
  left: 50%;
  width: 200px; /* Ajusta según el tamaño del logo */
  height: 53.7px; /* Ajusta según el tamaño del logo */
  transform: translate(-50%, -50%);
  background: url("/cdn/images/logo.svg") no-repeat center center;
  background-size: contain;
}
#loader-container::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 50px;
  margin-top: -70px;
  margin-left: -25px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 2px solid var(--ct-color-secondary);
  border-right-color: var(--ct-color-primary);
  animation: spinner 1s infinite linear;
}
@keyframes spinner {
  to {
    transform: rotate(1turn);
  }
}

/* END LOADERS */

@media (min-width: 1px) and (max-width: 767px) {
  .clearfix-xs {
    clear: both !important;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .clearfix-sm {
    clear: both !important;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .clearfix-md {
    clear: both !important;
  }
}
@media (min-width: 1200px) {
  .clearfix-lg {
    clear: both !important;
  }
}

.mt-1 {
  margin-top: 10px;
}
.mt-2 {
  margin-top: 25px;
}
.mt-3 {
  margin-top: 45px;
}
.mt-4 {
  margin-top: 60px;
}

.mb-0 {
  margin-bottom: 0px;
}
.mb-1 {
  margin-bottom: 10px;
}
.mb-2 {
  margin-bottom: 25px;
}
.mb-3 {
  margin-bottom: 45px;
}
.mb-4 {
  margin-bottom: 65px;
}

.pt-1 {
  padding-top: 10px;
}
.pt-2 {
  padding-top: 25px;
}
.pt-3 {
  padding-top: 45px;
}
.pt-4 {
  padding-top: 60px;
}

.pb-1 {
  padding-bottom: 10px;
}
.pb-2 {
  padding-bottom: 25px;
}
.pb-3 {
  padding-bottom: 45px;
}
.pb-4 {
  padding-bottom: 65px;
}

.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-black {
  font-weight: 900;
}
.text-2xs {
  font-size: 1.25rem;
}
.text-xs {
  font-size: 1.4rem;
}
.text-lead {
  font-size: 1.7rem;
}
.text-title {
  font-size: 1.8rem;
}
.text-xl {
  font-size: 2.1rem;
}
.text-xxl {
  font-size: 3rem;
  line-height: 1.1em;
}
.text-2xxl {
  font-size: 4rem;
  line-height: 1.1em;
}
.op-80 {
  opacity: 0.8;
}
md-dialog md-toolbar.md-default-theme:not(.md-menu-toolbar),
md-toolbar:not(.md-menu-toolbar) {
  background-color: #062f4a;
}
md-dialog md-toolbar h4 {
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
md-dialog .section-header {
  font-weight: 700;
  font-size: 18px;
  color: #6f6f6e;
}
md-dialog a {
  color: var(--ct-color-cta);
}
md-dialog a:hover {
  color: var(--ct-color-primary);
}

.ui-datepicker {
  border-color: var(--ct-color-primary);
  z-index: 999 !important;
}
.ui-datepicker th,
.ui-datepicker.travel-datepicker .infoPrice,
.ui-datepicker.travel-datepicker
  .ui-datepicker-calendar
  td
  a[data-custom-price]::after {
  color: var(--ct-color-primary);
}
.ui-datepicker .ui-datepicker-header {
  background-color: #062f4a;
}
.ui-datepicker td a.ui-state-active.ui-state-hover,
.ui-datepicker td a.ui-state-active {
  background-color: var(--ct-color-cta);
}

.infoGDPR {
  margin-bottom: 20px;
}

.whatsappme__button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 1;
  bottom: 85px;
  right: 20px;
  width: 54px;
  height: 54px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, 0.24);
  cursor: pointer;
  background-color: #25d366;
  transition: background-color 0.2s linear;
}
.whatsappme__button:hover {
  color: #fff;
  background: var(--ct-color-cta-secondary);
}
.btn-as-link {
  min-width: auto;
  min-height: inherit;
  margin: 0;
  padding: 0;
  line-height: inherit;
  font: inherit;
  text-transform: none;
  border: 0;
  vertical-align: inherit;
  background: none;
}

.img-box {
  background-position: 50% 50% !important;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-color: #141414;
}
.forma-responsive {
  display: block;
  position: relative;
  width: 100%;
  background: #23211d;
}
.forma-responsive:before {
  content: "";
  display: block;
  padding-top: 53%;
}
.forma-responsive.panoramica:before {
  content: "";
  display: block;
  padding-top: 48%;
  border-radius: 3px;
}
.forma-responsive.squared:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.img-boxed {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.img-boxed .img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box .img-box .deg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: none;
  transition: 0.3s;
}
.as-link .hover-link {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
}
/*.as-link .hover-link:hover{backdrop-filter: blur(2px);}*/
.as-link .hover-link .icon {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: changeColour 3s infinite alternate;
}
.as-link .hover-link .material-icons {
  opacity: 0;
  font-size: 5em;
  transition: all 0.25s ease-out 0s;
}
.as-link .hover-link:hover .material-icons {
  opacity: 1;
}

.middle-box {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

md-checkbox.md-default-theme:not([disabled]).md-primary.md-checked .md-icon,
md-checkbox:not([disabled]).md-primary.md-checked .md-icon {
  background-color: var(--ct-color-cta) !important;
}

/* Custom concretos */
/*.md-primary.md-button {
  background-color: var(--ct-color-primary) !important;
  color: #fff !important;
  &:hover {
    background-color: var(--ct-color-cta) !important;
  }
}*/

.md-open-menu-container.md-active {
  border-radius: 10px;
}
.md-menu-content.md-default-theme,
md-menu-content {
  border-radius: 10px;
  background-color: #fff;
  color: var(--ct-color-cta);
}
md-menu-content.md-default-theme md-menu-item,
md-menu-content md-menu-item {
  color: var(--ct-color-primary);
}
.md-menu-content.md-default-theme .material-icons,
md-menu-content .material-icons {
  color: var(--ct-color-emerald);
}
.md-menu-content.md-default-theme a,
md-menu-content a {
  color: var(--ct-color-cta-secondary) !important;
  text-decoration: none !important;
}
.md-menu-content.md-default-theme a svg,
md-menu-content a svg {
  margin-right: 8px;
  fill: var(--ct-color-cta-secondary);
  color: var(--ct-color-cta-secondary);
}
.md-menu-content.md-default-theme a:hover,
md-menu-content a:hover {
  color: var(--ct-color-primary);
  opacity: 0.9;
}
.header-landing {
  position: relative;
  padding: 50px 0px;
  background: var(--ct-body-color);
  .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    position: relative;
    z-index: 5;
    color: #fff;
    .title {
      font-family: "Bricolage Grotesque";
      font-size: 30px;
      font-style: normal;
      font-weight: 700;
    }
    .subtitle {
      font-family: "Alumni Sans";
      font-size: 20px;
      font-weight: 600;
      text-transform: uppercase;
    }
  }
  .img-boxed {
    opacity: 0.45;
  }
}
.header-landing h1 {
  position: relative;
}

.aside-theme {
  background-color: var(--ct-color-alternative);
  border-radius: 12px;
  box-shadow: 0px 13px 26px 0px #0c034314;
  padding: 35px 25px;
  a {
    color: var(--ct-color-cta);
  }
  .default {
    color: #7785a6;
  }
}
.aside-theme .material-icons-outlined {
  position: relative;
  top: 6px;
}
/* .aside-theme a{color:#FFF}*/

/*Sin contenedor*/
.md-dialog .md-dialog-content.loadingValuation md-progress-circular path,
.md-dialog .md-dialog-content.loadingCreateBooking md-progress-circular path,
.md-dialog
  .md-dialog-content.loadingPreconfirmBooking
  md-progress-circular
  path,
.md-dialog .md-dialog-content.loadingBudget md-progress-circular path,
.md-dialog .md-dialog-content.loadingPaymentBooking md-progress-circular path {
  stroke: var(--ct-color-cta);
}

.md-dialog .md-dialog-content.loadingValuation span,
.md-dialog .md-dialog-content.loadingCreateBooking span,
.md-dialog .md-dialog-content.loadingPreconfirmBooking span,
.md-dialog .md-dialog-content.loadingBudget span,
.md-dialog .md-dialog-content.loadingPaymentBooking span {
  color: var(--ct-color-cta);
  font-weight: bold;
}

/* /Custom  */
md-menu-content md-menu-item {
  margin-left: 15px;
  margin-right: 15px;
}

md-progress-linear.md-default-theme .md-bar,
md-progress-linear .md-bar {
  background-color: var(--ct-color-cta);
}
md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused
  label,
md-input-container:not(.md-input-invalid).md-input-focused label,
md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused
  md-icon,
md-input-container:not(.md-input-invalid).md-input-focused md-icon {
  color: var(--ct-color-cta);
}
md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused
  .md-input,
md-input-container:not(.md-input-invalid).md-input-focused .md-input,
md-input-container.md-default-theme:not(.md-input-invalid).md-input-resized
  .md-input,
md-input-container:not(.md-input-invalid).md-input-resized .md-input {
  border-color: var(--ct-color-cta);
}
md-select.md-default-theme:not([disabled]):focus .md-select-value,
md-select:not([disabled]):focus .md-select-value {
  border-bottom-color: var(--ct-color-cta);
}

.header-bar-top {
  position: relative;
  z-index: 10;
  height: 3px;
  background: linear-gradient(
    to right,
    rgba(15, 239, 178, 1) 0%,
    rgba(6, 145, 207, 1) 100%
  );
}
#web-header {
  position: relative;
  z-index: 32;
  background-color: #fff;

  .top-line {
    position: relative;
    z-index: 10;
    background-color: #0a0a0a;
    padding: 0px 15px;
    .content {
      padding: 20px 0px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 30px;
    }
  }
  .bottom-line {
    background-color: #fff;
    .content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      a {
        font-size: 1.7rem;
        font-weight: 600;
        color: var(--ct-body-color);
      }
    }
  }
  .btn-group {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-shrink: 0;
  }
  .btn-link {
    padding: 13px;
    border: 1px solid #969a9b66;
    border-radius: 6px;
    &:hover {
      text-decoration: none;
      border-color: var(--ct-color-cta);
    }
  }
  .btn-header {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ct-font-secondary);
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: #fff;
    gap: 10px;
    .ico {
        
      background: var(--ct-color-secondary);
      color: var(--ct-body-color);
      border-radius: 50%;
      width: 28px;
      height: 28px;
      display: flex !important;
      justify-content: center;
      align-items: center;
    }
    span {
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }
  .area-l {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    .selector-section {
      display: flex;
      border: 1px solid var(--ct-color-cta);
      border-radius: 50px;
      padding: 10px 8px 10px 16px;
      gap: 5px;
      .separator {
        border-left: 5px dotted #d9d9d9;
      }
    }
  }
  .area-l {
    .boxCurrency .md-button {
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: inherit;
      margin: 0px 0px;
      color: #1a2b48;
      font-size: 1.6rem;
      font-weight: 500;
      text-transform: lowercase;
    }
    .boxLanguage .md-button img {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      box-shadow: 1px 0px 2px rgb(41 48 67 / 0.27);
    }
    .boxProfile {
      display: flex;
      justify-content: start;
      align-items: center;
      gap: 5px;
    }
    .btn-as-link {
      display: flex;
      justify-content: start;
      align-items: center;
      gap: 5px;
      font-size: 1.4rem;
      font-weight: 400;
      &:hover {
        .material-icons-outlined {
          color: var(--ct-color-cta);
        }
      }
    }

    .btn-contact {
      border-radius: 0 0 0 25px;
      background-color: var(--ct-color-secondary);
    }
    .btn-user {
      border-radius: 0 0 25px 0;
      background-color: #e7e7f1;
      color: #0e0f23;
      .ico {
        color: var(--ct-color-secondary);
      }
    }
    .my-account {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background-color: rgb(246 244 252 / 0.1);
      color: #fff;
    }
  }
  .area-r {
    display: flex;
    gap: 20px;
    align-items: center;
  }
  .area-r .line-btns {
    display: flex;
    padding: 10px 20px;
    align-items: center;
    gap: 20px;
    align-self: stretch;
    border-radius: 30px;
    background: rgba(235, 241, 255, 0.1);
    .info-contact {
      display: flex;
      flex-direction: column;
      align-items: end;
      gap: 6px;
      .phone {
        background-color: var(--ct-color-secondary);
        color: #fff;
        font-weight: 500;
        font-size: 1.25rem;
        padding: 6px;
        border-radius: 3px;
      }
      .schedule {
        font-weight: 500;
        font-size: 1.1rem;
      }
    }
  }
}

#web-header .right-items .phone {
  font-size: 14px;
}

#web-header .navbar-nav {
  float: left;
  width: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
  padding: 5px 0px;
  flex-wrap: wrap;
}
#web-header .navbar-nav.navbar-right {
  text-align: right;
}
#web-header .navbar-nav > li {
  display: inline-block;
  float: none;
}
#web-header .navbar-nav > li:last-child > md-menu > button,
#web-header .navbar-nav > li:last-child > a {
  padding-right: 0;
}
#web-header .btn-as-link {
  text-align: right;
}
md-menu-item > * {
  padding: 0px;
}
#web-header .navbar-secondary {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin: 0 15px 0 0;
}
#web-header .navbar-secondary > li > a {
  padding-top: 0px;
  padding-bottom: 0px;
  line-height: inherit;
  color: #fff;
}

/*	#web-header .navbar-secondary  > li a, 
					#web-header .navbar-nav  > li a, 
					#web-header .navbar-secondary  > li .btn-as-link, 
					#web-header .navbar-nav  > li .btn-as-link{font-size:1.6rem; font-weight:700; color:#FFF; display:inline-block; margin:0px; }*/

#web-header .btn-as-link .flag-circle {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  float: right;
  overflow: hidden;
  text-align: center;
}
#web-header .btn-as-link .flag-circle > img {
  height: 102%;
  margin-top: -1%;
  margin-left: -2px;
}

md-menu-item > .md-button {
  color: #2e2e2e;
}

#web-header .navbar-nav > li .btn-as-link md-icon {
  position: relative;
  top: -1px;
  width: 12px;
  min-width: 12px;
  height: auto;
  min-height: 1px;
  margin-left: 2px;
  font-size: 16px;
  color: inherit;
}
md-menu > .md-button:active,
md-menu-item > .md-button:active,
md-menu > .md-button:focus,
md-menu-item > .md-button:focus,
md-menu > .md-button:hover,
md-menu-item > .md-button:hover,
#web-header .navbar-nav > li a:focus,
#web-header .navbar-nav > li a:hover,
#web-header .navbar-nav > li .btn-as-link:hover {
  
    color: var(--ct-color-secondary);
    background: var(--ct-body-color);
}
#web-header .boxLanguage .md-button {
  min-width: inherit;
  margin: 0px 0px;
}
#web-header .boxLanguage .md-button img {
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
#web-header .boxLanguage .md-button .material-icons {
  color: #fff;
  font-size: 24px;
}
#web-header .media .media-body {
  width: inherit;
  padding-right: 5px;
}
#web-header .media .media-body .default {
  top: 3px;
}
#web-header .media .media-right .default {
  top: 9px;
}

#web-header .navbar-toggle {
  float: left;
  background-color: transparent;
  margin: 2px 0px;
}
#web-header .navbar-toggle:hover .icon-bar {
  background-color: #fff;
}
#web-header .navbar-toggle .icon-bar {
  background-color: var(--ct-color-secondary);
}

#web-header .navbar-toggle {
  margin: 9px 0px;
}

ul.submenu-special {
  width: 100%;
  margin: 0 0 0 -5px;
  padding: 0;
  list-style: none;
}
ul.submenu-special li {
  width: 100%;
  margin-bottom: 6px;
  border-bottom: #ddd solid 1px;
}
ul.submenu-special a {
  display: inline-block;
  width: 100%;
  padding: 4px 0 6px;
}
ul.submenu-special li:last-child {
  margin: 0;
  border-bottom: 0;
}
ul.submenu-special li:last-child a {
  padding-bottom: 0;
}

md-menu-content.nav-list {
  background-color: #fff;
  font-size: 14px;
  text-transform: uppercase;
}
md-menu-content.nav-list ul {
  list-style: none;
  padding-left: 10px;
}
md-menu-content.nav-list ul li {
  margin: 5px 0px;
}
md-menu-content.nav-list ul a {
  color: var(--ct-color-primary);
}
md-menu-content.nav-list ul a:hover {
  color: var(--ct-color-cta);
}

.know-us-header {
  background-color: var(--ct-color-primary-dark);
  padding: 20px;
  color: #fff;
  .content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 1.35rem;
    font-weight: 600;
    p {
      margin: 0;
      letter-spacing: 0.15em;
      text-transform: uppercase;
    }
  }
}

.sidenav-menu-mvl {
  background: var(--ct-color-cta);
  .navbar-nav > li a,
  .navbar-nav li label {
    padding: 15px;
    color: #fff !important;
  }
}
.sidenav-menu-mvl md-content {
  background: transparent;
}
.sidenav-menu-mvl .logo-brand {
  position: relative;
  top: -16px;
}
.sidenav-menu-mvl ul {
  width: 100%;
  margin: 0;
}
.sidenav-menu-mvl ul .md-button {
  text-transform: inherit;
  text-align: left;
  margin: 0px 0px 2px 0px;
}
.sidenav-menu-mvl ul .md-button,
.sidenav-menu-mvl ul li {
  width: 100%;
  float: left;
}
.sidenav-menu-mvl ul .dropdown label,
.sidenav-menu-mvl ul .md-button,
.sidenav-menu-mvl ul li a,
.sidenav-menu-mvl ul li .btn-as-link {
  display: block;
  width: 100%;
  margin-bottom: 2px;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.2);
}
.sidenav-menu-mvl ul .md-button:hover,
.sidenav-menu-mvl ul li a:hover {
  color: var(--ct-color-cta);
  background: transparent;
}

.sidenav-menu-mvl .navbar-nav .dropdown-content {
  position: static;
  width: 100%;
  background-color: #2f2f31;
}
.sidenav-menu-mvl .navbar-nav .dropdown-content li a,
.sidenav-menu-mvl .navbar-nav .dropdown-content li a:focus,
.sidenav-menu-mvl .navbar-nav .dropdown-content li a:active,
.sidenav-menu-mvl .navbar-nav .dropdown-content li label {
  border: 0px;
  color: #f4f4f4;
  background-color: rgba(0, 0, 0, 0.2);
}
.sidenav-menu-mvl .navbar-nav .submenu-list > input[type="checkbox"] ~ label {
  background-color: rgba(0, 0, 0, 0.2);
  color: #f4f4f4;
}
.sidenav-menu-mvl
  .navbar-nav
  .submenu-list
  > input[type="checkbox"]:checked
  ~ label {
  background-color: #2f2f31;
  color: var(--ct-color-cta);
}
.sidenav-menu-mvl .navbar-nav .dropdown-content li a:hover,
.sidenav-menu-mvl .navbar-nav .dropdown-content li label:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
.sidenav-menu-mvl {
  position: fixed;
  top: 0;
  bottom: 0;
}

/* Main menu V2*/
.navbar-nav {
  --dropdown-width: 250px;
  --dropdown-border-color: #fff;
  --hover-bg-color: #f4f8fc;
  --border-color: #ddd;
}

.navbar-nav > li a,
.navbar-nav li label {
  font-family: var(--ct-font-primary);
  padding: 15px;
  font-size: 1.7rem;
  font-weight: 600;
  color: var(--ct-body-color);
  display: inline-block;
  margin: 0px;
  line-height: 1em;
  text-transform: inherit;

  margin: 0;
}
#header-web .navbar-nav > li a:hover,
.navbar-nav li label:hover {
    color: var(--ct-color-secondary);
    background: var(--ct-body-color);
}

.navbar-nav .dropdown {
  position: relative;
  cursor: pointer;
}

.navbar-nav .dropdown-content {
  display: none;
  position: absolute;
  z-index: 99;
  background-color: #fff;
  margin-top: -1px;
  overflow: hidden;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.175);
  border-top: 2px solid var(--dropdown-border-color);
  width: var(--dropdown-width);
}

.navbar-nav .dropdown-content > div {
  display: flex;
  flex-direction: column;
}

.navbar-nav .dropdown-content li a,
.navbar-nav .dropdown-content li label {
  display: inline-block;
  border-top: 1px solid var(--border-color);
  color: #333;
  padding: 15px 10px;
  width: 100%;
  cursor: pointer;
}

.navbar-nav .dropdown-content li a:hover,
.navbar-nav .dropdown-content li label:hover {
  background-color: var(--hover-bg-color);
}
/*
.navbar-nav .dropdown-content div > li:first-child label,
.navbar-nav .dropdown-content div > li:first-child a {
  border: 0;
}*/

.navbar-nav .dropdown-content-submenu {
  display: none;
  background-color: #dfdfdf;
  border-left:4px solid var(--ct-color-secondary);

}

.navbar-nav .dropdown-content-submenu li:first-child a {
  border-top: 1px solid var(--border-color);
}

.navbar-nav
  .dropdown
  input[type="checkbox"]:checked
  ~ .dropdown-content-submenu {
  display: block;
  
}

.navbar-nav .menu-hover > input[type="checkbox"] ~ label::after,
.navbar-nav .menu-hover > input[type="checkbox"]:hover ~ label::after {
  font-family: "Material Icons";
  -webkit-font-feature-settings: "liga";
  float: right;
}

.navbar-nav .menu-hover > input[type="checkbox"] ~ label::after {
  content: "expand_more";
}

.navbar-nav .menu-hover > input[type="checkbox"]:hover ~ label::after {
  content: "expand_less";
}

.navbar-nav .submenu-list > input[type="checkbox"] ~ label::after,
.navbar-nav .submenu-list > input[type="checkbox"]:checked ~ label::after {
  font-size: 25px;
  float: right;
  font-weight: 400;
}

.navbar-nav .submenu-list > input[type="checkbox"] ~ label::after {
  content: "+";
}

.navbar-nav .submenu-list > input[type="checkbox"]:checked ~ label::after {
  content: "-";
}

@media (width > 768px) {
  .navbar-nav .dropdown input[type="checkbox"]:hover ~ .dropdown-content,
  .navbar-nav .dropdown:hover .dropdown-content {
    display: block;
  }
}

@media (width < 767px) {
  .navbar-nav .dropdown input[type="checkbox"]:checked ~ .dropdown-content {
    display: block;
  }

}

#web-footer {
  position: relative;
  background-color: var(--ct-body-color);
  padding: 0px 15px;
  color: #fff;
  .section-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    div {
      padding-bottom: 24px;
      border-bottom: 3px dotted #d9d9d9;
    }
  }
  .text-2xs {
    color: #fff;
  }
  .social-networks {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: start;
    span {
      font-size: 2.4rem;
    }
    a {
      color: #fff;
    }
  }
  .btn-theme {
    background-color: var(--ct-color-primary-dark);
  }
}
#web-footer ul.links {
  margin: 0px;
}
#web-footer ul.links li {
  margin-bottom: 15px;
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
  color: #1d1d18;
  .icon {
    color: var(--ct-color-cta);
  }
}
#web-footer li a {
  color: #fff;
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
}
#web-footer li a:hover {
  color: var(--ct-color-secondary);
}

#web-footer .contact-forms {
  .content ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    color: #fff;
    background-color: #21246d8f;
    padding: 20px;
    border-radius: 40px;
    li,
    a {
      display: flex;
      align-items: center;
      gap: 5px;
      color: #fff;
    }
    .icon {
      color: var(--ct-color-secondary);
    }
  }
}
#web-footer .separator {
  &::before {
    background-color: var(--ct-color-primary-dark);
  }
  &::after {
    color: #fff;
  }
}
#web-footer .top-line {
  position: relative;
  padding: 100px 30px 30px;
  .info-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    margin-bottom: 40px;
  }
}

#web-footer .top-line .schedule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 1.25rem;
  .material-icons-outlined {
    font-size: 1.8rem;
  }
}
#web-footer .sections-top {
  display: flex;
  flex-direction: column;
  gap: 60px;
  .layout-left {
    padding-right: 40px;
  }
  .layout-right {
    padding-left: 40px;
    border-left: 2px solid #e5e7ec;
  }
}

#web-footer .top-line .container {
  position: relative;
  z-index: 2;
}

#web-footer .bottom-line {
  position: relative;
  padding: 30px;
}
#web-footer .bottom-line .info {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  .powered-by {
    height: 22px;
  }
}
#web-footer .copyright {
  font-size: 1.3rem;
  opacity: 0.75;
}
#web-footer .location-group {
  display: flex;
  flex-direction: column;
  gap: 20px;
  .location {
    display: flex;
    gap: 10px;
    .icon {
      color: #969a9b;
    }
    .texts {
      display: flex;
      flex-direction: column;
      gap: 10px;
      p {
        margin: 0px;
      }
    }
  }
  .additional-info {
    padding-left: 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 1.3rem;
    color: #5c5b5b;
    span {
      color: #969a9b;
    }
  }
}
#web-footer .block-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 12px 20px 12px;
  border-radius: 38px;
  background: rgba(51, 51, 51, 0.07);
}
#web-footer .section-newsletter {
  .content {
    padding: 80px 0px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #d9d9d9;
    flex-wrap: wrap;
    gap: 20px;
    .col-info {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 15px;
      .first-line {
        color: #f2f2f2;
        font-family: var(--ct-font-alternative);
        font-size: 30px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.9px;
      }
      .second-line {
        color: #ebf1ff;
        font-family: var(--ct-font-secondary);
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
      }
    }
  }
}
.icons-group {
  display: flex;
  align-items: center;
  gap: 30px;
}
.btn-link-with-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 500;
  gap: 10px;
  color: #fff;
  .ico {
    background: var(--ct-color-secondary);
    color: var(--ct-body-color);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.tabs-by-tag {
  md-pagination-wrapper {
    gap: 10px;
  }
  .md-tab {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    background-color: #09085140;
    font-size: 1.35rem;
    color: #fff !important;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 6px;
    span {
      display: none;
    }
  }
  .md-tab.md-active {
    background-color: var(--ct-color-primary-dark);
    span {
      display: inline;
      color: #5e90cc;
    }
  }
  md-content {
    background: transparent;
  }
  ul {
    margin-top: 10px;
  }
}
.box-slider {
  padding: 0px 15px;
}
.main-slider {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  background: #0a0a0a;
  box-shadow: 0px 4px 20px 0px #0000001f;
  .layout-overlay {
    position: absolute;
    inset: 0px;
    background-color: #000;
    opacity: 0.4;
    z-index: 1;
  }
  
}

/**/
#web-footer2 {
  /* Tokens locales del footer. Se apoyan en las variables globales del tema
     y sólo definen fallback para no depender de tokens inexistentes. */
  --ft-surface: rgba(255, 255, 255, 0.025);
  --ft-surface-hover: rgba(255, 255, 255, 0.075);
  --ft-border: rgba(255, 255, 255, 0.09);
  --ft-text: #ffffff;
  --ft-muted: rgba(255, 255, 255, 0.62);

  --ft-radius: 18px;
  --ft-gap: 20px;

  position: relative;
  background-color: var(--ct-body-color);
  padding: 80px 15px 30px;
  color: var(--ft-text);

  .container {
    display: flex;
    flex-direction: column;
    gap: var(--ft-gap);
  }

  .text-2xs {
    color: var(--ft-text);
  }

  /* ---------- Superficie base compartida por todos los bloques ---------- */
  .ft-card {
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
    border-radius: var(--ft-radius);
    padding: 24px 28px;
  }

  /* ---------- 1. Newsletter ---------- */
  .ft-newsletter {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 28px;

    .ft-newsletter__icon {
      flex: 0 0 auto;
      width: 72px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.06);
      color: var(--ct-color-secondary);

      .material-icons-outlined {
        font-size: 3.4rem;
      }
    }

    .ft-newsletter__copy {
      flex: 1 1 auto;
      min-width: 0;

      .first-line {
        font-family: var(--ct-font-alternative);
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.9px;
        color: #f2f2f2;

        strong {
          display: block;
          color: var(--ct-color-secondary);
          font-weight: 700;
        }
      }
      .second-line {
        margin: 10px 0 0;
        max-width: 52ch;
        font-size: 1.5rem;
        line-height: 1.5;
        color: var(--ft-muted);
      }
    }

    .ft-newsletter__action {
      flex: 0 0 auto;
      padding-left: 28px;
    }
  }

  /* ---------- 2. ¿No encuentras tu viaje? ---------- */
  .ft-findtrip {
    display: flex;
    align-items: center;
    gap: 24px;

    .ft-findtrip__icon {
      
            flex: 0 0 auto;
            width: 72px;
            height: 72px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.06);
            color: var(--ct-color-secondary);

      .material-icons-outlined {
             font-size: 3.4rem;
      }
    }

    .ft-findtrip__copy {
      flex: 1 1 auto;
      min-width: 0;

      .first-line {
        font-family: var(--ct-font-alternative);
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.5px;
      }
      .second-line {
        margin: 6px 0 0;
        font-size: 1.5rem;
        color: var(--ft-muted);
      }
    }

    .ft-findtrip__actions {
      flex: 0 0 auto;
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
  }
    .btn-theme.btn-alt{border:1px solid #FFF}
  /* ---------- 3. Marca + navegación ---------- */
  .ft-main {
    display: flex;
    gap: 40px;
    padding: 40px 12px;
    margin-top: 8px;
  }

  .ft-brand {
    flex: 0 0 26%;
    max-width: 26%;

    .ft-brand__head {
      display: flex;
      flex-direction: column;
      gap: 24px;
      align-items: flex-start;
    }

    .logotype img {
      max-height: 44px;
      width: auto;
    }

    .ft-brand__claim {
      margin: 20px 0 24px;
      font-size: 1.4rem;
      line-height: 1.6;
      color: var(--ft-muted);
    }
  }

  .social-networks {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    justify-content: start;
    order: 3;

    span {
      font-size: 2.4rem;
    }
    a {
      color: var(--ft-text);
      display: inline-flex;

      &:hover {
        color: var(--ct-color-secondary);
      }
    }
  }

  .ft-nav {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
  }

  .ft-col {
    min-width: 0;

    .ft-col__head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 20px;
      color: var(--ft-text);
      /* En desktop es sólo un encabezado: el acordeón vive en móvil */
      pointer-events: none;
      cursor: default;

      .ico {
        font-size: 2.2rem;
        color: var(--ct-color-secondary);
      }
      .title {
        font-size: 1.6rem;
        font-weight: 600;
        line-height: 1.2;
      }
      .subtitle,
      .chevron {
        display: none;
      }
    }

    .ft-col__list {
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 14px;

      li {
        margin: 0;
      }
      a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 1.5rem;
        color: var(--ft-text);

        &:hover {
          color: var(--ct-color-secondary);
        }
      }
    }

    .ft-col__all {
      color: var(--ct-color-secondary);
      font-weight: 600;

      .arrow {
        font-size: 1.8rem;
        transition: transform 0.2s ease;
      }
      &:hover .arrow {
        transform: translateX(4px);
      }
    }
  }

  /* ---------- 4. Contacto ---------- */
  .ft-contact {
    display: flex;
    align-items: stretch;
    padding: 20px 28px;

    .ft-contact__item {
      flex: 1 1 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 10px 20px;
      color: var(--ft-text);
      border-radius: 12px;
      transition: background-color 0.2s ease;

      & + .ft-contact__item {
        border-left: 1px solid var(--ft-border);
      }
      &:hover {
        background-color: var(--ft-surface-hover);
      }

      .ico {
        display: inline-flex;
        color: var(--ct-color-secondary);
        font-size: 2.6rem;
      }
      .texts {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }
      .title {
        font-size: 1.6rem;
        font-weight: 600;
      }
      .subtitle {
        font-size: 1.3rem;
        color: var(--ft-muted);
      }
    }
  }

  /* ---------- 5. Garantías ---------- */
  .ft-trust {
    display: flex;
    align-items: stretch;
    padding: 20px 28px;

    .ft-trust__item {
      flex: 1 1 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 10px 20px;

      & + .ft-trust__item {
        border-left: 1px solid var(--ft-border);
      }

      .ico {
        color: var(--ct-color-secondary);
        font-size: 2.6rem;
      }
      .texts {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }
      .title {
        font-size: 1.6rem;
        font-weight: 600;
      }
      .subtitle {
        font-size: 1.3rem;
        color: var(--ft-muted);
      }
    }
  }

  /* ---------- 6. Métodos de pago ---------- */
  .ft-payments {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px 28px;

    img {
      max-height: 34px;
      width: auto;
    }
  }

  /* ---------- 7. Línea legal ---------- */
  .ft-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 26px 0 6px;
    text-align: center;

    .ft-bottom__legal {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 1.3rem;
      color: var(--ft-muted);

      a {
        color: var(--ft-muted);

        &:hover {
          color: var(--ft-text);
        }
      }
      .sep {
        opacity: 0.4;
      }
    }

    .powered-by {
      height: 22px;
      width: auto;
    }
  }

  /* ==========================================================================
     MÓVIL — hasta 767px
     ========================================================================== */
  @media (max-width: 767px) {

    .ft-card {
      padding: 30px 20px;
    }

    /* Newsletter: icono arriba, CTA a ancho completo */
    .ft-newsletter {
            flex-wrap: wrap;
            gap: 16px;

      .ft-newsletter__icon {
        align-self: flex-start;
      }
      .ft-newsletter__copy{
        flex: 1 1 60%;
      }              
      .ft-newsletter__copy .first-line {
        font-size: 2.4rem;
      }
      .ft-newsletter__action {
                flex: 1 1 100%;
                
                display: grid;
                grid-template-columns: 1fr;
                gap: 10px;

        .ft-btn {
          width: 100%;
        }
      }
    }

    /* Encontrar viaje: icono + copy en fila, botones apilados */
    .ft-findtrip {
      flex-wrap: wrap;
      gap: 16px;

      .ft-findtrip__icon {
        align-self: flex-start;
      }
      .ft-findtrip__copy {
        flex: 1 1 60%;
      }
      .ft-findtrip__actions {
        flex: 1 1 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;

        .ft-btn {
          width: 100%;
        }
      }
    }

    /* Marca: logo y redes en la misma fila, sin bordes de sección */
    .ft-main {
      flex-direction: column;
      gap: 12px;
      padding: 12px 0;
      border: 0;
    }
    .ft-brand {
      flex: 1 1 auto;
      max-width: 100%;

      .ft-brand__head {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 4px 20px;
      }
      .logotype img {
        max-height: 38px;
      }
    }

    /* Navegación en acordeón: cada columna es una tarjeta desplegable */
    .ft-nav {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .ft-col {
      background: var(--ft-surface);
      border: 1px solid var(--ft-border);
      border-radius: var(--ft-radius);
      overflow: hidden;

      .ft-col__head {
        pointer-events: auto;
        cursor: pointer;
        margin-bottom: 0;
        padding: 18px 20px;
        gap: 14px;

        .ico {
          font-size: 2.8rem;
        }
        .texts {
          flex: 1 1 auto;
          display: flex;
          flex-direction: column;
          gap: 2px;
          min-width: 0;
        }
        .title {
          font-size: 2rem;
        }
        .subtitle {
          display: block;
          font-size: 1.3rem;
          color: var(--ft-muted);
        }
        .chevron {
          display: block;
          font-size: 2.4rem;
          color: var(--ct-color-secondary);
          transition: transform 0.25s ease;
        }
      }

      .ft-col__list {
        display: none;
        padding: 0 20px 18px 58px;
      }

      &.is-open {
        .ft-col__list {
          display: flex;
        }
        .ft-col__head .chevron {
          transform: rotate(180deg);
        }
      }
    }

    /* Contacto y garantías: 3 columnas compactas */
    .ft-contact,
    .ft-trust {
      padding: 16px 8px;
      flex-direction:column;

      .ft-contact__item,
      .ft-trust__item {
        flex-direction: column;
        text-align: center;
        gap: 6px;
        padding: 8px 6px;

        .texts {
          align-items: center;
        }
        .title {
          font-size: 1.4rem;
        }
        .subtitle {
          font-size: 1.2rem;
          line-height: 1.35;
        }
      }
    }

    .ft-payments img {
      max-height: 26px;
    }

    .ft-bottom {
      .ft-bottom__legal {
        gap: 8px;
      }
      .copyright {
        flex: 1 1 100%;
      }
    }
  }

  @media (max-width: 359px) {
    .ft-contact .ft-contact__item .subtitle,
    .ft-trust .ft-trust__item .subtitle {
      display: none;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    * {
      transition: none !important;
    }
  }
}

/**/
.box-presentation,
.main-slider,
.main-slider .item {
  min-height: 650px;

}
.main-slider .position-image {
  position: absolute;
  z-index: 1;
  right: 50%;
  transform: translateX(-100%);
  bottom: 50px;
}

.main-slider .position-caption {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  .caption {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 15px;
    color: #fff;
    font-weight: 600;
    border-radius: 20px;
    padding: 20px;
    .title {
      font-family: var(--ct-font-secondary);
      font-size: 70px;
      font-style: normal;
      font-weight: 600;
      line-height: 50px; /* 111.111% */
      letter-spacing: 4.5px;
      text-transform: uppercase;
      color: #fff;
    }
    .subtitle {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 30px;
      font-style: normal;
      font-weight: 600;
      line-height: 50px; /* 166.667% */
      letter-spacing: 3px;
      text-transform: uppercase;
      font-family: var(--ct-font-secondary);
      color: #fee400;
      .icon {
        color: #ebf1ff;
      }

    }
    .description{font-weight:400; font-size:18px} 
  }
}

.main-slider .carousel-indicators {
  bottom: 50%;
  display: none;
  flex-direction: column;
  gap: 10px;
  left: inherit;
  right: 40px;
  width: inherit;
  li {
    width: 20px;
    height: 20px;
    border: 2px solid rgb(255 255 255 /0.5);
  }
  .active {
    border: 2px solid #ddd;
  }
}

.main-slider .carousel-control {
  top: inherit;
  top: 30px;
  z-index: 10;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--ct-color-primary);
  opacity: 1;
  color: var(--ct-color-secondary);
}
.main-slider .carousel-control.left {
  left: 30px;
}
.main-slider .carousel-control.left span {
  margin-left: -15px;
}
.main-slider .carousel-control.right span {
  margin-right: -15px;
}
.main-slider .carousel-control.right {
  right: 30px;
}
.main-slider .carousel-control span {
  font-size: 1.8rem;
  margin-top: -9px;
}
.main-slider .carousel-control:hover {
  background-color: var(--ct-color-cta);
  color: #fff;
}

.main-slider .position-searcher {
  position: absolute;
  z-index: 3;
  bottom: -44px;
  left: 0px;
  right: 0px;
}
/*
.tabs-searcher {
  float: left;
  width: 100%;
  text-align: left;
}
.tabs-searcher .searcher {
  width: 100%;
  float: left;
  padding: 20px 20px 15px 20px;
  text-align: left;
  border-radius: 8px;
  background-color: #fff;
  transition: all 0.15s;
  box-shadow: 0px 4px 15px 0px #00000047;
}*/





    .box-presentation{position:relative; width:100%; padding:3em 2em; float:left;}
        .box-presentation > header{z-index:3; position:relative; padding: 2em; color: #fff; border-radius: 40px; backdrop-filter: blur(10px); background: rgba(11, 30, 51, 0.5);}
            .box-presentation > header .title{ color: #fff; }
        
        .box-presentation .bg{opacity: 0.4; position: absolute; z-index: 1; inset: 0; background: #0a0a0a;} 
            
        
        
            
    
        
    
    
    
    
    


.banner-recommended {
  position: relative;
  min-height: 260px;
  box-shadow: 0px 4px 4px 0px #00000026;
  border-radius: 8px;
  background-color: var(--ct-color-primary);
  overflow: hidden;
  .image {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 20px;
    width: 170px;
    background-color: #fff;
    border-radius: 0px 0px 70px 0px;
    overflow: hidden;
    .img-boxed {
      right: 15px;
      bottom: 5px;
      border-radius: 0px 0px 70px 0px;
      overflow: hidden;
    }
  }
  .text {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: calc(100% - 170px);
    float: right;
    text-align: center;
    padding: 15px;
    color: #fff;
    .title {
      font-family: var(--ct-font-secondary);
      font-weight: 600;
      font-size: 2.4rem;
    }
    p {
      margin-top: 10px;
    }
  }
}

md-tabs.tabs-searcher md-tabs-wrapper {
  margin-bottom: 5px;
  z-index: 50;
}
md-tabs.tabs-searcher md-tabs-canvas md-pagination-wrapper {
  gap: 4px;
  height: 100%;
  margin: 0 auto !important;
}
md-tabs.tabs-searcher .md-tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: inherit;
  gap: 5px;
  border-radius: 5px;
  padding: 12px 15px;
  background-color: var(--ct-color-primary);
  color: #fff;
  font-weight: 500;
  font-size: 1.55rem;
  letter-spacing: 0.02em;
  span {
    color: var(--ct-color-secondary);
  }
  .hover-link {
    position: absolute;
    inset: 0;
  }
}

md-tabs.tabs-searcher .md-tab.md-active,
md-tabs.tabs-searcher .md-tab:hover {
  color: var(--ct-color-primary);
  background-color: #fff;
}

md-tabs.tabs-searcher .md-tab .tabs-searcher {
  position: relative;
  top: 5px;
  font-size: 1.2em;
  color: #5a5e75;
}

.searcher {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 16px 10px 10px 25px;
  background: rgba(10, 10, 10, 0.9);
  box-shadow: 0 4px 20px 0 rgba(130, 148, 175, 0.4);
  backdrop-filter: blur(10px);
  border-radius: 60px;
  > span {
    font-family: var(--ct-font-secondary);
    font-size: 1.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ct-color-secondary);
    letter-spacing: 1.7px;
    flex-shrink: 0;
  }

  label {
    color: #fdfdfa !important;
    font-size: 1.7rem;
    font-weight: 400;
  }
  md-input-container .md-input {
    color: #fdfdfa !important;
    border-bottom: 1px solid var(--ct-color-cta);
  }
}
.searcher md-radio-group,
.form-custom md-radio-group {
  width: auto;
  display: flex;
  align-items: center;
  gap: 20px;
  border-radius: 25px;
  padding: 10px 25px;
  .col-xs-4 {
    width: inherit;
  }
  md-radio-button {
    margin: 0px;
  }

  md-radio-button.md-default-theme .md-off,
  md-radio-button .md-off,
  md-radio-button.md-default-theme.md-checked .md-off,
  md-radio-button.md-checked .md-off {
    border-color: var(--ct-color-secondary);
  }
  md-radio-button.md-default-theme .md-on,
  md-radio-button .md-on {
    background-color: var(--ct-color-secondary);
  }
  md-radio-button .md-label {
    margin-left: 15px;
    color: #fff;
  }
}
.searcher
  md-checkbox.md-default-theme:not([disabled]).md-primary:not(.md-checked)
  .searcher
  .md-icon,
md-checkbox:not([disabled]).md-primary:not(.md-checked) .md-icon,
.form-custom
  md-checkbox.md-default-theme:not([disabled]).md-primary:not(.md-checked)
  .searcher
  .md-icon {
  border-color: var(--ct-color-secondary);
}

.searcher label,
.form-custom label,
.form-custom
  md-input-container:not([md-no-float])
  .md-select-placeholder
  span:first-child {
  color: #fff !important;
  font-size: 1.6rem;
  font-weight: 400;
}
.searcher md-input-container .md-input,
.form-custom md-input-container .md-input {
  color: #fff !important;
  border-bottom: 1px solid var(--ct-color-secondary);
}

.title-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 15px;
  .title {
    font-family: var(--ct-font-alternative);
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    color: var(--ct-color-primary);
  }

  .description {
    font-family: var(--ct-font-primary);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    color: #333;
  }
}


.tabs-theme md-pagination-wrapper,
account-client-engine-page md-tabs md-pagination-wrapper{
  padding: 10px;
  background-color: #fff;
  gap: 10px;
  height: 65px;
}
.tabs-theme md-tabs-canvas,
account-client-engine-page md-tabs-canvas{
  height: 65px;
}

.tabs-theme .md-tab.md-active,
.tabs-theme .md-tab,
account-client-engine-page md-tabs .md-tab.md-active,
account-client-engine-page md-tabs .md-tab{
  display: flex !important;
  align-items: center;
  gap: 2px;
  color: var(--ct-body-color);
  background-color: transparent;
  border: 1.5px solid var(--ct-body-color);
  font-family: var(--ct-font-secondary);
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  border-radius: 25px;
  padding: 13px;
  height: 45px;
}
.tabs-theme .md-tab.md-active,
account-client-engine-page md-tabs .md-tab.md-active{
  color: #fff;
  background-color: var(--ct-body-color);
}

.tabs-theme .md-tab span,
account-client-engine-page md-tabs .md-tab span{
  position: relative;
  color: var(--ct-color-secondary);
}

.tabs-theme md-ink-bar{
  background-color: var(--ct-color-cta);
  bottom: -5px;
  height: 7px;
  border-radius: 4px;
}


account-client-engine-page md-tabs md-ink-bar{display:none;}

account-client-engine-page md-tabs .md-tab md-icon{display:none;}

.product-recommended {
  position: relative;
  min-height: 440px;
  text-align: left;
  box-shadow: 0px 4px 4px 0px #00000026;

  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 25px;
  &.mini {
    min-height: 300px;
  }
  .tag {
    position: absolute;
    z-index: 10;
    top: 15px;
    right: 15px;
    border-radius: 20px;
    background: #3f4ef4;
    display: flex;
    padding: 10px 15px;
    align-items: center;
    gap: 20px;
    font-family: "Alumni Sans";
    font-size: 17px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: #fff;
    &.alt {
      background-color: #ac3ff4;
    }
  }
}

.product-recommended .box-layout {
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
  padding: 100px 20px 10px 20px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.94) 100%
  );
  .title {
    font-family: var(--ct-font-alternative);
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.22px;
  }
  .info {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 15px;
    p {
      font-size: 1.6rem;
      margin: 0px;
    }
    .footer {
      display: flex;
      padding: 15px;
      align-items: center;
      gap: 20px;
      text-transform: uppercase;
      font-family: var(--ct-font-secondary);
      font-size: 22px;
      font-style: normal;
      font-weight: 600;
    }
    .price {
      color: var(--ct-color-secondary);
    }
  }
}
.product-recommended.mini .info .price:first-child {
  border: 0px;
}
.product-recommended.category-recommended .box-layout {
  height: 254px;
}

.product-recommended .caption {
  padding: 30px 20px 20px 20px;
  background-color: #fff;
  h3 {
    font-size: 1.9rem;
    font-weight: 600;
    color: #212121;
    a {
      color: #212121;
      &:hover {
        color: var(--ct-color-cta);
      }
    }
  }
  .departures {
    display: flex;
    gap: 4px;
    align-items: center;
    .icon {
      font-size: 1.8rem;
    }
  }
}
.product-recommended .caption .separator {
  border-top: 1px solid #e5e7ec;
  margin: 20px 0px;
}
.product-recommended .features {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
}
.product-recommended .include {
  display: flex;
  align-items: center;
  margin-top: 12px;
}
.product-recommended .include .tour-include-icon,
.product-recommended .include .activity-include-icon {
  float: left;
  margin: 0px 3px;
}
.product-recommended .include span {
  color: #eff2f9;
}
.product-recommended .include span:hover {
  color: var(--ct-color-cta);
}
.product-recommended .duration .icon {
  color: #969a9b;
}
.product-recommended .duration .amount {
  font-size: 2.4rem;
  font-weight: 600;
}
.product-recommended footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #eff2f9;
  padding: 20px 15px 16px 15px;
  .price-box {
    display: flex;
    align-items: center;
    gap: 3px;
    color: #5c5b5b;
    .line-2 {
      font-size: 2.4rem;
      font-weight: 600;
      color: #1a2b48;
    }
  }
  .tooltip-tour {
    background-color: var(--ct-color-secondary) !important;
    color: #fff !important;
    opacity: 1 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
  }

  .product-recommended .layout-right {
    position: absolute;
    bottom: 0px;
    right: 0px;
    top: 0px;
    width: 60px;
    text-align: center;
    color: #fff;
  }
  .product-recommended .box-layout {
    border-radius: 8px;
    box-shadow: 0px 2px 16px 0px #0000001f;
  }

  .product-recommended .view-more {
    font-weight: 300;
  }
  .product-recommended .hover-link:hover {
    background: rgba(0, 0, 1, 0.05);
  }
  .product-recommended h3 {
    font-weight: 600;
    color: #0e0f23;
    font-size: 2rem;
    font-family: var(--ct-font-alternative2);
  }
  .product-recommended .position-info-image {
    position: absolute;
    z-index: 10;
    bottom: 10px;
    right: 10px;
    left: 10px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }

  .btn-view {
    padding: 13px 21px;
    border-radius: 27px;
    background-color: var(--ct-color-cta);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 2px 8px 0px #0000001f;
  }
}
.product-recommended .duration {
  display: flex;
  align-items: center;
  font-family: var(--ct-font-alternative2);
  gap: 3px;
  span {
    color: var(--ct-color-cta-secondary);
  }
}

.multiproduct-recommended {
  position: relative;
  background-color: #fff;
  box-shadow: 0px 13px 26px 0px #0c034314;
  border-radius: 8px;
  .title {
    display: flex;
    align-items: center;
    gap: 15px;
    .destination {
      font-family: var(--ct-font-secondary);
      font-weight: 600;
      font-size: 1.9rem;
    }
    .image {
      position: relative;
      border-radius: 8px 8px 12px 0;
      width: 60px;
      height: 60px;
      overflow: hidden;
    }
  }
  .recommendations {
    display: flex;
    flex-direction: column;
    border: 2px solid #e7e7f1;
    border-radius: 8px;
    margin: 12px;
    .line {
      position: relative;
      padding: 8px 5px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 2px solid #e7e7f1;
      .text {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        flex-basis: 48%;
        .product {
          font-weight: 700;
          font-size: 1.9rem;
          color: var(--ct-color-primary);
        }
        .price {
          font-size: 1.3rem;
          color: var(--ct-body-color);
          .line-2 {
            font-size: 1.9rem;
            font-family: var(--ct-font-secondary);
            color: var(--ct-color-cta);
            font-weight: 600;
          }
        }
      }
      .separator {
        height: 30px;
        border-right: 4px dotted #e7e7f1;
      }
      .icon {
        flex-basis: 48%;
        color: #c0c8d7;
        position: relative;
        text-align: center;
        span {
          font-size: 2.4rem;
        }
        .color-primary {
          font-size: 1.8rem;
        }
        .flight {
          position: absolute;
          top: -3px;
          right: 2px;
          font-size: 1.8rem;
        }
      }
      &.no-border {
        border-bottom: 0px;
      }

      .line:hover {
        &:before {
          background-color: var(--ct-color-alternative);
        }
      }
    }
  }
}
.product-recommended.product-squared {
  min-height: 252px;
}
.btn-circle {
  display: flex;
  width: 40px;
  height: 40px;
  padding: 13px;
  justify-content: center;
  align-items: center;
  gap: 5px;
  border-radius: 50%;
  background: #fee400;
  box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.09);
}
.category-recommended {
  background-color: #ebf1ff;
  border-radius: 15px 15px 30px 0;
  .image {
    position: relative;
    height: 252px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.09);
  }
  .caption {
    display: flex;
    padding: 20px 15px 23px 15px;
    justify-content: space-between;
    align-items: center;
    .texts {
      display: flex;
      flex-direction: column;
      .title {
        font-family: "Bricolage Grotesque";
        font-size: 22px;
        font-style: normal;
        font-weight: 600;
      }
      .subtitle {
        font-family: "Alumni Sans";
        font-size: 17px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 1.7px;
        text-transform: uppercase;
        color: #424c65;
      }
    }
  }
}
.destination-recommended {
  position: relative;
  height: 252px; /* mismo alto que la imagen original */
  border-radius: 15px 15px 30px 0;
  overflow: hidden;
  box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.09);
  cursor: pointer;

  .img-boxed {
    position: absolute;
    inset: 0;
    z-index: 1;

    .img-cover {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
  }

  /* Capa oscura para asegurar legibilidad del texto */
  .overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.15) 0%,
      rgba(0, 0, 0, 0.45) 100%
    );
    transition: background 0.3s ease;
  }

  .tag {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 4;
  }

  .caption {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    gap: 12px;

    .title {
      font-family: "Bricolage Grotesque";
      font-size: 28px;
      font-weight: 600;
      color: #fff;
      line-height: 1.1;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    }

    .subtitle {
      display: inline-block;
      padding: 6px 18px;
      background-color: rgba(255, 255, 255, 0.95);
      border-radius: 999px;
      font-family: "Alumni Sans";
      font-size: 15px;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #424c65;
    }
  }

  .btn-circle {
    position: absolute;
    bottom: 15px;
    right: 15px;
    z-index: 4;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  /* Efectos hover */
  &:hover {
    .img-boxed .img-cover {
      transform: scale(1.08);
    }

    .overlay {
      background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.25) 0%,
        rgba(0, 0, 0, 0.6) 100%
      );
    }

    .btn-circle {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
.corporate-section {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 25px;
  align-self: stretch;
  .contact-forms {
    display: flex;
    padding: 30px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex: 1 0 0;
    border-radius: 50px;
    background: #ebf1ff;
    ul {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      align-self: stretch;
      li {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
        flex-wrap: wrap;
        .box {
          display: flex;
          padding: 20px;
          align-items: center;
          gap: 15px;
          border-radius: 40px;
          background: rgba(10, 10, 10, 0.02);
          font-family: "Bricolage Grotesque";
          font-size: 22px;
          font-style: normal;
          font-weight: 600;
          width: 100%;
          .icon {
            font-size: 3.4rem;
            color: #7785a6;
          }
          &.box-white {
            background-color: #fff;
          }
        }
      }
    }
  }
  .separator {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    background-color: #ebf1ff;
    width: 2px;
  }
  .aside {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    flex: 1 0 0;
  }
   .footer{
    display: flex;
    gap: 15px;
    flex-wrap: wrap;}
  }
  .single-review {
    display: flex;
    margin: 15px 0px;
    padding: 20px 15px;
    gap: 20px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
    border-radius: 15px 50px 50px 50px;
    background: #ebf1ff;
    .carousel{width:100%}
    .carousel-control{display:none}
    .carousel-indicators{    right: 15px;    left: inherit;    width: auto;}
    .carousel-indicators .active{background-color:#010101}
    .carousel-indicators li{border-color:#010101;}
    .title {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 3px;
      align-self: stretch;
      font-family: "Bricolage Grotesque";
      font-size: 22px;
      font-style: normal;
      font-weight: 600;
    }
    .separator {
      height: 2px;
      flex-shrink: 0;
      align-self: stretch;
      background-color: #fff;
      width: 100%;
    }
    .content {
      display: flex;
      padding-left: 8px;
      align-items: flex-start;
      gap: 22px;
      align-self: stretch;
      text-align:left;
      .icon {
        color: #7785a6;
        font-size: 3.4rem;
      }
      .layout-r {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 20px;
        flex: 1 0 0;
      }
    }
    .author {
      display: inline-flex;
      padding: 10px 25px 10px 10px;
      align-items: center;
      gap: 20px;
      border-radius: 40px;
      margin-top: 25px;
      background: #0a0a0a;
      color: #fff;
      text-align:left;
      float:left;
      .image {
        position: relative;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border: 6px solid #fff;
        overflow: hidden;
      }
      .title {
        font-family: "Alumni Sans";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        text-transform: uppercase;
      }
    }
  
}

.services-recommended {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 15px;
  background-color: #fff;
  border-radius: 12px;
  padding: 30px 17px 20px 17px;
  .icon {
    font-size: 3.4rem;
    color: #5c5b5b;
  }
  .separator {
    border-right: 3px dotted #1a2b48;
    opacity: 0.3;
    height: 102px;
  }
  .texts {
    flex-grow: 1;
  }
  h4 {
    color: #212121;
    font-size: 1.9rem;
    font-weight: 600;
  }
  .btn-theme {
    float: right;
    font-size: 1.55rem;
    box-shadow: 0px 2px 8px 0px #0000001f;
  }
}
/*
.team-recommended {
  box-shadow: 0px 13px 26px 0px #0c034314;
  background-color: #fff;
  border-radius: 8px 60px 8px 8px;
  padding: 0 16px 20px 16px;
  text-align: center;
  .image {
    position: relative;
    width: 137px;
    height: 135px;
    margin: 0 auto;
    background-color: var(--ct-color-cta);
    border-radius: 0 0 70px 70px;
    .img-boxed {
      right: 5px;
      bottom: 5px;
      left: 2px;
      border-radius: 0 0 70px 70px;
      overflow: hidden;
    }
  }
  .name {
    font-weight: 600;
    font-family: var(--ct-font-secondary);
    font-size: 1.9rem;
  }
  .list-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #3f4294;
    border-radius: 33px;
    padding: 10px 15px;
    margin: 15px 0px;
    a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      &:hover {
        opacity: 0.8;
      }
    }
  }
  .location {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .schedule {
    display: flex;
    align-items: center;
    gap: 5px;
    span {
      color: #babbcf;
    }
  }
}*/

.box-circle {
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid var(--ct-color-primary);
  width: 90px;
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--ct-color-cta);
  span {
    font-size: 4.1rem;
  }
}
.review-recommended {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  justify-content: center;
  text-align: center;
  .image {
    position: relative;
    overflow: hidden;
    width: 138px;
    height: 138px;
    border-radius: 50%;
    background-color: var(--ct-color-primary);
    .img-boxed {
      top: 5px;
      right: 5px;
      left: 2px;
      border-radius: 50%;
      overflow: hidden;
    }
  }
  &.odd .image {
    background-color: var(--ct-color-cta);
  }
  .name {
    font-weight: 600;
    font-family: var(--ct-font-secondary);
    font-size: 1.9rem;
  }
}
.active-star {
  color: #ff9720;
}
.reviews {
  border: 1px solid #babbcf;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff4d;
  padding: 10px;
}
details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background-color: #d9dbed;
  color: var(--ct-color-primary-dark);
  padding: 20px 15px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 1.6rem;
  .icon {
    display: flex;
    align-items: center;
    gap: 20px;
  }
}
details summary::after {
  font-family: "Material Icons";
  content: "expand_more";
  float: right;
  color: var(--ct-color-cta);
  font-size: 2.4rem;
}
details summary:hover,
details[open] summary {
  background-color: #d9dbed;
}
details[open] summary::after {
  font-family: "Material Icons";
  content: "expand_less";
  float: right;
  font-size: 2.4rem;
}
details[open] .padding {
  padding: 15px;
  background-color: #fff;
  border-radius: 0 0 12px 12px;
  box-shadow: 0px 13px 26px 0px #0c034314;
}



/*

.clientMenu,
.agencyMenu {
  font:
    400 1.15em/1.35em "Montserrat",
    sans-serif;
  color: #002147;
}
.clientMenu .navTitle,
.agencyMenu .navTitle {
  font-weight: 500;
  color: #002147;
}
.clientMenu md-icon {
  text-align: center;
  color: #dd4331;
}
account-client-engine-page md-tabs .md-tab,
account-client-engine-page md-tabs .md-tab md-icon {
  text-transform: none;
  color: #ea7125;
}
account-client-engine-page md-tabs .md-tab:hover,
account-client-engine-page md-tabs .md-tab:hover md-icon {
  color: #ff6633FF;
}
account-client-engine-page md-tabs .md-tab.md-active,
account-client-engine-page md-tabs .md-tab.md-active md-icon {
  color: #002147;
}


*/














.seo-section {
  padding: 120px 0;
  .titles {
    font-size: 1.35rem;
    h1,
    h2,
    h3 {
      font-weight: 600;
    }
  }
  .description {
    font-size: 1.37rem;
  }
  /*h1,
  h2,
  h3 {
    color: #212121;
    font-size: 1.9rem;
    font-weight: 600;
  }
  h2 {
    color: #5c5b5b;
  }
  h3 {
    color: #5c5b5b;
    font-size: 1.8rem;
    font-weight: 300;
  }*/
}
.whyBook-section {
  position: relative;
  padding: 180px 0px;
  background-color: var(--ct-color-cta-secondary);
  .layout-overlay {
    position: absolute;
    z-index: 5;
    inset: 0;
    background: #0a0a0a;
    opacity: 0.3;
  }
  .img-boxed {
    z-index: 0;
  }
  .content {
    position: relative;
    z-index: 10;
  }
  .caption {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    font-family: var(--ct-font-secondary);
    font-weight: 600;
    text-transform: uppercase;
    .title {
      color: #fff;
      font-size: 45px;
      line-height: 1;
    }
    .subtitle {
      color: var(--ct-color-secondary);
      font-size: 30px;
      line-height:1em;
    }
    .text-default {
        text-transform:none;
    }    
  }
}
.whyBook-recommended {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  border-radius: 40px;
  background: rgba(11, 30, 51, 0.5);
  backdrop-filter: blur(10px);
  padding: 40px 20px 40px 20px;
  text-align: center;
  color: #fff;
  .icon {
    font-size: 6rem;
    color: var(--ct-color-secondary);
  }
  .image {
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0px 2px 12px 0px #0000001f;
  }
  .title {
    font-family: var(--ct-font-alternative);
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
  }

  p {
    margin-bottom: 0px;
  }
}
.customTravel-section {
  .layout-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: #000;
    opacity: 0.4;
  }
  position: relative;
  padding: 120px 0px;
  background-color: var(--ct-color-cta-secondary);
  .img-boxed {
    z-index: 0;
  }
  .caption {
    position: relative;
    z-index: 5;
    padding: 35px;
    display: flex;
    align-items: center;
    flex-direction: column;
    color: #fff;
    .title {
      font-family: "Alumni Sans";
      font-size: 45px;
      line-height:1em;
      text-transform: uppercase;
    }
    .subtitle {
      font-family: "Alumni Sans";
      font-size: 30px;
      color: #fee400;
      text-transform: uppercase;
    }
  }
}
.knowUs-section {
  background-color: #0a0a0a;
  padding: 110px 0px;
  .content {
    display: flex;
    align-items: center;
    gap: 50px;
  }
  .preview {
    position: relative;
    display: flex;
    width: 320px;
    height: 500px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 14px;
    overflow: hidden;
    .layout-overlay {
      position: absolute;
      inset: 0;
      background-color: #000;
      opacity: 0.2;
      z-index: 1;
    }
    .icon {
      color: var(--ct-color-secondary);
      text-align: center;
      z-index: 5;
      span {
        font-size: 7rem;
      }
    }
  }
  .info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    flex: 1 0 0;
    color: #fff;
    > div {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 15px;
    }
    .title {
      font-family: "Bricolage Grotesque";
      font-size: 30px;
      font-style: normal;
      font-weight: 700;
    }
    .subtitle {
      font-family: "Alumni Sans";
      font-size: 20px;
      font-style: normal;
      font-weight: 600;
      text-transform: uppercase;
    }
  }
}

.hero-theme {
  position: relative;
  height: 445px;
  background-color: #3a3a3a;
  .img-boxed {
    mix-blend-mode: soft-light;
  }
  .position-caption {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 10;
    padding: 100px 0px 40px;
    color: #fff;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.25) 100%
    );
    .content {
      display: flex;
      gap: 25px;
      align-items: center;
      .logo {
        background-color: rgb(255 255 255 / 0.9);
        border-radius: 6px;
        backdrop-filter: blur(5px);
        border-top: 1px solid #fff;
        border-bottom: 1px solid #ddddddb1;
      }
      .texts {
        display: flex;
        flex-direction: column;
        gap: 5px;
      }
      .website {
        display: flex;
        align-items: center;
        color: #ddd;
        gap: 5px;
        span {
          font-size: 1.9rem;
        }
        &:hover {
          color: #fff;
        }
      }
    }
  }
}
.texts-landing {
  .text-title {
    color: var(--ct-color-primary-dark);
  }
}

.grid-5 {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(5, 1fr);
  padding: 1rem;
}

.destination-recommended {
  position: relative;
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 13px 26px 0px #0c034314;
  overflow: hidden;
  .img-boxed {
    overflow: hidden;
  }
  .image {
    position: relative;
    min-height: 200px;
    height:100%;
  }
  .caption {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
  }
  img {
    transition: all 0.25s ease 0s;
  }
  &:hover {
    img {
      transform: scale(1.2) rotate(5deg);
    }
  }
}
/*
.banner-section {
  position: relative;
  height: 500px;
  color: #fff;
  background-color: var(--ct-color-primary);
  padding: 50px 0px;
  .img-boxed {
    opacity: 0.6;
  }
  .caption {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    .title-section {
      justify-content: start;
      color: #fff;
    }
    p {
      max-width: 330px;
    }
  }
}*/
.gallery {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gallery .image {
  position: relative;
  width: 230px;
  height: 180px;
}
.flex-center {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.btn-google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 18px;
  background-color: #fff;
  box-shadow: 0px 4px 4px 0px #0000001c;
  border-radius: 25px;
  color: #0d0d0d;
  font-size: 1.6rem;
}

.description-agency {
  display: flex;
  align-items: center;
  gap: 25px;
  .description {
    display: flex;
    align-items: center;
    gap: 25px;
    .image {
      flex-shrink: 0;
    }
    .texts {
      display: flex;
      flex-direction: column;
      gap: 15px;
      .title {
        font-weight: 600;
        font-size: 1.9rem;
      }
    }
  }
  .b2b-block {
    flex-shrink: 0;
    display: flex;
    gap: 15px;
    align-items: center;
    background-color: #fff;
    box-shadow: 0px 8px 16px 0px #00000014;
    border-radius: 6px 6px 6px 40px;
    padding: 25px 15px;
    max-width: 380px;
    .image {
      position: relative;
      width: 40px;
      height: 81px;
      border-radius: 3px;
      overflow: hidden;
    }
    .title {
      font-weight: 600;
      font-size: 1.9rem;
    }
    .subtitle {
      font-weight: 300;
      font-size: 1.8rem;
    }
    .btn-theme {
      background-color: var(--ct-color-alternative) !important;
    }
  }
}
.separator-theme {
  height: 3px;
  background: #e5e7ec;
}

.section-header {
  color: var(--ct-color-secundary);
  font-family: var(--ct-font-secundary);
  text-transform: uppercase;
  font-weight: 700;
}
.additional-info {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  p {
    padding-right: 10px;
    margin: 0px;
  }
  .btns-group {
    flex-shrink: 0;
  }
}
.group-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.group-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.group-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}


#customForm{width:100%; float:left;}

#customFormMd a, #customForm a{display:inline-block; width:100%;  margin-bottom:10px; padding:30px 15px; font:600 16px var(--ct-font-primary);  text-align:center; color:#FFF;  border:0;  border-radius:16px; box-shadow:0 2px 5px 0 rgba(0,0,0,.26); background-color:var(--ct-color-cta); &:hover{color:var(--Theme-CTA-CTA---main)} }


/*Tours*/
.availEngines .searchResume .searchParameters md-icon,
.availEngines .searchResume .searchParameters {
  color: var(--ct-color-primary);
  font-weight: 500;
  font-size: 1.5rem;
}
.productHotel .optionsContainer .searchResume .newSearch,
.availEngines .searchResume .newSearch md-icon,
.availEngines .searchResume .newSearch {
  color: var(--ct-color-cta);
  font-weight: 800;
}

.availEngines .filtersContainer .title,
.availEngines .resultsContainer .title {
  text-transform: inherit;
}
.availEngines .filtersContainer .filterName md-icon {
  background-color: var(--ct-color-cta);
}
.panel-default {
  border: 0px;
}
.panel.panel-default > .panel-heading,
.panel > .panel-heading {
  font-family: var(--ct-font-secondary);
  background-color: #f4f4f2;
  border-radius: 8px;
  text-transform: uppercase;
  font-weight: 600;
}
.panel > .panel-heading i {
  font-size: 14px;
  color: #213145;
  position: relative;
  top: 5px;
}
.panel-faq {
  width: 100%;
  float: left;
  background-color: transparent;
}
.panel-faq .panel {
  border: 0;
  background-color: transparent;
}
.panel-faq .panel-heading {
  position: relative;
  padding: 0;
  background-color: transparent;
}
.panel-faq .panel-heading a {
  display: inline-block;
  width: 100%;
  padding: 12px 45px 12px 15px;
  font-weight: 700;
  text-transform: none;
  border-radius: 3px;
  color: #fff !important;
  background: var(--ct-color-primary);
}
.panel-faq .panel-heading a .icon {
  position: absolute;
  right: 15px;
  top: 17px;
  color: #fff;
}
.panel-faq .panel-heading.active .plus {
  display: none;
}
.panel-faq .panel-heading a:hover,
.panel-faq .panel-heading a:hover .icon {
  color: var(--ct-color-alternative);
  background: var(--ct-color-cta-secondary);
}
.panel-faq .panel-body {
  background: var(--ct-color-primary-dark);
}
.ui-slider .ui-slider-handle,
.ui-slider .ui-slider-range {
  background-color: var(--ct-color-primary);
}

.productTour .itinerary-summary-text {
  display: none;
}
.productTour .modalityDescription > md-tabs .md-tab.md-active {
  background-color: var(--ct-color-cta);
}
.fc .fc-button-primary {
  color: var(--ct-body-color) !important;
  font-weight:600;
}
.fc .fc-button-primary:hover{color:#FFF !important; background-color:var(--ct-color-cta) !important}

.material-icons-outlined.default{position:relative; top:4px}


.tp-logo {
  display: inline-flex;
  align-items: center;
  gap: .18em;
}

.tp-star {
  width: 1.15em;
  height: 1.15em;
  fill: #00b67a;          /* verde corporativo de Trustpilot */
  flex-shrink: 0;
}

.tp-word {
  font-weight: 700;
  letter-spacing: -.02em;
  color: #191919;
}

.tp-link:hover .tp-word,
.tp-link:hover {
  text-decoration: underline;
}

.tp-link:focus-visible {
  outline: 2px solid #00b67a;
  outline-offset: 3px;
  border-radius: 3px;
}

/* Variante sobre fondo oscuro: añade class="tp-link tp-link--dark" */
.tp-link--dark,
.tp-link--dark .tp-word { color: #ffffff; }

.tours-carousel{
    .tws-carousel-item > .text-center{text-align:left; display: grid;    grid-template-columns: repeat(4, 1fr);    gap: 10px;}
    .carousel-indicators{bottom:-20px; 
        bottom: -20px;
        display: flex;
        justify-content: center;
        gap: 5px;
        align-items: center;}
    .carousel-indicators li{width:18px; height:18px; border:2px solid #000}
    .carousel-indicators li.active{width:40px; background-color:#000;  border:2px solid #000}
    .carousel-control{display:none}
}
.availEngines .resultsContainer .orderTools {
  border: 0px;
}
.availEngines .resultsContainer .orderTools span.titleOrder {
  padding-top: 9px;
  min-height: 39px;
  padding-left: 16px;
  background-color: #000;
  border-bottom: 3px solid #000;
  color: #fff;
  border-radius: 25px 0 0 25px;
  font-size: 14px;
  text-transform: inherit;
}
.availEngines .resultsContainer .orderParameter.md-button {
  border-bottom: 3px solid #eff2f9;
  background-color: #eff2f9;
  border-left: 0px;
  text-transform: inherit;
  font-size: 1.5rem;
}
.availEngines .resultsContainer .orderTools .md-button.orderActive {
  background-color: var(--ct-color-alternative);
  color: var(--ct-color-primary);
  border-bottom-color: var(--ct-color-cta);
}
.availEngines .activityContainer,
.availTours .resultsContainer .tourContainer {
  position: relative;
  border: 0px;
  border-radius: 25px;
  box-shadow: 0px 0px 7px rgb(0 0 0 / 0.19);
}
.availEngines .activityContainer .activityDetails .activityName,
.availTours .resultsContainer .tourContainer .tourDetails .tourName {
  font-size: 26px;
  font-weight: 600;
  color: var(--ct-color-primary);
  font-family: var(--ct-font-alternative);
}
.availEngines .activityContainer .activityDetails .activityDescription,
.availTours .resultsContainer .tourContainer .tourDetails .tourDescription {
  font-size: 1.6rem;
  color: inherit;
  margin: 10px 0px;
}
.availEngines .activityContainer .activityDetails .activityDescription {
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.availTours
  .resultsContainer
  .tourContainer
  .tourDetails
  .tourLocDetails
  md-icon,
.availTours
  .resultsContainer
  .tourContainer
  .tourDetails
  .tourDeparture
  md-icon,
.availTours .resultsContainer .tourContainer .tourDetails .tourDeparture,
.availTours .resultsContainer .tourContainer .tourDetails .tourLocDetails {
  font-size: 1.5rem;
  color: var(--ct-body-color);
}
.productTour .tourCategories span,
.availTours .resultsContainer .tourContainer .tourDetails .tourCategories span {
  display: inline-block;
}
.availEngines .activityContainer {
  padding: 25px 15px;
}
.availEngines .activityContainer .activityImg {
  padding: 0 25px 0 5px;
  aspect-ratio: 1/1;
  max-height: inherit;
}
.availTours .resultsContainer .tourImg {
  z-index: 2;
  position: absolute;
  top: 25px;
  left: 25px;
  width: 160px;
  height: 160px;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
  box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
}
.availTours .resultsContainer .tourImg img {
  position: absolute;
  left: 0;
  width: auto;
  height: 100%;
}
.availEngines .activityContainer img {
  border-radius: 4px;
  -webkit-box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
  box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
}
.availTours .resultsContainer .tourContainer .tourDetailsBox {
  width: 100%;
  padding-left: 200px;
}
.availTours .resultsContainer .tourContainer .tourIncludesDetails {
  border: 0px;
}
.availTours
  .resultsContainer
  .tourContainer
  .tourIncludesDetails
  .includesList {
  background: #efefef;
  border-radius: 8px;
  padding: 10px;
}
.availTours
  .resultsContainer
  .tourContainer
  .tourIncludesDetails
  .includesList
  b {
  display: none;
}
.availTours
  .resultsContainer
  .tourContainer
  .tourIncludesDetails
  .includesList
  i {
  margin: 0px 2px;
}
.availTours
  .resultsContainer
  .tourContainer
  .tourIncludesDetails
  .includesList
  .material-icons {
  color: #0a0a0a;
}
.availTours .resultsContainer .tourContainer .tourPriceDetails .duration,
.availTours
  .resultsContainer
  .tourContainer
  .tourPriceDetails
  .duration
  .material-icons,
.availTours .resultsContainer .tourContainer .tourPriceDetails .info,
.availTours .resultsContainer .tourContainer .tourPriceDetails .price {
  color: var(--ct-color-primary);
}
.availTours .resultsContainer .tourContainer .tourPriceDetails .duration {
  font-size: 14px;
}

.productTour .tourCategories,
.availTours .resultsContainer .tourContainer .tourCategories {
  margin-top: 15px;
}

.availEngines .activityContainer .activityPriceDetails .md-button.price,
.bookingPage .btnContinue,
.availTours
  .resultsContainer
  .tourContainer
  .tourIncludesDetails
  .md-button.viewTour {
  display: inline-block;
  text-align: center;
  padding: 5px 25px;
  border-radius: 25px;
  border: 0px;
  background-color: var(--ct-color-secondary);
  color: var(--ct-body-color) !important;
  font-weight: 600;
  text-transform: inherit;
  font-size: 1.6rem;
}
.productActivity .activityName,
.bookingPage .titlePage,
.productTour .tourName {
  font-size: 4rem;
  font-weight: 600;
  color: var(--ct-color-primary);
  font-family: var(--ct-font-alternative);
}

.productTour .infoTour {
  background: transparent;
}
.productActivity,
.productTour .infoTour,
.productTour .tourName {
  margin-top: 45px;
}
.productTour .tourName {
  margin-bottom: 10px;
  line-height: 1em;
}
.productTour .tourDestinations {
  font-size: 1.6rem;
  color: inherit;
}
.productTour .tourDestinations md-icon {
  position: relative;
  top: 4px;
  color: #00b0ad;
}
.productTour .tourDestinations b {
  color: var(--ct-body-color);
}
.productTour .galleryTour {
  overflow: hidden;
  display: block;
  position: relative;
  width: 100%;
  margin: 0 auto 25px;
  border-radius: 16px;
  box-shadow: 0px 0px 5px rgb(0 0 1 / 32%);
}
.productTour .galleryTour:before {
  content: "";
  display: block;
  padding-top: 56%;
}
.productTour .galleryTour .sliderImages {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 !important;
}
.productTour .galleryTour img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.productTour .galleryTour .sliderImages .arrow {
  top: 50%;
  bottom: inherit;
  padding-top: 20px;
  width: 60px;
  height: 60px;
  background-image: none;
  background-color: #0f1713;
  border-radius: 50%;
  text-align: center;
  color: #00b0ad;
  box-shadow: 0px 0px 21px rgba(0, 0, 1, 0.17);
  opacity: 1;
}
.productTour .galleryTour .sliderImages .arrow:hover {
  background-color: var(--ct-color-primary);
}
.productTour .galleryTour .sliderImages .arrow .glyphicons {
  font-size: 20px;
  position: static;
  margin: 0px;
}
.productTour .galleryTour .sliderImages .arrow.next,
.productTour .galleryTour .sliderImages .arrow.prev {
  opacity: 1;
}
.productTour .shortDescription {
  color: inherit;
  font-size: 1.5rem;
}
.productActivity .informationContainer .detailsTitle,
.bookingPage .boxSummary .serviceContainer .sectionSubservice,
.bookingPage .formContainerBox .paxContainer .roomHeader .title,
.bookingPage .titleSection,
.productTour .additionalDescription > .title,
.productTour .itineraryDescription > .title,
.productTour .includesDescription .title {
  text-align: left;
  font-size: 18px;
  font-weight: 500;
  color: #0f1713;
  border: 0px;
  background: #eff2f9;
  border-radius: 8px;
  padding: 10px 20px;
  margin-bottom: 10px;
  border: 5px solid #fff;
}
.productActivity .informationContainer .detailsTitle .material-icons,
.productTour .additionalDescription > .title .material-icons,
.productTour .itineraryDescription > .title .material-icons,
.productTour .includesDescription .title .material-icons {
  color: #00b0ad;
}
.productTour .includesDescription .boxInclude {
  min-height: 80px;
  height: inherit;
}
.bookingPage .formContainerBox .paxContainer .paxHeader .title,
.productTour .includesDescription .boxInclude > span b {
  font-size: 14px;
  font-weight: 700;
  color: var(--ct-color-primary);
}
.productTour .includesDescription .boxInclude > md-icon {
  color: var(--ct-color-primary);
}
.productTour .includesDescription .boxInclude > span span {
  font-size: 14px;
  line-height: 1.2em;
  margin-top: 5px;
}
.productTour .itineraryDescription > .title {
  margin-bottom: 0px;
}
.productTour .itineraryDescription .dayItinerary .dayInformation {
  border-color: #fff;
}
.productTour .itineraryDescription .dayItinerary .dayNumber {
  font-size: 1.5rem;
  color: #213145;
}
.availTour .configurationTour > .resumeConfiguration > .iconResume,
.availTour
  .availableModality
  .resultsContainer
  > .resumeConfiguration
  > .iconResume,
.availTour .configurationTour > .boxService > .serviceOrder,
.productTour
  .itineraryDescription
  .dayItinerary
  .dayInformation
  .itinerary-day {
  background-color: var(--ct-body-bg);
  border-color: var(--ct-color-cta);
}
.productTour .additionalDescription .boxDescription .title,
.productTour .itineraryDescription .dayItinerary .dayInformation .title {
  font-size: 1.5rem;
  color: var(--ct-color-primary);
  font-weight: 500;
}
.productTour .additionalDescription .boxDescription .text,
.productTour .itineraryDescription .dayItinerary .dayInformation .description {
  color: var(--ct-body-color);
  font-size: 1.5rem;
  line-height: var(--ct-body-line-height);
}
.productTour .itineraryDescription .dayItinerary.contrast {
  background-color: transparent;
  border-color: transparent;
}
.productTour .itineraryDescription .dayItinerary .dayInformation .dayImage img {
  border-radius: 6px;
}

.productTour .infoTour .durationInformation,
.productTour .infoTour .priceInformation {
  width: auto;
  margin: 0 0 10px 2%;
  padding: 10px 15px 6px 15px;
  border-radius: 4px;
}
.productTour .infoTour .durationInformation .duration,
.productTour .infoTour .durationInformation .info {
  color: #213145;
}
.productTour .infoTour .priceInformation {
  padding-top: 15px;
  box-shadow: 0 0 5px 0 rgb(0 0 0 / 30%);
  background: var(--ct-color-secondary);
}
.productTour .infoTour .priceInformation .price,
.productTour .infoTour .priceInformation .info {
  color: #fff;
}
.productTour .columRightDesktop .thumbImages li.active {
  border-radius: 4px;
  border-color: var(--ct-color-cta);
}
.bookingPage .loginBox,
.availTour .configurationTour > .resumeConfiguration,
.availTour .availableModality .resultsContainer > .resumeConfiguration,
.availTour .headerBox,
.productTour .searcherBox {
  background: #0a0a0a;
  border-radius: 16px;
  border: 0px;
  box-shadow: 0px 0px 5px rgb(0 0 1 / 32%);
}
.productTour .searcherBox a {
  color: var(--ct-color-cta);
}
.productTour .searcherBox > .infoSubTitle md-icon {
  color: #00b0ad;
}
.productTour .searcherBox md-checkbox {
  font-size: 14px;
}
.availTour
  .configurationTour
  > .resumeConfiguration
  > .priceInfo
  button.tourBook,
.availTour
  .availableModality
  .resultsContainer
  > .resumeConfiguration
  > .priceInfo
  button.tourBook,
.availTour .headerBox .priceInfo button.tourBook,
.productTour .headerFixed .info .md-button.btnSearch,
.productTour .searcherBox .searchBox .md-button.btnSearch {
  border-radius: 12px;
  font-size: 1.5rem;
  font-weight: 500;
  background-color: var(--ct-color-secondary) !important;
  color: var(--ct-body-color) !important;
}
.productTour .headerFixed {
  background-color: var(--ct-body-color);
}
.productTour .headerFixed .info .md-button.btnSearch {
  font-weight: 400;
  padding: 5px 15px;
  height: inherit;
}
.productTour .searcherBox .includesBox {
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.8);
  border: 0px;
}
.productTour .searcherBox .includesBox .title {
  float: left !important;
  color: #0a0a0a;
}
.productTour .searcherBox .includesBox .listBox {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0px 0px 16px 16px;
  color: #213145;
}
.productTour .searcherBox .includesBox .listBox .line md-icon {
  color: #213145;
}
.productTour .columRightDesktop .shareTour {
  padding: 10px 0px;
}
.productTour .columRightDesktop .shareTour .md-button.icon {
  background-color: var(--ct-color-primary);
  margin: 4px;
}
.productTour .columRightDesktop .filesTour .md-button {
  background-color: var(--ct-color-cta);
  color: #fff;
  border-radius: 8px;
}

.tourHotelInfo .contact {
  background-color: transparent;
}
.tourHotelInfo .contact .line {
  margin: 3px 0px;
  padding: 5px 15px;
  background-color: #f4f4f2;
  border-radius: 25px;
}
.tourHotelInfo .galleryHotel {
  margin: 0px;
}

.availTour .headerBox .resumePrice > .breakdown .label,
.availTour .headerBox .resumePrice > .breakdown .price,
.availTour .headerBox .resumePrice > .breakdown .price,
.availTour .headerBox .resumePrice > .breakdown .person,
.availTour .headerBox {
  font-size: 14px;
  margin-top: 25px;
}
.availTour .headerBox .resumePrice > .breakdown .label {
  color: #f2f2f2;
}
.availTour .headerBox .tourName {
  font-size: 1.6rem;
  font-weight: 700;
}
.availTour .searchResume {
  box-shadow: inherit;
  border: 0px;
}
.availTour .includesTour {
  border-radius: 16px;
}
.availTour
  .serviceInformation
  .hotels
  .cardHotel
  md-card
  md-card-title
  .md-headline,
.availTour .configurationTour > .title,
.availTour .configurationTour > .resumeConfiguration > .title,
.availTour .availableModality .resultsContainer > .resumeConfiguration > .title,
.availTour .includesTour .title {
  font-size: 14px;
  font-weight: 500;
}
.availTour .configurationTour > .resumeConfiguration > .priceInfo .amount,
.availTour
  .availableModality
  .resultsContainer
  > .resumeConfiguration
  > .priceInfo
  .amount,
.availTour .headerBox .priceInfo .amount {
  font-weight: 500;
}
.availTour .configurationTour > .boxService > .serviceOrder {
  color: var(--ct-color-cta);
  padding-top: 1px;
  font-size: 22px;
}
.availTour .configurationTour > .title {
  border-radius: 25px;
  background-color: #f4f4f2;
  color: inherit;
  padding: 8px 20px;
}
.availTour .configurationTour > .boxService {
  border-color: #f4f4f2;
}
.availTour .configurationTour > .resumeConfiguration > .iconResume,
.availTour
  .availableModality
  .resultsContainer
  > .resumeConfiguration
  > .iconResume {
  border: 0px;
}

.availTour .configurationTour > .boxService > .title {
  font-weight: 500;
  font-size: 14px;
  color: inherit;
}
.availTour
  .configurationTour
  > .boxService
  > .configService
  .serviceInformation
  .destinations
  md-icon {
  opacity: 0.75;
  position: relative;
  top: -1px;
  width: 15px;
  min-width: 15px;
  height: 15px;
  min-height: 15px;
  margin-right: 5px;
  font-size: 1.5rem;
  color: var(--ct-color-cta-secondary);
}
.availTour .configurationTour > .boxService > .configService {
  background: transparent;
}
.availTour
  .configurationTour
  > .boxService
  > .configService
  .serviceInformation
  .description {
  font-size: 1.6rem;
}
.availTour
  .configurationTour
  > .boxService
  > .configService
  .modalityContainer {
  padding: 20px 13px;
}
.availTour .configurationTour > .boxService > .configService .serviceChange {
  margin-bottom: 1.6rem;
  padding-left: 24px;
}
.availTour
  .configurationTour
  > .boxService
  > .configService
  .serviceInformation
  .title,
.bookingPage .boxSummary .serviceContainer .serviceData .serviceTitle,
.availTour
  .availableModality
  .resultsContainer
  > .listModality
  > .boxModality
  .serviceInformation
  .title {
  color: var(--ct-color-primary);
  font-size: 21px;
  font-weight: 700;
}
.availTour
  .configurationTour
  > .boxService
  > .configService
  .serviceInformation
  .destinations,
.availTour
  .availableModality
  .resultsContainer
  > .listModality
  > .boxModality
  .serviceInformation
  .destinations {
  font-size: 0.9em;
  color: inherit;
}
.availTour
  .configurationTour
  > .boxService
  > .configService
  .serviceInformation
  .destinations
  md-icon,
.availTour
  .availableModality
  .resultsContainer
  > .listModality
  > .boxModality
  .serviceInformation
  .destinations
  md-icon {
  margin-right: 0;
}
.bookingPage .formContainerBox,
.availEngines .flightContainer,
.availEngines .modalityContainer {
  padding: 10px 0;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 0 5px 0 rgb(0 0 0 / 15%);
  background: #fff;
}
.availTour .configurationTour > .boxService > .configService.complement,
.availTour .configurationTour > .boxService > .configService.insurances {
  margin-bottom: 10px;
  padding: 15px 20px;
  font-size: 0.9em;
  border-radius: 15px;
  -webkit-box-shadow: 0 5px 20px 10px rgb(33 30 55 / 8%);
  box-shadow: 0 5px 20px 10px rgb(33 30 55 / 8%);
  background-color: #fff;
}
.availTour .serviceInformation .hotels .btnShowHotels {
  font-size: 14px;
  color: var(--ct-color-cta);
  font-weight: 500;
}
.availTour .serviceInformation .hotels .btnShowHotels .material-icons {
  color: var(--ct-color-cta);
}

.availTour .configurationTour > .resumeConfiguration > .iconResume md-icon,
.availTour
  .availableModality
  .resultsContainer
  > .resumeConfiguration
  > .iconResume
  md-icon {
  color: var(--ct-color-primary);
}
.availTours .resultsContainer .tourContainer .tourImg {
  height: 100px;
  border-radius: 4px;
}
/* /Tours*/

/* hotels*/
.panel-default.mapContainer {
  background-color: #fff;
  width: 300px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  .panel-body {
    padding: 6px;
  }
}
.productHotel {
  margin-top: 50px;
}
.productHotel .hotelName {
  font-size: 4rem;
  font-weight: 800;
  color: var(--ct-color-primary);
}
.productHotel .hotelName .categoryHotel {
  font-size: 2rem;
}
.productHotel .galleryHotel {
  background-color: transparent;
}
.productHotel .hotelAddress {
  font-size: 1.6rem;
}
.productHotel .hotelGeneralData .iconInfo {
  color: var(--ct-color-primary);
}
.productHotel .hotelGeneralData .viewOnMap .md-button {
  border-color: var(--ct-color-primary);
}
.productHotel
  .optionsContainer
  .roomsContainer
  .boardContainer
  .boardOptionsContainer
  .boardOption
  .optionPrice
  .md-button,
.productHotel .btnBooking,
.availEngines .hotelContainer .hotelPriceDetails .md-button.moreInfo,
.availEngines
  .hotelContainer
  .boardContainer
  .boardOptionsContainer
  .boardOption
  .optionPrice
  .md-button,
.availEngines .resultsContainer .mapContainer .md-button.price,
.productHotel .optionsContainer .askOptions .md-button {
  background-color: var(--ct-color-cta) !important;
  font-weight: 700 !important;
  text-transform: inherit !important;
}
.availEngines
  .hotelContainer
  .boardContainer
  .boardOptionsContainer
  .boardOption
  .optionPrice {
  text-align: right;
}
.availEngines .hotelContainer .hotelPriceDetails .md-button.moreInfo {
  background-color: var(--ct-color-primary) !important;
}

.availEngines .hotelContainer .hotelDetails .hotelName {
  color: var(--ct-color-primary);
  font-size: 2.1rem;
  font-weight: 800;
}
.availEngines .filtersContainer .md-button.viewMap {
  border-color: var(--ct-color-primary);
}

.productHotel .hotelGeneralData .priceInformation .price,
.productHotel .hotelGeneralData .viewOnMap .md-button md-icon,
.availEngines .hotelContainer .hotelPriceDetails .price,
.productHotel .optionsContainer .searchResume .newSearch md-icon {
  color: var(--ct-color-primary);
}

.gm-style .infoBox {
  width: auto !important;
  padding: 0px 2px;
}



    .mobile-pricing-modal .footer .btn-next, .mobile-pricing-modal .footer .btn-finish,
    .flight-choice-step-options .flight-choice-step-btn.md-raised.md-primary{color:#000 !important; border-radius:30px; }
    
    .flight-choice-step-btn{border-radius:30px}

/* Activities */
.productActivity .galleryActivity {
  padding: 0 15px;
  background: transparent;
}
.productActivity .activityDestination {
  font-size: 1.8rem;
}
.productActivity .activityGeneralData {
  box-shadow: 0px 0px 10px rgb(131 130 140 / 0.38);
  border-radius: 6px;
}
.productActivity .modalitiesContainer {
  background: transparent;
}
.productActivity .modalitiesContainer .searchCalendar {
  background: transparent;
}
.productActivity .modalitiesContainer .totalPrice > div > .price,
.productActivity .activityGeneralData .iconInfo {
  color: var(--ct-color-cta);
}
.productActivity
  .modalitiesContainer
  .modalityContainer
  .paxesContainer
  .paxQuantity
  .price,
.productActivity .activityGeneralData .priceInformation .price {
  color: var(--ct-color-primary);
}
.productActivity .informationContainer {
  border: 0px;
  padding: 10px 0px;
  background: transparent;
  margin-bottom: 15px;
}
.productActivity .informationContainer md-divider {
  display: none;
}
.productActivity .informationContainer .description {
  padding: 0px 15px;
}
.productActivity .btnBooking,
.productActivity .modalitiesContainer .totalPrice .md-button {
  background-color: var(--ct-color-cta);
  box-shadow: 0px 0px 5px rgb(0 0 1 / 40%);
  border-radius: 6px;
}

/* flights */
.filtersContainer .panel-default {
  border-radius: 9px;
}
.panel.panel-default > .panel-heading,
.panel > .panel-heading {
  background-color: #eff2f9;
  color: #404151;
}
.availEngines .searchResume {
  background: transparent;
}
.availEngines .flightContainer .boxPrice .optionPrice > div > .price {
  color: var(--ct-color-primary);
}
.availEngines
  .flightContainer
  .journeysContainer
  .journeyContainer
  .btnShowDetails
  a {
  color: var(--ct-color-cta);
}
.availEngines .flightContainer .boxPrice .optionPrice .md-button {
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700 !important;
  box-shadow: 0px 0px 5px rgba(0, 0, 1, 0.4);
  border: 0px;
  background-color: var(--ct-color-secondary) !important;
  text-transform: inherit;
  color: var(--ct-body-color) !important;
}

/* packages */
.availPackages .configurationPackage > .boxService > .configService {
  padding: 15px 0px;
  background: transparent;
}
/* ferries */
.availEngines .resultsContainer .residentResume {
  background-color: #edf2fa;
  border: 1px solid #c7d3e0;
  border-radius: 25px;
  box-shadow: 5px 0px 21px rgb(0 95 156 / 0.12);
}
.availEngines .searchResume .searchParameters md-icon,
.availEngines .searchResume .searchParameters {
  color: var(--ct-color-primary);
  font-weight: 500;
  font-size: 16px;
}
.ferryResume .totalPrice .priceBreakdown md-icon,
.ferryResume .totalPrice .priceBreakdown,
.availEngines .searchResume .newSearch md-icon,
.availEngines .searchResume .newSearch {
  color: var(--ct-color-cta);
  font-weight: 500;
}

.availEngines .filtersContainer .title,
.availEngines .resultsContainer .title {
  text-transform: uppercase;
  font-family: var(--ct-font-secondary);
}

.availEngines .resultsContainer .residentResume .changeResident {
  background-color: var(--ct-color-cta);
  text-transform: inherit;
  font-weight: 500;
  padding: 0px 25px;
  font-size: 1.6rem;
  border-radius: 25px;
}
.availEngines .resultsContainer .residentResume h5 {
  text-transform: inherit;
  color: var(--ct-body-color);
}

.availFerries .resultsContainer .journeyBox {
  color: inherit;
  background: transparent;
  border-bottom: 3px dotted #ddd;
}
.availFerries .resultsContainer .journeyBox .type md-icon i,
.availFerries .resultsContainer .journeyBox .type md-icon {
  color: var(--ct-color-primary);
}
.availEngines .resultsContainer .title {
  padding-top: 0px;
}
.availEngines .ferryContainer.selected {
  border-color: var(--ct-color-secondary);
  border-width: 1px;
}
.availEngines .ferryContainer.selected > .boxRadio {
  background-color: rgba(244, 166, 0, 0.3);
}

.availEngines .ferryContainer .tariffContainer .headerOptions {
  background-color: var(--ct-body-color);
}
.availEngines .ferryContainer .tariffContainer .tariffTitle {
  background-color: #f4f4f4;
  color: var(--ct-body-color);
}
.availEngines .ferryContainer .tariffContainer .boxOption {
  border-color: #f4f4f4;
}
.availEngines .ferryContainer .tariffContainer .boxOption .boxRadio {
  background-color: #f4f4f4;
}
.availEngines .ferryContainer .tariffContainer .boxOption .boxPrice .price {
  color: var(--ct-body-color);
}

.availEngines .ferryContainer .tariffContainer .boxOption.selected {
  border: 2px solid rgba(244, 166, 0, 0.3);
  background-color: rgba(244, 166, 0, 0.3);
}

.bookingPage
  .formContainerBox
  md-input-container.promotionalCodeContainer
  > .md-button,
.bookingPage .btnContinue,
.ferryResume .goBooking {
  background-color: var(--ct-body-color) !important;
  color: #FFF !important;
  border-radius: 25px;
  &:hover{background-color:var(--ct-color-secondary) !important; color:var(--ct-color-primary) !important; md-icon{color:var(--ct-color-primary) !important}}
}
.bookingPage .btnContinue[disabled] {
  color: var(--ct-color-primary) !important;
}


.bookingPage .btnContinue md-icon {
  color: #fff;
}

.bookingPage .btnDownloadBudget.btnContinue[disabled]{color:#fff !important}


/* Checkout */
.bookingPage .panel-title{font-family:var(--ct-font-primary); text-transform:inherit; font-size:15px}

.bookingPage .progressBarContainer {
  font-size: 1.5rem;
}
.bookingPage .progressBarContainer > div.step span {
  font-weight: 500;
  color: inherit;
}
.bookingPage .loginBox {
  padding: 15px;
  color: #fff;
  text-align: left;
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 15px;
}
.bookingPage .loginBox .btnLogin {
  border-radius: 8px;
}
.bookingPage .titleSection {
  margin-top: 30px;
}
.bookingPage .tabsOperation .btnPageOperation {
  background-color: #fff;
  color: var(--ct-color-primary);
  border-radius: 6px 6px 0 0;
}
.bookingPage .tabsOperation .btnPageOperation .material-icons {
  color: var(--ct-color-primary);
}
.bookingPage .tabsOperation .btnPageOperation.active {
  background-color: var(--ct-color-primary);
  color: #fff;
}
.bookingPage .tabsOperation .btnPageOperation.active .material-icons {
  color: #fff;
}
.bookingPage .tabsOperation .btnPageOperation:hover {
  background-color: var(--ct-color-cta);
  color: #fff;
  .material-icons {
    color: #fff;
  }
}
.bookingPage .tabsOperation {
  border-color: var(--ct-color-primary);
}
.bookingPage .infoSection {
  font-size: 14px;
  color: inherit;
}
.bookingPage .formContainerBox {
  padding: 15px;
  font-size: 1.5rem;
}
.bookingPage .formContainerBox .optionalTitle {
  font-size: 1.5rem;
}
.bookingPage .formContainerBox .optionalTitle .material-icons,
.bookingPage .formContainerBox .optionalTitle {
  color: var(--ct-color-primary);
  font-weight: 500;
}
.bookingPage .formContainerBox .optionalTitle + md-checkbox .md-label {
  color: var(--ct-body-color);
}
.bookingPage .formContainerBox .secondBox {
  background-color: #f4f4f2;
  border-radius: 16px;
}
.bookingPage .formContainerBox .paxContainer .roomHeader {
  border: 0px;
}
.bookingPage .formContainerBox .paxContainer .roomHeader .title {
  background: transparent;
  padding: 0px;
}
.bookingPage .formContainerBox.cancelPoliciesContainer .containerBox {
  font-size: 14px;
}
.bookingPage .infoSection.formImportantMsg, .bookingPage .formContainerBox .formImportantMsg{background-color:#fbf6dd; color:#998104; border-color:var(--ct-color-secondary)}
.bookingPage .boxSummary {
  color: inherit;
  border: 0px;
  background-color: #fff;
}
.bookingPage .boxSummary .headerSummary {
  text-transform: inherit;
  background: #fff;
}
.bookingPage .boxSummary .headerSummary b {
  font-weight: 500;
}
.bookingPage .boxSummary .serviceContainer {
  border-color: var(--ct-body-color);
}
.bookingPage .boxSummary .serviceContainer .sectionSubservice {
  font-size: 20px;
}
.bookingPage .boxSummary .serviceContainer .serviceData .serviceInfo {
  color: inherit;
  font-size: 14px;
  padding: 5px 10px;
  border-top: 1px solid #f4f4f2;
  margin-top: 5px;
}
.bookingPage .boxSummary .priceContainer .priceLine {
  font-size: 1.5rem;
}
.bookingPage .contactUs {
  border-radius: 50px;
  background: var(--ct-color-cta);
  color: #fff;
}
.bookingPage .contactUs b {
  font-weight: 500;
}
.bookingPage .contactUs .phone {
  width: 100%;
  float: left;
  font-size: 24px !important;
  line-height: 26px !important;
  color: #fff !important;
}
.bookingPage .securePayment {
  text-align: center;
}
.bookingPage .securePayment .title {
  text-transform: inherit;
  font-weight: 500;
  font-size: 1.5rem;
  margin-top: 30px;
}

.bookingPage .progressBarContainer {
  background-color: transparent;
}
.loginBox .btnLogin {
  border-radius: 25px;
  background-color: #5b6a78;
  color: #fff;
  padding: 10px 20px;
  margin: 5px 0px;
  width: 100%;
  text-transform: inherit;
  font-weight: 500;
}
.loginBox .btnLogin.btnTwitter {
  background-color: #1da1f2;
}
.loginBox .btnLogin.btnLinkedin {
  background-color: #0077b5;
}
.loginBox .btnLogin.btnPayPal {
  background-color: #003087;
}
.loginBox .btnLogin.btnTWSClient {
  margin-top: 10px;
}
.loginBox .btnLogin:hover {
  background-color: var(--ct-color-secondary) !important;
}
.loginBox md-checkbox,
.loginContainer md-checkbox {
  margin-bottom: 0px;
  font-size: 1.5rem;
}
.loginBox .md-block a,
.loginContainer .md-block a {
  font-size: 1.5rem;
}
.registerBox .loginLink {
  background: var(--ct-color-primary);
  color: #fff;
  border-radius: 5px;
  padding: 10px 25px;
  display: inline-block;
  margin-top: 10px;
  font-weight: 700;
}

.flightFareFamilies {
  .title {
    font-weight: 600;
  }
  .card .card-title {
    padding: 5px;
  }
  .card .card-title a {
    font-family: var(--ct-font-primary);
    font-weight: 600;
    font-size: 16px;
  }
  .md-table th {
    font-size: 15px;
  }
  md-dialog-content {
    margin-right: -15px;
    margin-left: -15px;
  }
  .md-dialog-content .md-foot .md-button.active,
  .md-dialog-content .md-foot .md-button {
    width: 100%;
    font-size: 14px;
    background-color: var(--ct-color-cta);
  }
  .md-dialog-content .md-foot .md-cell > div > .price {
    font-size: 18px;
    color: var(--ct-color-secondary);
  }
}

.form-sticky {
  position: sticky;
  top: 10px;
}
.productTour .headerFixed__btn,
.productTour .request .content .request-form-footer .send-button,
.productTour .btn-primary {
  color: #000;
  font-weight: 600;
  border-radius: 25px;
}
.productTour .gallery-view-all-btn {
  background-color: var(--ct-color-cta-secondary);
  color: #fff;
}
@media (max-width: 600px) {
  .productHotel .optionsContainer .askOptions {
    text-align: center;
    flex-direction: column;
  }
}
/*Fix calendar*/
@media (min-width: 762px) {
  tours-product-page .ui-datepicker.travel-datepicker {
    transform: scale(1.3);
  }
  tours-product-page .ui-datepicker.travel-datepicker {
    width: 100%;
    min-width: 21em;
    max-width: 40em;
  }
  tours-product-page .ui-datepicker.travel-datepicker td span,
  tours-product-page .ui-datepicker.travel-datepicker td a {
    width: 100%;
  }
  tours-product-page
    .ui-datepicker.travel-datepicker
    .ui-datepicker-calendar
    td
    a[data-custom-price]::after {
    font-size: 11px;
  }
}
/* Fix v+h movil */
@media (max-width: 991px) {
  .availEngines .hotelContainer .hotelPriceDetails {
    width: 50% !important;
  }
  .availTour .configurationTour,
  .availPackages .configurationPackage {
    padding: 10px !important;
  }
  .availPackages .configurationPackage > .boxService {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border: 0 !important;
  }
  .availPackages .configurationPackage > .boxService > .serviceOrder {
    display: none;
  }

  .availEngines
    .flightContainer
    .journeysContainer
    .journeyContainer
    .col-xs-9 {
    width: 100%;
  }
  .availEngines .hotelContainer .hotelImg {
    width: 100%;
  }
  .availEngines .hotelContainer .hotelDetails {
    padding: 10px;
  }
  .availPackages
    .configurationPackage
    > .boxService
    > .configService
    > .hotelContainer
    .hotelPriceDetails {
    width: 100%;
  }
  .availPackages
    .configurationPackage
    > .boxService
    > .configService
    .serviceChange
    button.modifiyService {
    width: 100%;
  }
  .availEngines .hotelContainer .hotelDetails .md-button.moreInfo {
    color: #f88b00 !important;
    background: #fff !important;
  }

  .availPackages .configurationPackage > .resumeConfiguration > .iconResume,
  .availPackages .changeService > .resumeConfiguration > .iconResume {
    display: none;
  }
  .availPackages .configurationPackage > .resumeConfiguration > .title,
  .availPackages .changeService > .resumeConfiguration > .title {
    color: #fff;
  }
  .availPackages .configurationPackage > .resumeConfiguration,
  .availPackages .changeService > .resumeConfiguration .price-info {
    width: 100%;
  }

  .availEngines .resultsContainer {
    padding-right: 15px;
  }

  .resultsContainer .tourContainer {
    padding: 20px !important;
  }

  .availTours .resultsContainer .tourContainer .tourImg,
  .availTours .resultsContainer .tourContainer .tourDetailsBox {
    position: relative;
    width: 100%;
    padding: 0 !important;
    float: left;
  }

  .availTours .resultsContainer .tourContainer .tourImg {
    max-height: none;
    height: 250px;
    top: auto;
    left: auto;
    right: auto;
    margin-bottom: 20px;
  }

  .availTours .resultsContainer .tourContainer .tourPriceDetails {
    margin-top: 20px;
    text-align: center;
  }
  .availTours
    .resultsContainer
    .tourContainer
    .tourIncludesDetails
    .includesList {
    margin-bottom: 15px;
  }

  .availTours .resultsContainer .tourContainer .tourIncludesDetails > div {
    padding: 0;
    text-align: center;
  }
  .availTours
    .resultsContainer
    .tourContainer
    .tourIncludesDetails
    .md-button.viewTour {
    width: 100%;
  }
  .availTours
    .resultsContainer
    .tourContainer
    .tourIncludesDetails
    .md-button.viewMap {
    margin: 20px auto 0;
    float: none !important;
  }

  tours-product-page .ui-datepicker {
    transform: scale(1.1);
  }
}

@media (max-width: 767px) {
			.availTours .resultsContainer .tourContainer .tourDetailsBox{padding:124px 10px 10px;}
			/*	.availTours .resultsContainer .tourContainer .tourPriceDetails{z-index:10; position:absolute; top:0; right:0;}*/
					.availTours .resultsContainer .tourContainer .tourPriceDetails .duration{margin-top:8px;}
				.availTours .resultsContainer .tourContainer .tourIncludesDetails > .col-md-6.pull-right{width:100%; padding:0;}
					.availTours .resultsContainer .tourContainer .tourIncludesDetails .md-button.viewTour{width:100%;}
			.availTour .configurationTour{margin-left:0; padding:15px;}
				.availTour .configurationTour > .title,
				.availTour .configurationTour > .boxService > .serviceOrder,
				.availTour .configurationTour > .resumeConfiguration > .iconResume{display:none;}
				.availTour .configurationTour > .resumeConfiguration > .priceInfo .amount,
				.availTour .availableModality .resultsContainer > .resumeConfiguration > .priceInfo .amount,
				.availTour  .headerBox .priceInfo .amount,
				.availPackages .configurationPackage > .resumeConfiguration > .priceInfo .amount,
				.availPackages .changeService > .resumeConfiguration > .priceInfo .amount,
				.availPackages > .headerBox .priceInfo .amount{margin-left:12px;}
			.availTour .configurationTour > .boxService{margin-left:0; padding: 0; border: 0;}
			.availEngines .activityContainer .activityImg{width:25%}
			.availTour .activityContainer .activityDetails{width:100%; border-right:0px}
			.resumeConfiguration .priceInfo{flex-direction:column}
}	





            .availTour .activityContainer .activityDetails > a{display:inline-block; margin-top:10px; color:var(--ct-color-cta-secondary)}
            .availTour .activityContainer .activityDetails > a:hover{color:var(--ct-color-primary)}
#customForm{padding:0px 10px}

    /* fin fix v+h */
        /* CAMBIOS VENTEAVIAJAR - Modify all texts in justify */
            .availEngines .activityContainer .activityDetails .activityDescription, .texts-landing p, .productTour .additionalDescription .boxDescription .text p, .productTour .additionalDescription .boxDescription .text, .productTour .itineraryDescription .dayItinerary .dayInformation .description, .productTour .itinerary-detailed-text, .productTour .shortDescription{text-align:justify}
            .availEngines .activityContainer .activityDetails .activityDescription{display:none; padding-right:10px;}
            
            .availEngines .activityContainer{justify-content: space-between; padding-left:200px; min-height:150px;}
            .availEngines .activityContainer > .clearfix{display:none}
                .availTour .activityContainer .activityDetails{border:0;}
                .availEngines .activityContainer .activityImg{position:absolute; top:18px; left:15px; width:auto; aspect-ratio: auto;}
                    .availEngines .activityContainer img{width:160px;}
            
            
            
            
            
            
            
        /*****************************/    
        

        
            

/* General */
@media (min-width: 1200px) {
  .container {
    width: 100%;
    max-width: 1370px;
  }
}
@media (width < 1200px) {
  .product-recommended footer {
    .price-box {
      .line-2 {
        font-size: 1.9rem;
      }
    }
  }

  .group-5,
  .group-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .tours-carousel  .tws-carousel-item > .text-center{ grid-template-columns: repeat(2, 1fr);}
}
@media (width < 1024px) {
  .main-slider,
  .main-slider .item {
    min-height: 450px;
  }
  /*.main-slider .position-searcher {
    position: static;
    padding: 15px 0;
  }*/
  .grid-5 {
    gap: 1.5rem;
  }
}
@media (width < 991px) {
  #web-header .navbar-toggle {
    display: inline-block;
  }
  #web-header .area-r,
  #web-header .area-l {
    padding: 0px;
  }
  #web-header .logo-brand {
    position: static;
    left: unset;
    transform: none;
  }
  .main-slider .position-caption .caption .title {font-size:60px}
  .additional-info {
    flex-wrap: wrap;
    .btns-group {
      flex-shrink: 1;
      gap: 10px;
    }
  }

  .searcher {
    flex-direction: column;
  }
  .form-sticky {
    position: static;
  }
}

@media (width < 767px) {
    
  .grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }
  .main-slider .caption {
    flex-direction: column;
  }
  #web-header .area-r .top-line {
    justify-content: end;
  }
  #web-header .area-r .line-btns {
    gap: 15px; padding:5px;
  }
  .description-agency {
    flex-direction: column;
  }
  .group-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .group-5,
  .group-4 {
    grid-template-columns: repeat(1, 1fr);
  }
  .tours-carousel .tws-carousel-item > .text-center{grid-template-columns: repeat(1, 1fr);}
.main-slider{background:#FFF}
  .main-slider .position-caption {
      
    position:relative;
    top:40px;
    left:inherit;
    transform:inherit;
        .caption {padding:40px 20px}
    
  }
  .main-slider, .main-slider .item{display:inline-block; width:100%}
  
  #web-header  .area-r {gap:5px}
  #web-header .top-line {padding:0px;}
 .availEngines .flightContainer .journeyContainer > .col-xs-9 > .col-xs-2, .availEngines .flightContainer .journeysContainer .journeyContainer .infoItinerary{font-size:.9em}
     .availEngines .activityContainer{padding:10px}
  
      
        
  
  
  
  
  
  .box-container {
    padding: 0px 10px;
  }
  #web-footer .top-line {
    padding: 100px 0px 30px;
  }
  #web-footer .bottom-line,
  #web-footer .sections-top .layout-left,
  #web-footer .sections-top .layout-right {
    padding-left: 0px;
    padding-right: 0px;
    border: 0px;
  }
  .knowUs-section .content,
  .corporate-section {
    flex-direction: column;
  }
  
  .availEngines .activityContainer .activityImg{position:static; top:inherit; left:inherit}
}
  /* Fix movil */
  
        @media (max-width: 767px) {
            .tabs-theme md-tabs-canvas{height:auto; margin:0;}
            .tabs-theme md-pagination-wrapper{position: relative; flex-wrap:wrap; height: auto; padding:0; transform:none !important;}
            .tabs-theme md-next-button, .tabs-theme md-prev-button{display:none;}
            
            
            
            
            .whyBook-recommended{gap:5px; align-items: flex-start; padding:10px 5px 15px 65px; text-align:left;}
                .whyBook-recommended .icon{font-size:34px; position:absolute; top:50%; left:15px; margin-top:-17px;}
        
            
            .whyBook-section .caption{justify-content: flex-start; align-items: flex-start; }
            .customTravel-section .caption {padding: 0; text-align: left; align-items: flex-start;}
            
            .corporate-section .contact-forms{padding:15px;}
                
            
            .product-recommended .duration,
            .product-recommended .price{text-transform:none;}
                .product-recommended .price span{font-size:1.8em; line-height: 16px;}
            
        }
@media (width < 580px) {
  
  .group-3 {
    grid-template-columns: repeat(1, 1fr);
  }
  #web-footer .bottom-line .info {
    flex-direction: column;
    gap: 6px;
  }
}



.clientMenu, .agencyMenu{font-family: var(--ct-font-alternative);
        font-size: 30px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        color: var(--ct-color-primary);
    }

.clientMenu .navTitle, .agencyMenu .navTitle{color:#888}

account-client-engine-page button.md-button{border-radius:30px;}



.gallery {
  display: grid !important; /* Forzamos el grid por si hay conflictos */
  /* Creamos 4 columnas iguales para tener control total */
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 250px 250px; 
  gap: 10px;
  width: 100%;
  margin: 20px 0;

  & .item {
    position: relative;
    width: 100%;
    height: 100%;

    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 8px;
      display: block;
    }

    /* La imagen principal ocupa las 2 primeras columnas y las 2 filas */
    &.main {
      grid-column: span 3;
      grid-row: span 2;
    }
    
    /* Las pequeñas por defecto ocupan 1 columna y 1 fila */
    &:not(.main) {
      grid-column: span 1;
      grid-row: span 1;
    }
  }
/* Responsive para Tablets (ej. 2 columnas) */
  @media (max-width: 992px) {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto; /* Dejamos que el contenido mande */

    & .item {
      &.main {
        grid-column: span 2; /* La principal ocupa toda la fila superior */
        grid-row: span 1;    /* Ya no necesita ser doble de alta */
        height: 350px;
      }
      
      &:not(.main) {
        height: 200px; /* Tamaño fijo para las pequeñas en tablet */
      }
    }
  }

  /* Responsive para Móviles (1 columna) */
  @media (max-width: 576px) {
    grid-template-columns: 1fr;
    gap: 8px;

    & .item {
      &.main, &:not(.main) {
        grid-column: span 1;
        height: 250px;
      }
    }
  }
}

.bg-special{background-color:#fff9da; border-radius:50px}

.team-recommended{
    .image{
        position: relative;
        height: 252px;
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.09);}
    .title{
                font-family: "Bricolage Grotesque";
                font-size: 22px;
                font-style: normal;
                font-weight: 600;
        text-align:center;
    }
    .subtitle{
                font-family: "Alumni Sans";
                font-size: 17px;
                font-style: normal;
                font-weight: 600;
                line-height: normal;
                letter-spacing: 1.7px;
                text-transform: uppercase;
                color: #424c65;
        text-align:center;
    }            
    p{text-align:center}
}/* ============================================
   FORMULARIO MULTI-PASO - ESTILOS
   ============================================ */

/* ---------- Barra de progreso ---------- */
.progress-bar-container {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 30px auto;
    padding: 0 15px;
}

.progress-bar-container::before {
    content: '';
    position: absolute;
    top: 18px;
    left: 30px;
    right: 30px;
    height: 3px;
    background-color: #e0e0e0;
    z-index: 1;
}

.progress-bar-fill {
    position: absolute;
    top: 18px;
    left: 30px;
    height: 3px;
    background-color: var(--ct-color-cta); /* cambia por el color principal de tu marca */
    z-index: 2;
    transition: width 0.4s ease;
    max-width: calc(100% - 60px);
}

.progress-steps {
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 3;
}

.progress-steps span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #fff;
    border: 2px solid #e0e0e0;
    color: #9e9e9e;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.progress-steps span.active {
    background-color: var(--ct-color-cta); /* mismo color principal */
    border-color: var(--ct-color-cta);
    color: #fff;
    box-shadow: 0 2px 6px rgba(25, 118, 210, 0.3);
}

/* ---------- Contenedor de cada paso ---------- */
.step-view {
    animation: fadeInStep 0.35s ease;
    padding: 10px 0;
}

@keyframes fadeInStep {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---------- Botones de navegación ---------- */
.position-btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.position-btns button {
    min-width: 120px;
}

/* Si solo hay un botón (paso 1), lo empujamos a la derecha */
.position-btns button:only-child {
    margin-left: auto;
}

/* ---------- Subtítulos de sección dentro del paso ---------- */
.subtitle-section {
    font-size: 15px;
    color: #424242;
    margin: 15px 0 10px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #f0f0f0;
}

/* ---------- Grupos de radio buttons ---------- */
.radio-group-vertical {
    display: flex !important;
    flex-direction: column;
    gap: 4px;
    padding: 8px 0;
}

.radio-group-vertical md-radio-button {
    margin: 4px 0 !important;
    padding: 8px 12px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.radio-group-vertical md-radio-button:hover {
    background-color: #f5f5f5;
}

.radio-group-horizontal {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    padding: 8px 0;
}

.radio-group-horizontal md-radio-button {
    margin: 4px 0 !important;
}

/* ---------- Checkbox términos y GDPR ---------- */
.webTerms {
    margin-top: 10px !important;
}

.infoGDPR {
    background-color: #f9f9f9;
    border-left: 3px solid var(--ct-color-cta);
    padding: 12px 15px;
    margin-top: 15px;
    font-size: 13px;
    color: #616161;
    border-radius: 0 4px 4px 0;
}

/* ---------- Inputs y labels (refuerzos sobre Material) ---------- */
.step-view md-input-container {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

.step-view label {
    font-weight: 500;
}
.form-contact{padding: 25px;
    border-radius: 16px;
    box-shadow: 0px 0px 10px #ddd;}
/* ---------- Responsive ---------- */
@media (max-width: 600px) {
    .progress-bar-container {
        margin-bottom: 20px;
    }

    .progress-steps span {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }

    .progress-bar-container::before,
    .progress-bar-fill {
        top: 15px;
    }

    .position-btns {
        flex-direction: column-reverse;
        gap: 10px;
    }

    .position-btns button {
        width: 100%;
        margin: 0 !important;
    }

    .radio-group-horizontal {
        flex-direction: column;
        gap: 4px;
    }
}/* =================================================================
   Buscador de destinos — Conecta Turismo
   CSS completo (sustituye al anterior por entero)
   ================================================================= */

.searcher-home, .searcher-home *{ box-sizing:border-box; }

/* ---- Barra ----
   Sin `gap`: Safari no lo soporta en flexbox hasta la 14.1 y en
   iPhones algo antiguos la barra salía con todo pegado.          */
.searcher-home{
  display:flex;align-items:center;
  background: rgba(10, 10, 10, 0.9);
  box-shadow: 0 4px 20px 0 rgba(130, 148, 175, 0.4);
  backdrop-filter: blur(10px);
  border-radius: 60px;
  padding:16px 36px;
}
/* con el panel abierto se desactiva el blur: si no, el desplegable
   y su capa de cierre quedan atrapados dentro de la barra         */
.searcher-home.panel-abierto{ backdrop-filter:none; background:rgba(10,10,10,.95); }

.searcher-home > span{
  flex:none;margin-right:28px;
  font-family: var(--ct-font-secondary);
  font-size: 1.7rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--ct-color-secondary);
  letter-spacing: 1.7px;
}
.searcher-home > div{ display:flex;align-items:center;flex:1 1 auto;min-width:0; }
.searcher-home > div > * + *{ margin-left:20px; }

/* ---- Campo de destinos ---- */
.dst{ position:relative;flex:1 1 auto;min-width:0; }
.dst-backdrop{ position:fixed;top:0;right:0;bottom:0;left:0;z-index:59; }
.dst-field{
  display:flex;align-items:center;width:100%;
  padding:8px 2px;min-height:40px;
  background:transparent;border:0;border-bottom:2px solid #f7cb00;border-radius:0;
  cursor:pointer;text-align:left;font:inherit;color:#fff;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .15s ease;
}
.dst-field:hover{ border-bottom-color:#ffe14d; }
.dst-field:focus-visible{ outline:2px solid #f7cb00;outline-offset:4px;border-radius:4px; }
.dst.is-open .dst-field{ border-bottom-color:#ffe14d; }
.dst-field-text{ flex:1 1 auto;min-width:0; }
/* etiqueta oculta a la vista, pero la leen los lectores de pantalla */
.dst-label{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.dst-value{
  display:block;font-size:17px;line-height:1.5;color:#e6e6e6;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dst.has-value .dst-value{ color:#fff;font-weight:600; }
.dst-caret{ flex:none;margin-left:12px;color:#8c8c8c;transition:transform .2s ease; }
.dst.is-open .dst-caret{ transform:rotate(180deg); }
.dst.is-invalid .dst-field{ border-bottom-color:#ff6b61; }

/* ---- Panel desplegable ---- */
.dst-panel{
  position:absolute;z-index:60;top:100%;left:0;margin-top:8px;
  width:340px;max-width:calc(100% + 40px);
  display:flex;flex-direction:column;max-height:70vh;
  background:#fff;border-radius:12px;box-shadow:0 14px 38px rgba(10,26,49,.28);
  padding:16px;color:#1f3350;
  letter-spacing:normal;text-transform:none;
}

/* cabecera de la hoja: solo se ve en móvil */
.dst-head{ display:none;align-items:center;justify-content:space-between;margin-bottom:14px; }
.dst-head b{ font-size:17px;color:#132a44; }
.dst-close{
  flex:none;width:36px;height:36px;border:0;border-radius:50%;
  background:#eef2f7;color:#1f3350;font-size:18px;line-height:1;cursor:pointer;
}

/* aviso dentro del panel */
.dst-alert{
  flex:none;margin:0 0 14px;padding:10px 12px;border-radius:8px;
  background:#fdecea;color:#a3302a;font-size:13px;
}

.dst-filter{
  flex:none;display:flex;align-items:center;
  border:1px solid #d7dde5;border-radius:8px;padding:8px 12px;margin-bottom:14px;
}
.dst-filter:focus-within{ border-color:#22c1e0;box-shadow:0 0 0 3px rgba(34,193,224,.15); }
.dst-filter-text{ flex:1 1 auto;min-width:0; }
.dst-filter label{ display:block;font-size:13px;font-weight:600;color:#1f3350; }
/* 16px obligatorio: con menos, iOS hace zoom al enfocar el campo */
.dst-filter input{
  width:100%;border:0;padding:0;margin:0;background:transparent;
  font-family:inherit;font-size:16px;line-height:1.4;color:#1f3350;border-radius:0;
  -webkit-appearance:none;appearance:none;
}
.dst-filter input::placeholder{ color:#9aa7b8; }
.dst-filter input:focus{ outline:none; }
.dst-filter svg{ flex:none;margin-left:10px;color:#5b7a9c; }

.dst-list{
  flex:1 1 auto;min-height:0;max-height:330px;
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  margin:0 -4px;padding:0 4px;
}
.dst-region + .dst-region{ border-top:1px solid #e7ecf2; }
.dst-region-head{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  background:none;border:0;padding:12px 4px;font:inherit;cursor:pointer;
  font-size:16px;font-weight:700;color:#132a44;text-align:left;
  -webkit-tap-highlight-color:transparent;
}
.dst-region-head:focus-visible{ outline:2px solid #22c1e0;outline-offset:-2px;border-radius:6px; }
.dst-toggle{ flex:none;margin-left:12px;width:20px;height:20px;position:relative;color:var(--ct-color-secondary); }
.dst-toggle::before,.dst-toggle::after{ content:"";position:absolute;background:currentColor;border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%); }
.dst-toggle::before{ width:14px;height:2px; }
.dst-toggle::after{ width:2px;height:14px;transition:transform .2s ease; }
.dst-region.is-open .dst-toggle::after{ transform:translate(-50%,-50%) scaleY(0); }

.dst-region-body{ display:none;padding-bottom:6px; }
.dst-region.is-open .dst-region-body{ display:block; }
.dst-item{
  display:flex;align-items:center;width:100%;
  background:none;border:0;padding:10px 6px;font:inherit;cursor:pointer;
  font-size:15px;color:#2b4a6f;text-align:left;border-radius:6px; text-decoration:none; 
  -webkit-tap-highlight-color:transparent;
}
.dst-item:hover{ background:#eef6fb;color:#12385f;  text-decoration:none;}
.dst-item:focus-visible{ outline:2px solid #22c1e0;outline-offset:-2px;  text-decoration:none; color:#12385f;}
.dst-item svg{ flex:none;margin-right:10px;color:#000; }
.dst-item span{ flex:1 1 auto;min-width:0; }
.dst-item.is-selected{ font-weight:600;color:#12385f;background:#eef6fb; }
.dst-empty{ padding:18px 6px;font-size:14px;color:#7d8ea3; }

/* mensaje de error suelto, por si lo mantienes fuera del panel */
.dst-error{ margin:6px 0 0;font-size:13px;color:#ffb3ae; }

/* ---- Botón Buscar (tus estilos mandan) ---- */
.btnSearch:hover{ background:#12aecc;color:#0a2233;text-decoration:none; }
.btnSearch.is-disabled{ background:#5d7893;color:#d6e2ee;cursor:not-allowed; }

/* =================================================================
   MÓVIL — 767px para cuadrar con el .hidden-xs de Bootstrap
   ================================================================= */
   /* el componente entero sube de capa mientras el panel está abierto */
.searcher-home.panel-abierto{ position:relative; z-index:9999; }

@media (max-width:767px){
  .dst-backdrop{}
  .dst-panel{}
}
@media (max-width:767px){

  .searcher-home{
    flex-direction:column;align-items:stretch;
    border-radius:24px;padding:22px 18px;
    /* sin blur: atrapa dentro de la barra al panel y a su capa de cierre */
    backdrop-filter:none;background:rgba(10,10,10,.95);
  }
  .searcher-home > span{ margin:0 0 16px;font-size:1.4rem; }
  .searcher-home > div{ flex-direction:column;align-items:stretch; }
  .searcher-home > div > * + *{ margin-left:0;margin-top:22px; }

  .dst-field{ min-height:48px; }
  .dst-value{ font-size:16px; }

  /* el panel pasa a hoja anclada abajo: no lo recorta ningún
     contenedor con overflow y siempre cabe en pantalla */
  .dst-panel{
    position:fixed;top:auto;right:0;bottom:0;left:0;margin:0;
    width:auto;max-width:none;
    border-radius:18px 18px 0 0;
    padding:18px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    box-shadow:0 -12px 40px rgba(0,0,0,.45);
     z-index:9999; min-height:45vh; 
  }
  .dst-list{ max-height:none; }
  .dst-head{ display:flex; }
  .dst-backdrop{ z-index:9998;  background:rgba(0,0,0,.55); }

  /* zonas táctiles más cómodas */
  .dst-region-head{ padding:14px 4px; }
  .dst-item{ padding:13px 6px;font-size:16px; }

  .btnSearch{ width:100%; }
}

@media (prefers-reduced-motion:reduce){
  .dst-field,.dst-caret,.dst-toggle::after,.btnSearch{ transition:none; }
}

/* =================================================================
   DOS AJUSTES NECESARIOS EN EL HTML
   -----------------------------------------------------------------
   1) En el div de la barra, añade el ng-class:

      <div class="searcher-home"
           ng-class="{'panel-abierto': dst.abierto}"
           ng-init="dst = {abierto:false, sel:null, q:'', abiertas:{}, error:false}">

   2) Como primer hijo de .dst-panel, añade la cabecera de la hoja:

      <div class="dst-head">
        <b>Destinos</b>
        <button type="button" class="dst-close"
                ng-click="dst.abierto = false" aria-label="Cerrar">&times;</button>
      </div>
   ================================================================= */
   
   .knowUs-section .preview { position: relative; overflow: hidden; width: 281px; margin: 0 auto;    height: auto;    aspect-ratio: 9 / 16;}
.knowUs-section .video-facade { cursor: pointer; }
.knowUs-section .video-embed {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    width: 281.25px;   /* 500 × 9/16 */
}

.knowUs-section .video-embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* La portada sí llena los 320px completos */
.knowUs-section .video-facade,
.knowUs-section .video-facade .img-boxed {
    width: 100%;
    height: 100%;
}
.knowUs-section .video-facade .img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 400px) {
    .knowUs-section .preview {
        width: 100%;
        max-width: 320px;
        height: auto;
        aspect-ratio: 320 / 500;
    }
    .knowUs-section .video-embed {
        width: auto;
        aspect-ratio: 9 / 16;
    }
}