/* Etapa 1: portada editorial integrada, altura fija por dispositivo.
   La pista completa se mueve horizontalmente. La foto respeta el encuadre
   configurado desde Administración; no volvemos a tarjetas separadas. */
#shopView #homeHero.hero.hero-carousel{
 position:relative!important;display:block!important;overflow:hidden!important;
 width:100%!important;max-width:100%!important;
 height:clamp(350px,39vw,470px)!important;
 min-height:0!important;
 border:0!important;border-radius:0!important;
 box-shadow:none!important;
 background:var(--theme-editorial-gradient)!important;
 margin-top:12px!important;margin-bottom:30px!important;
}
#homeHero .glow-hero-viewport{
 height:100%!important;max-height:100%!important;
 min-height:0!important;transition:none!important;overflow:hidden!important;
}
#homeHero .hero-banners{height:100%!important;align-items:stretch!important}
#homeHero .hero-banners>.hero-banner{
 height:100%!important;min-height:0!important;max-height:100%!important;
 box-sizing:border-box;overflow:hidden;
}
#homeHero .hero-banners>.hero-banner.has-blended-photo{
 padding-bottom:85px!important;
}
#homeHero .hero-copy,
#homeHero .hero-desc-bottom{min-width:0;max-width:100%}
#homeHero .hero-copy h1,
#homeHero .hero-copy h2{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
 overflow:hidden;overflow-wrap:anywhere;
}
#homeHero .hero-desc-bottom p{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
 overflow:hidden;overflow-wrap:anywhere;
}
#homeHero .hero-static-footer{
 position:absolute!important;inset:auto auto 45px 18px!important;
 margin:0!important;align-self:auto!important;z-index:6!important;
}
#homeHero .hero-controls{
 position:absolute!important;inset:auto 18px 12px auto!important;
 margin:0!important;align-self:auto!important;z-index:6!important;
}
@media(max-width:740px){
 #shopView #homeHero.hero.hero-carousel{
  height:clamp(510px,74svh,630px)!important;
  margin:9px 0 25px!important;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;
 }
 #homeHero .hero-banners>.hero-banner.has-blended-photo{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) minmax(168px,34%)!important;
  grid-template-areas:"editorial-copy" "editorial-desc" "mobile-image"!important;
  align-items:start!important;align-content:stretch!important;
  padding:17px 15px 0!important;gap:7px!important;
  height:100%!important;min-height:0!important;
 }
 #homeHero .hero-banners>.hero-banner:not(.has-blended-photo){
  padding:20px 16px 100px!important;
  min-height:0!important;height:100%!important;
 }
 #homeHero .has-blended-photo .hero-copy{
  grid-area:editorial-copy!important;max-width:100%!important;
 }
 #homeHero .hero-copy h1,#homeHero .hero-copy h2{
  font-size:clamp(27px,7.15vw,36px)!important;
  line-height:1.12!important;
  -webkit-line-clamp:3;margin:7px 0!important;
 }
 #homeHero .has-blended-photo .hero-desc-bottom{
  grid-area:editorial-desc!important;
  display:flex!important;flex-direction:column!important;gap:5px!important;
  max-width:100%!important;width:100%!important;
  overflow:hidden!important;align-self:start;
 }
 #homeHero .hero-desc-bottom p{
  -webkit-line-clamp:3!important;
  font-size:clamp(11px,3vw,12px)!important;line-height:1.45!important;
 }
 #homeHero .has-blended-photo .hero-blend-photo{
  grid-area:mobile-image!important;
  width:calc(100% + 30px)!important;
  margin:0 -15px!important;
  height:100%!important;min-height:0!important;max-height:100%!important;
  position:relative!important;inset:auto!important;
 }
 #homeHero .has-blended-photo .hero-blend-photo picture{height:100%!important}
 #homeHero .has-blended-photo .hero-blend-photo img{height:100%!important}
 #homeHero .hero-static-footer{
  position:absolute!important;inset:auto auto 50px 15px!important;
  margin:0!important;align-self:auto!important;z-index:6!important;
 }
 #homeHero .hero-controls{
  position:absolute!important;inset:auto auto 9px 15px!important;
  margin:0!important;align-self:auto!important;z-index:6!important;
 }
 #homeHero .hero-count{display:none!important}
}
@media(max-width:390px){
 #homeHero .hero-banners>.hero-banner.has-blended-photo{
  padding:15px 12px 0!important;
 }
 #homeHero .has-blended-photo .hero-blend-photo{
  width:calc(100% + 24px)!important;margin:0 -12px!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #homeHero .glow-hero-viewport{transition:none!important}
}

/* Etapa 2: asa accesible y gestos móviles independientes de la galería. */
@media(max-width:680px){
 .product-sheet .detail-sheet-toolbar{touch-action:none!important}
 .product-sheet .detail-sheet-handle{
  display:block!important;appearance:none;position:absolute;
  top:0!important;left:50%!important;transform:translateX(-50%)!important;
  width:62px!important;height:21px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;touch-action:none;
  cursor:grab;z-index:3;
 }
 .product-sheet .detail-sheet-handle::after{
  content:"";position:absolute;left:50%;top:6px;transform:translateX(-50%);
  width:36px;height:4px;border-radius:5px;background:var(--theme-border);
 }
 .product-sheet .detail-sheet-handle:focus-visible{
  outline:2px solid var(--theme-accent)!important;outline-offset:1px;
 }
 .product-sheet.is-pulling{animation:none!important}
 .product-sheet .product-sheet-content{overscroll-behavior-y:contain}
}

/* El banner ya tiene su propio enlace. En móvil se quita el CTA global
   duplicado y el arte de las campañas sin fotografía ocupa el tercio bajo. */
@media(max-width:740px){
 #shopView #homeHero .hero-static-footer{display:none!important}
 #homeHero .hero-banners>.hero-banner:not(.has-blended-photo){
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto minmax(120px,1fr)!important;
  grid-template-areas:"fallback-copy" "fallback-description" "fallback-visual"!important;
  align-items:start!important;align-content:stretch!important;
  padding:18px 15px 52px!important;gap:9px!important;
 }
 #homeHero .hero-banners>.hero-banner:not(.has-blended-photo) .hero-copy{grid-area:fallback-copy}
 #homeHero .hero-banners>.hero-banner:not(.has-blended-photo) .hero-desc-bottom{
  grid-area:fallback-description;min-width:0;align-self:start;
 }
 #homeHero .hero-banners>.hero-banner:not(.has-blended-photo) .hero-art{
  grid-area:fallback-visual;justify-self:center;align-self:center;
  width:min(72%,250px);min-height:0!important;height:100%;max-height:180px;
  display:grid;place-items:center;
 }
 #homeHero .hero-banners>.hero-banner:not(.has-blended-photo) .hero-art-action{
  width:100%;min-height:0!important;height:100%;
 }
}
