/* Home V2.1: medios editables y assets definitivos de fallback. */
.erasmo-hero { position: relative; margin-bottom: var(--erasmo-space-6); }
/* La barra inferior forma una única pieza visual con el slider. */
.erasmo-home > .erasmo-hero:has(+ .erasmo-announcement) { margin-bottom: 0; }
.erasmo-home > .erasmo-hero + .erasmo-announcement { margin-top: 0; }
.erasmo-hero-slide { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(29rem, 43vw, 43rem); background: var(--erasmo-gray-100); text-align: center; }
.erasmo-hero-slide.has-media { color: var(--erasmo-white); background: var(--erasmo-gray-900); }
.erasmo-hero-media { position: absolute; inset: 0; z-index: -2; }
.erasmo-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.erasmo-hero-slide.has-media::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgb(0 0 0 / 10%); }
.erasmo-hero-slide--light.has-media { color: var(--erasmo-black); }
.erasmo-hero-slide--light.has-media::before { background: rgb(0 0 0 / 10%); }
.erasmo-hero-copy { padding-block: clamp(9rem, 13vw, 12rem) 4rem; }
.erasmo-hero-copy h1, .erasmo-hero-copy h2 { max-width: 15ch; margin: 0 auto 1.5rem; font-size: clamp(2.75rem, 6.5vw, 6.5rem); line-height: 0.99; letter-spacing: -0.035em; }
.erasmo-hero-copy > p:not(.erasmo-eyebrow) { max-width: 30rem; margin: 0 auto 2rem; font-size: clamp(0.9375rem, 1.4vw, 1.125rem); }
.erasmo-hero-copy > .erasmo-eyebrow { margin-bottom: 1.5rem; }
.erasmo-hero-slide--left { text-align: left; }
.erasmo-hero-slide--right { text-align: right; }
.erasmo-hero-slide--left .erasmo-hero-copy > * { margin-left: 0; }
.erasmo-hero-slide--right .erasmo-hero-copy > * { margin-right: 0; }
.erasmo-hero-slide--dark.has-media .erasmo-button { color: var(--erasmo-black); background: var(--erasmo-white); }
.erasmo-hero .erasmo-slider-controls { margin: 0; padding: 0.75rem var(--erasmo-gutter); border-bottom: 1px solid var(--erasmo-gray-100); }
.erasmo-hero + .erasmo-section { padding-top: 0; }
.erasmo-hero .erasmo-inline-video { aspect-ratio: 16 / 9; max-height: 20rem; background: var(--erasmo-black); }
.erasmo-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--erasmo-grid-gap); }
.erasmo-category-card { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: end; justify-content: space-between; gap: 1rem; min-height: 22rem; padding: 1.5rem; border-radius: var(--erasmo-radius-editorial); color: white; background: var(--erasmo-gray-900); text-decoration: none; font-size: 1.4rem; font-weight: 500; }
.erasmo-category-image { position: absolute; inset: 0; z-index: -2; }
.erasmo-category-image img { width: 100%; height: 100%; object-fit: cover; }
.erasmo-category-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgb(0 0 0 / 58%), rgb(0 0 0 / 18%) 22%, transparent 45%); }
.erasmo-category-card:hover .erasmo-category-name { text-decoration: none; text-underline-offset: .3em; }
.erasmo-category-card--text { min-height: 8rem; background: transparent; color: var(--erasmo-black); border-bottom: var(--erasmo-border); border-radius: 0; }
.erasmo-category-card--text::before { display: none; }
.erasmo-instagram { border-top: 1px solid var(--erasmo-gray-100); }
.erasmo-instagram.erasmo-section { padding-top: var(--erasmo-space-5); }
.erasmo-social-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
@media (min-width: 48rem) {
 .erasmo-social-grid.has-six-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 75rem) {
 .erasmo-social-grid.has-six-items { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.erasmo-social-grid img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--erasmo-radius-medium); }
@media (max-width: 47.99rem) {
 .erasmo-hero-slide { min-height: max(32rem, calc(100svh - 3rem)); }
 .erasmo-hero { margin-bottom: 1rem; }
 .erasmo-hero-copy { padding-block: 10rem 4rem; }
 .erasmo-category-grid { grid-template-columns: 1fr; }
 .erasmo-category-card { min-height: 17rem; padding: 1.25rem; font-size: 1.5rem; }

 .erasmo-social-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 70%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; } .erasmo-social-grid figure { scroll-snap-align: start; }
}

