/* ============================================================
   MUSE — Hoja de estilos propia, sobre el theme Lima
   Archivo: static/css/muse-theme.css
   Reescrita el 2026-08-19 para el port sobre Lima.

   QUÉ ES ESTO
   Solo los componentes que son NUESTROS y que Lima no resuelve.
   Todo lo que era override del theme anterior (Morelia) se
   descartó: 1.116 de las 1.937 líneas originales.

   Lima ya trae de fábrica, y por eso ya no está acá:
     · miniaturas verticales de la galería
     · columna de filtros con drawer mobile
     · columnas de grilla separadas desktop/mobile
     · franja de confianza (banner services)
     · barra de anuncios, header, menú lateral

   REGLA DE ORO DEL PORT
   Los colores y la tipografía de marca se cargan desde el ADMIN
   de Lima (Colores de tu marca, Tipo de letra), NO se hardcodean
   acá. Los tokens de abajo son para nuestros componentes propios.
   Si algo se puede configurar desde el admin, va al admin.

   ORDEN
     1. Tokens de marca
     2. Hero + buscador de modelo
     3. Widget flotante de WhatsApp
     4. Carrusel de reseñas
     5. Popup raspadita
     6. Precio en transferencia
     7. Desplegable de modelo
     8. Filtro de modelo destacado en el listado
     9. Barra de categorías bajo el encabezado
    10. Banda de prueba social del inicio
    11. Fila de categorías en círculos
    12. Grupos de filtro colapsables
    13. Botón de compra a ancho completo
    14. Completá tu compra (complementarios)
    15. Franja de características del producto
    16. Comunidad MUSE (mosaico video + fotos)
    17. Reseñas en la ficha de producto
    18. Unite a MUSE (mosaico + llamada)
    19. Preguntas frecuentes
    20. Mosaico de categorías del inicio
    21. Barra de avisos en movimiento
    22. Producto + foto de uso
   ============================================================ */

/* ---------- 1. Tokens de marca ---------- */
/* Paleta confirmada con cliente 2026-06-28 (feedback PDF, punto 10):
   - Base: Negro / Blanco / Crema (ya usados por la marca)
   - Acento: Pink #F2C0CB (el que ya usan en su web)
   Mantenemos charcoal (casi-negro cálido) y crema en lugar de negro/blanco
   puros porque la sensación editorial del rediseño depende de esos matices. */
:root{
  --muse-white:#FFFFFF;
  --muse-crema:#F8EBD9;          /* crema confirmado por cliente — más saturado, más vibe */
  --muse-crema-2:#EFE9DF;
  --muse-crema-soft:#F5F1EA;     /* el crema anterior — disponible por si en algún componente queda mejor más apagado */
  --muse-black:#000000;
  --muse-charcoal:#2B2A28;       /* casi-negro cálido — uso principal */
  --muse-ink:#232323;
  --muse-pink:#F2C0CB;           /* rosita confirmado por cliente */
  --muse-pink-deep:#C97A91;
  --muse-brown-deep:#1C1208;     /* marrón secundario que pasó el cliente (2026-08-08).
                                    Contraste 18.4:1 sobre blanco — MÁS oscuro que el charcoal
                                    del texto principal. Sirve como color de texto o de fondo,
                                    pero NO como acento: no se distingue del cuerpo de texto.
                                    Se conserva por si se necesita en tipografía o bloques. */
  --muse-brown:#8A4B27;          /* versión clara del mismo marrón, para acentos (IT3-E).
                                    Mismo matiz cálido (hue ~22°, rojizo — no mostaza),
                                    subido en luminosidad hasta 6.7:1 sobre blanco:
                                    cumple accesibilidad AA de sobra y a la vez queda
                                    2.1:1 contra el charcoal, así que SÍ se lee como
                                    un color distinto y destaca. */
  --muse-blue:#A9C5D6;
  --muse-coral:#D88A6A;
  --muse-sand:#D8C3A5;
  --muse-line:#E2DCD1;
  --muse-muted:#6B6A66;
  --muse-wa:#25D366;
  --muse-radius:14px;
  --muse-serif:'Fraunces',Georgia,serif;
  --muse-sans:'Inter',-apple-system,'Segoe UI',sans-serif;
}

/* Las fuentes NO se cargan desde acá ni desde el layout: Lima trae
   Fraunces e Inter en su lista de tipografías y las inyecta la propia
   plataforma. Se eligen en Diseño → Personalizar → Tipo de letra
   (títulos: Fraunces · textos: Inter).

   Los dos tokens de abajo existen para que nuestros componentes puedan
   pedir explícitamente la serif o la sans cuando lo necesitan. Si el
   cliente cambia las fuentes en el admin, lo que cambia es el resto del
   theme; estos dos siguen apuntando a Fraunces/Inter a propósito. */

/* ---------- 5. Hero + buscador de modelo ---------- */
.muse-hero{
  padding:52px 30px 40px;text-align:center;
  background:radial-gradient(120% 90% at 50% -10%, #fbf7f0 0%, var(--muse-crema) 60%);
}
.muse-hero .kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muse-pink-deep);margin-bottom:16px;}
.muse-hero h1{font-size:46px;line-height:1.06;max-width:680px;margin:0 auto;}
.muse-hero h1 em{font-style:italic;color:var(--muse-pink-deep);}
.muse-hero .sub{margin:18px auto 0;max-width:480px;color:var(--muse-muted);font-size:15.5px;line-height:1.6;}

/* IT2 refino (2026-07-14): finder con paleta invertida por pedido del cliente.
   Caja en charcoal (negro cálido), select en blanco puro para contraste,
   botón en crema con texto charcoal. La pregunta arriba pasa a blanco/crema
   claro por el fondo negro. */
.muse-finder{
  margin:30px auto 0;max-width:560px;background:var(--muse-charcoal);border:1px solid var(--muse-charcoal);
  border-radius:16px;padding:22px;box-shadow:0 12px 34px rgba(43,42,40,.16);
}
/* .ftop ahora renderiza la pregunta "¿Qué modelo de iPhone tenés?" (FB-6):
   más peso y tamaño para funcionar como headline del bloque del finder.
   IT2 refino: color claro sobre fondo charcoal. */
