:root { --primario: #9C27B0; --primarioOscuro: #89119D; --secundario: #FFCE00; --secundarioOscuro: rgb(233, 187, 2); --blanco: #FFF; --fuentePrincipal: 'Staatliches', cursive, sans-serif; }
html { box-sizing: border-box; font-size: 62.5%; }
*, *:before, *:after { box-sizing: inherit; }
body { background-color: var(--primario); font-size: 1.6rem; line-height: 1.5; margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--blanco); }
p { font-size: 1.8rem; margin: 0; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
.contenedor { max-width: 120rem; margin: 0 auto; width: 95%; }
h1, h2, h3 { color: var(--secundario); font-family: var(--fuentePrincipal); margin: 0; }
h1 { font-size: 4rem; margin: 3.5rem 0 2.5rem 0; }
h2 { font-size: 3.2rem; margin: 2.5rem 0; }
h3 { font-size: 2.4rem; margin: 1.5rem 0; }


/* Declaraciones compartidas (agrupadas) */
.header, .navegacion, .carrito-flotante, .producto, .producto__enlace, .producto__imagen-contenedor, .producto__informacion, .bloque, .galeria, .galeria__miniaturas, .footer, .pasos-compra, .paso, .paso__numero, .carrito-articulos, .carrito-tabla__producto, .carrito-tabla__info, .carrito-acciones-tabla, .garantia-item, .resumen-desglose, .resumen-fila, .checkout-campo, .btn-finalizar-pedido, .metodos-pago__iconos { display: flex; }
.navegacion__enlace, .carrito-flotante, .producto__nombre, .producto__precio, .producto__btn-agregar, .footer__texto, .paso__numero, .paso__texto, .carrito-tabla th, .carrito-tabla__nombre, .carrito-tabla__precio, .carrito-tabla__subtotal, .carrito-vacio p, .btn-accion, .garantia-item__info h5, .resumen-fila__valor, .resumen-total-monto, .btn-finalizar-pedido { font-family: var(--fuentePrincipal); }
.header, .navegacion, .carrito-badge, .carrito-flotante, .producto__imagen-contenedor, .nosotros, .bloque, .footer, .pasos-compra, .paso, .paso__numero, .carrito-tabla__producto, .control-cantidad, .btn-quitar, .carrito-acciones-tabla, .btn-accion, .garantia-item, .resumen-fila, .btn-finalizar-pedido, .pago-tag { align-items: center; }
h1, h2, h3, .producto__informacion, .producto__nombre, .producto__precio, .producto__btn-agregar, .bloque, .footer__texto, .carrito-tabla__accion, .carrito-vacio, .checkout-nota, .metodos-pago__titulo { text-align: center; }
.header, .navegacion, .carrito-badge, .producto__imagen-contenedor, .producto__informacion, .footer, .pasos-compra, .paso__numero, .btn-quitar, .btn-finalizar-pedido, .metodos-pago__iconos { justify-content: center; }
.producto, .producto__enlace, .producto__informacion, .bloque, .galeria, .footer, .paso, .carrito-articulos, .carrito-tabla__info, .resumen-desglose, .checkout-campo { flex-direction: column; }
.formulario__campo, .paso__numero, .carrito-tabla__nombre, .resumen-fila__valor, .checkout-subtitulo, .pago-tag { color: var(--blanco); }
.carrito-badge, .carrito-flotante, .producto__btn-agregar, .tag-talla, .btn-finalizar-pedido { background-color: var(--secundario); }
.producto, .producto__btn-agregar, .grafico, .formulario__campo { border-radius: 4px; }
.carrito-badge, .paso__numero, .paso--activo .paso__texto, .tag-talla, .carrito-tabla__subtotal, .resumen-total-monto, .checkout-campo label { font-weight: bold; }
.producto__imagen-contenedor, .producto__imagen, .producto__btn-agregar, .nosotros__imagen, .carrito-tabla, .btn-finalizar-pedido { width: 100%; }
.navegacion, .producto, .bloque, .footer, .carrito-tabla-contenedor, .carrito-resumen { background-color: var(--primarioOscuro); }
.carrito-badge, .carrito-flotante, .tag-talla, .btn-finalizar-pedido { color: #1a0026; }
.bloque, .galeria__miniatura, .carrito-tabla__img, .garantia-item, .btn-finalizar-pedido { border-radius: 6px; }
.nosotros, .bloques, .carrito-pagina, .carrito-garantias { display: grid; }
.producto__btn-agregar, .galeria__miniatura, .btn-quitar, .btn-accion, .btn-finalizar-pedido { cursor: pointer; }
h1, h2, h3, .navegacion__enlace, .carrito-tabla th, .btn-finalizar-pedido { letter-spacing: 1px; }
h1, h2, .navegacion__enlace, .producto__nombre, .paso__texto { text-transform: uppercase; }
.control-cantidad, .btn-quitar, .btn-accion, .pago-tag { display: inline-flex; }
.carrito-flotante, .producto__btn-agregar, .carrito-tabla__subtotal { font-size: 2.2rem; }
.carrito-flotante, .galeria__miniaturas, .btn-finalizar-pedido { gap: 1rem; }
.producto__imagen, .nosotros__imagen, .carrito-tabla__img { object-fit: contain; }
.producto__nombre, .producto__btn-agregar, .paso__texto, .tag-talla, .btn-accion { letter-spacing: 0.5px; }
.paso__numero, .carrito-tabla__nombre, .carrito-tabla__precio, .resumen-fila__valor { font-size: 2rem; }
.carrito-badge, .paso__texto, .btn-quitar { font-size: 1.6rem; }
.producto__precio, .bloque__icono, .carrito-tabla__subtotal { color: var(--secundario); }
.producto__imagen-contenedor, .nosotros__imagen, .galeria__miniatura { background-color: #0d0d0f; }
.nosotros__imagen, .carrito-tabla-contenedor, .carrito-resumen { border-radius: 8px; }
.bloque__icono, .carrito-vacio__icono, .checkout-campo { margin-bottom: 1.5rem; }
.galeria__miniaturas, .carrito-acciones-tabla, .metodos-pago__iconos { flex-wrap: wrap; }
.carrito-tabla-contenedor, .garantia-item, .carrito-resumen { border: 1px solid rgba(255, 255, 255, 0.08); }
.carrito-tabla, .carrito-tabla__nombre, .carrito-resumen__titulo, .checkout-subtitulo { text-align: left; }
.carrito-tabla__producto, .carrito-acciones-tabla, .carrito-garantias { gap: 1.5rem; }

/* Cabecera, navegación y botón flotante */
.header { padding: 2.5rem 0 1rem 0; }
.header__logo { margin: 1.5rem 0; width: 25rem; max-width: 90%; height: auto; filter: drop-shadow(0 2px 5px rgba(0,0,0,0.2)); }
.navegacion { padding: 1.2rem 2rem; gap: 3rem; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); }
.navegacion__enlace { color: var(--blanco); font-size: 3rem; transition: color .2s ease; }
.navegacion__enlace:hover, .navegacion__enlace[aria-current] { color: var(--secundario); }
.carrito-badge { min-width: 2.4rem; height: 2.4rem; border-radius: 50%; line-height: 1; padding: 0 0.5rem; }
.carrito-flotante { position: fixed; bottom: 3rem; right: 3rem; border-radius: 50px; padding: 1.2rem 2.2rem; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4); z-index: 99; transition: transform .2s ease, background-color .2s ease; }
.carrito-flotante:hover { transform: scale(1.06); background-color: var(--secundarioOscuro); }

/* Grid y tarjetas de producto */
/* Las filas se centran, así un grupo incompleto (5 remeras, por ejemplo) siempre queda armónico */
.grid, .tienda-grupo { --cols: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; margin-bottom: 4rem; }
.grid > .producto, .tienda-grupo > .producto { flex: 0 0 calc((100% - (var(--cols) - 1) * 2rem) / var(--cols)); min-width: 0; }
.tienda-titulo { margin: 3rem 0 2rem; }
.tienda-grupo { margin-bottom: 3rem; }
.producto { padding: 1.2rem; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); transition: transform .25s ease, box-shadow .25s ease; }
.producto:hover { transform: translateY(-5px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4); }
.producto__enlace { flex-grow: 1; }
.producto__imagen-contenedor { position: relative; flex: 1 0 auto; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 3px; }
.producto__imagen { position: absolute; inset: 0; height: 100%; object-position: center; transition: transform .3s ease; }
.producto:hover .producto__imagen { transform: scale(1.05); }
.producto__informacion { padding: 1.5rem 0.5rem 0.5rem 0.5rem; }
.producto__nombre { font-size: 3.2rem; margin: 0.5rem 0; line-height: 1.1; }
.producto__precio { font-size: 2.8rem; margin: 0.5rem 0 0 0; line-height: 1.1; }
.producto__btn-agregar { color: #200030; padding: 1rem; margin-top: 1.2rem; transition: background-color .2s ease, transform .2s ease; display: block; }
.producto__btn-agregar:hover { background-color: var(--secundarioOscuro); transform: translateY(-2px); }

/* Banners de colección: mantienen la proporción de su imagen */
.grafico { display: block; width: 100%; max-width: 100rem; margin: 0 auto 3rem; background-repeat: no-repeat; background-size: 100% 100%; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25); transition: transform .25s ease; }
.grafico:hover { transform: scale(1.01); }
.grafico--camperas { aspect-ratio: 1280 / 631; background-image: url('imagenes/camperas.jpg'); }
.grafico--calzados { aspect-ratio: 1280 / 459; background-image: url('imagenes/c.jpg'); }
.grafico--kepis { aspect-ratio: 1310 / 1225; background-image: url('imagenes/gorros.jpg'); }
.tienda-grupo--duo { margin-bottom: 4rem; }
.tienda-grupo--duo > .grafico { flex: 1 1 100%; max-width: none; margin: 0; }
.tienda-grupo--duo > .producto { flex: 1 1 100%; }
.tienda-grupo--duo .producto__imagen-contenedor { aspect-ratio: 16 / 9; }