.erasmo-video-product { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: flex-end; min-height: 38rem; padding: clamp(1.25rem, 4vw, 4rem); border-radius: var(--erasmo-radius-editorial); overflow: hidden; background: var(--erasmo-gray-900); }
.erasmo-video-product .erasmo-video-poster, .erasmo-background-video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.erasmo-video-product::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgb(0 0 0 / 15%); }
.erasmo-video-product--light::before { background: rgb(255 255 255 / 15%); }
.erasmo-video-product--left { justify-content: flex-start; }
.erasmo-video-product .erasmo-product-grid { width: min(100%, 20rem); }
.erasmo-video-product .erasmo-product-grid ul.products { grid-template-columns: 1fr; }
.erasmo-video-toggle { position: absolute; left: 1rem; bottom: 1rem; font-size: .75rem; }
@media (max-width: 47.99rem) { .erasmo-video-product { min-height: 44rem; align-items: end; padding-bottom: 5rem; } .erasmo-video-product .erasmo-product-grid { width: min(100%, 16rem); } }
.erasmo-video-product .erasmo-product-grid > .erasmo-text-link { display: inline-flex; gap: .5rem; margin-top: 1rem; color: white; }
.erasmo-video-product--light .erasmo-product-grid > .erasmo-text-link { color: var(--erasmo-black); background: rgb(255 255 255 / 85%); padding: .5rem; }
@media (max-width: 47.99rem) { .erasmo-category-card--text { min-height: 6rem; } }

/* Home editorial contenido; la guía mantiene un marco visual más ancho. */
.erasmo-home { --erasmo-container-max: 1180px; min-width: 0; }
.erasmo-home .erasmo-guide { width: 100%; max-width: none; padding-inline: 0; }
.erasmo-home .erasmo-guide .erasmo-banner { border-radius: 0; }
.erasmo-guide .erasmo-banner { min-height: clamp(22rem, 31vw, 30rem); }
.erasmo-hero, .erasmo-hero-copy, .erasmo-category-grid, .erasmo-social-grid, .erasmo-video-product { min-width: 0; max-width: 100%; }
.erasmo-social-grid > *, .erasmo-video-product > .erasmo-product-grid { min-width: 0; }
.erasmo-hero { overflow: clip; }