.muse-finder .ftop{display:flex;align-items:center;gap:9px;justify-content:center;font-weight:600;color:#f3ede3;font-size:15px;margin-bottom:14px;letter-spacing:-.005em;}
.muse-finder .row{display:flex;gap:10px;}
.muse-finder select{flex:1;appearance:none;background:#fff;border:1px solid #fff;border-radius:10px;padding:13px 14px;font-size:14.5px;color:var(--muse-charcoal);font-family:inherit;}
.muse-finder .go{background:var(--muse-crema);color:var(--muse-charcoal);border:none;border-radius:10px;padding:13px 22px;font-weight:600;font-size:14px;white-space:nowrap;cursor:pointer;transition:background .15s ease, color .15s ease;}
.muse-finder .go:hover{background:var(--muse-pink);color:var(--muse-charcoal);}
.muse-finder .helper{margin-top:13px;font-size:13px;color:#c7c0b4;text-align:center;}
.muse-finder .helper a{color:var(--muse-pink);font-weight:600;border-bottom:1px solid rgba(242,192,203,.4);}

/* ---------- 5b. Hero split — banner arriba, contenido debajo (IT2-3 · 2026-07-09) ----------
   Variante que se activa cuando hay imágenes en el carrusel. Antes el texto
   iba superpuesto sobre el banner; ahora el cliente pidió que el texto quede
   DEBAJO del banner. Estructura:
   - .muse-hero-banner: el slider como banner independiente arriba,
     altura clamp, sin scrim (ya no hay texto encima que "leer")
   - .muse-hero-content: título + finder debajo, en flujo normal, con
     padding vertical, sobre fondo blanco del theme (que a su vez se
     apoya visualmente en las cards de destacados). */

.muse-hero--split{
  padding:0;
  background:transparent;
}

/* MUSE: el header del Base NO debe superponer el banner.
   Neutralizamos los modos absolute/transparent que el Base activa cuando
   settings.head_transparent + slider están prendidos. El header siempre
   consume su espacio en el flow normal. */
.head-main.head-absolute,
.head-main.head-transparent-absolute,
.head-main.head-transparent{
  position:relative !important;
  background-color:var(--muse-charcoal) !important;
}

/* IT2-3 refino definitivo (2026-07-30): "imagen siempre completa".

   PROBLEMA 1 — recorte en pantallas anchas.
   Teníamos aspect-ratio + max-height juntos. El max-height rompe el
   aspect-ratio: el contenedor queda más panorámico que la imagen y
   object-fit:cover recorta arriba y abajo, comiéndose el texto que las
   imágenes del cliente traen impreso ("3 Cuotas S/I", "20% OFF transf.").

   Decisión 2026-07-30: banner FULL-BLEED sin tope de ancho ni de alto.
   El ancho manda (100% del viewport) y la altura se calcula sola desde el
   aspect-ratio. Sin bordes laterales, sin recortes. La contra asumida es
   que en monitores anchos el banner es alto (en 2560px ≈ 970px), pero el
   cliente prefiere eso antes que las bandas blancas a los costados.

   NOTA para futuro: el aspect-ratio de abajo es FIJO. Si el cliente cambia
   las proporciones de las imágenes del carrusel, hay que actualizar esos
   dos números o volverán a aparecer bandas (por el object-fit:contain).

   PROBLEMA 2 — banner vacío en móvil.
   El hero mete los DOS sliders del Base (desktop y móvil) dentro del mismo
   contenedor, pero tienen estructura distinta: el desktop lleva un wrapper
   .js-home-main-slider-container que el móvil no tiene. Con el aspect-ratio
   en el padre compartido, la cadena de alturas se resolvía para desktop y
   colapsaba para móvil.
   Solución: el aspect-ratio va en CADA slider (.js-home-*-slider-visibility),
   no en el padre. El padre queda con altura automática y se adapta al que
   esté visible en ese breakpoint.

   PROBLEMA 3 — el <a> del slide con link.
   Cuando un slide tiene link configurado en admin, el Base envuelve la imagen
   en un <a> que es inline por default → su altura colapsa. Va en la cadena
   de height:100% con display:block.

   Proporciones: las que recomienda el admin de Tiendanube en Carrusel de
   imágenes → 1580×600 desktop, 820×1460 celulares. */
.muse-hero-banner{
  position:relative;
  overflow:hidden;
  width:100%;
  background:var(--muse-white);
}

/* La IMAGEN define la altura del banner — no hay aspect-ratio fijo ni
   height:100% en ningún eslabón de la cadena.

   La imagen se escala al 100% del ancho disponible y su altura sale sola
   (height:auto). El contenedor mide exactamente lo que mide la imagen:
   - Cero bandas: no puede sobrar espacio, porque no hay una altura impuesta.
   - Cero recortes: no hay un contenedor con otra proporción que la recorte.
   - Auto-adaptativo: si el cliente cambia el tamaño de las imágenes del
     carrusel, el banner se ajusta solo, sin tocar una línea de CSS.

   Esto reemplaza el enfoque anterior de aspect-ratio fijo, que dejaba una
   franja blanca cuando la proporción del CSS no coincidía exactamente con la
   de las imágenes cargadas (el admin recomienda 1580×500, teníamos 1580×600). */
/* CAUSA RAÍZ del espacio sobrante debajo del banner (encontrada 2026-08-02):
   el Base define en style-critical.tpl →  .section-slider { height: 100vh; }
   Los dos sliders del carrusel llevan esa clase, así que el contenedor medía
   el alto COMPLETO del viewport sin importar el ancho. La imagen ocupaba solo
   su parte proporcional y el resto quedaba vacío — y como 100vh no depende
   del ancho, al angostar la ventana el sobrante se agrandaba.

   Anulamos esa altura en todos los eslabones para que manden las imágenes.
   (El Base también pone height:100% en .nube-slider-home y .slider-slide,
   pensados para colgar de ese 100vh.) */
.muse-hero-banner .section-slider,
.muse-hero-banner .js-home-main-slider-container,
.muse-hero-banner .nube-slider-home,
.muse-hero-banner .swiper-wrapper,
.muse-hero-banner .swiper-slide,
.muse-hero-banner .slide-container,
.muse-hero-banner .slider-slide{
  height:auto !important;
}
.muse-hero-banner .slide-container > a,
.muse-hero-banner .swiper-slide > a{
  display:block !important;
  width:100%;
  height:auto !important;
}
/* La imagen define la altura real del banner. */
.muse-hero-banner .slider-image{
  width:100% !important;
  height:auto !important;
  object-fit:contain;
  display:block;
}
/* Los slides miden su propio contenido en vez de estirarse. */
.muse-hero-banner .swiper-wrapper{
  align-items:flex-start;
}
/* FB-2 (2026-07-25): antes se ocultaba TODO el .swiper-text — eso incluía
   el botón SHOP NOW nativo del Base que el cliente pidió. Ahora ocultamos
   solo el título y la descripción del slide (el cliente los tiene quemados
   en la imagen) y mostramos el .swiper-btn estilizado como pill MUSE.

   Para que aparezca el botón por slide, el cliente configura en admin:
   Diseño → Personalizar → Carrusel de imágenes → editar slide →
   completar "Botón" (ej. SHOP NOW) y "Link". Sin ambos, no aparece. */
.muse-hero-banner .swiper-title,
.muse-hero-banner .swiper-description,
.muse-hero-banner .swiper-button-prev,
.muse-hero-banner .swiper-button-next{display:none;}
/* Paginación anclada sobre la imagen, fuera del flujo, para que no sume
   altura al banner. */
.muse-hero-banner .swiper-pagination{
  position:absolute;
  bottom:14px;
  left:0;
  right:0;
  z-index:2;
}

/* Botón SHOP NOW dentro del slider del hero, con look MUSE (pill charcoal
   con hover crema, tipografía Inter mayúscula). Se posiciona centrado
   abajo del banner. */
.muse-hero-banner .swiper-text{
  position:absolute;
  left:0;
  right:0;
  bottom:32px;
  z-index:3;
  display:flex;
  justify-content:center;
  pointer-events:none;
}
.muse-hero-banner .swiper-btn,
.muse-hero-banner .btn.swiper-btn{
  display:inline-block !important;
  pointer-events:auto;
  background:var(--muse-charcoal) !important;
  color:#fff !important;
  border:1px solid var(--muse-charcoal) !important;
  border-radius:999px !important;
  padding:12px 28px !important;
  font-family:var(--muse-sans) !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:background .15s ease, color .15s ease, transform .15s ease !important;
  box-shadow:0 6px 18px rgba(20,18,16,.22) !important;
  margin:0 !important;
}
.muse-hero-banner .swiper-btn:hover,
.muse-hero-banner .btn.swiper-btn:hover{
  background:var(--muse-crema) !important;
  color:var(--muse-charcoal) !important;
  border-color:var(--muse-crema) !important;
  transform:translateY(-1px) !important;
}

/* Breakpoint del banner alineado a Bootstrap `md` (768px), que es el que usa
   el Base para alternar entre slider desktop (d-none d-md-block) y slider
   móvil (d-md-none). Si usáramos 760px como el resto del theme, quedaría una
   franja de 761-767px mostrando el slider móvil con proporción de desktop.

   El aspect-ratio móvil ya está en .js-home-mobile-slider-visibility. El
   banner es full-bleed también acá, así que no lleva max-width. */
@media(max-width:767px){
  .muse-hero-banner .swiper-text{bottom:20px;}
  .muse-hero-banner .swiper-btn,
  .muse-hero-banner .btn.swiper-btn{
    padding:10px 22px !important;
    font-size:11.5px !important;
    letter-spacing:.12em !important;
  }
}

/* Contenido MUSE (texto + finder) debajo del banner. En flujo normal,
   sin superposición. Fondo transparente para heredar el blanco del body. */
.muse-hero--split .muse-hero-content{
  padding:44px 20px 40px;
  text-align:center;
  background:transparent;
}
.muse-hero--split .kicker{color:var(--muse-pink-deep);}
.muse-hero--split h1{color:var(--muse-charcoal);text-shadow:none;}
.muse-hero--split h1 em{color:var(--muse-pink-deep);}
.muse-hero--split .sub{color:var(--muse-muted);}

/* ---------- 15. Hero MUSE — clases con guion (sin colisiones con Bootstrap) ----------
   Equivalentes a las reglas de la sección 5/6, pero con nombres explícitos
   para evitar pisar/heredar de las clases .row y .go de Bootstrap.
   Usadas por snipplets/muse/hero.tpl. */

/* IT2 refino (2026-07-14): versiones con guiones (usadas por hero.tpl actual).
   Selector en blanco puro + botón en crema con hover a rosa MUSE. */
.muse-finder-form{margin-top:14px;}
.muse-finder-row{display:flex;gap:10px;}
.muse-finder-row select,
.muse-finder-select{
  flex:1;appearance:none;background:#fff;border:1px solid #fff;
  border-radius:10px;padding:13px 14px;font-size:14.5px;color:var(--muse-charcoal);font-family:inherit;
}
.muse-finder-go{
  background:var(--muse-crema);color:var(--muse-charcoal);border:none;border-radius:10px;
  padding:13px 22px;font-weight:600;font-size:14px;white-space:nowrap;cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.muse-finder-go:hover{background:var(--muse-pink);color:var(--muse-charcoal);}

@media(max-width:760px){
  .muse-finder-row{flex-direction:column;}
}

/* ---------- Widget de WhatsApp — DESCARTADO en el port a Lima (2026-08-19) ----------
   Lima ya trae su propio botón flotante (snipplets/whatsapp-chat.tpl, clase
   .btn-whatsapp con .js-btn-fixed-bottom). Nuestras reglas usaban !important
   sobre position/right/bottom y le hubieran peleado al JS de Lima que le
   maneja la posición para no taparse con otros elementos fijos.
   Se configura desde el admin con el número de la tienda. Un componente menos
   que mantener. */

/* ---------- 26. Carrusel de reseñas estilo Fragola (IT2-6 · 2026-07-25) ----------
   Renderizado por snipplets/muse/reviews.tpl. Carrusel horizontal con
   scroll-snap CSS puro (sin JS). Cards con estrellas doradas arriba,
   quote de la reseña, y footer con avatar + nombre. Editable por
   settings del theme. */

.muse-reviews{
  padding:56px 0 44px;
  background:transparent;
}

.muse-reviews-title{
  font-family:var(--muse-serif);
  font-weight:500;
  font-size:26px;
  color:var(--muse-charcoal);
  letter-spacing:-.005em;
  text-align:center;
  margin:0 0 32px;
}

.muse-reviews-list{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:8px 20px 24px;
  margin:0 -20px;
  list-style:none;
  scrollbar-width:thin;
  scrollbar-color:var(--muse-line) transparent;
  -webkit-overflow-scrolling:touch;
}
.muse-reviews-list::-webkit-scrollbar{height:6px;}
.muse-reviews-list::-webkit-scrollbar-track{background:transparent;}
.muse-reviews-list::-webkit-scrollbar-thumb{background:var(--muse-line);border-radius:3px;}

.muse-reviews-card{
  flex:0 0 auto;
  width:320px;
  scroll-snap-align:start;
  background:var(--muse-crema);
  border:1px solid var(--muse-line);
  border-radius:16px;
  padding:22px 22px 18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.muse-reviews-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(43,42,40,.08);
}

.muse-reviews-stars{
  color:#d4a842;
  font-size:16px;
  letter-spacing:.08em;
  line-height:1;
}

.muse-reviews-text{
  font-family:var(--muse-sans);
  font-size:14.5px;
  line-height:1.55;
  color:var(--muse-charcoal);
  margin:0;
  min-height:88px;
}

.muse-reviews-author{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:14px;
  border-top:1px solid var(--muse-line);
}

/* Foto de la clienta en la reseña (2026-08-19).
   Mismo tamaño y forma que el avatar de inicial, para que una fila con
   fotos y otra sin fotos no se vean desalineadas. object-fit:cover
   recorta al centro: las fotos que suban no van a venir todas cuadradas
   y sin esto se deformarían. */
.muse-reviews-photo{
  width:36px;
  height:36px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 36px;
  background:var(--muse-crema-2);
  display:inline-block;
}

.muse-reviews-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--muse-pink);
  color:var(--muse-charcoal);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--muse-serif);
  font-weight:500;
  font-size:16px;
  flex:0 0 auto;
}

.muse-reviews-name{
  font-family:var(--muse-sans);
  font-size:13.5px;
  font-weight:600;
  color:var(--muse-charcoal);
  letter-spacing:.01em;
}

@media(max-width:760px){
  .muse-reviews{padding:36px 0 28px;}
  .muse-reviews-title{font-size:22px;margin-bottom:22px;}
  .muse-reviews-card{
    width:88vw;
    max-width:320px;
    padding:18px 18px 14px;
  }
  .muse-reviews-text{font-size:14px;min-height:80px;}
}

/* ---------- 25. Popup rascadita 5% OFF (FB-1 · 2026-07-09) ----------
   Renderizado por snipplets/muse/scratch-popup.tpl. Modal centrado con
   backdrop semi-transparente, área rascable con canvas. El JS del snippet
   maneja el trigger a 30s, la lógica del canvas y la persistencia con
   localStorage. Acá solo estilos. */

.muse-scratch-popup{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.muse-scratch-popup[hidden]{display:none;}

.muse-scratch-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,18,16,.58);
  backdrop-filter:blur(4px);
  animation:muse-scratch-fade-in .25s ease;
}

