/* Jerarquía común de los cuatro banners. Texto y precios siguen viniendo de WordPress. */
.up-hero-container { padding-top: 6.5rem; }
.page-home .up-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; width: 40rem; max-width: 100%; padding-top: 0; color: var(--hero-text-color, var(--negro)); font-family: 'OwnersXXNarrow-XBlack', sans-serif; font-weight: 900; text-transform: uppercase; }
.up-hero-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .625rem; }
.up-hero-title, .up-hero-badge { margin: 0; font-family: 'OwnersXXNarrow-XBlack', sans-serif; font-weight: 900; font-size: 6.5rem; line-height: .95; letter-spacing: 0; }
.up-hero-copy--simple .up-hero-title { width: min-content; }
.up-hero-badge { padding: .125rem .625rem .375rem; border-radius: .625rem; color: white; background: var(--rosado); }
.page-home .up-hero-copy > .up-hero-subtitle { margin: 0; font-size: 1.75rem; line-height: 1.15; }
.up-hero-price { display: flex; flex-direction: column; align-items: stretch; width: max-content; max-width: 100%; gap: .25rem; }
.up-hero-copy .hero-price-pill { padding: .5rem 1.25rem .75rem; line-height: 1; letter-spacing: 0; gap: .125rem; }
.page-home .up-hero-copy .up-hero-price-value { font-size: 8.5rem; line-height: 1; }
.page-home .up-hero-copy .up-hero-currency { font-size: 4rem; line-height: 1; align-self: center; }
.page-home .up-hero-copy .up-hero-unit { font-size: 2rem; line-height: 1; align-self: flex-start; margin: .5rem 0 0 .25rem; }
.up-hero-old-price { width: 100%; text-align: right; font-size: 1.25rem; line-height: 1; }
.up-hero-old-price > span { text-decoration: line-through; }
.up-hero-copy--promo .up-hero-price { order: 3; }
.up-hero-details { display: flex; flex-direction: column; gap: .125rem; }
.up-hero-offer { margin: 0 0 .5rem; width: 22rem; max-width: 100%; font-size: 3.5rem; line-height: .95; }
.up-hero-extra { display: flex; align-items: center; gap: .375rem; font-family: 'Owners Narrow', sans-serif; font-weight: 300; font-size: 1.375rem; line-height: 1.1; }
.page-home .up-hero-copy > .up-hero-note { margin: 0; font-size: 2.5rem; line-height: 1.1; }
.up-hero-link { order: 4; }
@media (max-width: 48rem) {
  .up-hero-container { padding-top: 0; }
  .page-home .up-hero-copy { gap: .75rem; }
  .up-hero-heading { gap: .375rem; }
  .up-hero-title, .up-hero-badge { font-size: 4.5rem; }
  .page-home .up-hero-copy .up-hero-price-value { font-size: 6.5rem; }
  .page-home .up-hero-copy .up-hero-currency { font-size: 3rem; }
  .page-home .up-hero-copy .up-hero-unit { font-size: 1.5rem; }
  .page-home .up-hero-copy > .up-hero-subtitle { font-size: 1.375rem; }
  .page-home .up-hero-copy > .up-hero-note { font-size: 1.875rem; }
  .up-hero-offer { width: 17rem; font-size: 2.75rem; }
  .up-hero-extra { font-size: 1.125rem; }
  .up-hero-old-price { font-size: 1.125rem; }
}
@media (max-width: 23rem) {
  .up-hero-title, .up-hero-badge { font-size: 4rem; }
}

/* El fondo y la composición se amplían juntos; la solapa y los controles quedan fijos. */
.up-hero-slide { clip-path: inset(0 0 .25rem); }
.up-hero-zoom {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
@media (hover: hover) and (pointer: fine) {
  .up-hero-slide:hover .up-hero-zoom { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .up-hero-slide:hover .up-hero-zoom { transform: none; }
  .up-hero-zoom { transition: none; }
}
