 .lookbook{background:#0a0a0a;padding:160px 28px;border-top:1px solid var(--line)}

  /* ================================================================
     LOOK-GRID · FILAS EDITORIALES JUSTIFICADAS
     ----------------------------------------------------------------
     Cada .lrow es una fila de altura compartida: el ancho de cada
     foto se reparte según su proporción real (--ar = ancho/alto,
     afinada por js/11-lookbook.js con las medidas naturales).
     Nada se recorta y las 16:9 respiran de verdad.

     Las filas .lrow--cinema rompen el contenedor y van de borde a
     borde de la pantalla: son los "planos de película" del lookbook.

     Sin etiquetas encima ni zoom en hover: las fotos hablan solas.
     Interacción = click → lightbox.
     ================================================================ */
  .look-grid{
    max-width:var(--container);
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  .lrow{
    display:flex;
    gap:16px;
    align-items:stretch;
  }

  .look{
    position:relative;
    overflow:hidden;
    border-radius:6px;
    background:#141414;
    cursor:pointer;
    /* ancho proporcional a la relación de aspecto → misma altura
       para toda la fila sin recortar ninguna foto */
    flex:var(--ar,1) 1 0%;
    min-width:0;
    aspect-ratio:var(--ar,4/3);
  }
  .look img{
    width:100%;height:100%;
    object-fit:cover;   /* con --ar exacta no recorta: es cinturón de seguridad */
    display:block;
  }
  .look:active img{opacity:.85}

  /* Plano cinema: full-bleed, de borde a borde de la ventana */
  .lrow--cinema{
    width:100vw;
    margin-left:calc(50% - 50vw);
  }
  .look--cinema{
    border-radius:0;
  }

  /* Móvil: las 16:9 ocupan todo el ancho (protagonistas) y las
     verticales se emparejan de dos en dos. Si una vertical queda
     sola en su fila, crece hasta llenar el ancho. */
  @media (max-width:759px){
    .look-grid{gap:10px}
    .lrow{flex-wrap:wrap;gap:10px}
    .look--h{flex:1 1 100%}
    .look--v{flex:1 1 40%;order:1}
  }

  /* ================================================================
     LIGHTBOX DEL LOOKBOOK  (.lb-)
     ================================================================ */
  .lb-bg{
    position:fixed;inset:0;z-index:1200;
    display:flex;align-items:center;justify-content:center;
    background:rgba(5,5,5,.92);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    opacity:0;pointer-events:none;
    transition:opacity .35s var(--ease);
  }
  .lb-bg.open{opacity:1;pointer-events:auto}

  .lb-stage{
    position:relative;
    max-width:min(1100px,92vw);
    max-height:86vh;
    display:flex;align-items:center;justify-content:center;
  }
  .lb-stage img{
    max-width:100%;
    max-height:86vh;
    width:auto;height:auto;
    border-radius:8px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    transform:scale(.96);
    opacity:0;
    transition:transform .4s var(--out),opacity .3s var(--ease);
  }
  .lb-bg.open .lb-stage img{transform:scale(1);opacity:1}

  .lb-close{
    position:fixed;top:20px;right:20px;z-index:2;
    width:46px;height:46px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(241,237,228,.08);
    border:1px solid rgba(241,237,228,.16);
    color:var(--cream);
    transition:background .25s,border-color .25s;
  }
  .lb-close:hover{background:rgba(224,35,21,.25);border-color:var(--red)}
  .lb-close .material-icons{font-size:22px}

  .lb-arrow{
    position:fixed;top:50%;transform:translateY(-50%);z-index:2;
    width:48px;height:48px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(241,237,228,.07);
    border:1px solid rgba(241,237,228,.14);
    color:var(--cream);
    transition:background .25s,border-color .25s;
  }
  .lb-arrow:hover{background:rgba(224,35,21,.25);border-color:var(--red)}
  .lb-arrow.prev{left:20px}
  .lb-arrow.next{right:20px}
  .lb-arrow svg{width:22px;height:10px}

  .lb-meta{
    position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;
    display:flex;align-items:center;gap:14px;
    font-size:11px;letter-spacing:.3em;text-transform:uppercase;
    color:var(--text-soft);
    background:rgba(0,0,0,.5);
    padding:9px 18px;border-radius:999px;
    backdrop-filter:blur(8px);
    white-space:nowrap;
  }
  .lb-meta .lb-counter{color:var(--cream)}

  @media (max-width:760px){
    .lb-arrow{display:none} /* en móvil se navega con swipe */
    .lb-close{top:14px;right:14px;width:42px;height:42px}
    .lb-stage{max-width:94vw;max-height:80vh}
    .lb-stage img{max-height:80vh}
    .lb-meta{bottom:16px;font-size:10px;gap:10px;padding:8px 14px}
  }

  .manifest{background:#0a0a0a;padding:200px 28px;text-align:center;position:relative;overflow:hidden}
  .manifest-bg{position:absolute;top:50%;left:0;transform:translateY(-50%);font-family:'Anton',sans-serif;font-size:clamp(180px,28vw,400px);color:rgba(224,35,21,.05);letter-spacing:-.04em;white-space:nowrap;pointer-events:none;will-change:transform}
  .manifest-text{position:relative;z-index:2;max-width:1100px;margin:0 auto;font-family:'Anton',sans-serif;font-size:clamp(30px,5vw,68px);line-height:1.12;text-transform:uppercase;letter-spacing:-.015em}
  .manifest-text .red{color:var(--red);font-family:'Fraunces',serif;font-style:italic;font-weight:400;text-transform:lowercase}
  .manifest-text .outline{-webkit-text-stroke:1.2px var(--cream);color:transparent}
  .manifest-sign{margin-top:60px;color:var(--text-soft);position:relative;z-index:2;font-family:'Fraunces',serif;font-style:italic;font-size:15px}

  .features{background:var(--bg-2);padding:110px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  /* 2 tarjetas por fila (1 en móvil): cada tarjeta es texto izq + render 3D grande der */
  .feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));gap:44px 56px;max-width:1200px;margin:0 auto}
  /* Tarjeta en grid interno: col 1 = num/título/párrafo, col 2 = imagen
     centrada en vertical ocupando las 3 filas. Así el texto nunca pisa
     la imagen ni al revés. */
  .feat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:28px;align-items:center;text-align:left;border-left:1px solid var(--line);padding-left:24px}
  .feat-num,.feat h3,.feat p{grid-column:1}
  /* Asset ilustrativo PNG transparente (renders 3D de Alejandro).
     Grande y protagonista, a la derecha del texto; si el archivo no
     existe el onerror del img lo oculta y la tarjeta queda solo texto. */
  .feat-art{grid-column:2;grid-row:1/4;align-self:center;display:block;width:clamp(120px,15vw,185px);height:auto;margin:0;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));transition:transform .45s var(--out)}
  .feat:hover .feat-art{transform:translateY(-6px) rotate(-3deg) scale(1.04)}
  .feat-num{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--red);margin-bottom:18px}
  .feat h3{font-family:'Anton',sans-serif;font-size:22px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
  .feat p{color:var(--text-soft);font-size:14px;line-height:1.7;font-weight:300}

  
  /* ================================================================
   FOOTER INTENSITY
   ================================================================ */
footer{
  position:relative;
  overflow:hidden;
  padding:92px 28px 34px;
  border-top:1px solid var(--line);
  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(224,35,21,.12),
      transparent 29%
    ),
    linear-gradient(
      180deg,
      #080808 0%,
      #030303 100%
    );
}

footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(
      rgba(255,255,255,.018) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.018) 1px,
      transparent 1px
    );
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,#000,transparent 78%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 78%);
}

.foot-mega{
  position:relative;
  z-index:1;
  max-width:var(--container);
  margin:0 auto 76px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  flex-wrap:wrap;
  column-gap:clamp(12px,2vw,30px);
  font-family:'Anton',sans-serif;
  font-size:clamp(68px,14.7vw,218px);
  line-height:.77;
  letter-spacing:-.035em;
  text-align:center;
  white-space:nowrap;
}

.foot-mega > span{
  color:rgba(241,237,228,.9);
  text-shadow:
    0 1px 0 rgba(255,255,255,.1),
    0 24px 80px rgba(0,0,0,.72);
}

.foot-mega em{
  position:relative;
  bottom:.06em;
  font-family:'Fraunces',serif;
  font-size:.42em;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.045em;
  color:var(--red);
  text-shadow:0 0 42px rgba(224,35,21,.22);
}

.foot-grid{
  position:relative;
  z-index:2;
  max-width:var(--container);
  margin:0 auto 68px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr) minmax(280px,1fr);
  gap:clamp(38px,6vw,90px);
  align-items:start;
}

.foot-brand-name{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:19px;
}

.foot-brand-name span{
  font-family:'Anton',sans-serif;
  font-size:29px;
  line-height:1;
  letter-spacing:.055em;
  color:var(--cream);
}

