  :root {
      --primary-color: #A8873D;
      --secondary-color: #DC6C14;
  }

  body {
      margin: 0;
      font-family: "Montserrat", sans-serif;
  }

  .post,
  .page {
      margin: 0 !important;
  }

  .link-logo {
      position: absolute;
      left: 45px;
      top: 45px;
  }

  .logo-slide {
      max-width: 200px;
      width: 200px;
  }

  .swiper.mySwiper {
      width: 100%;
      height: 100%;
      min-height: 100vh;
      min-height: 100svh;
      /* preferido en mobile */
      max-height: 100svh;
      overflow: hidden;
  }

  .swiper-slide {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 40px;
  }

.joinchat__button {
    bottom: 90px !important;
    right: 25px !important;
}

  /* Asegura que los slides no se sobrepongan visualmente */
  .mySwiper .swiper-slide {
      position: relative;
      opacity: 0 !important;
      transition: opacity 0.8s ease-in-out;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
  }


  /* Solo el slide activo visible */
  .mySwiper .swiper-slide.swiper-slide-active {
      opacity: 1 !important;
      z-index: 2;
      pointer-events: none !important;
  }

  /* Slide anterior/siguiente detrás */
  .mySwiper .swiper-slide:not(.swiper-slide-active) {
      z-index: 1;
      pointer-events: none !important;
  }

  /* Asegura que botones sean clicables */
  .button-slide {
      position: relative;
      z-index: 5;
  }

  .slide-1 {
      background: #0f172a;
      color: #fff;
  }

  .slide-2 {
      background: #166534;
      color: #fff;
      overflow-y: auto;
  }

  .slide-3 {
      color: #fff;
      padding: 0
  }

  .aos-block {
      background: rgba(255, 255, 255, 0.15);
      border-radius: 1rem;
      padding: 20px;
      margin-bottom: 20px;
  }

  .scroll-progress-bar {
      background-color: var(--primary-color);
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 99999;
  }

  .scroll-progress {

      height: 6px;
      background: var(--secondary-color);
      width: 0%;

      transition: width 0.3s ease;
  }

  /* Ajuste para no quedar debajo del header de WP */
  body.admin-bar .scroll-progress {
      top: 32px;
  }

  .swiper-slide.slide-1 {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
  }

  .button-slide {
      border: 1px solid white;
      border-radius: 0;
      background: transparent;
      color: white;
      font-size: 19px;
      padding: 10px 25px;
      font-family: "Montserrat", sans-serif;
      transition: all 0.3s ease;
  }

  .button-slide:hover {
      background: var(--primary-color);
      color: black;
      border-color: var(--primary-color);
  }

  .button-slide-secondary {
      background: var(--primary-color);
      border-color: var(--primary-color);
      color: white;
  }

  .button-slide-secondary:hover {
      background: transparent;
      color: white;
      border-color: white;
  }

  .swiper-slide {
      padding: 0;
  }

  .swiper-slide.slide-1 img:nth-child(2) {
      margin-top: -260px;
      width: 373px;
      right: 36px !important;
      position: relative;
  }

  .swiper-slide.slide-2 .button-slide {
      position: relative;
      z-index: 9;
      top: -11%;
  }

  .swiper-slide.slide-1 .button-slide-secondary,
  .swiper-slide.slide-2 .button-slide-secondary,
  .swiper-slide.slide-3 .button-slide-secondary {
      position: absolute;
      top: 45px;
      right: calc(45px + 0px);
  }