.muse-scratch-modal{
  position:relative;
  background:#fff;
  border-radius:20px;
  padding:36px 30px 28px;
  max-width:420px;
  width:100%;
  box-shadow:0 30px 80px rgba(20,18,16,.35);
  text-align:center;
  animation:muse-scratch-pop-in .35s cubic-bezier(.2,.9,.35,1.1);
}

@keyframes muse-scratch-fade-in{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes muse-scratch-pop-in{
  0%{opacity:0;transform:scale(.85) translateY(20px);}
  100%{opacity:1;transform:scale(1) translateY(0);}
}

.muse-scratch-close{
  position:absolute;
  top:14px;
  right:14px;
  width:32px;
  height:32px;
  border-radius:50%;
  border:none;
  background:var(--muse-crema);
  color:var(--muse-charcoal);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease;
}
.muse-scratch-close:hover{background:var(--muse-crema-2);}
.muse-scratch-close svg{width:14px;height:14px;fill:currentColor;}

.muse-scratch-kicker{
  font-family:var(--muse-sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muse-pink-deep);
  margin:0 0 10px;
}

.muse-scratch-title{
  font-family:var(--muse-serif);
  font-weight:500;
  font-size:32px;
  color:var(--muse-charcoal);
  letter-spacing:-.01em;
  margin:0 0 10px;
  line-height:1.1;
}
.muse-scratch-title em{
  font-style:italic;
  color:var(--muse-pink-deep);
}

.muse-scratch-subtitle{
  font-family:var(--muse-sans);
  font-size:13.5px;
  color:var(--muse-muted);
  line-height:1.5;
  margin:0 0 22px;
}

.muse-scratch-card{
  position:relative;
  width:320px;
  height:140px;
  margin:0 auto 20px;
  border-radius:14px;
  overflow:hidden;
  background:var(--muse-crema);
  box-shadow:inset 0 0 0 1px var(--muse-line);
}

.muse-scratch-reward{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:12px;
  text-align:center;
}
.muse-scratch-reward-label{
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muse-muted);
  margin-bottom:4px;
}
.muse-scratch-reward-value{
  font-family:var(--muse-serif);
  font-weight:600;
  font-size:38px;
  color:var(--muse-pink-deep);
  line-height:1;
  margin-bottom:6px;
}
.muse-scratch-reward-code{
  font-family:var(--muse-sans);
  font-size:12px;
  color:var(--muse-charcoal);
  letter-spacing:.04em;
}
.muse-scratch-reward-code b{
  background:var(--muse-charcoal);
  color:#fff;
  padding:3px 10px;
  border-radius:6px;
  font-weight:600;
  letter-spacing:.08em;
  margin-left:4px;
}

.muse-scratch-canvas{
  position:absolute;
  inset:0;
  cursor:crosshair;
  touch-action:none;
  transition:opacity .4s ease;
}
.muse-scratch-canvas.is-revealed{
  opacity:0;
  pointer-events:none;
}

.muse-scratch-cta{
  display:inline-block;
  background:var(--muse-charcoal);
  color:#fff !important;
  padding:14px 28px;
  border-radius:12px;
  font-family:var(--muse-sans);
  font-weight:600;
  font-size:14px;
  letter-spacing:.03em;
  text-decoration:none;
  transition:background .15s ease, transform .15s ease;
  animation:muse-scratch-pop-in .4s ease;
}
.muse-scratch-cta:hover{
  background:#000;
  transform:translateY(-1px);
  text-decoration:none;
}
.muse-scratch-cta[hidden]{display:none;}

.muse-scratch-legal{
  margin:14px 0 0;
  font-size:11px;
  color:var(--muse-muted);
  line-height:1.4;
}

@media(max-width:480px){
  .muse-scratch-modal{padding:28px 20px 22px;border-radius:16px;}
  .muse-scratch-title{font-size:26px;}
  .muse-scratch-card{width:100%;max-width:300px;height:130px;}
  .muse-scratch-reward-value{font-size:32px;}
}

