/* ---- Carrusel de portada ---- */
.sjw-car { --sjw-car-radio: 0; margin: 0 0 1.5rem; }
.sjw-car-marco { display: grid; gap: 1rem; }
.sjw-car-principal { position: relative; overflow: hidden; border-radius: var(--sjw-car-radio); }
.sjw-car-pista { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.sjw-car-pista::-webkit-scrollbar { display: none; }
.sjw-car-pista:focus-visible { outline: 2px solid var(--wp--preset--color--acento, #b4452f); outline-offset: -2px; }
.sjw-car-slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; overflow: hidden; }
.sjw-car-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sjw-car-cubre { position: absolute; inset: 0; z-index: 2; }
.sjw-car-texto { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .5rem; padding: 0 clamp(2.75rem, 8%, 6rem); max-width: min(34rem, 70%); pointer-events: none; }
.sjw-car-titulo { margin: 0; font-size: clamp(1.4rem, 1rem + 2.6vw, 3.25rem); line-height: 1.1; }
.sjw-car-sub { margin: 0; font-size: clamp(.7rem, .65rem + .3vw, .9rem); letter-spacing: .14em; text-transform: uppercase; }
.sjw-car-boton { margin-top: .5rem; display: inline-block; padding: .7rem 1.4rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.sjw-tono-oscuro .sjw-car-texto { color: #1b1b1b; }
.sjw-tono-oscuro .sjw-car-boton { background: #111; color: #fff; }
.sjw-tono-claro .sjw-car-texto { color: #fff; text-shadow: 0 1px 12px rgba(0, 0, 0, .25); }
.sjw-tono-claro .sjw-car-boton { background: #fff; color: #111; }
.sjw-car-flecha { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: #fff; color: #111; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; opacity: .95; }
.sjw-car-flecha:hover { opacity: 1; transform: translateY(-50%) scale(1.06); }
.sjw-car-ant { left: .9rem; } .sjw-car-sig { right: .9rem; }
.sjw-car-puntos { position: absolute; left: 0; right: 0; bottom: .8rem; z-index: 3; display: flex; justify-content: center; gap: .4rem; pointer-events: none; }
.sjw-car-puntos button { pointer-events: auto; width: .55rem; height: .55rem; padding: 0; border: 0; border-radius: 1rem; background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); cursor: pointer; transition: width .25s, background .25s; }
.sjw-car-puntos button[aria-current="true"] { width: 1.5rem; background: #fff; }
.sjw-car-vacio { padding: 2rem; text-align: center; background: #f5f4f2; }

/* Variante: pantalla completa */
.sjw-car--completo .sjw-car-slide { aspect-ratio: 21 / 8; max-height: 78vh; }
@media (max-width: 640px) { .sjw-car--completo .sjw-car-slide { aspect-ratio: 4 / 3; } }

/* Variante: destacado + 2 banners */
.sjw-car--destacado { --sjw-car-radio: 1.1rem; }
.sjw-car--destacado .sjw-car-marco { grid-template-columns: minmax(0, 2.04fr) minmax(0, 1fr); width: min(var(--sjw-ancho, 1200px), 100% - 2 * var(--sjw-margen, 1.5rem)); margin: 0 auto; }
.sjw-car--destacado .sjw-car-slide { aspect-ratio: 1200 / 580; }
.sjw-car--destacado .sjw-car-texto { max-width: 46%; padding-left: clamp(5rem, 9%, 6.5rem); }
.sjw-car--destacado .sjw-car-titulo { font-size: clamp(1.25rem, .8rem + 1.7vw, 2.5rem); }
.sjw-car-lados { display: grid; gap: 1rem; grid-template-rows: 1fr 1fr; }
.sjw-car-lado { position: relative; display: block; overflow: hidden; border-radius: var(--sjw-car-radio); aspect-ratio: 600 / 283; background: #eee; }
.sjw-car-lado img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
a.sjw-car-lado:hover img { transform: scale(1.04); }
.sjw-car-lado-t { position: absolute; left: 1rem; bottom: 1rem; color: #fff; font-weight: 600; font-size: 1.05rem; text-shadow: 0 1px 10px rgba(0, 0, 0, .45); }
@media (max-width: 900px) {
	.sjw-car--destacado .sjw-car-marco { grid-template-columns: 1fr; }
	.sjw-car-lados { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
	.sjw-car--destacado .sjw-car-slide { aspect-ratio: 4 / 3; }
	.sjw-car-texto { padding: 0 3.25rem; max-width: 85%; }
}
@media (max-width: 640px) { .sjw-car-flecha { width: 2.25rem; height: 2.25rem; } .sjw-car-ant { left: .4rem; } .sjw-car-sig { right: .4rem; } }

/* ---- Categorias circulares ---- */
.sjw-circ { position: relative; margin: 0 auto 2rem; width: min(var(--sjw-ancho, 1200px), 100% - 2 * var(--sjw-margen, 1.5rem)); }
.sjw-circ-pista { display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding: .5rem 0; }
.sjw-circ-pista::-webkit-scrollbar { display: none; }
.sjw-circ-item { flex: 0 0 auto; width: 7.5rem; scroll-snap-align: start; text-align: center; text-decoration: none; color: inherit; font-size: .85rem; }
.sjw-circ-img { display: block; width: 7.5rem; height: 7.5rem; border-radius: 50%; overflow: hidden; background: var(--wp--preset--color--suave, #f5f4f2); margin-bottom: .6rem; transition: transform .25s; }
.sjw-circ-item:hover .sjw-circ-img { transform: scale(1.05); }
.sjw-circ-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sjw-circ-nombre { display: block; line-height: 1.25; }
.sjw-circ-flecha { position: absolute; right: 0; top: 3.25rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; background: var(--wp--preset--color--base, #fff); color: var(--wp--preset--color--tinta, #111); box-shadow: 0 2px 10px rgba(0, 0, 0, .2); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.sjw-circ-fin .sjw-circ-flecha, .sjw-circ-sin .sjw-circ-flecha { display: none; }
@media (max-width: 640px) { .sjw-circ-item, .sjw-circ-img { width: 5.75rem; } .sjw-circ-img { height: 5.75rem; } .sjw-circ-pista { gap: 1rem; } .sjw-circ-flecha { display: none; } }

.sjw-car-lado:has(.sjw-car-lado-t)::after { content: ''; position: absolute; inset: auto 0 0 0; height: 50%; background: linear-gradient(transparent, rgba(0, 0, 0, .5)); pointer-events: none; }
.sjw-car-lado-t { z-index: 1; }

/* Celular: velo suave detras del texto y encuadre hacia las prendas (que estan a la derecha) */
@media (max-width: 640px) {
	.sjw-car-slide img { object-position: 82% center; }
	.sjw-car-texto { max-width: none; width: 100%; padding: 0 1rem 0 3.6rem; justify-content: center; }
	.sjw-car--destacado .sjw-car-texto { max-width: none; }
	.sjw-tono-oscuro .sjw-car-texto { background: linear-gradient(90deg, rgba(255, 255, 255, .85) 0, rgba(255, 255, 255, .5) 45%, rgba(255, 255, 255, 0) 75%); }
	.sjw-tono-claro .sjw-car-texto { background: linear-gradient(90deg, rgba(0, 0, 0, .6) 0, rgba(0, 0, 0, .3) 45%, rgba(0, 0, 0, 0) 75%); }
	.sjw-car-titulo, .sjw-car--destacado .sjw-car-titulo { font-size: 1.35rem; }
	.sjw-car-boton { padding: .55rem 1rem; font-size: .72rem; }
}

/* ---- Variante: carrusel ancho + tarjetas de categoria ---- */
.sjw-car--tarjetas { --sjw-car-radio: .6rem; }
.sjw-car--tarjetas .sjw-car-marco { width: min(var(--sjw-ancho, 1200px), 100% - 2 * var(--sjw-margen, 1.5rem)); margin: 0 auto; }
.sjw-car--tarjetas .sjw-car-slide { aspect-ratio: 1920 / 490; }
.sjw-car--tarjetas .sjw-car-texto { max-width: 46%; padding-left: clamp(4.25rem, 9%, 6rem); }
.sjw-car--tarjetas .sjw-car-titulo { font-size: clamp(1.15rem, .7rem + 1.7vw, 2.4rem); }
.sjw-car--tarjetas .sjw-car-flecha { width: 2rem; height: 2rem; }
.sjw-car--tarjetas .sjw-car-ant { left: 1.1rem; } .sjw-car--tarjetas .sjw-car-sig { right: 1.1rem; }
.sjw-car-tarjetas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.sjw-tarjeta { position: relative; display: block; overflow: hidden; border-radius: var(--sjw-car-radio); aspect-ratio: 220 / 232; background: var(--wp--preset--color--suave, #f0f0f0); text-decoration: none; }
.sjw-tarjeta img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
a.sjw-tarjeta:hover img { transform: scale(1.05); }
.sjw-tarjeta-t { position: absolute; left: .6rem; right: .6rem; bottom: .6rem; padding: .55rem .5rem; text-align: center; font-weight: 600; font-size: .9rem; line-height: 1.2; color: #fff; background: rgba(15, 15, 25, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-radius: .35rem; border: 1px solid rgba(255, 255, 255, .15); }
@media (max-width: 900px) {
	.sjw-car--tarjetas .sjw-car-slide { aspect-ratio: 4 / 3; }
	.sjw-car-tarjetas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px) { .sjw-car-tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; } .sjw-tarjeta-t { font-size: .8rem; } }

/* "Imagen grande" a ancho de pagina (por defecto): mismo carril que el resto del contenido */
.sjw-car--pagina { --sjw-car-radio: .6rem; }
.sjw-car--pagina .sjw-car-marco { width: min(var(--sjw-ancho, 1200px), 100% - 2 * var(--sjw-margen, 1.5rem)); margin: 0 auto; }