.swiper-slide.slide-2 .button-slide-secondary{
	display: none !important;
}

   .slide-2 .link-logo {
      max-width: 200px;
      width: 200px;
      position: absolute;
      left: 45px;
      top: 45px;
  }

  .slide-2 .logo-slide.brujula {
      max-width: 120px;
      width: 200px;
      position: absolute;
      right: 20px;
      top: 35px;
  }

  

  .slide-3::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.4);
      z-index: 1;
      opacity: 0;
      transition: all 1s ease;
  }

  .slide-3.swiper-slide-visible.backdrop::after {
      opacity: 1;
      transition: all 1s ease;
  }

  .slide-3 video {
      width: 100dvw;
      height: 100dvh;
      object-fit: cover;
  }

  .slide-3 img {
      position: absolute;
      top: 80px;
      z-index: 9;
  }

  .slide-3 button {
      position: absolute;
      top: 255px;
      z-index: 9;
  }

  .hidden-before-aos {
      opacity: 0 !important;
      transform: translateY(30px);
      transition: all 1s ease;
  }

  .slide-4 {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      position: relative;
  }


  .slide-4::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.75);
      z-index: 1;
      opacity: 1;
      transition: all 1s ease;
  }

  .slide-4 h2,
  .slide-4 h3,
  .slide-4 .tipologias-container,
  .slide-4 img {
      position: relative;
      z-index: 5;
  }

  .slide-4 .tipologias-container {
      display: flex;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
      margin-top: 20px;
  }

  .slide-4 .tipologias-container .tipologia-item {
      padding: 50px 50px 0 50px;
  }

  .slide-4 .tipologias-container .tipologia-item+.tipologia-item::before {
      background-color: var(--primary-color);
      width: 1px;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
  }

  .slide-4 h2 {
      color: white;
      text-transform: uppercase;
      font-size: 28px;
      letter-spacing: 10px;
      font-family: "Montserrat", sans-serif;
      margin-bottom: 55px !important;
  }

  .slide-4 h3 {
      color: var(--primary-color);
      text-transform: uppercase;
      letter-spacing: 6px;
      font-weight: 400;
      font-family: "Montserrat", sans-serif;
      font-size: 23px;
      margin-top: 45px;
      margin-bottom: 0;
  }

  .slide-4 .tipologia-item h3 {
      margin-top: 0;
      text-align: left;
      font-size: 16px;
      padding-left: 125px;
      font-weight: 700;
      letter-spacing: normal
  }

  .slide-4 .tipologia-item p {
      color: white;
      font-family: "Montserrat", sans-serif;
      text-align: left;
      font-size: 16px;
      margin-bottom: 5px;
  }

  .slide-4 .tipologia-item .especificaciones-container {
      padding-left: 125px;
  }

  .slide-4 .imgen-featured {
      width: 128px;
      height: 128px;
      border-radius: 100%;
      object-fit: cover;
      border: 1px solid var(--primary-color);
      margin-top: 40px;
  }

  .swiper-slide.slide-4 .button-slide-secondary {
      position: absolute;
      top: 45px;
      right: calc(45px + 0px);
  }

  .swiper-slide.slide-4 .button-slide-next {
      position: absolute;
      bottom: 45px;
      right: calc(45px + 0px);

  }

  .slide-4 .address-slide {
      position: absolute;
      bottom: 45px;
      left: calc(45px + 0px);
      color: white;
      z-index: 5;
      font-family: "Montserrat", sans-serif;
      font-size: 14px;
  }

  .slide-5 {
      position: relative;
      width: 100%;
      height: 100dvh;
      /* altura total de la ventana */
      display: flex;
      overflow: hidden;
  }

  .slide-5::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.75);
      z-index: 1;
      opacity: 1;
      transition: all 1s ease;
  }


  .half-bg {
      width: 50%;
      /* mitad exacta de la pantalla */
      height: 100dvh;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      position: absolute;
      top: 0;
  }

  .half-bg.left {
      background-position: center left;
      left: 0;
  }

  .half-bg.right {
      background-position: center right;
      right: 0;
  }


  .slide-5 .tipologias-container {
      z-index: 5;
      display: flex;
      justify-content: space-between;
      width: 100%;
      max-width: 70%;

  }

  .slide-5 .tipologias-container .tipologia-item {
      width: 100%;
      max-width: 350px;
      margin: 0 auto;
  }

  .slide-5 .tipologias-container .tipologia-item:first-child {
      margin: 0 auto 0 0;
  }

  .slide-5 .tipologias-container .tipologia-item:last-child {
      margin: 0 0 0 auto;
  }

  .slide-5 h2 {
      font-size: 23px;
      color: var(--primary-color);
      font-family: "Montserrat", sans-serif;
      letter-spacing: 5px;
      font-weight: 400;
      margin-bottom: 25px;
      z-index: 5;
      position: relative;
      max-width: 970px;
      text-transform: uppercase;
      line-height: normal;
      margin-bottom: 200px !important;
      margin-top: -4svh;
  }

  .slide-5 .tipologias-container .tipologia-item h3 {
      font-size: 23px;
      color: var(--primary-color);
      font-family: "Montserrat", sans-serif;
      letter-spacing: 6px;
      font-weight: 400;
      margin-bottom: 40px !important;
      line-height: 30px;
  }

  .slide-5 .tipologias-container .tipologia-item h3 span {
      display: block;
  }

  .swiper-slide.slide-5 .button-slide-secondary {
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      transform: translateY(-50%) !important;
      display: inline-block !important;
      max-width: fit-content;
      margin: 0 auto;
  }

  .swiper-slide.slide-5 .address {
      position: absolute;
      bottom: 45px;
      display: flex;
      justify-content: space-between;
      width: 100%;
      z-index: 5;
      font-size: 14px;
      max-width: calc(100% - calc(45px * 2));
  }

  .swiper-slide.slide-5 .address .tipologia-item:first-child .address-slide {


      color: white;
      z-index: 5;
      font-family: "Montserrat", sans-serif;
  }

  .swiper-slide.slide-5 .address .tipologia-item:last-child .address-slide {

      color: white;
      z-index: 5;
      font-family: "Montserrat", sans-serif;
  }


  .logos-foot {
      position: relative;
      z-index: 5;
  }

  .slide-6 h2 {
      max-width: 825px;
      font-size: 20px;
      line-height: 35px;
      margin-bottom: 80px !important;
      font-weight: 300;
      color: white;
      font-family: "Montserrat", sans-serif;
  }

  .slide-6 h2 strong {
      font-weight: 800;
      display: block;
  }

  .slide-6 h2 span {
      color: var(--primary-color);
  }

  .slide-6 .form-container {
      max-width: 600px;
      margin: 0 auto 35px auto;
  }

  .slide-6 .form-container input,
  .slide-6 .form-container textarea {
      height: 40px;
      padding-inline: 15px 0;
      border-radius: 5px;
      border: 1px solid var(--primary-color);
      color: var(--primary-color);
      font-size: 16px;
      font-family: "Montserrat", sans-serif;
      width: 100%;
      background-color: transparent;
      max-width: 600px;
  }

  .slide-6 .form-container input::placeholder,
  .slide-6 .form-container textarea::placeholder,
  .slide-6 .form-container input:focus,
  .slide-6 .form-container textarea:focus {
      color: var(--primary-color);
      font-family: "Montserrat", sans-serif;
  }

  .slide-6 .form-container textarea {
      height: 120px;
      padding-block: 15px;
  }

  .slide-6 .form-container input[type="submit"] {
      height: 40px;
      padding-inline: 15px;
      border-radius: 5px;
      border: 1px solid var(--primary-color);
      color: var(--primary-color);
      font-size: 16px;
      font-family: "Montserrat", sans-serif;
      cursor: pointer;
      width: 100%;
      max-width: 135px;
      padding: 0;
      margin: 0 0 0 auto
  }


  .slide-6 .form-container input[type="submit"]:hover {
      background: var(--primary-color);
      color: black;
      border-color: var(--primary-color);
  }

  .slide-6 .form-container .row {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
  }

  .wpcf7-not-valid-tip {
      color: #dc3232;
      font-size: 1em;
      font-weight: normal;
      display: block;
      text-align: left;
      font-size: 12px;
  }

  .slide-6 .form-container .row>div[class*="col-"]:last-child {
      text-align: right;
  }

  .slide-6 .form-container .row>div[class*="col-"]:last-child .wpcf7-spinner {
      display: none;
  }

  .slide-6 .foot-container {
      display: flex;
      justify-content: space-between;
      width: 100%;
      margin-top: 0px;
      max-width: calc(100% - calc(45px * 2));
      position: absolute;
      bottom: 45px;
      align-items: flex-end;
  }

  .slide-6 .foot-container h3 {
      text-align: left;
      color: var(--primary-color);
      font-size: 20px;
      font-family: "Montserrat", sans-serif;
      font-weight: 400;
      text-transform: uppercase;
  }

  .slide-6 .foot-container .links-foot {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
  }

  .slide-6 .foot-container .links-foot a {
      color: white;
      font-size: 16px;
      font-family: "Montserrat", sans-serif;
      margin-bottom: 7px;
      text-decoration: none;
      transition: all 0.3s ease;
  }

  .slide-6 .foot-container .links-foot a:hover {
      color: var(--primary-color);
      text-decoration: underline;
  }

  .slide-6 .logos-foot {
      display: flex;
      align-items: center;
      gap: 25px;
      right: 0px;
  }

  #scrollProgress {
      width: 50% !important;
  }

  .wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--primary-color);
    background: var(--primary-color);
    font-size: 14px;
    color: white;
    border-radius: 2px;
    /* width: 100%; */
    /* left: 0; */
    /* position: relative; */
}


