:root {
  --primario_01: #004c45 !important;
  --primario_02: #00594f !important;
  --primario_04: #0f8070 !important;
  --secundario_lima_03: #b6ff00 !important;
  --white: #ffffff !important;
  --verde: #00594f !important;
  --lima: #b6ff00 !important;
  --verde-claro: #29a48d !important;
} /* BASE */
body {
  margin: 0 !important;
  font-family: Montserrat, sans-serif !important;
  background: #ffffff !important;
}
#contenedor-jovenin {
  max-width: 1140px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}
.titleBurrowing {
  font-weight: 800 !important;
}
.rounded-xl {
  border-radius: 25px !important;
}
.texto-blanco {
  color: #ffffff !important;
} /* BOTONES */
.btn-joven {
  background: var(--verde) !important;
  color: #ffffff !important;
  border-radius: 30px !important;
  padding: 10px 25px !important;
  border: none !important;
  font-weight: 700 !important;
}

.btn-joven:hover {
  background: #6dc600 !important;
  color: var(--primario_01) !important;
}
.btn-lima {
  background: var(--lima) !important;
  color: var(--primario_01) !important;
  border-radius: 30px !important;
  padding: 10px 25px !important;
  border: none !important;
} /* HERO */
.vip-hero .hero-box {
  min-height: 345px !important;
  border-radius: 25px !important;
  overflow: hidden !important;
}
.vip-hero .hero-bg {
  width: 100% !important;
  min-height: 345px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.hero-content-card {
  position: absolute !important;
  top: 26px !important;
  left: 36px !important;
  width: 482px !important;
  min-height: 150px !important;
  background-color: rgba(0, 76, 69, 0.75) !important;
  border-radius: 25px !important;
  padding: 9px 28px !important;
  color: var(--lima) !important;
}
.hero-content-card h1 {
  font-size: clamp(22px, 3vw, 35px) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
  color: var(--lima) !important;
  font-family: Montserrat, sans-serif !important;
}
.hero-content-card h1 sup {
  font-size: 35% !important;
  top: -1em !important;
}
.hero-content-card p {
  max-width: 390px !important;
  margin-bottom: 16px !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  color: var(--lima) !important;
  font-weight: 400 !important;
}
.hero-content-card .btn-joven {
  background-color: var(--lima) !important;
  color: var(--verde) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  padding: 8px 28px !important;
}
.hero-content-card .btn-joven:hover {
  background: #6dc600 !important;
  color: var(--primario_01) !important;
}
.hero-promo-card {
  position: absolute !important;
  left: 36px !important;
  bottom: 14px !important;
  width: 482px !important;
  min-height: 95px !important;
  background-color: rgba(182, 255, 0, 0.8) !important;
  border-radius: 25px !important;
  padding: 18px 30px !important;
  color: var(--verde) !important;
  text-decoration: none !important;
}
.hero-promo-card p {
  font-size: 21px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  margin-bottom: 4px !important;
}
.hero-promo-card span {
  display: block !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  font-weight: 300 !important;
}
.legal-text {
  font-size: 0.65rem !important;
  line-height: 1.2 !important;
  color: var(--verde) !important;
  margin-bottom: 0 !important;
}
.legal-text a {
  color: var(--verde) !important;
  text-decoration-line: underline !important;
  font-weight: 400 !important;
}
/* PASOS */
.vip-pasos {
  position: relative !important;
  padding: 2.5rem 0 4.5rem !important;
  background-image: url("https://cajarural.ruralvia.com/sites/default/files/2026-05/bg-pasos.png") !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: cover !important;
  overflow: hidden !important;
}
.vip-pasos h2 {
  color: var(--verde) !important;
  font-size: clamp(1.6rem, 2.8vw, 2.1rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 5rem !important;
  font-family: Montserrat, sans-serif !important;
}
.pasos-row {
  position: relative !important;
  z-index: 2 !important;
}
.step-card {
  min-height: 265px !important;
  border: 1.5px solid var(--verde) !important;
  border-radius: 14px !important;
  background-color: rgba(255, 255, 255, 0.9) !important;
  padding: 4.8rem 1.5rem 1.6rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: var(--verde) !important;
}
.step-hand {
  position: absolute !important;
  top: -42px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 50px !important;
  height: auto !important;
  z-index: 3 !important;
}
.step-card h5 {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--verde) !important;
  margin-bottom: 0.7rem !important;
}
.step-card p {
  font-size: 0.98rem !important;
  line-height: 1.15 !important;
  margin-bottom: 1.2rem !important;
  color: var(--verde) !important;
}
.btn-step {
  margin-top: auto !important;
  background-color: var(--lima) !important;
  color: var(--verde) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  padding: 8px 28px !important;
}
.btn-step:hover {
  background: #6dc600 !important;
  color: var(--primario_01) !important;
}
.vipdistrict-logo {
  width: 190px !important;
  max-width: 90% !important;
  margin: 0.4rem auto 1.2rem !important;
}
.stores {
  display: flex !important;
  gap: 0.5rem !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: auto !important;
}
.stores img {
  height: 34px !important;
  width: auto !important;
}
.pasos-claim {
  margin-top: 2.2rem !important;
  color: var(--verde) !important;
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  position: relative !important;
  z-index: 2 !important;
  font-family: Montserrat, sans-serif !important;
}
.pasos-claim sup {
  font-size: 45% !important;
  top: -0.7em !important;
}
.deco-pasos {
  position: absolute !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.deco-pasos-1 {
  left: -12px !important;
  top: 45px !important;
  width: 65px !important;
}
.deco-pasos-2 {
  left: 24% !important;
  top: 10px !important;
  width: 155px !important;
  opacity: 0.55 !important;
}
.deco-pasos-3 {
  left: 60% !important;
  top: 0 !important;
  width: 70px !important;
}
.deco-pasos-4 {
  right: 1% !important;
  top: 45px !important;
  width: 130px !important;
  opacity: 0.45 !important;
} /* CATEGORÍAS */
.vip-categorias {
  background: var(--primario_04) !important;
  padding: 4rem 0 5rem !important;
}
.vip-categorias h2 {
  color: var(--white) !important;
  text-align: center !important;
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  font-family: Montserrat, sans-serif !important;
}
.categorias-grid {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
  flex-wrap: wrap !important;
  padding-bottom: 50px !important;
}
.categoria-item {
  text-align: center !important;
  min-width: 120px !important;
}
.categoria-item img {
  height: 95px !important;
  width: auto !important;
  margin-bottom: 0.8rem !important;
}
.categoria-item p {
  color: var(--secundario_lima_03) !important;
  text-align: center !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: normal !important;
  margin: 0 !important;
}
.btn-categorias {
  border-radius: 50px !important;
  margin-top: auto !important;
  background-color: var(--lima) !important;
  color: var(--verde) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  padding: 8px 28px !important;
}
.btn-categorias:hover {
  background: #6dc600 !important;
  color: var(--primario_01) !important;
}
.categorias-text {
  color: var(--white) !important;
  text-align: center !important;

  font-size: 25px !important;
  font-weight: 500 !important;
  line-height: 35px !important;
  margin-bottom: 0 !important;
} /* RAZONES */
.vip-razones {
  position: relative !important;
  padding: 4.5rem 0 5rem !important;
  background-image: url("https://cajarural.ruralvia.com/sites/default/files/2026-05/bg-razones.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
}
.razones-title {
  color: var(--primario_02) !important;
  text-align: center !important;
  font-family: Montserrat, sans-serif !important;
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 45px !important;
  padding-bottom: 5rem !important;
}
.razones-box {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  border-radius: 24px !important;
  background: var(--white) !important;
  padding: 0 58px 52px !important;
  position: relative !important;
}
.razones-media {
  width: 100% !important;
  max-width: 100% !important;
  height: 506px !important;
  margin: 0 auto !important;
  transform: translateY(-58px) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: lightgray !important;
}
.razones-img,
.razones-video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}
.razones-play {
  position: absolute !important;
  width: 82px !important;
  height: 82px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  z-index: 3 !important;
}
.razones-play img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.razones-grid {
  margin-top: -22px !important;
}
.razon-item h3 {
  color: var(--primario_04) !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 115% !important;
  margin-bottom: 0.8rem !important;
}
.razon-item p {
  color: var(--primario_01) !important;

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  margin-bottom: 1rem !important;
}
.razon-item p strong {
  font-weight: 700 !important;
}
.razon-item a {
  color: var(--primario_01) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: normal !important;
  text-decoration-line: underline !important;
}
.razones-btn-wrap {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -15px !important;
}
.razones-btn {
  border-radius: 30px !important;
  background: var(--primario_01) !important;
  color: var(--secundario_lima_03) !important;
  text-align: center !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: normal !important;
  padding: 0.8rem 2.2rem !important;
  border: none !important;
}
.razones-btn:hover {
  background: var(--primario_04) !important;
  color: var(--secundario_lima_03) !important;
} /* FAQS */
.vip-faqs {
  padding: 4.5rem 0 !important;
}
.faqs-title {
  color: var(--primario_02) !important;
  text-align: center !important;
  font-family: Montserrat, sans-serif !important;
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 45px !important;
  margin-bottom: 2.5rem !important;
}
.faq-box {
  background: var(--verde-claro) !important;
  border-radius: 24px !important;
  padding: 2rem 3rem !important;
}
.faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.75) !important;
}
.faq-question {
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  color: #ffffff !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-align: left !important;
  padding: 1.25rem 2.5rem 1.25rem 0 !important;
  position: relative !important;
  cursor: pointer !important;
}
.faq-question::after {
  content: "+" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
.faq-item.active .faq-question::after {
  content: "−" !important;
}
.faq-answer {
  max-height: 0 !important;
  overflow: hidden !important;
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  opacity: 0 !important;
  transition:
    max-height 0.35s ease,
    opacity 0.35s ease,
    padding 0.35s ease !important;
  padding: 0 !important;
}
.faq-item.active .faq-answer {
  max-height: 500px !important;
  opacity: 1 !important;
  padding: 0 0 1.25rem !important;
} /* RESPONSIVE */
@media (max-width: 768px) {
  #contenedor-jovenin {
    max-width: 100% !important;
  }
  .vip-hero .hero-box {
    min-height: 520px !important;
  }
  .vip-hero .hero-bg {
    min-height: 520px !important;
    object-position: 65% center !important;
  }
  .hero-content-card {
    top: 20px !important;
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    padding: 20px !important;
  }
  .hero-content-card h1 {
    font-size: 2rem !important;
  }
  .hero-content-card p {
    font-size: 0.95rem !important;
  }
  .hero-promo-card {
    left: 16px !important;
    right: 16px !important;
    bottom: 20px !important;
    width: auto !important;
    padding: 18px !important;
  }
  .hero-promo-card p {
    font-size: 1rem !important;
  }
  .vip-pasos {
    padding: 2.5rem 0 3.5rem !important;
  }
  .pasos-row {
    gap: 2.5rem 0 !important;
  }
  .step-card {
    min-height: auto !important;
    padding: 4.5rem 0.2rem 1.5rem !important;
  }
  .pasos-claim br {
    display: none !important;
  }
  .deco-pasos {
    display: none !important;
  }
  .vip-categorias {
    padding: 3rem 0 !important;
  }
  .categorias-grid {
    gap: 2rem !important;
  }
  .categoria-item img {
    height: 75px !important;
  }
  .categoria-item p {
    font-size: 20px !important;
  }
  .categorias-text {
    font-size: 22px !important;
    line-height: 28px !important;
  }
  .vip-razones {
    padding: 3rem 0 4rem !important;
  }
  .razones-title {
    line-height: 1.15 !important;
    margin-bottom: 2rem !important;
  }
  .razones-box {
    min-height: auto !important;
    padding: 0 20px 60px !important;
  }
  .razones-media {
    height: 260px !important;
    transform: translateY(-30px) !important;
  }
  .razones-grid {
    margin-top: 0 !important;
  }
  .razon-item {
    text-align: center !important;
  }
  .razon-item h3 {
    font-size: 24px !important;
  }
  .razones-play {
    width: 62px !important;
    height: 62px !important;
  }
  .faq-box {
    padding: 1rem 1.25rem !important;
  }
  .faq-question {
    font-size: 17px !important;
  }
  .faq-answer {
    font-size: 15px !important;
  }
  .hero-content-card,
  .hero-promo-card {
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
  }
} /* FIX */
.razones-media {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1020 / 506 !important;
  height: auto !important;
  margin: 0 auto !important;
  transform: translateY(-58px) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: lightgray !important;
}
.razones-img,
.razones-video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 16px !important;
}
.razones-play {
  position: absolute !important;
  width: clamp(55px, 7vw, 82px) !important;
  height: clamp(55px, 7vw, 82px) !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  z-index: 3 !important;
}
.razones-play img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  transition: all 0.5s ease !important;
}
.razones-play:hover img {
  opacity: 0.75 !important;
  transform: scale(1.2) !important;
  transform-origin: center !important;
}
@media (max-width: 768px) {
  .razones-media {
    aspect-ratio: 1020 / 506 !important;
    height: auto !important;
    transform: translateY(-30px) !important;
  }
}
@media (max-width: 768px) {
  .vip-hero .hero-box {
    min-height: auto !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 0 !important;
  }
  .vip-hero .hero-bg {
    min-height: auto !important;
    height: auto !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 25px !important;
    order: 1 !important;
  }
  .hero-content-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    order: 2 !important;
    margin-top: 1rem !important;
    padding: 20px !important;
    border-radius: 25px !important;
  }
  .hero-promo-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    order: 3 !important;
    margin-top: 1rem !important;
    padding: 18px !important;
    border-radius: 25px !important;
  }
  .hero-content-card h1 {
    font-size: clamp(24px, 6vw, 35px) !important;
  }
  .hero-content-card p {
    font-size: 16px !important;
  }
  .hero-promo-card p {
    font-size: 18px !important;
  }
  .hero-promo-card span {
    font-size: 15px !important;
  }
  .hero-bg {
    content: url("https://cajarural.ruralvia.com/sites/default/files/2026-05/banner_cabecera_movil.png") !important;
  }
}

.hero-promo-card,
.hero-promo-card a {
  color: var(--verde) !important;
  text-decoration: none !important;
}

.hero-promo-card a {
  display: block !important;
  width: 100% !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  text-align: center !important;
  font-family: Montserrat, sans-serif !important;
}

.hero-promo-card a span {
  display: block !important;
  margin-top: 4px !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  color: var(--verde) !important;
  font-family: sans-serif !important;
}

.hero-promo-card a sup {
  font-size: 55% !important;
  top: -0.7em !important;
  position: relative !important;
  color: var(--verde) !important;
}
div.hero-promo-card a span {
  font-weight: 400 !important;
}
