 @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');

    body {
      font-family: 'DM Sans', sans-serif;
    }

    body {
      margin: 0;
      background: #fff;
    }

    .hero-text {
      text-align: center;
      padding: 60px 20px 30px;
    }

    .hero-text h1 {
      font-size: 70px;
      margin: 0 0 20px 0;
      color: #353332;
    }

    .hero-text p {
      font-size: 40px;
      margin: 40px auto;
      color: #353332;
    }

    .swiper {
      width: 100%;
      padding: 20px 0;
      position: relative;
      background-color: #fff;
    }

    .swiper-slide {
      text-align: center;
      transition: transform 0.3s ease, opacity 0.3s ease;
      cursor: pointer;
    }

    .swiper-slide img {
      width: 100%;
      height: auto;
      transition: transform 0.3s ease;
      margin-bottom: 20px;
      padding: 15px;
    }

    .swiper-slide {
      position: relative;
    }

    .slide-label {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      transform: translateY(-50%);
      background: rgba(255, 255, 255, 0.75);
      text-align: center;
      padding: 30px 20px;
      font-size: 35px;
      font-weight: 500;
      color: #353332;
      z-index: 2;
      pointer-events: none;
    }

    .swiper-slide:not(.swiper-slide-active) .slide-label {
      opacity: 0.7;
    }

    .swiper-slide:not(.swiper-slide-active) {
      opacity: 0.3;
      transform: scale(1) !important;
    }

    .swiper-slide-active {
      transform: scale(1.1) !important;
      opacity: 1;
      position: relative !important;
    }

    .swiper-wrapper {
      padding-bottom: 30px !important;
    }

    .swiper-buttons-wrapper {
      position: absolute;
      top: 0;
      bottom: -12%;
      left: 0;
      right: 0;
      padding: 0 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      pointer-events: none;
      z-index: 10;
      transform: none;
    }

    .swiper-button-prev,
    .swiper-button-next {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      pointer-events: all;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
      font-size: 20px;
      font-weight: normal;
      color: #d81e05;
    }

    .descubrir-mas {
      text-decoration: underline;
      color: #d81e05;
      font-weight: bold;
      font-size: 12px;
      margin-top: 10px;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
    }

    .swiper-slide-active .descubrir-mas {
      opacity: 1;
      pointer-events: auto;
    }

    .container {
      background: #fff;
    }

    .bloque-texto-4 {
      text-align: center;
      padding: 20px 20px 40px;
      background-color: #fff;
      margin: 0 auto;
      max-width: 1288px;
    }

    .bloque-texto-4 p {
      font-size: 20px;
      line-height: 140%;
      margin-bottom: 30px;
      color: #353332;
      max-width: 1800px;
      margin-left: auto;
      margin-right: auto;
    }

    .link-info {
      color: #000;
      font-weight: 600;
      text-decoration: none;
      font-size: 20px;
    }

    @media (max-width: 768px) {
      .slide-label {
        top: 42%;
        padding: 15px 15px;
        font-size: 15px;
      }

      .hero-text h1 {
        font-size: 38px;
      }

      .hero-text p {
        font-size: 25px;
      }

      .bloque-texto-4 {
        font-size: 15px;

      }

    }

    /* === MEDIA QUERIES LIMPIAS PARA SWIPER === */
    @media screen and (max-width: 316px) {
      .swiper-buttons-wrapper {
        bottom: 11%;
      }
    }

    @media screen and (min-width: 316px) and (max-width: 455px) {
      .swiper-buttons-wrapper {
        bottom: 11%;
      }
    }

    /* Móviles pequeños: hasta 499px */
    @media screen and (min-width: 455px) and (max-width: 550px) {
      .swiper-buttons-wrapper {
        bottom: 11%;
      }
    }

    /* Móviles grandes: 500px a 767px */
    @media screen and (min-width: 550px) and (max-width: 768px) {
      .swiper-buttons-wrapper {
        bottom: 10%;
        padding: 0 10px;
      }

      .swiper-button-prev,
      .swiper-button-next {
        width: 32px;
        height: 32px;
      }

      .swiper-button-prev::after,
      .swiper-button-next::after {
        font-size: 16px;
      }
    }

    /* Tablets: 768px a 991px */
    @media screen and (min-width: 768px) and (max-width: 900px) {
      .swiper-buttons-wrapper {
        bottom: 2%;
        padding: 0 15px;
      }

      .swiper-button-prev,
      .swiper-button-next {
        width: 35px;
        height: 35px;
      }

      .swiper-button-prev::after,
      .swiper-button-next::after {
        font-size: 18px;
      }
    }

    /* Desktop pequeño: 992px a 1199px */
    @media screen and (min-width: 900px) and (max-width: 990px) {
      .swiper-buttons-wrapper {
        bottom: -6%;
        padding: 0 20px;
      }
    }

    @media screen and (min-width: 991px) and (max-width: 1200px) {
      .swiper-buttons-wrapper {
        bottom: -8%;
        padding: 0 20px;
      }
           .slide-label {
        top: 43%;
        font-size: 15px;
      }
    }

    @media screen and (min-width: 1200px) and (max-width: 1799px) {
      .swiper-buttons-wrapper {
        bottom: -12%;
        padding: 0 20px;
      }
    }
        .back-link {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 1100px;
      margin: 20px 20px;
      font-size: 16px;
      font-weight: 500;
      color: #D81E05;
      text-decoration: none;
      border-bottom: 1px solid #D81E05;
      padding-bottom: 5px;
    }

    .back-link span {
      display: inline-block;
    }

    /* Desktop → ocultar */
    @media (min-width: 768px) {
      .back-link {
        display: none;
      }
    }
        
    /* 1350px a 1799px */
@media (min-width: 1350px) and (max-width: 1799px) {
  .slide-label {
    font-size: 1.5rem;
  }
}

/* 1050px a 1349px */
@media (min-width: 1050px) and (max-width: 1349px) {
  .slide-label {
    font-size: 1rem;
  }
}

/* 901px a 1049px */
@media (min-width: 901px) and (max-width: 1049px) {
  .slide-label {
    font-size: 0.7rem;
  }
}