/*
 * Home pública 2026 - reforma exclusivamente visual.
 *
 * Este archivo está deliberadamente limitado a .home-storefront y a los
 * componentes que ya renderiza publico/index.php. No cambia fuentes de datos,
 * endpoints ni hooks usados por los configuradores de RST.
 */

.home-storefront {
  --home-concept-ink: #14253b;
  --home-concept-muted: #637083;
  --home-concept-red: #b4233a;
  --home-concept-red-dark: #8e2033;
  --home-concept-line: rgba(20, 37, 59, 0.10);
  --home-concept-shadow: 0 12px 30px rgba(20, 37, 59, 0.09);
  --home-concept-radius: 18px;
  padding-bottom: 48px !important;
  background: #f7f8fa !important;
}

/* Carrusel: conserva estructura, imágenes desktop/mobile, URLs y JS actuales. */
.home-storefront .home-banner-section {
  background: #fff;
}

.home-storefront .home-banner-carousel {
  box-shadow: 0 9px 28px rgba(20, 37, 59, 0.10) !important;
}

.home-storefront .home-banner-arrow {
  width: 46px !important;
  height: 46px !important;
  color: var(--home-concept-ink) !important;
  background: rgba(255, 255, 255, 0.93) !important;
  border: 1px solid rgba(20, 37, 59, 0.10) !important;
  border-radius: 50% !important;
  box-shadow: 0 7px 18px rgba(20, 37, 59, 0.16) !important;
}

.home-storefront .home-banner-arrow-prev {
  left: clamp(10px, 2.1vw, 34px) !important;
}

.home-storefront .home-banner-arrow-next {
  right: clamp(10px, 2.1vw, 34px) !important;
}

.home-storefront .home-banner-dots {
  bottom: 14px !important;
  gap: 8px !important;
}

.home-storefront .home-banner-dot {
  width: 9px !important;
  height: 9px !important;
  background: rgba(20, 37, 59, 0.35) !important;
  border: 2px solid rgba(255, 255, 255, 0.94) !important;
  border-radius: 999px !important;
  transition: width .16s ease, background-color .16s ease !important;
}

.home-storefront .home-banner-dot.is-active {
  width: 28px !important;
  background: var(--home-concept-red) !important;
}

/*
 * Reordenamos solamente cajas visuales:
 *   1. Ofertas administradas por RST
 *   2. Recién llegados administrados por RST
 *   3. Accesos de descubrimiento existentes
 * .home-discovery-grid pasa a display:contents para no tocar el HTML/PHP.
 */
.home-storefront .home-discovery-section {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 0 !important;
  padding-top: 24px;
}

.home-storefront .home-discovery-grid {
  display: contents !important;
}

.home-storefront .home-discovery-card {
  min-width: 0;
  padding: 22px !important;
  overflow: hidden;
  border: 1px solid var(--home-concept-line) !important;
  border-radius: var(--home-concept-radius) !important;
  box-shadow: var(--home-concept-shadow) !important;
}

.home-storefront .home-discovery-card:not(.home-discovery-card-offers) {
  order: 30;
  min-height: 100%;
  background: #fff !important;
}

