Descubre las ofertas en ropa para mujer del SALE Kenzo Jeans. Encuentra descuentos únicos en jeans, vestidos, blusas y más.
Descubre el SALE de Kenzo Jeans: jeans, vestidos, blusas y más con descuentos únicos
Renueva tu armario con la moda de mujer que marca tendencia en Colombia
.kenzo-rotator{
width:100%;
--kr-speed:600ms; /* duración animación */
--kr-delay:2500ms; /* tiempo visible entre cambios */
display:flex;
justify-content:center; /* centra el bloque */
}
.kr-viewport{
position:relative;
overflow:hidden;
display:inline-block;
max-width:100%;
text-align:center; /* texto centrado */
}
.kr-track{ will-change: transform; }
.kr-item{
color:#fff; /* texto blanco */
font-size:16px; /* fuente 16px */
line-height:1.35;
font-weight:400; /* no bold */
padding:4px 8px;
white-space:normal; /* ¡clave para que sea responsive! */
word-break:break-word;
}
(function () {
const track = document.getElementById('krTrack');
if (!track) return;
const root = document.querySelector('.kenzo-rotator');
const speed = parseInt(getComputedStyle(root).getPropertyValue('--kr-speed')) || 600;
const delay = parseInt(getComputedStyle(root).getPropertyValue('--kr-delay')) || 2500;
// Asegura que los items se calculen con el ancho correcto
const items = Array.from(track.children).map(el => {
el.style.display = 'block'; // cada ítem en su propia línea
el.style.width = '100%'; // ocupa todo el ancho del viewport
return el;
});
// Ajusta la altura del viewport a la del ítem actual (primero visible)
function setHeightToCurrent(){
const h = track.firstElementChild.offsetHeight;
track.parentElement.style.height = h + 'px';
}
function tick(){
// Mover el último al inicio (el nuevo que entra desde arriba)
const last = track.lastElementChild;
track.insertBefore(last, track.firstElementChild);
// Altura del nuevo primer ítem (puede variar según ancho -> responsive)
const itemHeight = track.firstElementChild.offsetHeight;
// Fijar altura del viewport al nuevo contenido para evitar saltos
track.parentElement.style.height = itemHeight + 'px';
// Colocar el track por encima sin transición (fuera de vista)
track.style.transition = 'none';
track.style.transform = `translateY(-${itemHeight}px)`;
// En el siguiente frame, animar hacia 0 (empuja el anterior hacia abajo)
requestAnimationFrame(() => {
requestAnimationFrame(() => {
track.style.transition = `transform ${speed}ms ease`;
track.style.transform = 'translateY(0)';
});
});
// Programar el siguiente ciclo
setTimeout(tick, delay + speed);
}
// Recalcular alturas al cambiar el tamaño de la ventana (responsive)
window.addEventListener('resize', () => {
// Recalcula altura del ítem visible según el nuevo ancho
setHeightToCurrent();
});
// Inicialización
// Pequeño delay para asegurar layout correcto antes del primer cálculo
setTimeout(() => {
setHeightToCurrent();
setTimeout(tick, delay);
}, 50);
})();
/* Asegura que el padding y border se incluyan en el width/height total */
.custom-buttons-container *, .custom-buttons-container *::before, .custom-buttons-container *::after {
box-sizing: border-box;
}
.custom-buttons-container {
display: flex;
justify-content: center; /* Centra los botones horizontalmente */
flex-wrap: wrap; /* Permite wrap si la pantalla es MUY estrecha, pero intentará una línea */
gap: 10px; /* Espacio uniforme entre botones */
/* quitamos el max-width: 800px; para que no fuerce el salto en escritorio */
margin: 20px auto; /* Centra el contenedor y añade espacio vertical */
padding: 0 5px; /* Pequeño padding general */
width: 100%; /* Ayuda con la integración en Elementor */
}
.custom-button {
font-family: 'Jost', sans-serif;
font-size: 13px;
font-weight: 500;
color: #FFF !important;
background-color: #EE1B42;
border: 1px solid #EE1B42;
text-decoration: none;
padding: 10px 15px;
display: inline-block;
text-align: center;
transition: background-color 0.2s, color 0.2s;
flex-grow: 0; /* No permitir que crezcan */
flex-shrink: 0; /* Importante para que no se encojan demasiado si caben justo */
/* Eliminamos flex-basis, max-width y min-width específicos para escritorio */
/* El ancho ahora se basará en el contenido y padding, permitiendo que quepan más en línea */
}
.custom-button:hover {
background-color: white;
color: #EE1B42 !important;
}
/* --- Media query para Móviles (SIN CAMBIOS) --- */
@media (max-width: 767px) {
.custom-buttons-container {
max-width: 100%; /* Requerido en móvil */
/* Puedes ajustar el gap para móvil si es muy grande */
/* gap: 8px; */
}
.custom-buttons-container .custom-button { /* Selector un poco más específico */
/* Base para móvil: intentar 2 columnas */
flex-basis: calc(50% - 5px); /* Ajusta el '5px' si cambias el gap */
/* Aseguramos que no exceda la mitad */
max-width: calc(50% - 5px); /* Ajusta el '5px' si cambias el gap */
/* Quitamos el min-width en móvil para que puedan encogerse */
min-width: auto;
}
/* Estilo específico para el ÚLTIMO botón en móvil */
.custom-buttons-container .custom-button:last-child {
/* Ocupa todo el ancho disponible */
flex-basis: 100%;
max-width: 100%;
}
}
/* Media query para pantallas muy pequeñas (opcional, sin cambios) */
/*
@media (max-width: 360px) {
.custom-buttons-container .custom-button {
flex-basis: 100%;
max-width: 100%;
}
}
*/