.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
    background-color: #dc3232;
    color: white;
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
    background-color: #f56e28;
    color: white;
}

  @media screen and (max-width: 768px) {
      .link-logo {
          position: absolute;
          left: 15px;
          top: 40px;
      }

      .swiper-slide {
          padding: 0;
      }

      .swiper-slide.slide-1 .button-slide-secondary,
      .swiper-slide.slide-2 .button-slide-secondary,
      .swiper-slide.slide-3 .button-slide-secondary,
      .swiper-slide.slide-4 .button-slide-secondary {
          position: absolute;
          top: 46px;
          right: 15px;
          font-size: 16px;
      }

      .logo-slide {
          max-width: 140px;
          width: 140px;
      }

      .img-principal {
          max-width: 240px;
      }

      .slide-1 .button-slide-secondary,
      .slide-2 .button-slide-secondary,
      .slide-3 .button-slide-secondary,
      .slide-4 .button-slide-secondary {
          font-size: 16px;
          padding-inline: 15px;
          min-width: 138px;
      }

      .slide-1 .button-slide-next {
          font-size: 16px;
          min-width: 183px;
          padding: 0;
          height: 32px;
      }

      .swiper-slide.slide-1 img:nth-child(2) {
          margin-top: 0;
      }

      .slide-2 {
          justify-content: end
      }

      .slide-2 .link-logo{
        display: none;
      }

      .slide-2 .logo-slide.brujula {
          max-width: 100px;
          width: 100px;
          left: 5px;
          top: 25px;
      }

      .slide-2 .button-slide-next {
          top: inherit !important;
          bottom: 40px !important;
          font-size: 16px;
      }

      .slide-2 .mobilemap-image {
          /* max-height: 1%; */
          height: calc(100svh - 170px);
          object-fit: contain;
          top: -40px;
          position: relative;
      }

      .slide-3 .button-slide-next {
          font-size: 16px;
      }

      .slide-3 img {
          max-width: calc(100% - 30px);
      }

      /*.mobilemap-wrapper {
          width: 100%;
          overflow-x: auto;
          overflow-y: hidden;
          -webkit-overflow-scrolling: touch;
          display: flex;

      }

      .mobilemap-wrapper {
          touch-action: pan-x !important;
      }

      .mobilemap-inner {
          flex: 0 0 auto;
          width: 1400px;
          display: flex;
          justify-content: center;
      }

      .mobilemap-image {
          width: 1400px;
          max-width: none;
          height: auto;
          display: block;
      }

      .mobilemap-wrapper::-webkit-scrollbar {
          height: 6px;
          max-width: 300px;
          margin-top: -300px;
      }

      .mobilemap-wrapper::-webkit-scrollbar-track {
          background: #fff;
          border-radius: 0px;
      }

      .mobilemap-wrapper::-webkit-scrollbar-thumb {
          background: #4F6929;
          border-radius: 0px;
      }

      .mobilemap-wrapper::-webkit-scrollbar-thumb:hover {
          background: #6a8e35;
      }

      .mobilemap-wrapper {
          -webkit-overflow-scrolling: touch;
      }*/

      .tipologia-item img {
          max-width: 100px;
          margin-bottom: 0px !important;
      }

      .slide-4 .tipologias-container {
          display: flex;
          justify-content: space-around;
          /* gap: 40px; */
          flex-wrap: wrap;
          margin-top: 5px;
          flex-direction: row;
          width: 100%;
      }

      .slide-4 .tipologias-container .tipologia-item {
          padding: 0;
      }

      .slide-4 .tipologias-container .tipologia-item+.tipologia-item {
          border-top: none;
          border-left: none !important;
          padding-left: 0;
      }

      .slide-4 .tipologias-container .tipologia-item+.tipologia-item::before {
          content: "";
          display: block;
          width: 1px;
          height: 100%;
          background: var(--primary-color);
          margin: 20px auto;
          position: absolute;
          left: 50%;
          transform: translateY(-15%);
      }

      .slide-4 h2 {
          color: white;
          text-transform: uppercase;
          font-size: 17px;
          letter-spacing: 10px;
          margin-bottom: 20px !important;
      }

      .slide-4 h3 {
          font-size: 14px;
          margin-top: 15px;
      }

      .slide-4 .imgen-featured {
          margin-top: 10px;
          width: 100px;
          height: 100px;
      }

      .slide-4 .address-slide {
          left: 0;
          right: 0;
          font-size: 14px;
      }

      .swiper-slide.slide-4 .button-slide-next {
          position: absolute;
          bottom: 35px;
          right: 0;
          left: 0;
          width: fit-content;
          margin: 0 auto;
          font-size: 16px;
      }

      .slide-4 .address-slide {
          bottom: inherit;
          position: relative;
          margin-top: 15px;
      }

      .slide-4 .tipologia-item p {
          font-size: 14px;
          margin-bottom: 0;
      }

      .slide-4 .tipologia-item h3 {
          font-size: 14px;
          padding-left: 0;
          margin-top: 15px;
      }

      .slide-4 .tipologia-item .especificaciones-container {
          padding-left: 0;
      }

      .half-bg {
          width: 100dvh;
          height: 50%;
      }

      .half-bg.right {
          top: 50dvh;
      }

      .slide-5 {
          justify-content: flex-start;
          padding-top: 55px;
          justify-content: center;
          padding: 0;
      }

      .slide-5 .tipologias-container .tipologia-item:first-child {
          margin: 0 auto;
      }

      .slide-5 h2 {
          font-size: 15px;
          margin-bottom: 25px !important;
          margin-top: 0 !important;
          position: absolute;
          top: 35px;
      }

      .slide-5 .tipologias-container {
          flex-direction: column;
          gap: 55px;
          max-width: 100%;
      }

      .slide-5 .tipologias-container .tipologia-item {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          flex-direction: row;
          gap: 5px 15px;
          justify-content: center;
      }

      .slide-5 .tipologias-container .tipologia-item {
          order: 0;
      }

      .slide-5 .tipologias-container button.button-slide {
          order: 1;
          position: relative !important;
          top: inherit !important;
          transform: translate(0px, 0px) !important;
      }

      .slide-5 .tipologias-container .tipologia-item+.tipologia-item {
          order: 2;
      }

      .slide-5 .tipologias-container .tipologia-item h3 {
          font-size: 14px;
          flex: 0 0 50%;
          text-align: left;
          margin: 0 !important;
          letter-spacing: 3px;
      }

      .swiper-slide.slide-5 .button-slide-secondary {
          top: 50dvh;
          font-size: 16px;
      }

      .slide-5 .tipologias-container .tipologia-item p {
          font-size: 14px;
          color: white;
          margin-top: 15px;
      }

      body {
          overflow: hidden;
          margin: 0;
      }

      .slide-6 .form-container {
          max-width: 100%;
          margin: 0 auto 15px auto;
      }

      .slide-6 .foot-container {
          margin-top: 0;
      }

      .slide-6 .form-container input,
      .slide-6 .form-container textarea {
          width: calc(100dvw - 45px);
          height: 30px;
          font-size: 12px;
      }

      .slide-6 .form-container input::placeholder,
      .slide-6 .form-container textarea::placeholder {
          font-size: 12px;
      }

      .slide-6 .form-container input[type="submit"] {
          height: 30px;
          font-size: 14px;
          right: 25px;
          position: relative;
      }

      .slide-6 h2 {
          max-width: 100%;
          font-size: 14px;
          margin-bottom: 15px !important;
          padding-inline: 15px;
          line-height: normal;
      }

      .slide-6 form p {
          margin-bottom: 10px;
      }

      .slide-6 .foot-container {
          flex-direction: column;
      }

      .slide-6 .foot-container h3 {
          text-align: left;
          font-size: 13px;
          margin-bottom: 10px !important;
      }

      .slide-6 .foot-container .links-foot {
          padding-left: 15px;
      }

      .slide-6 .foot-container .links-foot a {
          font-size: 12px;
      }

      .slide-6 .logos-foot {
          display: flex;
          align-items: center;
          gap: 10px;
          right: 0;
          justify-content: center;
          margin-top: 15px;
      }

      .slide-6 .logos-foot img {
          max-height: 35px;
          object-fit: contain;
          max-width: 150px;
      }

      .slide-6 .link-logo {
          text-align: left;
          position: relative;
          left: 15px;
          top: 0;
          width: 100%;
          justify-content: flex-start;
          display: block;
          margin: 0 auto 15px 0;
      }

      .swiper-slide.slide-1 img:nth-child(2) {
          right: inherit !important;
      }

      .slide-3 button {
          top: 220px;
      }

      .slide-5 .tipologias-container .tipologia-item h3 {
          line-height: 18px;
      }

      .slide-6 .foot-container {
          width: 100%;
          margin-top: 0px;
          max-width: 100%;
          position: relative;
          bottom: 10px;
          align-items: flex-start;
      }

      .slide-6 .form-container input,
      .slide-6 .form-container input[type="submit"] {
          height: 30px !important;
      }

      .slide-6 .form-container textarea {
          height: 50px !important;
      }

      .slide-6 form p {
          margin-bottom: .5em !important;
      }

      .slide-6 {
          justify-content: flex-start;
          padding-top: 25px;
      }
  }

  .mobilemap-swiper {
      width: 100%;
      overflow: hidden;
  }

  .mobilemap-segment {
      width: 100%;
      background-size: 300% auto;
      background-repeat: no-repeat;
      background-position: left center;
      height: auto;
  }


  @media screen and (min-width: 1600px) {
      .swiper-slide.slide-2 .button-slide {
          /* top: -130px; */
      }
  }

  @media screen and (max-height: 900px) {
	  .slide-2 .link-logo{
		  max-width: 100px;
	  }
	  
	  .slide-2 .link-logo img{
		  width: 100%;
	  }
	  
      .swiper-slide.slide-2 .button-slide.button-slide-next {
          top: -115px;
      }

      .slide-6 h2 {
          margin-bottom: 35px !important;
      }

      .slide-6 .form-container input,
      .slide-6 .form-container input[type="submit"] {
          height: 35px;
      }

      .slide-6 .form-container textarea {
          height: 65px;
      }

      .slide-6 form p {
          margin-bottom: .8em;
      }


  }