.home-storefront .home-discovery-card:nth-child(2) {
  background: linear-gradient(135deg, #eaf4fb 0%, #dcecf7 100%) !important;
}

.home-storefront .home-discovery-card:nth-child(3) {
  background: linear-gradient(135deg, #eef8ef 0%, #def1e1 100%) !important;
}

.home-storefront .home-discovery-card:nth-child(4) {
  background: linear-gradient(135deg, #fff8df 0%, #f8edc2 100%) !important;
}

.home-storefront .home-discovery-title {
  min-height: 0 !important;
  margin: 0 0 16px !important;
  color: var(--home-concept-ink) !important;
  font-size: clamp(1.2rem, 1.45vw, 1.55rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em;
}

.home-storefront .home-discovery-card:not(.home-discovery-card-offers) .home-discovery-items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.home-storefront .home-discovery-item {
  min-width: 0;
  overflow: hidden;
  color: var(--home-concept-ink) !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.90) !important;
  border: 1px solid rgba(20, 37, 59, 0.08);
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(20, 37, 59, 0.06);
  transition: transform .15s ease, box-shadow .15s ease;
}

.home-storefront .home-discovery-item:hover,
.home-storefront .home-discovery-item:focus-visible {
  color: var(--home-concept-red) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(20, 37, 59, 0.10);
}

.home-storefront .home-discovery-image {
  aspect-ratio: 1.35 / 1 !important;
  background-color: #fff !important;
  border-bottom: 1px solid rgba(20, 37, 59, 0.07);
}

.home-storefront .home-discovery-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-storefront .home-discovery-name {
  min-height: 3.05em;
  margin-top: 0 !important;
  padding: 9px 10px 10px;
  color: inherit !important;
  font-size: .78rem !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
}

.home-storefront .home-discovery-link {
  margin-top: auto !important;
  padding-top: 18px !important;
  color: var(--home-concept-red) !important;
  font-size: .84rem !important;
  font-weight: 850 !important;
}

/* Ofertas: mantiene los hooks que js/main.js rellena desde la API/RST. */
.home-storefront .home-discovery-card.home-discovery-card-offers {
  position: relative;
  order: 10;
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(220px, .58fr) minmax(0, 1.8fr);
  grid-template-rows: auto 1fr;
  column-gap: 26px;
  row-gap: 12px;
  padding: clamp(20px, 2.5vw, 30px) !important;
  background:
    radial-gradient(circle at 8% 22%, rgba(255,255,255,.78), transparent 23%),
    linear-gradient(135deg, #fff0e9 0%, #ffddd5 100%) !important;
  animation: none !important;
}

.home-storefront .home-discovery-card.home-discovery-card-offers::before {
  content: "%";
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 7px;
  color: #fff;
  background: #ea6558;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(180, 35, 58, 0.17);
  font-size: 1.45rem;
  font-weight: 950;
  grid-column: 1;
  grid-row: 1;
}

.home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-title {
  align-self: end;
  margin: 72px 0 0 !important;
  color: #aa382c !important;
  font-size: clamp(1.55rem, 2.35vw, 2.2rem) !important;
  line-height: 1.02 !important;
  grid-column: 1;
  grid-row: 1;
  animation: none !important;
}

.home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  grid-column: 2;
  grid-row: 1 / span 2;
}

.home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-link {
  align-self: start;
  justify-self: start;
  min-height: 40px;
  margin-top: 0 !important;
  padding: .62rem .9rem !important;
  color: #fff !important;
  background: var(--home-concept-red);
  border-radius: 8px;
  text-decoration: none;
  grid-column: 1;
  grid-row: 2;
}

.home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-link:hover,
.home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-link:focus-visible {
  background: var(--home-concept-red-dark);
}

/* Recién llegados: conserva los hooks y datos del configurador de RST. */
.home-storefront .home-news-panel {
  order: 20;
  grid-column: 1 / -1;
  min-height: 285px !important;
  margin-top: 0 !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.20), transparent 24%),
    linear-gradient(135deg, #163e68 0%, #245b90 100%) !important;
  border: 1px solid rgba(20, 37, 59, 0.10) !important;
  border-radius: var(--home-concept-radius) !important;
  box-shadow: var(--home-concept-shadow) !important;
}

.home-storefront .home-news-panel.ultimos-ingresos-visible {
  display: grid !important;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.65fr) !important;
  gap: 14px !important;
  align-items: center !important;
}

.home-storefront .home-news-panel-content {
  width: auto !important;
  max-width: none !important;
  padding: clamp(24px, 3.4vw, 42px) !important;
}

.home-storefront .home-news-panel-eyebrow {
  color: #ffd6dc !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
}

.home-storefront .home-news-panel-title {
  color: #fff !important;
  font-size: clamp(1.55rem, 2.7vw, 2.55rem) !important;
  font-weight: 950 !important;
  line-height: 1.03 !important;
}

.home-storefront .home-news-panel-text {
  color: rgba(255,255,255,.84) !important;
  font-size: .93rem !important;
}

.home-storefront .home-news-panel-button {
  min-height: 42px !important;
  color: var(--home-concept-ink) !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-weight: 850 !important;
}

.home-storefront .home-news-products {
  grid-template-columns: repeat(var(--ultimos-count, 4), minmax(0, 155px)) !important;
  gap: 12px !important;
  padding: 24px 26px 24px 0 !important;
}

.home-storefront .home-news-product {
  border-radius: 13px !important;
  box-shadow: 0 9px 24px rgba(20, 37, 59, 0.14) !important;
}

.home-storefront .home-news-product-price {
  color: var(--home-concept-red) !important;
}

/* La animación anterior de ofertas no forma parte del lenguaje visual nuevo. */
.home-storefront .home-discovery-card-offers,
.home-storefront .home-discovery-card-offers .home-discovery-title {
  animation: none !important;
  will-change: auto !important;
}

@media (max-width: 1199.98px) {
  .home-storefront .home-discovery-section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers {
    grid-template-columns: minmax(190px, .48fr) minmax(0, 1.5fr);
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-storefront .home-discovery-card:not(.home-discovery-card-offers):last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991.98px) {
  .home-storefront {
    padding-bottom: 118px !important;
  }

  .home-storefront .home-banner-arrow {
    width: 40px !important;
    height: 40px !important;
  }

  .home-storefront .home-discovery-section {
    gap: 16px;
    padding-top: 18px;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers::before {
    grid-column: 1;
    grid-row: 1;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-title {
    margin: 70px 0 0 !important;
    grid-column: 1;
    grid-row: 1;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-items {
    grid-column: 1;
    grid-row: 2;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-link {
    grid-column: 1;
    grid-row: 3;
  }

  .home-storefront .home-news-panel.ultimos-ingresos-visible {
    grid-template-columns: 1fr !important;
  }

  .home-storefront .home-news-products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    padding: 0 22px 24px !important;
  }
}

@media (max-width: 767.98px) {
  .home-storefront .home-banner-arrow {
    width: 34px !important;
    height: 34px !important;
    font-size: 1.45rem !important;
  }

  .home-storefront .home-banner-dots {
    bottom: 7px !important;
  }

  .home-storefront .home-discovery-section {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .home-storefront .home-discovery-card:not(.home-discovery-card-offers) {
    grid-column: 1;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers {
    padding: 18px !important;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers .home-discovery-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-storefront .home-discovery-card:not(.home-discovery-card-offers) .home-discovery-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-storefront .home-news-panel-content {
    padding: 26px 22px !important;
  }

  .home-storefront .home-news-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 22px 24px !important;
  }
}

@media (max-width: 430px) {
  .home-storefront .home-discovery-card {
    padding: 16px !important;
  }

  .home-storefront .home-discovery-card.home-discovery-card-offers {
    padding: 16px !important;
  }

  .home-storefront .home-discovery-image {
    aspect-ratio: 1.18 / 1 !important;
  }

  .home-storefront .home-discovery-name {
    padding: 8px 8px 9px;
    font-size: .74rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-storefront .home-discovery-item,
  .home-storefront .home-banner-dot {
    transition: none !important;
  }
}