/* ---- 28.3 Precio en transferencia --------------------------- */
/* La referencia lo pide "más chico, en rosa, aunque seria del
   color marron secundario de la marca".
   El cliente pasó #1C1208 como marrón secundario, pero con ese
   valor este renglón no cumple su función: es MÁS oscuro que el
   texto principal (18.4:1 contra 14.3:1 sobre blanco), así que se
   lee como texto común y el descuento deja de saltar a la vista.
   En Fragola esa línea va en rosa justamente porque es el gancho.

   Solución: se conserva el matiz del marrón del cliente (hue ~22°,
   cálido y rojizo — deliberadamente lejos del mostaza) y se sube
   la luminosidad hasta #8A4B27.

   Resultado medido:
     · 6.7:1 sobre blanco   → accesibilidad AA cumplida de sobra
     · 5.7:1 sobre crema    → también funciona sobre el fondo cálido
     · 2.1:1 contra charcoal → se distingue del texto: destaca

   El original queda disponible como --muse-brown-deep. */

/* El COLOR aplica en los dos lugares donde aparece el precio en
   transferencia: la card del listado y el panel de compra de la ficha.
   Así los dos coinciden y ninguno queda con el acento de Lima. */
.muse-item-transfer-price{
  color: var(--muse-brown) !important;
  font-weight: 600;
  line-height: 1.3;
}

/* El TAMAÑO, en cambio, solo en el listado. La referencia pide ese
   renglón "más chico" en la card, pero en la ficha Lima lo muestra
   grande y ahí tiene que seguir siendo protagonista — es el gancho del
   descuento. Si dejáramos el .82em global, lo achicaríamos donde más
   importa. */
.js-item-product .muse-item-transfer-price{
  font-size: .82em;
}

/* ---- 28.7 Desplegable de modelo propio (IT3-A2 · 2026-08-19) ----

   Acompaña a snipplets/muse/custom-select.tpl. Estilo tomado de la
   referencia de Fragola que pasó MuseCases, con la paleta MUSE.

   IMPORTANTE: el <select> nativo se oculta con .muse-select-ready,
   clase que agrega el JS DESPUÉS de construir el reemplazo. Nunca
   ocultarlo directo desde acá: si el script fallara, el usuario se
   quedaría sin forma de elegir el modelo y sin poder comprar. */

.muse-variant-model .form-label,
.muse-variant-model label.form-label{
  display:block;
  font-family:var(--muse-sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muse-charcoal);
  opacity:.7;
  margin-bottom:8px;
}

.muse-variant-model.muse-select-ready > .form-group > select,
.muse-variant-model.muse-select-ready select[data-muse-enhanced="1"]{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0);
  white-space:nowrap; border:0;
}

.muse-variant-model.muse-select-ready .form-select-icon{ display:none; }

/* Aire entre el desplegable y el selector de cantidad. Lima da ese
   espacio con las clases de columna que le sacamos a esta variante
   para que ocupe el ancho completo, así que hay que reponerlo. */
.muse-variant-model{ margin-bottom:18px; }

.muse-select{ position:relative; width:100%; }

.muse-select-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  background:var(--muse-white);
  border:1px solid var(--muse-line);
  border-radius:12px;
  padding:14px 18px;
  font-family:var(--muse-sans);
  font-size:15px;
  color:var(--muse-charcoal);
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}
.muse-select-trigger:hover{ border-color:var(--muse-pink); }
.muse-select-trigger:focus-visible{
  outline:none;
  border-color:var(--muse-pink-deep);
  box-shadow:0 0 0 3px rgba(201,122,145,.18);
}
.muse-select.is-open .muse-select-trigger{
  border-color:var(--muse-pink-deep);
  background:var(--muse-crema-soft);
}

.muse-select-caret{
  flex:0 0 auto;
  width:9px; height:9px;
  border-right:1.6px solid var(--muse-charcoal);
  border-bottom:1.6px solid var(--muse-charcoal);
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .18s ease;
}
.muse-select.is-open .muse-select-caret{
  transform:rotate(-135deg) translate(-2px,-2px);
}


/* Guarda: el atributo hidden debe ganarle a cualquier regla de display.
   Sin esto, .muse-select-list{...} con display declarado dejaría la lista
   siempre abierta. El JS además setea display inline, esto es el cinturón. */
.muse-select-list[hidden]{ display:none !important; }

.muse-select-list{
  position:absolute;
  z-index:30;
  top:calc(100% + 6px);
  left:0; right:0;
  max-height:320px;
  overflow-y:auto;
  margin:0;
  padding:6px;
  list-style:none;
  background:var(--muse-white);
  border:1px solid var(--muse-line);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(43,42,40,.12);
}

.muse-select-option{
  padding:11px 14px;
  border-radius:8px;
  font-family:var(--muse-sans);
  font-size:14.5px;
  color:var(--muse-charcoal);
  cursor:pointer;
  transition:background .12s ease;
}
.muse-select-option:hover{ background:var(--muse-crema); }
.muse-select-option.is-selected{
  background:var(--muse-crema);
  font-weight:600;
}
.muse-select-option.is-disabled{
  color:var(--muse-charcoal);
  opacity:.35;
  cursor:not-allowed;
  text-decoration:line-through;
}
.muse-select-option.is-disabled:hover{ background:transparent; }

@media(max-width:575px){
  .muse-select-trigger{ padding:13px 16px; font-size:15px; }
  .muse-select-list{ max-height:260px; }
}

/* ---------- 8. Filtro de modelo destacado en el listado ----------
   IT3-C (port sobre Lima · 2026-08-19).

   filters.tpl marca el bloque de iPhone con .muse-filter-featured.
   Lima renderiza los grupos en el orden que los emite el template, así
   que "Elegí tu iPhone" ya sale primero por construcción — acá solo se
   le da el tratamiento visual de bloque destacado.

   Se usa el markup de Lima (.js-accordion-container, .checkbox-text),
   no el nuestro. Si Lima cambia esas clases, esto deja de aplicar sin
   romper nada: el filtro sigue funcionando, solo pierde el realce. */

.muse-filter-featured{
  background:var(--muse-crema);
  border:1px solid var(--muse-pink);
  border-radius:14px;
  padding:2px 18px 10px;
  margin-top:16px;
  margin-bottom:22px;
}

.muse-filter-featured h5{
  font-family:var(--muse-serif);
  color:var(--muse-charcoal);
  margin-top:16px !important;
}

.muse-filter-featured h5:before{
  content:'★ ';
  color:var(--muse-pink-deep);
  font-size:.85em;
}

.muse-filter-featured .checkbox-text{
  color:var(--muse-charcoal);
}

/* ---------- 9. Barra de categorías bajo el encabezado ----------
   MUSE 2026-08-19 · referencia: burga.com

   Fila propia debajo del header, con las categorías repartidas a lo
   ancho. Solo desktop — en celular el hamburguesa de Lima ya tiene el
   árbol completo.

   Los colores salen de los tokens de marca y no de los settings de
   Lima: es un componente nuestro, no una zona que el theme exponga
   para configurar. El resto de la identidad (header, footer, botones)
   sigue viniendo del admin. */

.muse-catbar{
  background:var(--muse-white);
  border-top:1px solid var(--muse-line);
  border-bottom:1px solid var(--muse-line);
}

.muse-catbar-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:4px 26px;
  margin:0;
  padding:11px 0;
  list-style:none;
}

.muse-catbar-item{ list-style:none; }

.muse-catbar-link{
  display:inline-block;
  font-family:var(--muse-sans);
  font-size:13.5px;
  line-height:1.3;
  color:var(--muse-charcoal);
  text-decoration:none;
  padding:3px 0;
  border-bottom:1px solid transparent;
  transition:color .15s ease, border-color .15s ease;
  white-space:nowrap;
}

.muse-catbar-link:hover,
.muse-catbar-link:focus-visible{
  color:var(--muse-pink-deep);
  border-bottom-color:var(--muse-pink);
  text-decoration:none;
}

/* Con muchas categorías, en pantallas medianas la fila se aprieta.
   Se achica un poco antes de que empiece a envolverse en tres líneas. */
@media(max-width:1100px){
  .muse-catbar-list{ gap:4px 18px; }
  .muse-catbar-link{ font-size:12.5px; }
}

/* ---------- 10. Banda de prueba social del inicio ----------
   MUSE 2026-08-19 · referencia: burga.com

   Tres fotos circulares superpuestas, una cita y las estrellas con
   el contador. Compacta a propósito: ocupa dos renglones y no
   compite con el banner que tiene arriba.

   Las fotos se superponen con margin negativo, como en la
   referencia. El borde blanco es el que separa una de otra — sin él
   se ve una mancha. */

.muse-band{
  background:var(--muse-white);
  padding:26px 0 22px;
  text-align:center;
}

.muse-band-photos{
  display:flex;
  justify-content:center;
  margin-bottom:12px;
}

.muse-band-photo{
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid var(--muse-white);
  background:var(--muse-crema-2);
  margin-left:-12px;
}
.muse-band-photo:first-child{ margin-left:0; }

.muse-band-quote{
  font-family:var(--muse-sans);
  font-size:14.5px;
  line-height:1.5;
  color:var(--muse-charcoal);
  max-width:620px;
  margin:0 auto 10px;
}

.muse-band-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0;
  flex-wrap:wrap;
}

/* Estrellas en el rosa profundo de la marca. En Burga son verdes
   porque vienen de Trustpilot; acá no hay integración, así que se
   usa el acento propio en vez de imitar un sello que no tenemos. */
.muse-band-stars{
  color:var(--muse-pink-deep);
  font-size:15px;
  letter-spacing:2px;
}

.muse-band-count{
  font-family:var(--muse-sans);
  font-size:13.5px;
  font-weight:600;
  color:var(--muse-charcoal);
}

@media(max-width:575px){
  .muse-band{ padding:20px 0 18px; }
  .muse-band-quote{ font-size:13.5px; padding:0 18px; }
}

/* ---------- 11. Fila de categorías en círculos ----------
   MUSE 2026-08-19 · referencia: burga.com

   NO ES UN COMPONENTE NUEVO. Es la sección "Categorías principales"
   de Lima, que ya renderiza imagen + nombre de categoría en una fila
   horizontal con scroll — estructuralmente idéntica a la de Burga.
   Acá solo se le da forma circular y se ajusta el tamaño.

   Se configura en Diseño → Personalizar → Categorías principales:
   una imagen por categoría con su link. El nombre lo saca Lima solo
   del link, así que no hay que escribirlo.

   Las imágenes conviene subirlas CUADRADAS. El object-fit:cover las
   recorta al centro, pero si vienen muy apaisadas se va a notar. */

.home-category-image{
  width:88px;
  height:88px;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto 10px;
  background:var(--muse-crema);
  position:relative;
}

.home-category-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* El nombre debajo, chico y en mayúsculas como la referencia. */
.home-category .home-category-name,
.home-category > a,
.home-category span{
  font-family:var(--muse-sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muse-charcoal);
  line-height:1.3;
}

.js-home-category{ text-decoration:none; }
.js-home-category:hover{ text-decoration:none; }

/* ⚠️ El anillo va con BORDE, no con outline — corregido el 2026-09-15.

   Con `outline` + `outline-offset` el anillo se dibuja POR FUERA del
   círculo, y el carrusel de Lima tiene overflow:hidden. Resultado: el
   borde aparecía cortado arriba y abajo, como un arco.

   Con un borde transparente siempre reservado, el anillo vive DENTRO
   de los 88px y ningún contenedor lo puede recortar. Además, al estar
   reservado desde el arranque, el círculo no salta de tamaño al pasar
   el mouse — que es lo que pasaría si el borde apareciera recién en
   el hover. */
.home-category-image{
  border:2px solid transparent;
  box-sizing:border-box;
  transition:border-color .15s ease;
}

.js-home-category:hover .home-category-image{
  border-color:var(--muse-pink);
}

@media(max-width:575px){
  .home-category-image{ width:70px; height:70px; }
}

/* ---------- 12. Grupos de filtro colapsables ----------
   MUSE 2026-09-06 · pedido de MuseCases sobre su referencia visual

   Los grupos secundarios de dispositivo (AirPods, iPad, Notebook y
   MacBook) arrancan cerrados: solo el título con un chevron. El de
   iPhone queda siempre abierto — ver filters-group.tpl.

   EL ESTADO LO MANEJA EL JS DE LIMA, NO ESTE CSS
   El handler de .js-accordion-toggle alterna .js-accordion-toggle-inactive
   y .js-accordion-toggle-active, que son los dos chevrones. Por eso acá
   no hay ninguna regla de rotación ni clase de estado: si se agregara
   una, competiría con el inline style que escribe jQuery y perderían
   los dos.

   El display:none inicial va INLINE en el HTML, igual que lo hace el
   "Ver todos" nativo de Lima. No se pone acá a propósito: si esta hoja
   no llegara a cargar, el grupo se ve abierto —feo pero usable— en vez
   de quedar cerrado y sin forma de abrirlo. */

.muse-filter-supertitle{
  font-family:var(--muse-sans);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muse-charcoal);
  opacity:.55;
  font-weight:600;
  margin:28px 0 4px;
}

.muse-filter-collapsible{
  border-bottom:1px solid var(--muse-line);
}

/* El título completo es el área clickeable, no solo el texto:
   en una columna angosta un target chico se falla seguido. */
.muse-filter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:13px 0;
  color:var(--muse-charcoal);
  text-decoration:none;
  cursor:pointer;
}

.muse-filter-head:hover,
.muse-filter-head:focus{
  text-decoration:none;
  color:var(--muse-brown);
}

.muse-filter-head-title{
  font-family:var(--muse-sans);
  font-size:14.5px;
  font-weight:600;
  line-height:1.3;
}

.muse-filter-chevron{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  opacity:.6;
}

.muse-filter-head:hover .muse-filter-chevron{ opacity:1; }

.muse-filter-chevron svg{
  width:13px;
  height:13px;
}

.muse-filter-body{
  padding-bottom:10px;
}

/* Lima le da margen superior a los checkbox pensando en listas que
   arrancan debajo de un h5. Acá el primero va pegado al título, que
   ya trae su propio padding. */
.muse-filter-body .checkbox-container:first-child{
  margin-top:0;
}

/* ---------- 13. Botón de compra a ancho completo ----------
   MUSE 2026-09-06 · pedido de MuseCases sobre la maqueta de Lauti

   Lima arma la fila de compra con la cantidad en col-4 y el CTA en
   col-8, uno al lado del otro. La maqueta los apila y el botón ocupa
   todo el ancho.

   El pedido fue "el botón más grande", pero lo que lo agranda es el
   ANCHO, no el tamaño de fuente: al mandarlo a su propia fila pasa de
   dos tercios de la columna a la columna entera.

   product-form.tpl le suma .muse-buybox-cta y CONSERVA las col-* de
   Lima. Si esta hoja no llegara a cargar, la fila vuelve a verse como
   antes —cantidad y botón lado a lado— y se puede comprar igual.
   En un CTA de compra eso no es opcional.

   La cantidad no se toca: su col-4 está en product-quantity.tpl, que
   es Lima sin modificar. Como .form-row ya es flex-wrap, alcanza con
   que el CTA ocupe el 100% para que baje solo a la línea siguiente. */

.muse-buybox-cta{
  flex:0 0 100%;
  max-width:100%;
  margin-top:6px;
}

/* Sin font-family a propósito: hereda la tipografía que MuseCases eligió
   en Diseño → Tipo de letra. Forzar --muse-sans acá pedía Inter, que su
   tienda NO carga —usa Lexend y Readex Pro—, así que el botón caía al
   font del sistema y quedaba distinto del resto de la ficha.
   Las mayúsculas, el peso y el tracking dan la presencia igual. */
.muse-buybox-cta .js-addtocart{
  width:100%;
  padding-top:17px;
  padding-bottom:17px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  line-height:1.2;
}

/* El botón falso que Lima muestra mientras agrega al carrito
   (button-placeholder.tpl) comparte la clase .js-addtocart con el real,
   así que la regla de arriba ya lo alcanza. Verificado el 2026-09-06.
   Importa que midan igual: si no, la caja pega un salto al hacer click. */

@media(max-width:767px){
  .muse-buybox-cta .js-addtocart{
    padding-top:15px;
    padding-bottom:15px;
    font-size:13.5px;
  }
}

/* ---------- 14. Completá tu compra (complementarios) ----------
   MUSE 2026-09-06 · maqueta de Lauti

   Bloque compacto dentro de la columna de compra. Reemplaza al carrusel
   ancho que Lima renderiza al final de la ficha — ver complementary.tpl
   y product-related.tpl.

   Fondo crema para separarlo del resto de la columna sin necesidad de
   un borde fuerte: en la maqueta es lo que lo hace leer como "extra"
   y no como parte de la compra principal. */

.muse-complementary{
  background:var(--muse-crema);
  border-radius:var(--muse-radius);
  padding:18px 18px 14px;
  margin-top:26px;
}

.muse-complementary-title{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muse-charcoal);
  margin:0 0 12px;
  line-height:1.3;
}

.muse-complementary-list{
  list-style:none;
  margin:0;
  padding:0;
}

.muse-complementary-item + .muse-complementary-item{
  margin-top:9px;
}

.muse-complementary-link{
  display:flex;
  align-items:center;
  gap:13px;
  background:var(--muse-white);
  border:1px solid var(--muse-line);
  border-radius:10px;
  padding:10px 12px;
  color:var(--muse-charcoal);
  text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.muse-complementary-link:hover,
.muse-complementary-link:focus{
  text-decoration:none;
  color:var(--muse-charcoal);
  border-color:var(--muse-pink);
  box-shadow:0 2px 10px rgba(43,42,40,.07);
}

.muse-complementary-thumb{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:7px;
  overflow:hidden;
  background:var(--muse-crema-soft);
  display:block;
}

.muse-complementary-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* min-width:0 es lo que permite que el nombre largo se recorte en vez
   de estirar la fila y empujar el "+" fuera de la caja. */
.muse-complementary-info{
  flex:1 1 auto;
  min-width:0;
  display:block;
}

.muse-complementary-name{
  display:block;
  font-size:13px;
  line-height:1.35;
  margin-bottom:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.muse-complementary-prices{
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
}

.muse-complementary-price{
  font-size:13.5px;
  font-weight:700;
}

.muse-complementary-compare{
  font-size:11.5px;
  color:var(--muse-muted);
  text-decoration:line-through;
}

.muse-complementary-add{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border:1px solid var(--muse-charcoal);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  line-height:1;
  font-weight:400;
  color:var(--muse-charcoal);
}

.muse-complementary-link:hover .muse-complementary-add{
  background:var(--muse-charcoal);
  color:var(--muse-white);
}

@media(max-width:767px){
  .muse-complementary{ padding:16px 14px 12px; }
  .muse-complementary-thumb{ flex-basis:44px; width:44px; height:44px; }
}

/* ---------- 15. Franja de características del producto ----------
   MUSE 2026-09-06 · maqueta de Lauti

   Fila de atributos debajo de la ficha, arriba de la franja de
   beneficios de la tienda. Fondo crema suave para separarla del blanco
   de la ficha sin competir con la de beneficios, que va en blanco.

   En la maqueta los ítems están repartidos a lo ancho en una sola
   línea. Con cinco textos largos eso no entra en cualquier pantalla,
   así que la fila envuelve y en celular pasa a dos columnas. Preferir
   que baje a que se corte. */

.muse-attrs{
  background:var(--muse-crema-soft);
  border-top:1px solid var(--muse-line);
  border-bottom:1px solid var(--muse-line);
  padding:16px 0;
  margin-top:34px;
}

.muse-attrs-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px 34px;
}

.muse-attrs-item{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  font-size:12.5px;
  line-height:1.35;
  color:var(--muse-charcoal);
}

.muse-attrs-icon{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  color:var(--muse-brown);
  opacity:.85;
}

.muse-attrs-icon svg{
  width:14px;
  height:14px;
}

.muse-attrs-text{
  display:block;
}

@media(max-width:767px){
  .muse-attrs{ padding:14px 0; margin-top:26px; }
  .muse-attrs-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px 16px;
    justify-content:stretch;
  }
  .muse-attrs-item{ font-size:11.5px; }
  /* Con cinco ítems el último queda solo en su fila: se centra para que
     no parezca que falta algo a la derecha. */
  .muse-attrs-item:last-child:nth-child(odd){
    grid-column:1 / -1;
    justify-content:center;
  }
}

/* ---------- 16. Comunidad MUSE (mosaico video + fotos) ----------
   MUSE 2026-09-07 · maqueta de Lauti

   Video a la izquierda ocupando las dos filas, cuatro fotos a la
   derecha en 2×2. La grilla es de 3 columnas: la primera para el
   video, las otras dos para las fotos.

   El video lleva algo más de ancho que cada foto (1.15fr) porque en la
   maqueta es el ancla visual del bloque; a 1fr competía de igual a
   igual con las fotos y el mosaico perdía jerarquía. */

.muse-community{
  padding:46px 0 8px;
}

.muse-community-head{
  text-align:center;
  margin-bottom:22px;
}

.muse-community-title{
  font-family:var(--muse-serif);
  font-size:26px;
  line-height:1.2;
  margin:0;
}

.muse-community-sub{
  margin:8px 0 0;
  font-size:14px;
  color:var(--muse-muted);
}

.muse-community-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
}

/* Sin bloque grande —ni video ni foto de portada— las cuatro fotos se
   reparten en una sola fila. Es el respaldo, no la composición pedida. */
.muse-community-grid--flat{
  grid-template-columns:repeat(4, 1fr);
  grid-template-rows:auto;
}

.muse-community-feature{
  grid-column:1;
  grid-row:1 / 3;
  position:relative;
  overflow:hidden;
  border-radius:var(--muse-radius);
  background:var(--muse-crema-2);
  min-height:320px;
}

.muse-community-poster{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.muse-community-play{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:64px; height:64px;
  border-radius:50%;
  border:none;
  background:rgba(43,42,40,.82);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease, transform .15s ease;
}

.muse-community-play:hover{
  background:var(--muse-charcoal);
  transform:translate(-50%,-50%) scale(1.06);
}

/* Triángulo en CSS: evita sumar un SVG solo para esto. El margen
   izquierdo compensa el centro óptico, que en un triángulo no coincide
   con el geométrico. */
.muse-community-play-icon{
  width:0; height:0;
  border-style:solid;
  border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent var(--muse-white);
  margin-left:4px;
}

.muse-community-iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.muse-community-tile{
  position:relative;
  overflow:hidden;
  border-radius:var(--muse-radius);
  background:var(--muse-crema-2);
  display:block;
  min-height:150px;
}

.muse-community-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

a.muse-community-tile:hover img{
  transform:scale(1.04);
}

@media(max-width:767px){
  .muse-community{ padding:32px 0 4px; }
  .muse-community-title{ font-size:21px; }

  /* El video pasa arriba a ancho completo y las fotos quedan en 2×2.
     Apilar en una sola columna dejaría la sección larguísima. */
  .muse-community-grid,
  .muse-community-grid--flat{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    gap:10px;
  }
  .muse-community-feature{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:0;
    aspect-ratio:16 / 9;
  }
  .muse-community-play{ width:54px; height:54px; }
  .muse-community-tile{ min-height:0; aspect-ratio:1 / 1; }
}

/* ---------- 17. Reseñas en la ficha de producto ----------
   Variante de la sección de reseñas del inicio. Mismo contenido y
   mismo markup: solo cambia el contenedor, que en la ficha va sobre
   fondo crema y con la grilla de cuatro fija en vez del carrusel.

   La clase la pone reviews.tpl según reviews_context. */

.muse-reviews-kicker{
  text-align:center;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muse-muted);
  margin:0 0 6px;
}

.muse-reviews--product{
  background:var(--muse-crema-soft);
  padding:40px 0 34px;
  margin-top:38px;
}

@media(min-width:992px){
  /* En la ficha hay lugar para ver las cuatro de una: se desactiva el
     scroll horizontal que la sección usa en el inicio. */
  .muse-reviews--product .muse-reviews-list{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
    overflow:visible;
  }
  .muse-reviews--product .muse-reviews-card{
    width:auto;
    min-width:0;
  }
}

/* ---------- 18. Unite a MUSE (mosaico + llamada) ----------
   MUSE 2026-09-10 · maqueta de Lauti

   Bloque partido al medio: cuatro fotos pegadas a la izquierda y un
   panel de texto con botón a la derecha.

   VA A ANCHO COMPLETO, FUERA DEL .container DE LIMA
   Es la única sección nuestra que rompe el contenedor. La maqueta
   necesita que el mosaico llegue hasta el borde de la pantalla: con
   el margen del container quedaría una franja blanca a la izquierda
   y el efecto se pierde.

   SIN SEPARACIÓN ENTRE FOTOS
   Ni gap ni border-radius, a propósito. Las cuatro tienen que leer
   como una sola imagen partida, que es el pedido. */

/* ⚠️ ALTURA — dos correcciones, 2026-09-11

   PROBLEMA 1: celdas cuadradas.
   La primera versión daba aspect-ratio 1/1 a cada celda. El mosaico
   ocupa el 52% de la ventana, así que en 2000px cada celda medía
   ~520px y el bloque pasaba los 1000px de alto. El panel de texto
   quedaba del mismo alto, con el contenido perdido en el medio.

   PROBLEMA 2: el intento de arreglo lo rompió peor.
   Se probó con `height` fijo en .muse-join. **El pie de página se
   montó encima de la sección.** Causa: un ítem de grilla tiene
   min-height:auto y se niega a achicarse por debajo de su contenido,
   así que el mosaico desbordó la altura declarada. El documento
   reservó 580px y las fotos pintaron por encima de lo que seguía.

   SOLUCIÓN: que la altura la defina la PROPORCIÓN del mosaico, no una
   cadena de alturas en porcentaje.

   El mosaico es 2×2, así que su proporción es la misma que la de cada
   celda: con 16/9 las celdas salen apaisadas solas, en cualquier
   pantalla, y el bloque no puede desbordar porque su alto se deriva
   de su propio ancho.

   min-height:0 y overflow:hidden quedan como red: si algún día algo
   intenta crecer de más, se recorta — no se come la sección de abajo. */
.muse-join{
  display:grid;
  grid-template-columns:52% 48%;
  align-items:stretch;
  margin-top:44px;
  overflow:hidden;
}

.muse-join--no-photos{
  grid-template-columns:1fr;
}

/* ⚠️ TERCERA CORRECCIÓN, 2026-09-11 — la franja blanca vertical

   El intento anterior puso aspect-ratio en el MOSAICO. Resultado: una
   banda blanca de ~170px entre las fotos y el panel crema.

   Por qué. El mosaico es ítem de una grilla con align-items:stretch,
   así que recibe una ALTURA definida antes de aplicar su proporción.
   Con la altura ya fijada, aspect-ratio resolvió al revés —calculó el
   ancho a partir del alto— y le dio 868px dentro de una columna de
   1040px. Los 172px restantes quedaron vacíos.

   La proporción tiene que vivir en las CELDAS. Ahí no hay conflicto:
   las filas del mosaico se dimensionan solas por el contenido, el
   mosaico ocupa el 100% de su columna, y el alto sale del ancho como
   corresponde.

   16/9 y no algo más ancho porque son fotos de personas: pasadas las
   2:1 la cara queda recortada. Si hay que bajar la altura, este es el
   número a tocar. */
.muse-join-mosaic{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  min-height:0;
  overflow:hidden;
}

.muse-join-cell{
  position:relative;
  overflow:hidden;
  background:var(--muse-crema-2);
  aspect-ratio:16 / 9;
  min-height:0;
}

.muse-join-cell img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* justify-content:center centra el bloque de texto DENTRO del panel.
   Alineado a la izquierda quedaba pegado al mosaico y con medio panel
   vacío a la derecha, que es parte de lo que hacía ver la sección
   despareja. */
.muse-join-panel{
  background:var(--muse-crema-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 5vw;
  min-height:0;
}

/* Tope de medida para que el párrafo no se estire en pantallas anchas:
   pasadas las ~50 caracteres por línea el ojo pierde el renglón. */
.muse-join-content{
  max-width:430px;
}

/* Se subieron título y texto respecto de la primera versión: contra un
   mosaico de fotos grandes, 29px de título se leían chicos. */
.muse-join-title{
  font-family:var(--muse-serif);
  font-size:33px;
  line-height:1.14;
  margin:0 0 16px;
  color:var(--muse-charcoal);
}

.muse-join-text{
  font-size:15px;
  line-height:1.65;
  color:var(--muse-muted);
  margin:0 0 26px;
}

.muse-join-btn{
  display:inline-block;
  background:var(--muse-charcoal);
  color:var(--muse-white);
  text-decoration:none;
  padding:14px 30px;
  border-radius:6px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .15s ease;
}

.muse-join-btn:hover,
.muse-join-btn:focus{
  background:var(--muse-brown);
  color:var(--muse-white);
  text-decoration:none;
}

@media(max-width:767px){
  /* Apilado: mosaico arriba a ancho completo, texto debajo. Dos
     columnas de 50% en celular dejarían las fotos del tamaño de una
     estampilla y el párrafo metido en una canaleta. */
  .muse-join{
    grid-template-columns:1fr;
    margin-top:32px;
  }
  /* Apilado el mosaico usa el ancho completo, así que las celdas pasan
     a cuadradas: con 16/9 a lo ancho de la pantalla quedarían como dos
     tiras muy bajas. */
  .muse-join-cell{ aspect-ratio:1 / 1; }
  .muse-join-panel{
    padding:30px 22px 34px;
    justify-content:flex-start;
  }
  .muse-join-title{ font-size:24px; }
  .muse-join-content{ max-width:none; }
}

/* ---------- 19. Preguntas frecuentes ----------
   MUSE 2026-09-14 · referencia de MuseCases

   Acordeón en columna angosta y centrada, al final de la ficha.

   EL ESTADO LO MANEJA EL JS DE LIMA
   Los chevrones usan sus clases -inactive y -active, que el propio
   handler alterna. Por eso acá no hay ninguna regla de rotación: si la
   hubiera, competiría con el estilo inline que escribe jQuery y
   perderían las dos.

   El display:none inicial de las respuestas va INLINE en el HTML, no
   acá. Si esta hoja no llegara a cargar, las preguntas se ven abiertas
   —feo pero legible— en vez de quedar cerradas y sin forma de abrirlas. */

/* El padding de abajo no es decorativo: el FAQ es la última sección de
   la ficha y sin él la última pregunta queda pegada al bloque negro del
   pie. Con aire, el final de la página se lee como un cierre y no como
   un corte. */
.muse-faq{
  padding:52px 0 56px;
}

.muse-faq-title{
  font-family:var(--muse-serif);
  font-size:26px;
  line-height:1.2;
  text-align:center;
  margin:0 0 26px;
  color:var(--muse-charcoal);
}

/* Columna angosta: una pregunta de un renglón a 1200px de ancho se lee
   como un título suelto, no como una lista. */
.muse-faq-list{
  max-width:620px;
  margin:0 auto;
}

.muse-faq-item{
  border-bottom:1px solid var(--muse-line);
}

.muse-faq-item:first-child{
  border-top:1px solid var(--muse-line);
}

/* La fila entera es el área clickeable, no solo el texto. */
.muse-faq-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  padding:17px 2px;
  color:var(--muse-charcoal);
  text-decoration:none;
  cursor:pointer;
}

.muse-faq-q:hover,
.muse-faq-q:focus{
  text-decoration:none;
  color:var(--muse-brown);
}

.muse-faq-q-text{
  font-size:14.5px;
  font-weight:500;
  line-height:1.4;
}

.muse-faq-chevron{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  opacity:.55;
}

.muse-faq-q:hover .muse-faq-chevron{ opacity:1; }

.muse-faq-chevron svg{
  width:13px;
  height:13px;
}

.muse-faq-a{
  padding:0 2px 18px;
}

.muse-faq-a p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:var(--muse-muted);
  /* Respeta los saltos de línea que escriban en el admin sin necesidad
     de que metan HTML: el textarea guarda los \n y white-space los
     muestra. Así el campo sigue siendo texto plano y seguro. */
  white-space:pre-line;
}

@media(max-width:767px){
  .muse-faq{ padding:36px 0 40px; }
  .muse-faq-title{ font-size:21px; margin-bottom:18px; }
  .muse-faq-q{ padding:15px 0; }
  .muse-faq-q-text{ font-size:14px; }
}

/* ---------- 20. Mosaico de categorías del inicio ----------
   MUSE 2026-09-20 · referencia de MuseCases

   Cinco tarjetas: dos anchas arriba, tres abajo.

   CÓMO SE ARMA EL 2+3
   Grilla de SEIS columnas. Las dos primeras tarjetas ocupan 3 cada
   una —dos por fila— y las tres siguientes ocupan 2 —tres por fila—.
   Sale exacto sin necesidad de dos contenedores separados ni de
   reordenar nada en el markup.

   La regla se aplica solo cuando hay exactamente cinco. Con otra
   cantidad la grilla cae a columnas iguales, que es lo predecible;
   con los spans fijos quedarían huecos.

   LAS PROPORCIONES VAN EN LAS TARJETAS
   Aprendido con "Unite a Muse": aspect-ratio en el contenedor de una
   grilla que ya recibió altura por stretch resuelve al revés —calcula
   el ancho desde el alto— y deja franjas vacías. En las tarjetas no
   hay conflicto. */

.muse-catmos{
  padding:14px 0 10px;
}

.muse-catmos-title{
  font-family:var(--muse-serif);
  font-size:26px;
  line-height:1.2;
  text-align:center;
  margin:0 0 22px;
  color:var(--muse-charcoal);
}

.muse-catmos-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.muse-catmos-grid--5{
  grid-template-columns:repeat(6, 1fr);
}

.muse-catmos-grid--5 > *:nth-child(-n+2){
  grid-column:span 3;
  aspect-ratio:3 / 2;
}

.muse-catmos-grid--5 > *:nth-child(n+3){
  grid-column:span 2;
  aspect-ratio:1 / 1;
}

.muse-catmos-card{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--muse-radius);
  background:var(--muse-crema-2);
  aspect-ratio:1 / 1;
  text-decoration:none;
  color:var(--muse-white);
}

.muse-catmos-card:hover,
.muse-catmos-card:focus{
  text-decoration:none;
  color:var(--muse-white);
}

.muse-catmos-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}

a.muse-catmos-card:hover .muse-catmos-img{
  transform:scale(1.04);
}

/* Degradado de abajo: sin él, el texto blanco desaparece sobre las
   fotos claras. Es lo que hace legible el nombre sin tener que pedir
   fotos oscuras. */
.muse-catmos-overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:22px 16px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  background:linear-gradient(to top, rgba(43,42,40,.55) 0%, rgba(43,42,40,.28) 45%, rgba(43,42,40,0) 100%);
}

.muse-catmos-name{
  font-family:var(--muse-sans);
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
  line-height:1.3;
  text-shadow:0 1px 3px rgba(43,42,40,.4);
}

.muse-catmos-btn{
  display:inline-block;
  background:var(--muse-white);
  color:var(--muse-charcoal);
  padding:8px 18px;
  border-radius:5px;
  font-family:var(--muse-sans);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.3;
  transition:background .15s ease;
}

a.muse-catmos-card:hover .muse-catmos-btn{
  background:var(--muse-crema);
}

@media(max-width:767px){
  .muse-catmos{ padding:8px 0; }
  .muse-catmos-title{ font-size:21px; margin-bottom:16px; }

  /* Dos columnas parejas: el 2+3 en pantalla angosta dejaría las tres
     de abajo del tamaño de un sello. La quinta queda sola y se estira
     a lo ancho, que se lee mejor que dejarle un hueco al lado. */
  .muse-catmos-grid,
  .muse-catmos-grid--5{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .muse-catmos-grid--5 > *:nth-child(-n+2),
  .muse-catmos-grid--5 > *:nth-child(n+3){
    grid-column:span 1;
    aspect-ratio:1 / 1;
  }
  .muse-catmos-grid--5 > *:last-child:nth-child(odd){
    grid-column:1 / -1;
    aspect-ratio:2 / 1;
  }
  .muse-catmos-name{ font-size:11.5px; }
  .muse-catmos-btn{ font-size:9.5px; padding:7px 14px; }
}

/* ---------- 21. Barra de avisos en movimiento ----------
   MUSE 2026-09-20 · referencia: burga.com

   Franja bajo el encabezado con los avisos desplazándose a la
   izquierda en bucle.

   EL LOOP SIN CORTE
   El snipplet imprime los mensajes DOS veces y la pista se desplaza
   hasta -50%. Al reiniciar, la segunda copia está exactamente donde
   arrancó la primera, así que el salto no se ve. Por eso el
   translateX final es -50% y no -100%.

   LOS COLORES
   Entran como custom properties en el style del elemento, puestas por
   el snipplet desde el admin. Acá solo se consumen.

   ⚠️ prefers-reduced-motion
   Movimiento constante e impausable es un problema real para personas
   con trastornos vestibulares. Si el sistema pide menos animación, la
   pista se detiene y los avisos quedan legibles igual. No es opcional. */

.muse-ticker{
  background:var(--muse-ticker-bg, var(--muse-charcoal));
  color:var(--muse-ticker-fg, var(--muse-white));
  overflow:hidden;
  position:relative;
  padding:9px 0;
}

/* La duración va en el atajo `animation` y no aparte: el atajo pisa
   animation-duration a 0s, así que declararla por separado obliga a
   cuidar el orden de las reglas. Con el valor adentro, los
   modificadores de velocidad de abajo simplemente lo sobrescriben.

   Los 30s son además el respaldo: si en el admin no eligieron
   velocidad, la clase modificadora queda vacía y sin este valor la
   pista no se movería nunca. */
.muse-ticker-track{
  display:flex;
  width:max-content;
  animation:muse-ticker-scroll 30s linear infinite;
}

/* ⚠️ min-width:100vw — corregido el 2026-09-23.

   El bucle desplaza la pista hasta -50%, que equivale a UNA copia. Eso
   es continuo solo si cada copia es al menos tan ancha como la
   ventana. Con cinco avisos cortos en un monitor grande, una copia
   medía menos que el viewport: al llegar a -50% se veía un hueco
   blanco antes de que entrara la siguiente. Aparecía solo en pantalla
   completa de escritorio, porque es donde el viewport gana.

   Con min-width:100vw cada copia nunca baja del ancho visible, así que
   la pista siempre mide 200vw o más y el -50% cae siempre en su lugar.
   Es determinístico: no depende de cuántos avisos carguen ni de qué
   largo tengan.

   space-around reparte el sobrante cuando los avisos no llegan a
   llenar la copia. Sin eso quedarían amontonados a la izquierda y el
   hueco, en vez de desaparecer, se correría al final de cada vuelta. */
.muse-ticker-set{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:100vw;
  justify-content:space-around;
}

.muse-ticker-item,
.muse-ticker-sep{
  font-family:var(--muse-sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  line-height:1.4;
}

.muse-ticker-item{ padding:0 18px; }
.muse-ticker-sep{ opacity:.5; }

@keyframes muse-ticker-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.muse-ticker--lenta  .muse-ticker-track{ animation-duration:48s; }
.muse-ticker--rapida .muse-ticker-track{ animation-duration:18s; }

@media(prefers-reduced-motion: reduce){
  .muse-ticker-track{
    animation:none;
    /* Sin animación la pista arranca en 0 y se ve la primera copia,
       que es la que tiene el texto accesible. */
    width:auto;
  }
  .muse-ticker-set:nth-child(2){ display:none; }
  .muse-ticker-set{ flex-wrap:wrap; justify-content:center; }
}

@media(max-width:767px){
  .muse-ticker{ padding:8px 0; }
  .muse-ticker-item,
  .muse-ticker-sep{ font-size:10.5px; }
  .muse-ticker-item{ padding:0 13px; }
}

/* ---------- 22. Producto + foto de uso ----------
   MUSE 2026-09-21 · referencia de MuseCases

   Tres pares en fila. Cada par es producto + foto, y los dos azulejos
   miden lo mismo — de ahí la alternancia blanco/foto de la referencia.

   Las proporciones van en los azulejos, no en la fila. Es la misma
   lección de "Unite a Muse": aspect-ratio en un contenedor de grilla
   que ya recibió altura resuelve al revés. */

.muse-inuse{
  padding:38px 0 20px;
}

.muse-inuse-title{
  font-family:var(--muse-serif);
  font-size:26px;
  line-height:1.2;
  text-align:center;
  margin:0 0 24px;
  color:var(--muse-charcoal);
}

.muse-inuse-row{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

.muse-inuse-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  min-width:0;
}

.muse-inuse-product,
.muse-inuse-photo{
  aspect-ratio:3 / 4;
  border-radius:var(--muse-radius);
  overflow:hidden;
  min-width:0;
}

/* El producto va sobre blanco y con la foto CONTENIDA, no recortada:
   son fotos de catálogo con fondo, y un cover les cortaría la funda. */
.muse-inuse-product{
  display:flex;
  flex-direction:column;
  background:var(--muse-white);
  border:1px solid var(--muse-line);
  text-decoration:none;
  color:var(--muse-charcoal);
  transition:border-color .15s ease;
}

.muse-inuse-product:hover,
.muse-inuse-product:focus{
  text-decoration:none;
  color:var(--muse-charcoal);
  border-color:var(--muse-pink);
}

.muse-inuse-shot{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
}

.muse-inuse-shot img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}

.muse-inuse-info{
  flex:0 0 auto;
  display:block;
  padding:0 12px 12px;
  text-align:center;
}

.muse-inuse-name{
  display:block;
  font-size:11.5px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.muse-inuse-price{
  display:block;
  font-size:12.5px;
  font-weight:700;
  margin-top:2px;
}

/* La foto de uso sí va recortada: es una situación, no un catálogo. */
.muse-inuse-photo{
  background:var(--muse-crema-2);
}

.muse-inuse-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:991px){
  /* Tres pares en fila serían seis azulejos: en tablet cada uno queda
     más angosto que alto y el nombre no entra. Se pasa a un par por
     fila. */
  .muse-inuse-row{
    grid-template-columns:1fr;
    gap:14px;
  }
}

@media(max-width:767px){
  .muse-inuse{ padding:28px 0 12px; }
  .muse-inuse-title{ font-size:21px; margin-bottom:18px; }
  .muse-inuse-name{ font-size:11px; }
}