.foot-brand-name em{
  font-family:'Fraunces',serif;
  font-size:19px;
  font-style:italic;
  font-weight:400;
  color:var(--red);
}

.foot-brand p{
  max-width:390px;
  color:var(--text-soft);
  font-size:14px;
  font-weight:300;
  line-height:1.8;
}

.socials{
  display:flex;
  gap:10px;
  margin-top:27px;
}

.soc{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(241,237,228,.15);
  border-radius:50%;
  background:rgba(241,237,228,.025);
  color:var(--cream);
  transition:
    color .25s var(--ease),
    background .25s var(--ease),
    border-color .25s var(--ease),
    transform .3s var(--out),
    box-shadow .3s var(--ease);
}

.soc:hover{
  color:#fff;
  background:var(--red);
  border-color:var(--red);
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(224,35,21,.22);
}

.soc svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

.foot-col h4,
.foot-contact-label{
  display:block;
  margin-bottom:22px;
  color:var(--red);
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.3em;
  text-transform:uppercase;
}

.foot-col ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:15px;
}

.foot-col a{
  position:relative;
  display:inline-flex;
  align-items:center;
  color:var(--text-soft);
  font-size:14px;
  transition:
    color .22s ease,
    transform .25s var(--out);
}

.foot-col a::before{
  content:"";
  width:0;
  height:1px;
  margin-right:0;
  background:var(--red);
  transition:
    width .25s var(--out),
    margin-right .25s var(--out);
}

.foot-col a:hover{
  color:var(--cream);
  transform:translateX(2px);
}

.foot-col a:hover::before{
  width:14px;
  margin-right:9px;
}

.foot-contact{
  padding-left:clamp(0px,3vw,42px);
  border-left:1px solid var(--line);
}

.foot-contact h3{
  margin-bottom:16px;
  font-family:'Anton',sans-serif;
  font-size:clamp(25px,2.5vw,35px);
  line-height:1.04;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--cream);
}

.foot-contact h3 em{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:400;
  text-transform:lowercase;
  color:var(--red);
}

.foot-contact p{
  max-width:390px;
  color:var(--text-soft);
  font-size:13px;
  font-weight:300;
  line-height:1.7;
}

.foot-wa{
  width:fit-content;
  margin-top:24px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:13px 17px;
  border:1px solid rgba(241,237,228,.15);
  border-radius:999px;
  background:rgba(241,237,228,.035);
  color:var(--cream);
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  transition:
    background .25s var(--ease),
    border-color .25s var(--ease),
    transform .3s var(--out),
    box-shadow .3s var(--ease);
}

.foot-wa svg{
  width:18px;
  height:18px;
  flex:none;
  fill:currentColor;
}

.foot-wa .i-arrow-out{
  margin-left:3px;
  width:11px;
  height:11px;
  flex:none;
  transition:transform .3s var(--out);
}

.foot-wa:hover{
  background:#25d366;
  border-color:#25d366;
  color:#07150c;
  transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(37,211,102,.15);
}

.foot-wa:hover .i-arrow-out{
  transform:translate(2px,-2px);
}

.foot-bottom{
  position:relative;
  z-index:2;
  max-width:var(--container);
  margin:0 auto;
  padding-top:28px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 28px;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.15em;
  text-transform:uppercase;
}

/* ================================================================
   CART DRAWER
   ================================================================ */
.drawer-bg{
  position:fixed;
  inset:0;
  z-index:200;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  transition:
    opacity .35s var(--ease),
    visibility 0s linear .35s;
}

.drawer-bg.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:
    opacity .35s var(--ease),
    visibility 0s linear 0s;
}

.drawer{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:201;
  width:min(460px,100%);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-left:1px solid rgba(241,237,228,.11);
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(224,35,21,.12),
      transparent 33%
    ),
    #0a0a0a;
  box-shadow:-38px 0 90px rgba(0,0,0,.42);
  transform:translateX(100%);
  transition:transform .48s var(--ease);
}

.drawer.open{
  transform:translateX(0);
}

.drawer-head{
  min-height:103px;
  padding:
    max(24px,env(safe-area-inset-top))
    26px
    22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
  background:rgba(10,10,10,.76);
}

.drawer-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:.27em;
  text-transform:uppercase;
}

.drawer-head h3{
  font-family:'Anton',sans-serif;
  font-size:25px;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.drawer-head h3 em{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:400;
  color:var(--red);
  text-transform:lowercase;
}

.drawer-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(241,237,228,.1);
  border-radius:50%;
  background:rgba(241,237,228,.045);
  color:var(--cream);
  transition:
    background .25s var(--ease),
    border-color .25s var(--ease),
    transform .35s var(--out);
}

.drawer-close:hover{
  background:var(--red);
  border-color:var(--red);
  transform:rotate(90deg);
}

.drawer-close .material-icons{
  font-size:19px;
}

.drawer-items{
  flex:1;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px 26px 25px;
  scrollbar-width:thin;
  scrollbar-color:rgba(241,237,228,.16) transparent;
}

.drawer-items::-webkit-scrollbar{
  width:5px;
}

.drawer-items::-webkit-scrollbar-track{
  background:transparent;
}

.drawer-items::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(241,237,228,.16);
}

.empty{
  min-height:100%;
  padding:75px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--muted);
}

.empty .material-icons{
  margin-bottom:18px;
  font-size:58px;
  opacity:.26;
}

.empty p{
  font-size:13px;
  line-height:1.6;
}

.empty p em{
  font-family:'Fraunces',serif;
  font-style:italic;
  color:var(--text-soft);
}

.d-item{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:19px 0;
  border-bottom:1px solid var(--line);
}

.d-item img{
  width:76px;
  height:94px;
  display:block;
  object-fit:cover;
  border-radius:6px;
  background:#1b1b1b;
}

.d-name{
  margin-bottom:5px;
  color:var(--cream);
  font-size:14px;
  font-weight:500;
  line-height:1.35;
}

.d-meta{
  margin-bottom:7px;
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.d-price{
  color:var(--red);
  font-family:'Fraunces',serif;
  font-size:14px;
  font-weight:600;
}

.qty{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:9px;
}

.qty button{
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(241,237,228,.08);
  border-radius:50%;
  background:#191919;
  color:var(--cream);
  font-size:14px;
  transition:
    background .2s,
    border-color .2s;
}

.qty button:hover{
  background:var(--red);
  border-color:var(--red);
}

/* Botón "Quitar" — vive dentro de .qty, así que hay que ganarle a la
   regla `.qty button` (que lo metía en un círculo de 26px y se veía
   roto). Selector .qty .d-remove para tener más especificidad.
   Diseño: píldora fantasma discreta que se pinta de rojo al hover. */
.qty .d-remove{
  width:auto;
  height:26px;
  margin-left:auto;          /* se pega al borde derecho de la fila */
  padding:0 13px;
  border:1px solid rgba(241,237,228,.14);
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-size:9.5px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .2s,border-color .2s,background .2s;
}

.qty .d-remove:hover{
  background:rgba(224,35,21,.14);
  border-color:var(--red);
  color:var(--red);
}

.drawer-foot{
  position:relative;
  padding:22px 26px max(24px,env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  background:
    linear-gradient(
      180deg,
      rgba(13,13,13,.96),
      #080808
    );
  box-shadow:0 -20px 50px rgba(0,0,0,.26);
}

.drawer-summary{
  margin-bottom:20px;
}

.total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:11px;
  color:var(--text-soft);
  font-size:12px;
  line-height:1.4;
  letter-spacing:.04em;
}

.total-row.big{
  margin:17px 0 0;
  padding-top:17px;
  border-top:1px solid var(--line);
  color:var(--cream);
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
}

/* Botón checkout: la misma forma que el .bs-btn del panel CRM
   (píldora Anton skewada con sombra dura y hover que levanta),
   traída a la paleta Intensity: crema + tinta + sombra roja.
   El contenido se des-skewa para que texto e ícono queden rectos. */
.checkout{
  width:calc(100% - 6px);
  min-height:58px;
  margin:0 auto;
  padding:15px 20px;
  display:block;
  border:1.5px solid #000;
  border-radius:999px;
  background:var(--cream);
  color:#0a0a0a;
  box-shadow:3px 3px 0 var(--red);
  transform:skewX(-11deg);
  cursor:pointer;
  transition:
    box-shadow .16s var(--ease),
    transform .16s var(--ease);
}

.checkout-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  transform:skewX(11deg);
  font-family:'Anton',sans-serif;
  font-size:15px;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1;
}

.checkout-wa{
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:var(--red);
  transition:transform .3s var(--out);
}

.checkout:hover{
  box-shadow:6px 6px 0 var(--red);
  transform:skewX(-11deg) translate(-2px,-2px);
}

.checkout:hover .checkout-wa{
  transform:scale(1.12);
}

.checkout:active{
  box-shadow:1px 1px 0 var(--red);
  transform:skewX(-11deg) translate(1px,1px);
}

.checkout:focus-visible{
  outline:2px solid var(--red);
  outline-offset:4px;
}

.checkout-note{
  max-width:340px;
  margin:12px auto 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
  letter-spacing:.02em;
  text-align:center;
}

@media (max-width:880px){
  .foot-mega{
    margin-bottom:62px;
    white-space:normal;
  }

  .foot-grid{
    grid-template-columns:1fr 1fr;
    gap:48px 36px;
  }

  .foot-contact{
    grid-column:1 / -1;
    padding:36px 0 0;
    border-top:1px solid var(--line);
    border-left:0;
  }
}

@media (max-width:520px){
  footer{
    padding:76px 20px 28px;
  }

  .foot-mega{
    align-items:center;
    flex-direction:column;
    gap:16px;
    margin-bottom:58px;
    font-size:clamp(62px,22vw,100px);
    line-height:.76;
  }

  .foot-mega em{
    bottom:0;
    font-size:.4em;
  }

  .foot-grid{
    grid-template-columns:1fr;
    gap:42px;
    margin-bottom:52px;
  }

  .foot-contact{
    grid-column:auto;
  }

  .foot-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .drawer-head{
    padding-left:20px;
    padding-right:20px;
  }

  .drawer-items{
    padding-left:20px;
    padding-right:20px;
  }

  .drawer-foot{
    padding-left:20px;
    padding-right:20px;
  }

  .d-item{
    grid-template-columns:68px minmax(0,1fr) auto;
    gap:12px;
  }

  .d-item img{
    width:68px;
    height:86px;
  }

  .checkout{
    min-height:54px;
    padding:13px 16px;
  }

  .checkout-inner{
    font-size:13.5px;
    letter-spacing:.11em;
    gap:9px;
  }

  .checkout-wa{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
}

  
  .qty{display:flex;align-items:center;gap:8px;margin-top:8px}
  .qty button{width:24px;height:24px;border-radius:4px;background:#1a1a1a;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s}
  .qty button:hover{background:var(--red)}
  .d-remove{color:var(--muted);font-size:11px;cursor:pointer;letter-spacing:.1em;text-transform:uppercase}
  .d-remove:hover{color:var(--red)}
  .drawer-foot{padding:26px;border-top:1px solid var(--line)}
  .total-row{display:flex;justify-content:space-between;margin-bottom:14px;font-size:13px;color:var(--text-soft);letter-spacing:.05em}
  .total-row.big{font-size:18px;font-weight:600;color:var(--cream);margin-bottom:20px;font-family:'Fraunces',serif}
  .checkout-note{text-align:center;font-size:11px;color:var(--muted);margin-top:12px;line-height:1.5}

  .toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(160%);background:var(--cream);color:#000;padding:14px 26px;border-radius:999px;font-size:13px;font-weight:500;z-index:300;display:flex;align-items:center;gap:10px;box-shadow:0 10px 40px rgba(0,0,0,.5);transition:transform .45s var(--ease),visibility 0s linear .45s;visibility:hidden;pointer-events:none;white-space:nowrap;letter-spacing:.05em}
  .toast.show{transform:translateX(-50%) translateY(0);visibility:visible;transition:transform .45s var(--ease),visibility 0s linear 0s;pointer-events:auto}
  .toast .material-icons{color:var(--red);font-size:18px}

      /* ============ MODAL PRODUCTO — rediseño premium ============ */
    .pm-bg{position:fixed;inset:0;z-index:400;background:rgba(5,5,5,.82);backdrop-filter:blur(18px) saturate(.85);-webkit-backdrop-filter:blur(18px) saturate(.85);opacity:0;pointer-events:none;transition:opacity .4s var(--ease);display:flex;align-items:center;justify-content:center;padding:clamp(0px,3vw,44px);overscroll-behavior:contain}
    
  .pm-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 110%,rgba(224,35,21,.14),transparent 70%);pointer-events:none}
  .pm-bg.open{opacity:1;pointer-events:auto}

  .pm{position:relative;width:min(1080px,100%);max-height:min(780px,92vh);background:#101010;border:1px solid #242424;border-radius:16px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);box-shadow:0 60px 140px rgba(0,0,0,.72),inset 0 1px 0 rgba(241,237,228,.05)}

  .pm-close{position:absolute;top:18px;right:18px;z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(12,12,12,.55);backdrop-filter:blur(6px);border:1px solid rgba(241,237,228,.14);display:flex;align-items:center;justify-content:center;color:var(--cream);transition:background .25s var(--ease),transform .25s var(--ease),border-color .25s}
  .pm-close:hover{background:var(--red);border-color:var(--red);transform:rotate(90deg)}
  .pm-close .material-icons{font-size:20px}

  /* --- Galería / carrusel --- */
  .pm-gallery{position:relative;background:#141414;display:flex;flex-direction:column;min-height:0}
  .pm-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#181818;touch-action:pan-y}
  .pm-slides{position:absolute;inset:0}
  .pm-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s linear .6s}
            .pm-slide img{width:100%;height:100%;object-fit:contain;background:#0e0e0e;transform:scale(1.02);opacity:0;transition:transform 1.4s var(--ease),opacity .45s ease;user-select:none;-webkit-user-drag:none}
  .pm-slide.active img{transform:scale(1)}
  .pm-slide img.loaded{opacity:1}
  
    .pm-slide.active{opacity:1;visibility:visible;transition:opacity .6s var(--ease)}
    

  .pm-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;background:linear-gradient(to top,rgba(8,8,8,.65),transparent);pointer-events:none;z-index:2}
  .pm-ghost{position:absolute;left:18px;bottom:6px;z-index:3;font-family:'Anton',sans-serif;font-size:clamp(44px,5.4vw,74px);line-height:1;text-transform:uppercase;letter-spacing:.01em;color:transparent;-webkit-text-stroke:1px rgba(241,237,228,.22);white-space:nowrap;pointer-events:none;mix-blend-mode:screen}
  .pm-counter{position:absolute;top:18px;left:20px;z-index:3;font-family:'Fraunces',serif;font-style:italic;font-size:13px;letter-spacing:.14em;color:rgba(241,237,228,.75);pointer-events:none}

  .pm-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(12,12,12,.5);backdrop-filter:blur(6px);border:1px solid rgba(241,237,228,.14);color:var(--cream);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s var(--ease),background .25s,border-color .25s,transform .25s var(--ease)}
  .pm-arrow .i-arrow{width:20px;height:9px}
  .pm-arrow.prev{left:16px}
  .pm-arrow.next{right:16px}
  .pm-stage:hover .pm-arrow,.pm-arrow:focus-visible{opacity:1}
  .pm-arrow:hover{background:var(--red);border-color:var(--red)}
  .pm-arrow.prev:hover{transform:translateY(-50%) translateX(-3px)}
  .pm-arrow.next:hover{transform:translateY(-50%) translateX(3px)}

  .pm-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:4;display:none;gap:7px}
  .pm-dot{width:6px;height:6px;border-radius:99px;background:rgba(241,237,228,.35);transition:all .35s var(--ease);padding:0}
  .pm-dot.active{width:20px;background:var(--red)}

  .pm-thumbs{display:flex;gap:10px;padding:14px 16px;overflow-x:auto;background:#0e0e0e;border-top:1px solid #1e1e1e;scrollbar-width:none;flex:none}
  .pm-thumbs::-webkit-scrollbar{display:none}
  .pm-thumbs:empty{display:none}
  .pm-thumb{flex:none;width:56px;height:72px;border-radius:6px;overflow:hidden;padding:0;border:1px solid transparent;opacity:.45;filter:grayscale(.4);transition:opacity .3s var(--ease),border-color .3s,filter .3s;position:relative}
  .pm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .pm-thumb:hover{opacity:.85;filter:none}
  .pm-thumb.active{opacity:1;filter:none;border-color:var(--red)}
  .pm-thumb.active::after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:2px;background:var(--red);border-radius:2px}

  /* --- Columna de info --- */
  .pm-info{position:relative;padding:clamp(36px,4.5vw,54px) clamp(26px,3.6vw,48px) clamp(30px,4vw,44px);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#111 0%,#0d0d0d 100%)}
  .pm-cat-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
  .pm-cat-row::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
  .pm-cat{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);font-weight:600}
  .pm-name{font-family:'Anton',sans-serif;font-size:clamp(30px,3.2vw,42px);text-transform:uppercase;letter-spacing:-.01em;line-height:1.02;margin-bottom:20px;color:var(--cream)}
  .pm-price{display:flex;align-items:center;gap:14px;margin-bottom:8px;flex-wrap:wrap}
  .pm-price .price{font-size:30px}
  .pm-price .price-old{font-size:15px}
  .pm-disc{background:var(--red);color:var(--cream);font-size:10px;font-weight:700;letter-spacing:.12em;padding:5px 11px;border-radius:999px;text-transform:uppercase}
  .pm-divider{height:1px;background:var(--line);margin:22px 0}
  .pm-copy{color:var(--text-soft);line-height:1.75;font-size:14px;font-weight:300}
  .pm-copy:empty{display:none}
  .pm-size-head{display:flex;align-items:baseline;justify-content:space-between;margin:26px 0 12px}
  .pm-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);font-weight:600}
  .pm-size-hint{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--muted);transition:color .3s}
  .pm-size-hint.picked{color:var(--red)}
  
  .pm-sizes{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }

  .pm-sizes .size-pill{
    position:relative;
    display:inline-flex;
    width:48px;
    height:48px;
    min-width:48px;
    padding:0;
    flex:0 0 48px;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(241,237,228,.18);
    border-radius:50%;

    background:transparent;
    color:var(--cream);

    font-family:'Inter',sans-serif;
    font-size:12px;
    font-weight:600;

    transition:
      background .2s var(--ease),
      color .2s var(--ease),
      border-color .2s var(--ease),
      box-shadow .25s var(--ease),
      transform .2s var(--ease);
  }

  .pm-sizes .size-pill:hover{
    border-color:var(--cream);
    background:var(--cream);
    color:#000;
    transform:translateY(-1px);
  }

  .pm-sizes .size-pill.selected{
    border-color:var(--red);
    background:var(--red);
    color:var(--cream);
    box-shadow:0 0 24px var(--red-glow);
    transform:none;
  }

  .pm-sizes .size-pill:focus{
    outline:none;
  }

  .pm-sizes .size-pill:focus-visible{
    border-color:var(--red);
    outline:2px solid var(--cream);
    outline-offset:3px;
  }
  
  .pm-add{margin-top:30px;width:100%;background:var(--red);color:var(--cream);padding:19px;border-radius:999px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;transition:background .3s var(--ease),color .3s var(--ease),transform .2s var(--ease),box-shadow .3s}
  .pm-add .material-icons{font-size:17px}
  .pm-add::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-20deg);transition:left .6s var(--ease)}
  .pm-add:hover{background:var(--cream);color:#000;transform:translateY(-2px);box-shadow:0 14px 40px rgba(224,35,21,.25)}
  .pm-add:hover::after{left:130%}
  .pm-add:active{transform:translateY(0)}

    @media (max-width:768px){
    .pm-bg{padding:14px;align-items:center}
    .pm{grid-template-columns:1fr;width:100%;max-height:90vh;max-height:90dvh;height:auto;border-radius:14px;border:1px solid #242424;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:block}
    .pm-gallery{flex:none}
    .pm-stage{aspect-ratio:1/1;flex:none}
    .pm-arrow{display:none}
    .pm-dots{display:flex}
    .pm-thumbs{padding:12px 14px}
    .pm-ghost{display:block;font-size:38px;left:14px;bottom:10px}
    .pm-counter{font-size:12px}
    .pm-info{overflow:visible;padding:26px 22px calc(30px + env(safe-area-inset-bottom))}
    .pm-name{font-size:26px}
    .pm-price .price{font-size:26px}
    .pm-close{top:12px;right:12px;background:rgba(12,12,12,.72)}
  }
  @media (max-width:768px) and (max-height:680px){
    .pm-stage{aspect-ratio:4/3}
  }



  @media (max-width:880px){
    .nav-links{display:none}
    .burger{display:flex}
    .cart-btn span:not(.count){display:none}
    nav.top{padding:16px 20px}
    section{padding:90px 20px}
    .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
    .manifest{padding:120px 20px}
    .sec-head{margin-bottom:50px;gap:24px}
  }
  @media (max-width:520px){
  .foot-grid{grid-template-columns:1fr}
  .brand-italic{display:none}
}