/* Nosotros */
.nosotros { grid-template-rows: repeat(2, auto); gap: 3rem; margin: 3rem 0 5rem 0; }
.nosotros__contenido p { margin-bottom: 2rem; line-height: 1.8; }
.nosotros__imagen { box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35); max-height: 42rem; padding: 2rem; }
.comprar { margin: 5rem auto; }
.comprar__titulo { margin-bottom: 3.5rem; }
.bloques { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.bloque { padding: 3rem 2rem; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.bloque__icono { font-size: 4rem; }
.bloque__titulo { margin: 0 0 1rem 0; font-size: 2.6rem; }
.bloque p { font-size: 1.6rem; line-height: 1.6; }

/* Ficha de producto */
.producto-detalle { margin: 2rem auto 4rem; }
.ficha__ruta { font-size: 1.4rem; text-transform: uppercase; letter-spacing: 0.5px; color: rgba(255, 255, 255, 0.7); margin-bottom: 1.5rem; }
.ficha__ruta a:hover, .ficha__ruta span { color: var(--secundario); }
.ficha { display: grid; gap: 2.5rem; padding: 1.5rem; background-color: var(--primarioOscuro); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); }
.galeria { gap: 1.2rem; }
.galeria__principal { position: relative; aspect-ratio: 1; max-height: 55rem; width: 100%; overflow: hidden; background-color: #0d0d0f; border-radius: 6px; }
.ficha__imagen { width: 100%; height: 100%; padding: 1.5rem; object-fit: contain; transition: transform .4s ease; }
.galeria__principal:hover .ficha__imagen { transform: scale(1.12); }
.ficha__etiqueta { position: absolute; top: 1.2rem; left: 1.2rem; z-index: 1; padding: 0.3rem 1.4rem; border-radius: 20px; background-color: var(--secundario); color: #1a0026; font-family: var(--fuentePrincipal); font-size: 1.5rem; letter-spacing: 1px; text-transform: uppercase; }
.galeria__miniatura { width: 8rem; height: 8rem; padding: 0.3rem; border: 0.3rem solid transparent; transition: border-color .2s ease, transform .2s ease; }
.galeria__miniatura img { width: 100%; height: 100%; object-fit: contain; }
.galeria__miniatura:hover { transform: translateY(-2px); }
.galeria__miniatura:hover, .galeria__miniatura--activa { border-color: var(--secundario); }
.ficha__titulo { font-size: 3.6rem; line-height: 1.1; margin: 0 0 0.8rem; text-align: left; }
.ficha__precio { font-family: var(--fuentePrincipal); font-size: 4.4rem; line-height: 1; color: var(--secundario); margin: 0 0 1.8rem; }
.ficha__desc { font-size: 1.8rem; line-height: 1.7; color: #f3e8f7; margin-bottom: 1.8rem; }
.ficha__detalles { display: grid; gap: 0.5rem; list-style: none; margin: 0 0 2.2rem; padding: 0; }
.ficha__detalles li { position: relative; padding-left: 2.4rem; font-size: 1.7rem; line-height: 1.5; }
.ficha__detalles li::before { content: "✓"; position: absolute; left: 0; color: var(--secundario); font-weight: bold; }
.tallas { display: flex; flex-wrap: wrap; gap: 1rem; border: 0; margin: 0 0 2.2rem; padding: 0; }
.tallas legend { padding: 0; margin-bottom: 1rem; font-family: var(--fuentePrincipal); font-size: 2.2rem; letter-spacing: 1px; }
.tallas legend strong { color: var(--secundario); font-weight: normal; }
.talla { position: relative; }
.talla input { position: absolute; opacity: 0; }
.talla span { display: flex; align-items: center; justify-content: center; min-width: 5.2rem; height: 5.2rem; padding: 0 1.2rem; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 6px; font-family: var(--fuentePrincipal); font-size: 2.2rem; cursor: pointer; transition: all .2s ease; }
.talla span:hover { border-color: var(--secundario); }
.talla input:checked + span { background-color: var(--secundario); border-color: var(--secundario); color: #1a0026; }
.talla input:focus-visible + span { outline: 3px solid var(--blanco); outline-offset: 2px; }
.tallas--error span { border-color: #ff6b6b; }
.ficha__error { flex-basis: 100%; margin: 0; font-size: 1.5rem; color: #ff9999; }
.ficha__compra { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1.2rem; }
.ficha__btn { flex: 1; min-width: 18rem; min-height: 5.2rem; padding: 1rem 2rem; border: 2px solid var(--secundario); border-radius: 6px; background-color: var(--secundario); color: #1a0026; font-family: var(--fuentePrincipal); font-size: 2.4rem; letter-spacing: 1px; cursor: pointer; box-shadow: 0 6px 20px rgba(255, 206, 0, 0.3); transition: all .2s ease; }
.ficha__btn:hover { background-color: var(--secundarioOscuro); transform: translateY(-2px); }
.ficha__btn--sec { width: 100%; background-color: transparent; color: var(--secundario); box-shadow: none; }
.ficha__btn--sec:hover { background-color: var(--secundario); color: #1a0026; }
.ficha__encarrito { margin: 1.5rem 0 0; padding: 1rem 1.5rem; border-left: 4px solid #2ed573; border-radius: 4px; background-color: rgba(46, 213, 115, 0.15); color: #a4f5c5; font-size: 1.5rem; }
.ficha__beneficios { display: grid; gap: 1.2rem; list-style: none; margin: 2.4rem 0 0; padding: 2rem 0 0; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.ficha__beneficios li { display: flex; align-items: center; gap: 1.2rem; font-size: 1.5rem; color: #e8dcee; }
.ficha__beneficios span { font-size: 2.4rem; }
.ficha__otros { margin: 4rem 0 2rem; }

/* Footer */
.footer { padding: 2.5rem 1.5rem; margin-top: 5rem; box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.15); gap: 0.8rem; }
.footer__texto { font-size: clamp(1.1rem, 1.4vw, 1.3rem); margin: 0; letter-spacing: 1px; line-height: 1.4; opacity: 0.85; }
.footer__texto--creditos { font-size: clamp(1.6rem, 2.5vw, 2.2rem); opacity: 1; letter-spacing: 1.5px; }

/* Carrito: pasos */
.pasos-compra { margin: 2rem auto 4rem auto; max-width: 60rem; padding: 0 1rem; }
.paso { gap: 0.5rem; }
.paso__numero { width: 3.6rem; height: 3.6rem; border-radius: 50%; background-color: rgba(255, 255, 255, 0.15); border: 2px solid transparent; }
.paso--activo .paso__numero { background-color: var(--secundario); color: #1a0026; border-color: var(--blanco); box-shadow: 0 0 15px rgba(255, 206, 0, 0.4); }
.paso__texto { color: rgba(255, 255, 255, 0.7); }
.paso--activo .paso__texto { color: var(--secundario); }
.paso__linea { flex: 1; height: 3px; background-color: rgba(255, 255, 255, 0.15); margin: 0 1.5rem 2.2rem 1.5rem; }
.paso__linea--activo { background-color: var(--secundario); }

/* Carrito: tabla */
.carrito-pagina { grid-template-columns: minmax(0, 1fr); gap: 3.5rem; margin-bottom: 6rem; align-items: start; }
.carrito-articulos { gap: 2.5rem; }
.carrito-tabla-contenedor { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25); overflow-x: auto; }
.carrito-tabla { border-collapse: collapse; }
.carrito-tabla th { background-color: rgba(0, 0, 0, 0.25); color: var(--secundario); font-size: 2rem; padding: 1.8rem 1.5rem; border-bottom: 2px solid rgba(255, 255, 255, 0.1); }
.carrito-tabla td { padding: 1.6rem 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.06); vertical-align: middle; }
.carrito-tabla tbody tr:hover { background-color: rgba(255, 255, 255, 0.03); }
.carrito-tabla__producto { min-width: 22rem; }
.carrito-tabla__img { width: 6.5rem; height: 6.5rem; background-color: #0b0b0d; padding: 0.4rem; flex-shrink: 0; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); }
.carrito-tabla__info { gap: 0.3rem; }
.carrito-tabla__nombre { margin: 0; line-height: 1.2; }
.carrito-tabla__meta { font-size: 1.4rem; color: #ccc; margin: 0; }
.tag-talla { border: none; padding: 0.2rem 0.8rem; border-radius: 3px; font-size: 1.2rem; }
.carrito-tabla__precio { color: rgba(255, 255, 255, 0.9); white-space: nowrap; }
.carrito-tabla__subtotal { white-space: nowrap; }
.btn-quitar { background-color: rgba(255, 77, 77, 0.15); border: 1px solid rgba(255, 77, 77, 0.3); color: #ff6b6b; width: 3.2rem; height: 3.2rem; border-radius: 50%; transition: all .2s ease; }
.btn-quitar:hover { background-color: #ff4757; color: var(--blanco); transform: scale(1.1); }
.carrito-vacio { padding: 6rem 2rem; color: rgba(255, 255, 255, 0.7); }
.carrito-vacio__icono { font-size: 6rem; display: block; }
.carrito-vacio p { font-size: 2.8rem; color: var(--blanco); margin-bottom: 0.8rem; }
.carrito-vacio small { font-size: 1.6rem; }

/* Carrito: acciones y resumen */
.carrito-acciones-tabla { justify-content: space-between; }
.btn-accion { font-size: 1.8rem; padding: 1rem 1.8rem; border-radius: 4px; border: none; gap: 0.5rem; transition: all .2s ease; }
.btn-accion--volver { background-color: rgba(255, 255, 255, 0.12); }
.btn-accion--volver:hover { background-color: rgba(255, 255, 255, 0.22); color: var(--secundario); }
.btn-accion--vaciar { background-color: rgba(255, 71, 87, 0.2); color: #ff9999; border: 1px solid rgba(255, 71, 87, 0.4); }
.btn-accion--vaciar:hover { background-color: rgba(255, 71, 87, 0.4); color: var(--blanco); }
.carrito-garantias { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.garantia-item { background-color: rgba(0, 0, 0, 0.2); padding: 1.5rem; gap: 1.2rem; }
.garantia-item__icono { font-size: 2.8rem; flex-shrink: 0; }
.garantia-item__info h5 { font-size: 1.8rem; color: var(--secundario); margin: 0 0 0.3rem 0; }
.garantia-item__info p { font-size: 1.3rem; color: #ddd; line-height: 1.3; margin: 0; }

/* Carrito: resumen y checkout */
.carrito-resumen { padding: 2.8rem; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); position: sticky; top: 2rem; }
.carrito-resumen__titulo { font-size: 3rem; margin-top: 0; margin-bottom: 2rem; border-bottom: 2px solid rgba(255, 255, 255, 0.1); padding-bottom: 1rem; }
.resumen-desglose { gap: 1.2rem; margin-bottom: 2.5rem; }
.resumen-fila { justify-content: space-between; font-size: 1.6rem; color: #e0e0e0; }
.resumen-divisor { height: 1px; background-color: rgba(255, 255, 255, 0.15); margin: 0.8rem 0; }
.resumen-fila--total { font-size: 2rem; color: var(--blanco); padding-top: 0.5rem; }
.resumen-total-monto { font-size: 3.4rem !important; color: var(--secundario) !important; }
.checkout-subtitulo { font-size: 2.4rem; margin: 2rem 0 1.5rem 0; }
.checkout-campo { gap: 0.6rem; }
.checkout-campo label { font-size: 1.4rem; color: #ccc; }
.checkout-campo textarea { resize: vertical; }
.formulario__campo { border: 0.3rem solid var(--primario); background-color: rgba(255, 255, 255, 0.08); font-size: 1.8rem; font-family: Arial, Helvetica, sans-serif; padding: 1.2rem; outline: none; transition: border-color .2s ease; }
.formulario__campo:focus { border-color: var(--secundario); }
select option { background-color: var(--primarioOscuro); color: var(--blanco); }
.btn-finalizar-pedido { border: none; font-size: 2.6rem; padding: 1.6rem; box-shadow: 0 6px 20px rgba(255, 206, 0, 0.35); transition: all .25s ease; margin-top: 1rem; }
.btn-finalizar-pedido:hover { background-color: var(--secundarioOscuro); transform: translateY(-3px); box-shadow: 0 10px 25px rgba(255, 206, 0, 0.5); }
.checkout-nota { font-size: 1.3rem; color: #bbb; margin-top: 1.2rem; line-height: 1.4; }
.metodos-pago { margin-top: 2.5rem; padding-top: 1.8rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.metodos-pago__titulo { font-size: 1.4rem; color: #ccc; margin-bottom: 1rem; }
.metodos-pago__iconos { gap: 0.8rem; }
.pago-tag { background-color: rgba(255, 255, 255, 0.1); padding: 0.5rem 1rem; border-radius: 20px; font-size: 1.3rem; gap: 0.4rem; }


/* Cantidad (+/−), avisos, botón volver y detalles del carrito */
.control-cantidad { border: 2px solid rgba(255, 255, 255, 0.25); border-radius: 6px; background-color: rgba(255, 255, 255, 0.08); }
.control-cantidad button { width: 3.4rem; height: 3.4rem; padding: 0; border: 0; background: none; color: var(--blanco); font-size: 2rem; line-height: 1; cursor: pointer; transition: background-color .2s ease; }
.control-cantidad button:hover:not(:disabled) { background-color: rgba(255, 255, 255, 0.18); }
.control-cantidad button:disabled { opacity: 0.35; cursor: not-allowed; }
.control-cantidad output { min-width: 3.6rem; text-align: center; font-size: 1.8rem; font-weight: bold; }
.control-cantidad--grande button { width: 5rem; height: 5rem; }
.control-cantidad--grande output { min-width: 5rem; font-size: 2.2rem; }
.barra-volver { margin-top: 2rem; }
.btn-accion--volver { color: var(--blanco); }
.carrito-tabla__nombre a:hover { color: var(--secundario); }
.carrito-tabla__otra { padding: 0; border: 0; background: none; color: var(--secundario); font: inherit; font-size: 1.4rem; text-align: left; text-decoration: underline; cursor: pointer; }
.btn-quitar { padding: 0; }
.btn-finalizar-pedido:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }
.checkout-confirmacion { margin: 1.2rem 0 0; padding: 1.2rem 1.5rem; border-left: 4px solid #2ed573; border-radius: 4px; background-color: rgba(46, 213, 115, 0.15); color: #a4f5c5; font-size: 1.4rem; line-height: 1.4; }
.checkout-confirmacion a { color: var(--blanco); text-decoration: underline; }
.footer__whatsapp:hover { color: var(--secundario); text-decoration: underline; }
.aviso-js { text-align: center; }
.aviso { position: fixed; bottom: 9rem; left: 50%; z-index: 100; max-width: calc(100% - 3rem); padding: 1.2rem 2rem; border: 2px solid var(--secundario); border-radius: 8px; background-color: #1a0026; font-size: 1.6rem; text-align: center; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4); opacity: 0; transform: translate(-50%, 2rem); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.aviso--ver { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.aviso a { margin-left: 0.8rem; color: var(--secundario); text-decoration: underline; }
[hidden] { display: none !important; }

/* Responsive */
@media (min-width: 768px) {
    .tienda-grupo, .ficha__otros + .grid { --cols: 3; }
    .nosotros { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
    .bloques { grid-template-columns: repeat(4, 1fr); }
    .ficha { grid-template-columns: repeat(2, 1fr); gap: 4rem; padding: 3rem; }
    .galeria { position: sticky; top: 2rem; align-self: start; }
    .ficha__titulo { font-size: 4.4rem; }
}
@media (min-width: 768px) and (max-width: 1199px) { .ficha__otros + .grid .producto:nth-child(4) { display: none; } }
@media (min-width: 768px) {
    .tienda-grupo--duo { flex-wrap: nowrap; align-items: center; }
    .tienda-grupo--duo > .grafico { flex: 2 1 0; align-self: center; }
    .tienda-grupo--duo > .producto { flex: 1 1 0; align-self: stretch; }
    .tienda-grupo--duo .producto__imagen-contenedor { aspect-ratio: 4 / 5; }
}
@media (min-width: 1200px) { .ficha__otros + .grid { --cols: 4; } .grid[data-cat] { --cols: 5; } }
@media (min-width: 960px) { .carrito-pagina { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1.2fr); } }
@media (max-width: 600px) {
    .carrito-tabla thead { display: none; }
    .carrito-tabla, .carrito-tabla tbody { display: block; }
    .carrito-tabla tr { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0.8rem 1rem; padding: 1.4rem; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
    .carrito-tabla td { display: block; padding: 0; border: 0; }
    .carrito-tabla td.carrito-tabla__producto { display: flex; grid-column: 1 / 3; min-width: 0; }
    .carrito-tabla td[colspan] { grid-column: 1 / 3; }
    .carrito-tabla__accion { text-align: right; }
}
