@charset "UTF-8";
/* Variables */
.M06 {
  padding: 80px 0 80px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .M06 .container-fluid {
      padding-inline: 20px !important; } }
  @media screen and (max-width: 768px) {
    .M06 {
      padding: 64px 0; } }
  .M06 .top {
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 24px;
    border-bottom: 1px solid #1C2222;
    margin-bottom: 16px; }
    .M06 .top .title {
      margin-bottom: 6px; }
      .M06 .top .title > * {
        font-family: "WorkSans", sans-serif;
        font-weight: 600;
        font-size: 40px;
        line-height: 90%;
        color: #1C2222;
        letter-spacing: -0.8px;
        margin: 0; }
        @media screen and (max-width: 992px) {
          .M06 .top .title > * {
            font-family: "WorkSans";
            font-size: 32px;
            font-style: normal;
            font-weight: 600;
            line-height: 100%;
            letter-spacing: -0.96px; } }
        .M06 .top .title > * em {
          font-family: "Playfair Display", sans-serif;
          font-weight: 400;
          font-style: italic;
          font-size: 40px;
          line-height: 90%;
          letter-spacing: -0.8px; }
      @media screen and (max-width: 768px) {
        .M06 .top .title {
          margin-bottom: 23px; } }
    @media screen and (max-width: 768px) {
      .M06 .top .subtitle {
        margin-bottom: 32px; } }
    .M06 .top .subtitle > * {
      color: #5D5F5C;
      font-family: "WorkSans", sans-serif;
      font-size: 16px;
      font-weight: 400;
      line-height: 120%;
      letter-spacing: -0.24px;
      margin: 0; }
    @media screen and (max-width: 768px) {
      .M06 .top {
        flex-direction: column;
        align-items: start; } }
  .M06 .below {
    position: relative;
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 50px;
    flex-wrap: wrap;
    row-gap: 20px; }
    .M06 .below .sectionFilters {
      display: flex;
      align-items: stretch;
      gap: 24px; }
      .M06 .below .sectionFilters > * {
        min-width: 227px; }
      @media screen and (max-width: 990px) {
        .M06 .below .sectionFilters {
          flex-direction: column;
          width: 100%; } }
    .M06 .below .filterLoader {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-left: 12px;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .2s ease; }
      .M06 .below .filterLoader.is-visible {
        opacity: 1;
        visibility: visible; }
      .M06 .below .filterLoader .spinner {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        border: 3px solid #1C2222;
        border-top-color: #ED8664;
        animation: m06Spin .8s linear infinite; }
      .M06 .below .filterLoader[hidden] {
        display: none !important; }
    .M06 .below .pag_arrows {
      display: flex;
      align-items: center;
      gap: 24px;
      justify-content: end; }
      .M06 .below .pag_arrows .swiper-pagination {
        position: static;
        color: #5D5F5C;
        font-family: "WorkSans", sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 120%;
        /* 19.2px */
        letter-spacing: -0.24px; }
        @media screen and (max-width: 768px) {
          .M06 .below .pag_arrows .swiper-pagination {
            display: none; } }
      .M06 .below .pag_arrows .swiper-navigation {
        display: flex;
        align-items: center;
        gap: 8px; }
        .M06 .below .pag_arrows .swiper-navigation .swiper-prev,
        .M06 .below .pag_arrows .swiper-navigation .swiper-next {
          width: 30px;
          height: 30px;
          border-radius: 99px;
          border: 1px solid #1C2222;
          align-items: center;
          justify-content: center;
          transition: .3s all linear; }
          .M06 .below .pag_arrows .swiper-navigation .swiper-prev.swiper-button-disabled,
          .M06 .below .pag_arrows .swiper-navigation .swiper-next.swiper-button-disabled {
            pointer-events: none;
            cursor: default;
            opacity: .4; }
          .M06 .below .pag_arrows .swiper-navigation .swiper-prev:not(.swiper-button-lock),
          .M06 .below .pag_arrows .swiper-navigation .swiper-next:not(.swiper-button-lock) {
            display: flex; }
          .M06 .below .pag_arrows .swiper-navigation .swiper-prev img,
          .M06 .below .pag_arrows .swiper-navigation .swiper-next img {
            width: 18px;
            height: 18px; }
          .M06 .below .pag_arrows .swiper-navigation .swiper-prev:hover,
          .M06 .below .pag_arrows .swiper-navigation .swiper-next:hover {
            background-color: #ED8664;
            border-color: #ED8664; }
      @media screen and (max-width: 768px) {
        .M06 .below .pag_arrows {
          flex-direction: column-reverse;
          gap: 10px; } }
    @media screen and (max-width: 768px) {
      .M06 .below {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
        margin-bottom: 20px; }
        .M06 .below .filterLoader {
          margin-left: 0; } }
  .M06 .swiperTours {
    position: relative;
    overflow: visible; }
    .M06 .swiperTours::after {
      content: "";
      position: absolute;
      inset: 0;
      background-color: rgba(255, 255, 255, 0.55);
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s ease;
      z-index: 3; }
    .M06 .swiperTours.is-loading::after {
      opacity: 1; }
    .M06 .swiperTours::part(container) {
      overflow: visible; }
    .M06 .swiperTours .swiper-slide {
      height: auto; }
    .M06 .swiperTours .post {
      width: 100%;
      min-height: 580px;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 24px;
      position: relative;
      overflow: hidden; }
      .M06 .swiperTours .post .image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        object-fit: cover;
        object-position: center;
        transition: 0.3s all cubic-bezier(0.46, 0.03, 0.52, 0.96); }
        @media screen and (max-width: 768px) {
          .M06 .swiperTours .post .image {
            height: 60%; } }
      .M06 .swiperTours .post .tags {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap; }
        .M06 .swiperTours .post .tags .tag {
          display: flex;
          align-items: center;
          gap: 4px;
          color: #1C2222;
          font-family: "WorkSans", sans-serif;
          font-size: 12px;
          font-weight: 500;
          line-height: 120%;
          letter-spacing: -0.18px;
          background-color: #FFF;
          padding: 2px 9px;
          border: 1px solid;
          border-radius: 99px; }
          .M06 .swiperTours .post .tags .tag img {
            width: 12px;
            height: 12px; }
          .M06 .swiperTours .post .tags .tag:not(.common) {
            background-color: #ED8664;
            border: 0; }
      .M06 .swiperTours .post .infoBox {
        background-color: #FFF;
        padding: 24px 32px;
        width: 100%;
        max-width: 588px; }
        .M06 .swiperTours .post .infoBox .titleSubtitle {
          padding-bottom: 16px;
          border-bottom: 1px solid #1C2222; }
        .M06 .swiperTours .post .infoBox .title > * {
          font-family: "WorkSans", sans-serif;
          font-weight: 600;
          font-size: 56px;
          line-height: 90%;
          color: #1C2222;
          letter-spacing: -2.8px;
          margin-bottom: 16px; }
          .M06 .swiperTours .post .infoBox .title > * em {
            font-weight: 500;
            font-style: italic;
            font-size: 56px;
            line-height: 95%;
            letter-spacing: -1.68px;
            font-family: "Playfair Display", serif; }
            @media screen and (max-width: 992px) {
              .M06 .swiperTours .post .infoBox .title > * em {
                font-family: "Playfair Display";
                font-size: 32px;
                font-style: italic;
                font-weight: 500;
                line-height: 120%;
                letter-spacing: -0.64px; } }
          @media screen and (max-width: 768px) {
            .M06 .swiperTours .post .infoBox .title > * {
              font-size: 32px;
              line-height: 100%;
              letter-spacing: -0.96px; } }
        .M06 .swiperTours .post .infoBox .subtitle {
          color: #BB4F2A;
          font-family: "WorkSans", sans-serif;
          font-size: 16px;
          font-weight: 500;
          line-height: 110%;
          letter-spacing: -0.28px; }
        .M06 .swiperTours .post .infoBox .excerpt {
          margin-top: 36px;
          margin-bottom: 16px;
          color: var(--Negro, #1C2222);
          font-family: "WorkSans", sans-serif;
          font-size: 16px;
          font-weight: 400;
          line-height: 120%;
          letter-spacing: -0.24px; }
          @media screen and (max-width: 768px) {
            .M06 .swiperTours .post .infoBox .excerpt {
              font-size: 14px;
              letter-spacing: -0.21px; } }
        .M06 .swiperTours .post .infoBox .goBackCTA {
          display: flex;
          align-items: center;
          gap: 5px;
          width: fit-content;
          position: relative; }
          .M06 .swiperTours .post .infoBox .goBackCTA .arrow {
            min-width: 18px;
            height: 15px;
            border-right: 1px solid #1C2222;
            position: relative;
            overflow: hidden; }
            .M06 .swiperTours .post .infoBox .goBackCTA .arrow img.first {
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              width: 21px;
              height: 15px;
              transition: 0.3s all cubic-bezier(0.46, 0.03, 0.52, 0.96); }
            .M06 .swiperTours .post .infoBox .goBackCTA .arrow img.second {
              position: absolute;
              top: 50%;
              left: -120%;
              transform: translate(0%, -50%);
              width: 21px;
              height: 15px;
              transition: 0.3s all cubic-bezier(0.46, 0.03, 0.52, 0.96); }
          .M06 .swiperTours .post .infoBox .goBackCTA .goBack {
            position: relative;
            color: #1C2222;
            font-family: "WorkSans", sans-serif;
            font-size: 14px;
            font-weight: 400;
            line-height: 120%;
            letter-spacing: -0.21px;
            text-decoration: none;
            width: fit-content;
            display: flex;
            align-items: center;
            gap: 5px;
            transition: 0.3s all cubic-bezier(0.46, 0.03, 0.52, 0.96); }
            .M06 .swiperTours .post .infoBox .goBackCTA .goBack.hover {
              position: absolute;
              top: 0;
              opacity: 0; }
            .M06 .swiperTours .post .infoBox .goBackCTA .goBack:after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: "";
              width: 8px;
              height: 1px;
              background-color: #1C2222;
              transition: 0.3s all cubic-bezier(0.46, 0.03, 0.52, 0.96); }
        @media screen and (max-width: 768px) {
          .M06 .swiperTours .post .infoBox {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 32px 16px 16px 16px;
            border: 1px solid #1C2222; } }
      .M06 .swiperTours .post .priceAndCta {
        display: flex;
        align-items: center;
        gap: 16px; }
        .M06 .swiperTours .post .priceAndCta .tourPrice {
          color: #1C2222;
          font-family: "WorkSans";
          font-size: 16px;
          font-style: normal;
          font-weight: 500;
          line-height: 110%;
          letter-spacing: -0.28px; }
          .M06 .swiperTours .post .priceAndCta .tourPrice .taxInfo {
            color: #5D5F5C;
            font-size: 12px;
            font-weight: 500;
            line-height: 120%;
            letter-spacing: -1.5%;
            margin-left: 4px; }
        @media screen and (max-width: 768px) {
          .M06 .swiperTours .post .priceAndCta {
            justify-content: space-between; } }
      .M06 .swiperTours .post:hover .image {
        transform: scale(1.12); }
      .M06 .swiperTours .post:hover .ctaPrimary {
        background-color: #1C2222;
        color: #FFF;
        border: 1px solid #1C2222; }
      .M06 .swiperTours .post:hover .goBack.noHover {
        position: absolute;
        top: 0;
        opacity: 0; }
      .M06 .swiperTours .post:hover .goBack.hover {
        position: relative !important;
        opacity: 1 !important; }
      .M06 .swiperTours .post:hover .goBack:after {
        width: 100% !important; }
      .M06 .swiperTours .post:hover .arrow {
        border-right: 0 !important;
        border-left: 1px solid #1C2222; }
        .M06 .swiperTours .post:hover .arrow img.first {
          left: 180% !important; }
        .M06 .swiperTours .post:hover .arrow img.second {
          left: 1px !important; }
      @media screen and (max-width: 768px) {
        .M06 .swiperTours .post {
          aspect-ratio: unset;
          min-height: 640px;
          position: relative; } }
  .M06 .vscomp-ele .vscomp-wrapper,
  .M06 .dateSelector {
    color: #5D5F5C;
    font-family: "WorkSans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.24px; }
  .M06 .dateSelector {
    min-height: 35px;
    background-position: 98% center; }
  .M06 .vscomp-ele .vscomp-wrapper .vscomp-toggle-button {
    padding-left: 0; }

/* A11y: foco claro en los selects virtuales */
.M06 .sectionFilters .filterInput:focus-visible,
.M06 .sectionFilters .vscomp-ele-wrapper:focus-visible {
  outline: auto;
  outline-color: Highlight;
  outline-offset: 2px; }

/* Ocultar completamente los filtros hasta que VirtualSelect esté inicializado */
.M06 .sectionFilters.vs-initializing {
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important; }

/* Forzar ocultar todos los dropboxes durante inicialización */
.M06 .sectionFilters.vs-initializing .vscomp-dropbox-container,
.M06 .sectionFilters.vs-initializing .vscomp-options-container,
.M06 .sectionFilters.vs-initializing .vscomp-dropbox,
.M06 .sectionFilters.vs-initializing .pop-comp-wrapper {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important; }

.M06 .vscomp-wrapper:not(.has-value) .vscomp-value {
  opacity: 1; }

.M06 .resetFiltersContainer {
  width: 100%;
  position: absolute;
  bottom: 10px; }
  @media screen and (min-width: 768px) {
    .M06 .resetFiltersContainer {
      bottom: -20px; } }

.M06 a.reset {
  position: relative;
  color: #1C2222;
  font-family: "WorkSans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: -0.21px;
  text-decoration: none;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 5px; }

.M06 a.reset:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  width: 8px;
  height: 1px;
  background-color: #1C2222;
  transition: .3s all linear; }

.M06 a.reset:hover:after {
  width: 100%; }

@keyframes m06Spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }
