/* mila — hoja base. assets/mila.css en Shopify */

:root{
  --papel:#f1edea;
  --lino:#e8e0dc;
  --tinta:#420f10;
  --humo:#7d6260;
  --hilo:#dccfca;
  --salvia:#741208;
  --rubor:#e6d2cd;
  --agotado:#b9a9a6;

  --ancho:1240px;
  --margen:48px;
  --aire:120px;

  --foto-crema:linear-gradient(150deg,#f4efec 0%,#e6dbd6 55%,#d9cbc5 100%);
  --foto-salvia:linear-gradient(150deg,#8e1a1c 0%,#420f10 100%);
  --foto-rubor:linear-gradient(150deg,#efe0dc 0%,#d8bfb8 100%);
  --scrim:linear-gradient(to top,rgba(26,7,8,.45),transparent 55%);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:Archivo,system-ui,sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.65;
  letter-spacing:.01em;
}

img{display:block;max-width:100%;height:auto}
button,input{font:inherit;color:inherit;letter-spacing:inherit}
a{color:var(--tinta);text-decoration:none}
:focus-visible{outline:1px solid var(--tinta);outline-offset:3px}

/* tipografía ------------------------------------------------------------- */

h1,h2,h3,p{margin:0;text-wrap:pretty}

.hora,.pie{font-size:11px;letter-spacing:.09em;color:var(--humo)}
.etiqueta{font-size:12px;letter-spacing:.09em;color:var(--humo)}
.ui{font-size:13px;letter-spacing:.09em}
.precio{font-size:18px;font-weight:300}
.titulo{font-size:22px;font-weight:400}
.titular{font-size:32px;font-weight:300;line-height:1.2}

.logotipo{font-size:18px;font-weight:400;letter-spacing:.28em;text-transform:lowercase}
.logotipo--grande{font-size:72px}

.parrafo{color:var(--humo);line-height:1.75}
.parrafo--tinta{color:var(--tinta);line-height:1.75}
.medida{max-width:40ch}

/* contenedor y ritmo ----------------------------------------------------- */

.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 var(--margen)}
.seccion{padding-top:var(--aire)}
.bloque-lino{background:var(--lino);margin-top:var(--aire)}

/* enlace editorial: subrayado puesto, se barre en hover ------------------ */

.enlace{position:relative;display:inline-block;font-size:13px;letter-spacing:.09em;padding-bottom:2px}
.enlace::after{
  content:"";position:absolute;left:0;bottom:0;
  width:100%;height:1px;background:currentColor;
  transform:scaleX(1);transform-origin:right;
  transition:transform .3s ease-in-out;
}
.enlace:hover::after{transform:scaleX(0);transform-origin:left}
.enlace--menudo{font-size:12px;color:var(--humo)}

/* botón sólido: solo UI funcional ---------------------------------------- */

.boton{
  display:block;width:100%;height:48px;
  background:var(--tinta);color:var(--papel);border:1px solid var(--tinta);
  font-size:13px;letter-spacing:.09em;cursor:pointer;
  transition:background .2s linear;
}
.boton:hover{background:#000}
.boton--contorno{background:var(--papel);color:var(--tinta)}
.boton--contorno:hover{background:var(--lino)}

/* header ----------------------------------------------------------------- */

.cabecera{
  position:sticky;top:0;z-index:40;background:var(--papel);
  border-bottom:1px solid transparent;transition:border-color .2s linear;
}
.cabecera.scrolleada{border-bottom-color:var(--hilo)}
.cabecera__fila{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:104px;transition:height .2s linear;
}
.cabecera.scrolleada .cabecera__fila{height:64px}
.nav{display:flex;gap:32px;align-items:center}
.cabecera__utiles{display:flex;align-items:center;gap:20px;flex:0 0 auto}
.icono{background:none;border:0;padding:4px;cursor:pointer;font-size:13px;letter-spacing:.09em}
.disparador-menu{display:none}
.menu-movil{display:none;border-top:1px solid var(--hilo);padding:20px 16px 32px;flex-direction:column;gap:20px}
.menu-movil.abierto{display:flex}

/* fotografía y marcadores de posición ------------------------------------ */

.foto{position:relative;overflow:hidden;background:var(--lino);display:flex;align-items:flex-end}
.foto--campana{aspect-ratio:.654}
.foto--producto{aspect-ratio:2/3}
.foto--ancha{aspect-ratio:16/7}
.foto--tela{aspect-ratio:16/10}
.foto--crema{background:var(--foto-crema)}
.foto--salvia{background:var(--foto-salvia)}
.foto--rubor{background:var(--foto-rubor)}
.foto__nota{position:relative;z-index:2;padding:20px;font-size:11px;letter-spacing:.09em;color:var(--humo)}
.foto__nota--claro{color:var(--tinta)}
.foto__scrim{position:absolute;inset:0;background:var(--scrim);pointer-events:none;z-index:1}
.zoom{transition:transform .5s ease-in-out}
.zoom:hover{transform:scale(1.04)}

/* hero ------------------------------------------------------------------- */

.hero{padding-top:80px}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.hero__texto{max-width:420px}
.hero__texto>*+*{margin-top:20px}
.hero__texto .enlace{margin-top:32px}

/* hero inmersivo: pantallas completas; la siguiente sube y cubre a la actual */
.hero-inmersivo{height:calc(100svh - 104px);min-height:520px;overflow:hidden;background:var(--lino)}
.hero-inmersivo__slide{position:relative;overflow:hidden;background:var(--lino)}
.hero-inmersivo__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-inmersivo__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(26,7,8,.66),rgba(26,7,8,.3) 40%,transparent 70%)}
.hero-inmersivo__texto{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--margen) 96px;text-align:center}
.hero-inmersivo__texto .etiqueta{color:var(--papel);margin-bottom:16px}
.hero-inmersivo__titular{margin:0 auto;max-width:20ch;color:var(--papel);font-size:clamp(28px,3.6vw,52px);font-weight:400;line-height:1.08;letter-spacing:-.01em}
.hero-inmersivo__texto .enlace{color:var(--papel);margin-top:28px}
.hero-inmersivo{position:relative}
.hero-inmersivo__control{position:absolute;right:var(--margen);bottom:40px;z-index:5;display:flex;align-items:baseline;gap:20px;color:var(--papel)}
.hero-inmersivo__cuenta{font-size:11px;letter-spacing:.09em}
.hero-inmersivo__boton{background:none;border:0;color:var(--papel);cursor:pointer;padding:4px 0 2px}
.hero-inmersivo__nota{position:absolute;top:24px;left:var(--margen);padding:0}
.triptico{margin-top:var(--aire)}

/* hero tríptico: tres paneles a sangre, filete de papel entre ellos */
.triptico{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1.48fr) minmax(0,1fr);gap:16px;height:calc(100svh - 104px);min-height:560px;max-height:1000px}
.triptico__panel{display:flex;flex-direction:column;min-height:0}
.triptico__foto{flex:1 1 auto;min-height:0}
.triptico__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.triptico__panel:first-child .foto__scrim{background:linear-gradient(to top,rgba(26,7,8,.66),rgba(26,7,8,.38) 45%,transparent 78%)}
.triptico__sobre{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px}
.triptico__sobre .etiqueta{color:var(--papel);margin-bottom:12px}
.triptico__sobre .titular{color:var(--papel);max-width:16ch;font-size:clamp(32px,3.4vw,52px);font-weight:400;line-height:1.05;letter-spacing:-.01em}
.triptico__bajada{flex:0 0 auto;padding:32px 40px 40px;max-width:46ch;font-size:18px;color:var(--tinta)}
.triptico__panel:nth-child(2) .triptico__foto img{object-position:85% center}
.triptico__panel:nth-child(3) .triptico__foto{flex:0 1 84%}
.triptico__cta{flex:0 0 auto;margin:28px 0 0 32px;align-self:flex-start}

@keyframes entrada{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.entra{animation:entrada .7s ease-in-out both}
.entra--1{animation-delay:.1s}
.entra--2{animation-delay:.2s}
.entra--3{animation-delay:.3s}
.entra--4{animation-delay:.4s}

/* colección -------------------------------------------------------------- */

.encabezado-seccion{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:40px}
.grilla{display:grid;gap:24px 16px}
.grilla--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grilla--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tarjeta{display:block}
.tarjeta__hora{border-top:1px solid var(--hilo);padding:8px 0 12px}
.tarjeta__fotos{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--lino)}
.tarjeta__foto{position:absolute;inset:0;display:flex;align-items:flex-end}
.tarjeta__foto--puesta{opacity:0;transition:opacity .2s linear}
.tarjeta:hover .tarjeta__foto--puesta,
.tarjeta:focus-visible .tarjeta__foto--puesta{opacity:1}
.tarjeta__pie{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:12px}
.tarjeta__pie .precio{color:var(--humo)}

/* franja editorial ------------------------------------------------------- */

.franja{position:relative;overflow:hidden}
.franja .foto__nota{position:absolute;top:0;left:0;color:var(--tinta)}
.franja__texto{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px 24px;text-align:center;pointer-events:none}
.franja__texto p{font-size:22px;font-weight:300;color:var(--papel)}

/* la caja ---------------------------------------------------------------- */

.caja{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:80px;padding-bottom:80px}
.tarjeta-carta{background:var(--papel);border:1px solid var(--hilo);padding:56px 48px}
.carta__saludo{font-family:"EB Garamond",Georgia,serif;font-style:italic;font-size:22px;line-height:1.4;margin-bottom:20px}
.carta__firma{font-size:13px;letter-spacing:.28em;margin-top:32px}
.caja__texto>*+*{margin-top:20px}
.caja__texto .enlace{margin-top:32px}

/* colores ---------------------------------------------------------------- */

.muestra-grande{aspect-ratio:1}
.muestra__nombre{margin:16px 0 8px}

/* ficha de producto ------------------------------------------------------ */

.producto{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start;padding-top:32px}
.mosaico{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mosaico__ancho{grid-column:span 2}
.info{position:sticky;top:128px}
.info__bloque{border-top:1px solid var(--hilo);padding-top:32px;margin-top:32px}

.muestras{display:flex;gap:12px;margin:16px 0 32px}
.muestra{width:28px;height:28px;border-radius:50%;padding:0;cursor:pointer;border:1px solid var(--hilo);transition:border-color .2s linear}
.muestra[aria-pressed="true"]{border-color:var(--tinta)}
.muestra--hueso{background:var(--foto-crema)}
.muestra--salvia{background:var(--foto-salvia)}
.muestra--rubor{background:var(--foto-rubor)}

.fila-etiqueta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.tallas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.talla{
  min-width:48px;height:44px;padding:0 12px;cursor:pointer;
  background:var(--papel);color:var(--tinta);border:1px solid var(--hilo);
  font-size:13px;letter-spacing:.09em;
  transition:background .2s linear,color .2s linear,border-color .2s linear;
}
.talla[aria-pressed="true"]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}

.campo{width:100%;height:44px;padding:0 12px;background:var(--papel);border:1px solid var(--hilo);font-size:15px}
.campo__pie{display:flex;justify-content:space-between;gap:16px;margin-top:8px}
.campo__pie p{font-size:11px;color:var(--humo)}
.acciones{margin-top:32px;display:grid;gap:8px}

.acordeones{margin-top:40px}
.acordeon{border-top:1px solid var(--hilo)}
.acordeon__titulo{
  width:100%;padding:20px 0;background:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:13px;letter-spacing:.09em;text-align:left;
}
.acordeon__signo{color:var(--humo)}
.acordeon__cuerpo{display:none;padding-bottom:20px;max-width:42ch}
.acordeon__titulo[aria-expanded="true"]+.acordeon__cuerpo{display:block}

/* footer ----------------------------------------------------------------- */

.pie-sitio{margin-top:var(--aire);border-top:1px solid var(--hilo)}
.pie-sitio__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:56px;padding:80px 0 40px}
.pie-sitio__columna{display:flex;flex-direction:column;gap:12px}
.pie-sitio__legal{border-top:1px solid var(--hilo);padding:20px 0 48px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.pie-sitio__legal p{font-size:11px;color:var(--humo)}

/* responsive ------------------------------------------------------------- */

@media (max-width:900px){
  :root{--margen:16px;--aire:72px}
  .nav{display:none}
  .disparador-menu{display:block}
  .hero__grid,.caja,.producto,.pie-sitio__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .caja{padding-top:56px;padding-bottom:56px}
  .grilla--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .triptico{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;height:auto;max-height:none}
  .triptico__panel:first-child{grid-column:span 2}
  .triptico__panel:first-child .triptico__foto{aspect-ratio:4/5;flex:none}
  .triptico__panel:nth-child(n+2) .triptico__foto{aspect-ratio:2/3;flex:none}
  .triptico__bajada{padding-top:24px;padding-bottom:24px}
  .triptico__sobre,.triptico__bajada{padding-left:16px;padding-right:16px}
  .triptico__cta{margin-left:16px}
  .info{position:static}
  .tarjeta-carta{padding:40px 24px}
  .titular{font-size:26px}
  .foto--ancha{aspect-ratio:4/5}
}

@media (max-width:560px){
  .grilla--3{grid-template-columns:minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .zoom:hover{transform:none}
}

/* mayúsculas de interfaz, como alo: menú, botones, etiquetas y títulos de sección.
   el logo es lo único que sigue en minúscula (.logotipo). */
.nav .enlace,.menu-movil a,.icono,.boton,.mm-boton,.etiqueta,.hora,.ui,.enlace,
.encabezado-seccion,.mm-banner__texto .titular,.mm-piezas button,.acordeon__titulo,
.triptico__cta,.mm-pista,.talla{text-transform:uppercase}
p .enlace{text-transform:none}
.etiqueta,.hora{letter-spacing:.12em}
.encabezado-seccion.titulo,.encabezado-seccion .titulo{font-size:18px;letter-spacing:.08em}

/* catálogo completo: filtros, tarjetas sin foto propia y "ver más" */
.catalogo-filtros{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:center;margin:-16px 0 32px}
.foto--catalogo{background:#fff;display:flex;align-items:center;justify-content:center}
.foto--catalogo img{width:100%;height:100%;object-fit:contain;padding:8%}
img.sin-foto{opacity:.18;filter:grayscale(1);padding:28%!important}
.tarjeta--catalogo .tarjeta__pie span:first-child{overflow-wrap:anywhere}
.precio-antes{text-decoration:line-through;color:var(--humo);font-size:.82em;font-weight:300;margin-right:8px}
.catalogo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 28px}
.catalogo-tabs[hidden]{display:none}
.catalogo-tab{min-height:44px;padding:0 20px;border:1px solid var(--hilo);background:transparent;font-size:13px;letter-spacing:.09em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.catalogo-tab:hover{border-color:var(--tinta)}
.catalogo-tab[aria-pressed="true"]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.tarjeta--agotada .foto{opacity:.55}
.tarjeta--catalogo .precio{flex:0 0 auto;text-align:right;white-space:nowrap;font-size:16px}
.tarjeta--catalogo .precio .precio-antes{display:block;margin:0 0 2px;font-size:12px}
.boton:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:900px){.catalogo-tabs{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(var(--margen) * -1);margin-right:calc(var(--margen) * -1);padding:0 var(--margen);scrollbar-width:none}.catalogo-tabs::-webkit-scrollbar{display:none}.catalogo-tab{flex:0 0 auto}}
.catalogo-mas{display:flex;justify-content:center;margin-top:40px}
.catalogo-mas .boton{width:auto;padding:0 40px}
@media (max-width:900px){.catalogo-filtros{grid-template-columns:1fr 1fr}.catalogo-filtros [data-filtro-q]{grid-column:1/-1}}