/* Ocultar las barras sin desactivar el desplazamiento de los carruseles. */
.erasmo-hero .erasmo-slider-track,
.erasmo-home .erasmo-product-rail {
	scrollbar-width: none;
}
.erasmo-hero .erasmo-slider-track::-webkit-scrollbar,
.erasmo-home .erasmo-product-rail::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.erasmo-background-video { opacity: 0; }
.erasmo-social-grid figure { min-width: 0; margin: 0; }
.erasmo-social-grid a { display: block; }
/* Home: controles integrados y card de video compacta. */
.erasmo-hero .erasmo-slider-controls{position:absolute;inset:0;z-index:3;margin:0;padding:0;border:0;pointer-events:none;color:white}
.erasmo-hero .erasmo-slider-controls[data-theme=light]{color:#202020}
.erasmo-hero .erasmo-slider-controls>.erasmo-icon-button{position:absolute;top:55%;width:44px;height:44px;min-width:44px;min-height:44px;max-height:44px;aspect-ratio:1;border-radius:50%;box-sizing:border-box;padding:.45rem;transform:translateY(-50%);pointer-events:auto;background:rgb(255 255 255 / 9%);border:1px solid currentColor;color:inherit;opacity:.75;backdrop-filter:blur(3px)}
.erasmo-hero [data-slider-prev]{left:clamp(.75rem,2vw,2rem)}
.erasmo-hero [data-slider-next]{right:clamp(.75rem,2vw,2rem)}
.erasmo-hero .erasmo-slider-controls>.erasmo-icon-button:hover{opacity:1;background:rgb(255 255 255 / 20%)}
.erasmo-slider-bars{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;align-items:center;pointer-events:auto}
.erasmo-slider-bars button{display:grid;place-items:center;width:2rem;height:2rem;border:0;padding:0;background:none;color:inherit;cursor:pointer}
.erasmo-slider-bars button>span{display:block;width:100%;height:3px;border-radius:2px;background:currentColor;opacity:.35}
.erasmo-slider-bars button[aria-pressed=true]>span{opacity:1}
.erasmo-slider-bars .erasmo-slider-pause{width:1.5rem;opacity:.75}
.erasmo-slider-pause[aria-pressed=true]{opacity:1;background:rgb(0 0 0 / 15%);border-radius:50%}
.erasmo-video-media{position:absolute;inset:0;z-index:-2}
.erasmo-video-product .erasmo-video-media video,.erasmo-video-product .erasmo-video-media .erasmo-video-poster{z-index:auto}
.erasmo-video-product .erasmo-product-grid li.product{box-shadow:0 12px 32px rgb(0 0 0 / 14%)}
@media(max-width:47.99rem){
 .erasmo-hero-copy{padding-inline:3.5rem}
 .erasmo-video-product{display:block;min-height:0;padding:0;background:#f5f5f5}
 .erasmo-video-media{position:relative;inset:auto;z-index:0;aspect-ratio:16/10;width:100%;overflow:hidden}
 .erasmo-video-product::before{display:none}
 .erasmo-video-product .erasmo-product-grid{width:100%;padding:0}
 .erasmo-video-product .erasmo-product-grid ul.products{display:block;margin:0}
 .erasmo-video-product .erasmo-product-grid li.product{margin:0;padding:.65rem .85rem;border-radius:0;box-shadow:none;width:100%}
 .erasmo-video-product .woocommerce-loop-product__link{display:grid!important;height:auto!important;grid-template-columns:3.75rem minmax(0,1fr);gap:.1rem .8rem;align-content:center;min-height:3.75rem}
 .erasmo-video-product .erasmo-card-media{grid-column:1;grid-row:1/5;width:3.75rem!important;height:3.75rem!important;aspect-ratio:1;margin:0!important}
 .erasmo-video-product .woocommerce-loop-product__title,.erasmo-video-product .price,.erasmo-video-product .erasmo-product-category{grid-column:2;margin:0}
 .erasmo-video-product .woocommerce-loop-product__title{font-size:1.15rem!important;line-height:1.2;font-weight:650}
 .erasmo-video-product .onsale,.erasmo-video-product .star-rating{display:none}
}

/* Editorial motion and compact social rail. Content remains visible without JavaScript. */
.erasmo-category-name { transform-origin: left bottom; transition: transform .25s ease; }
.erasmo-category-card:hover .erasmo-category-name, .erasmo-category-card:focus-visible .erasmo-category-name { transform: scale(1.035); }
.erasmo-home .erasmo-social-grid { width:100%; min-width:0; scrollbar-width:none; }
.erasmo-home .erasmo-social-grid::-webkit-scrollbar { display:none; }
.erasmo-home .erasmo-social-grid img { aspect-ratio:1; }
.erasmo-home .erasmo-social-grid > figure { min-width:0; margin:0; }
.erasmo-home .erasmo-social-grid a { max-width:100%; }
.erasmo-home .erasmo-instagram .erasmo-section-heading { min-width:0; }
.erasmo-home .erasmo-instagram .erasmo-section-heading > * { max-width:100%; }
@media(prefers-reduced-motion:reduce){
 .erasmo-category-name { transition:none; }
 .erasmo-category-card:hover .erasmo-category-name { transform:none; }
}

@media(max-width:47.99rem){
 .erasmo-hero .erasmo-slider-controls>.erasmo-icon-button{width:34px;height:34px;min-width:34px;min-height:34px;max-height:34px;padding:.4rem}
 .erasmo-hero .erasmo-slider-controls>.erasmo-icon-button svg{width:16px;height:16px}
 .erasmo-video-product .woocommerce-loop-product__link{grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.6rem;align-items:center;min-height:2.5rem}
 .erasmo-video-product .erasmo-card-media{grid-column:1;grid-row:1;width:2.5rem!important;height:2.5rem!important}
 .erasmo-video-product .woocommerce-loop-product__title{grid-column:2;grid-row:1;font-size:1rem!important}
 .erasmo-video-product .price{grid-column:3;grid-row:1;font-size:.8rem!important;text-align:right}
 .erasmo-video-product .erasmo-product-category{display:none}
 .erasmo-video-product .erasmo-product-grid li.product{padding:.5rem .75rem}
}

/* Editorial copy over the video, with the associated WooCommerce card beside it. */
.erasmo-video-product.has-copy { justify-content:space-between; gap:clamp(2rem,5vw,5rem); }
.erasmo-video-product.has-copy::before { background:rgb(0 0 0 / 40%); }
.erasmo-video-product--light.has-copy::before { background:rgb(255 255 255 / 55%); }
.erasmo-video-copy { flex:1; min-width:0; max-width:34rem; color:white; }
.erasmo-video-copy h2 { margin:0 0 1.25rem; font-size:clamp(2rem,4vw,3.5rem); line-height:1.05; letter-spacing:-.045em; }
.erasmo-video-copy p { margin:0 0 1.75rem; max-width:30rem; font-size:1.0625rem; line-height:1.6; white-space:pre-line; }
.erasmo-video-copy .erasmo-button { background:white; border-color:white; color:var(--erasmo-black); }
.erasmo-video-product--light .erasmo-video-copy { color:var(--erasmo-black); }
.erasmo-video-product--light .erasmo-video-copy .erasmo-button { background:var(--erasmo-black); border-color:var(--erasmo-black); color:white; }
.erasmo-video-product.has-copy > .erasmo-product-grid { flex-shrink:0; }
@media(min-width:48rem){
 .erasmo-video-product--left.has-copy { flex-direction:row-reverse; }
}
@media(max-width:47.99rem){
 .erasmo-video-product.has-copy { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
 .erasmo-video-product.has-copy .erasmo-video-media { grid-area:1/1; height:100%; min-height:24rem; aspect-ratio:auto; }
 .erasmo-video-product.has-copy .erasmo-video-media::after { content:''; position:absolute; inset:0; background:rgb(0 0 0 / 40%); }
 .erasmo-video-product--light.has-copy .erasmo-video-media::after { background:rgb(255 255 255 / 55%); }
 .erasmo-video-copy { grid-area:1/1; position:relative; z-index:1; align-self:center; padding:2rem 1.5rem; }
 .erasmo-video-copy h2 { font-size:clamp(1.9rem,7vw,2.6rem); }
 .erasmo-video-copy p { font-size:.9375rem; }
 .erasmo-video-product.has-copy > .erasmo-product-grid { grid-area:2/1; }
}

.erasmo-category-image img { filter:none; opacity:1; mix-blend-mode:normal; }
