@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Roboto:wght@400;500;600;700&display=swap");

/* ======================================================
   CONTENEDOR GENERAL
====================================================== */

.ie-section {
  width: 100% !important;
  padding: 60px 60px 60px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  font-family: "Roboto", Arial, sans-serif !important;
}

.ie-section *,
.ie-section *::before,
.ie-section *::after {
  box-sizing: border-box !important;
}

.ie-container {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
}

/* ======================================================
   ENCABEZADO
====================================================== */

.ie-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto 36px !important;
  padding: 0 !important;
  text-align: center !important;
}

.ie-subheading {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  color: #000000 !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.ie-subheading p {
  margin: 0 !important;
  padding: 0 !important;
  color: #000000 !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}
/* ======================================================
   BOTÓN CTA
====================================================== */

.ie-button,
.ie-button:link,
.ie-button:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 220px !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 15px 28px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #ff5900 !important;
  background-color: #ff5900 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease !important;
}

.ie-button:hover,
.ie-button:focus {
  background: #e95000 !important;
  background-color: #e95000 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

.ie-button:focus-visible {
  outline: 3px solid rgba(255, 89, 0, 0.35) !important;
  outline-offset: 4px !important;
}

/* ======================================================
   CONTENEDOR DE TARJETAS
====================================================== */

.ie-cards {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 0 4px !important;
  gap: 24px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  list-style: none !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.ie-cards::-webkit-scrollbar {
  display: none !important;
}

/* ======================================================
   TARJETAS
====================================================== */

.ie-card {
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 190px !important;
  max-width: 280px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 20px !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

/* Patrón visual: alta, media, baja, media, alta */

.ie-card--tall {
  height: 520px !important;
}

.ie-card--medium {
  height: 390px !important;
}

.ie-card--short {
  height: 275px !important;
}

/* ======================================================
   IMAGEN
====================================================== */

.ie-card__img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.45s ease !important;
}

.ie-card:hover .ie-card__img {
  transform: scale(1.04) !important;
}

/* ======================================================
   DEGRADADO
====================================================== */

.ie-card__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.82) 0%,
    rgba(0, 0, 0, 0.55) 28%,
    rgba(0, 0, 0, 0.18) 58%,
    rgba(0, 0, 0, 0) 78%
  ) !important;
  pointer-events: none !important;
}

/* ======================================================
   TEXTO DE TARJETAS
====================================================== */

.ie-card__content {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 28px 22px 30px !important;
  color: #ffffff !important;
  text-align: left !important;
}

.ie-card__content--center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  text-align: center !important;
}

.ie-card__title {
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: "DM Serif Display", Georgia, serif !important;
  font-size: clamp(27px, 2vw, 38px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-align: inherit !important;
  text-transform: none !important;
}

.ie-card__content--center .ie-card__title {
  margin-bottom: 0 !important;
  text-align: center !important;
}

.ie-card__desc {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: inherit !important;
}

.ie-card__desc p {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
}

/* En caso de que uses enlaces dentro de las tarjetas */

.ie-card__link,
.ie-card__link:link,
.ie-card__link:visited {
  display: inline-block !important;
  margin-top: 14px !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.ie-card__link:hover,
.ie-card__link:focus {
  color: #ffffff !important;
  text-decoration-thickness: 2px !important;
}

/* ======================================================
   TABLET
====================================================== */

@media (max-width: 1100px) {
  .ie-section {
    padding: 64px 28px 56px !important;
  }

  .ie-header {
    margin-bottom: 54px !important;
  }

  .ie-cards {
    justify-content: flex-start !important;
    gap: 20px !important;
  }

  .ie-card {
    flex: 0 0 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
  }

  .ie-card--tall {
    height: 450px !important;
  }

  .ie-card--medium {
    height: 350px !important;
  }

  .ie-card--short {
    height: 260px !important;
  }
}

/* ======================================================
   MÓVIL
====================================================== */

@media (max-width: 700px) {
  .ie-section {
    padding: 48px 16px 42px !important;
  }

  .ie-header {
    max-width: 100% !important;
    margin-bottom: 42px !important;
  }

  .ie-heading {
    margin-bottom: 24px !important;
    font-size: clamp(1.75rem, 1.075268817204301vw + 1.2338709677419355rem, 2rem) !important;
    line-height: 1.05 !important;
  }

  .ie-subheading,
  .ie-subheading p {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  .ie-subheading {
    margin-bottom: 8px !important;
  }

  .ie-button,
  .ie-button:link,
  .ie-button:visited {
    min-width: 190px !important;
    min-height: 60px !important;
    padding: 16px 25px !important;
    border-radius: 14px !important;
    font-size: 17px !important;
  }

  .ie-cards {
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  .ie-card {
    flex: 0 0 245px !important;
    min-width: 245px !important;
    max-width: 245px !important;
    border-radius: 18px !important;
  }

  .ie-card--tall {
    height: 390px !important;
  }

  .ie-card--medium {
    height: 330px !important;
  }

  .ie-card--short {
    height: 270px !important;
  }

  .ie-card__content {
    padding: 24px 18px !important;
  }

  .ie-card__title {
    font-size: 29px !important;
  }

  .ie-card__desc {
    font-size: 14px !important;
  }
}

/* ======================================================
   ACCESIBILIDAD
====================================================== */

@media (prefers-reduced-motion: reduce) {
  .ie-button,
  .ie-card__img {
    transition: none !important;
  }

  .ie-button:hover,
  .ie-button:focus,
  .ie-card:hover .ie-card__img {
    transform: none !important;
  
}