:root{
  --brand:#195e30;
  --brand-dark:#124a26;
  --text:#111;
  --muted:#6b7280;
  --border:#e5e7eb;
}

*{ margin:0; padding:0; box-sizing:border-box; }

body{
  font-family:'Inter', sans-serif;
  background:#fff;
  color:var(--text);
  min-height:100vh;
}

.icon{
  display:inline-block;
  width:1em;
  height:1em;
  vertical-align:-0.125em;
  flex-shrink:0;
}

.icon svg{
  display:block;
  width:100%;
  height:100%;
}

/* Fondo sutil (tamaños relativos al viewport en pantallas grandes) */
.bg-soft{
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 450px at 18% 30%, rgba(25,94,48,.08), transparent 55%),
    radial-gradient(700px 380px at 78% 25%, rgba(0,0,0,.05), transparent 60%),
    radial-gradient(900px 500px at 60% 85%, rgba(25,94,48,.06), transparent 60%);
  z-index:-1;
}

@media (min-width: 1600px){
  .bg-soft{
    background:
      radial-gradient(min(1100px, 55vw) min(520px, 32vh) at 18% 30%, rgba(25,94,48,.08), transparent 55%),
      radial-gradient(min(880px, 42vw) min(420px, 28vh) at 78% 25%, rgba(0,0,0,.05), transparent 60%),
      radial-gradient(min(1100px, 52vw) min(560px, 34vh) at 60% 85%, rgba(25,94,48,.06), transparent 60%);
  }
}

/* Layout */
.shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  padding:28px clamp(18px, 4vw, 56px);
}

/* Ancho de contenido: un poco más amplio en pantallas muy grandes */
.header,
.main,
.footer{
  max-width:min(1100px, 100%);
}

/* Header: misma rejilla en todas las páginas (logo siempre misma celda; no depende de la altura del bloque derecho) */
.header{
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  column-gap:14px;
  row-gap:0;

  padding-top:8px;
  padding-bottom:8px;
}

.header-brand{
  display:flex;
  align-items:flex-start;
  min-width:0;
}

.logo{
  flex-shrink:0;
}

.logo img{
  height:43px; /* <- tu tamaño */
  width:auto;
  display:block;
}

/* Mismo encuadre: logo como enlace (a.logo) o div.logo > a — evita desplazamiento por línea inline */
a.logo,
.logo > a{
  display:block;
  line-height:0;
  text-decoration:none;
  border-bottom:0;
  color:inherit;
}

a.logo:hover img,
.logo > a:hover img{
  opacity:.92;
}

.top-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Botón WhatsApp superior */
.wa-top{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  text-decoration:none;
  font-size:14px;
  color:var(--text);
  transition:all .2s ease;
  background:#fff;
}

.wa-top .icon{
  font-size:18px;
  color:var(--brand);
}

.wa-top:hover{
  border-color:rgba(25,94,48,.45);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transform:translateY(-1px);
}

/* Main */
.main{
  width:100%;
  margin:0 auto;
  flex:1;
  display:grid;
  align-items:center;
  padding:42px 0 18px;
}

/* Hero (base) */
.hero{
  display:grid;
  gap:18px;
  text-align:left;
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.kicker .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 0 6px rgba(25,94,48,.08);
}

h1{
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.05;
  letter-spacing:-0.02em;
  font-weight:800;
}

h1 .brand{
  color:var(--brand);
}

.sub{
  font-size:clamp(16px, 1.35vw, 18px);
  line-height:1.6;
  color:#374151;
  max-width:52ch;
}

.rule{
  width:84px;
  height:2px;
  background:var(--brand);
  border-radius:999px;
  opacity:.95;
  margin-top:6px;
}

.ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:10px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:14px 18px;
  border-radius:14px;
  text-decoration:none;
  font-weight:600;
  transition:all .25s ease;
  border:1px solid transparent;
}

.btn-primary{
  background:var(--brand);
  color:#fff;
  box-shadow:0 14px 34px rgba(25,94,48,.22);
}

.btn-primary .icon{
  font-size:18px;
  color:#fff;
}

.btn-ghost .icon{
  font-size:18px;
  color:var(--brand);
}

.btn-primary:hover{
  background:var(--brand-dark);
  transform:translateY(-1px);
  box-shadow:0 18px 44px rgba(25,94,48,.24);
}

.btn-ghost{
  background:#fff;
  color:var(--text);
  border-color:var(--border);
}

.btn-ghost:hover{
  border-color:rgba(25,94,48,.35);
  transform:translateY(-1px);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.badge{
  font-size:13px;
  color:#374151;
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
}

/* Footer */
.footer{
  width:100%;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:18px 0 0;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:12px;
}

.footer a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid transparent;
}

.footer a:hover{
  color:var(--brand);
  border-bottom-color:rgba(25,94,48,.35);
}

.footer-links{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}

.coming{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--brand);
  background:rgba(25,94,48,.06);
  border:1px solid rgba(25,94,48,.18);
  padding:6px 10px;
  border-radius:8px;
  margin-top:8px;
}

/* =========================================
   HERO SPLIT (texto + imagen) — AJUSTADO
   ========================================= */

.hero-split{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items:center;
  gap:48px;
}

.hero-text{
  display:grid;
  gap:18px;
  max-width:640px;
}

.hero-text h1{
  font-size:clamp(32px, 3.3vw, 50px);
  line-height:1.06;
}

.hero-text .sub{
  max-width:44ch;
}

/* Home: subtítulo + CTA orientados a pedido; pills un poco más separadas del bloque superior */
.home-hero .hero-text .sub{
  max-width:48ch;
}
.home-hero .home-hero__envio-hint{
  margin:0;
  font-size:13px;
  line-height:1.45;
  max-width:48ch;
}
.home-hero .badges{
  margin-top:14px;
}
@media (max-width:640px){
  .home-hero .badges{
    margin-top:18px;
  }
}

/* Home: más aire entre CTAs cuando hay dos controles (Lighthouse: separación de touch targets) */
.home-hero .ctas{
  gap:14px;
}

.hero-image{
  position:relative;
}

.hero-image:before{
  content:"";
  position:absolute;
  inset:-14px -14px -14px 18px;
  border-radius:30px;
  background: radial-gradient(500px 260px at 10% 50%, rgba(25,94,48,.10), transparent 70%);
  z-index:-1;
}

.hero-image img{
  display:block;
  width:100%;
  /* Escala en pantallas altas/anchas; en móvil lo fija el media query */
  height:clamp(360px, min(52vh, 30vw), 580px);
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}

/* Responsive: 2 columnas hasta 900px y después stack */
@media (max-width:900px){
  .hero-split{
    grid-template-columns:1fr;
    gap:28px;
  }

  .hero-image{
    order:-1; /* imagen arriba */
  }

  .hero-image img{
    height:260px;
    border-radius:22px;
  }
}

/* Header derecho (p. ej. página de error estática legacy) */
.header-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  justify-self:stretch;
  min-width:0;
}

/* =========================
   MOBILE (≤640px) — UNIFICADO
   ========================= */
@media (max-width:640px){

  .shell{
    padding:20px 16px;
  }

  .header{
    align-items:start;
  }

  .logo img{
    height:36px;
  }

  .main{
    align-items:flex-start;
    padding:22px 0 16px;
  }

  .hero{
    gap:20px;
  }

  .kicker{
    font-size:12px;
    letter-spacing:.10em;
    margin-bottom:4px;
  }

  h1{
    font-size:32px;
    line-height:1.08;
    margin-bottom:4px;
  }

  .rule{
    width:60px;
    margin:6px 0 8px;
  }

  .sub{
    font-size:15px;
    line-height:1.6;
    max-width:34ch;
  }

  .ctas{
    flex-direction:column;
    align-items:stretch;
    margin-top:14px;
    gap:12px;
  }

  .btn{
    width:100%;
    justify-content:center;
    padding:16px;
    border-radius:14px;
  }

  .btn-primary .icon{
    font-size:19px;
  }

  .badges{
    margin-top:18px;
    gap:10px;
  }

  .badge{
    font-size:12px;
    padding:8px 12px;
  }

  .footer{
    flex-direction:column;
    align-items:flex-start;
    padding-top:18px;
    gap:10px;
  }

  .footer > div:last-child{
    width:100%;
    gap:10px;
  }

  .wa-top span.txt{ display:none; }
}

/* =========================
   TABLET (641px - 1024px)
   ========================= */
@media (min-width:641px) and (max-width:1024px){

  .shell{
    padding:32px 28px;
  }

  .main{
    padding:60px 0 30px;
  }

  .hero{
    gap:26px;
  }

  h1{
    font-size:46px;
    line-height:1.07;
  }

  .sub{
    font-size:17px;
    max-width:46ch;
  }

  .btn{
    padding:15px 22px;
  }

  .badges{
    gap:12px;
  }
}
/* =========================
   Reveal on scroll (progressive enhancement: .js-reveal en <html> vía <head>)
   ========================= */
.reveal{
  opacity: 1;
  transform: none;
}

.js-reveal .reveal{
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .65s cubic-bezier(.2,.7,.2,1),
    transform .65s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
  transition-delay: var(--d, 0ms);
}

.js-reveal .reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce){
  .reveal,
  .js-reveal .reveal,
  .js-reveal .reveal.is-visible{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================
   PRO TOUCH: CTA shimmer
   ========================= */
.btn.btn-primary{
  position: relative;
  overflow: hidden;
}

.btn.btn-primary:after{
  content:"";
  position:absolute;
  top:-40%;
  left:0;
  width:42%;
  height:180%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  transform: translate3d(-100%, 0, 0) rotate(20deg);
  opacity: 0;
  animation: shine 7.5s ease-in-out infinite;
  pointer-events:none;
}

@keyframes shine{
  0%,72% { transform: translate3d(-100%, 0, 0) rotate(20deg); opacity:0; }
  76%    { transform: translate3d(40%, 0, 0) rotate(20deg); opacity:1; }
  100%   { transform: translate3d(280%, 0, 0) rotate(20deg); opacity:0; }
}

@media (prefers-reduced-motion: reduce){
  .btn.btn-primary:after{ animation: none; display:none; }
}

/* Pantallas grandes / 4K: más aire útil sin perder legibilidad */
@media (min-width: 1400px){
  .header,
  .main,
  .footer{
    max-width:min(1440px, 100%);
  }

  /* El hero queda bajo el header; sin centrar verticalmente en el viewport */
  .main{
    align-items:start;
    align-content:start;
    padding-top:clamp(28px, 4vh, 52px);
    padding-bottom:28px;
  }

  .hero-split{
    grid-template-columns: 1fr 1fr;
    gap:min(64px, 4vw);
  }

  .hero-text{
    max-width:760px;
  }

  .page-inner .hero-split .hero-text{
    max-width:760px;
  }
}

@media (min-width: 1800px){
  .header,
  .main,
  .footer{
    max-width:min(1640px, 100%);
  }

  .hero-split{
    gap:min(84px, 5vw);
  }

  .hero-image img{
    height:clamp(420px, min(58vh, 33vw), 680px);
  }

  .hero-text h1{
    font-size:clamp(34px, 2.8vw, 64px);
  }
}

@media (min-width: 2400px){
  .header,
  .main,
  .footer{
    max-width:min(1840px, 100%);
  }

  .hero-split{
    gap:min(110px, 5.5vw);
  }

  .hero-text{
    max-width:860px;
  }

  .page-inner .hero-split .hero-text{
    max-width:860px;
  }
}

/* =========================
   Página: material / descargas (prefijos .downloads-*, .download-*)
   ========================= */

.main.downloads-main{
  display:block;
  align-items:stretch;
  padding:42px 0 18px;
}

@media (min-width:641px) and (max-width:1024px){
  .main.downloads-main{
    padding:60px 0 30px;
  }
}

@media (min-width:1400px){
  .main.downloads-main{
    padding-top:clamp(28px, 4vh, 52px);
    padding-bottom:28px;
  }
}

.downloads-page{
  width:100%;
  max-width:100%;
}

.downloads-page__intro{
  margin-bottom:36px;
}

/* El intro reutiliza .hero-text del home (columna angosta); acá el ancho debe alinear con la grilla. */
.downloads-page__intro.hero-text{
  max-width:none;
  width:100%;
}

.downloads-page__intro.hero-text .sub{
  max-width:min(40ch, 100%);
}

.downloads-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

@media (min-width:901px){
  .downloads-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:24px;
  }
}

@media (max-width:900px) and (min-width:641px){
  .downloads-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }
}

.download-product-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.05);
  transition:border-color .2s ease, box-shadow .2s ease;
}

.download-product-card:hover{
  border-color:rgba(25,94,48,.22);
  box-shadow:0 16px 44px rgba(0,0,0,.07);
}

.download-product-card__media{
  aspect-ratio:16 / 11;
  overflow:hidden;
  background:#e8eee9;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.download-product-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.download-product-card__body{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px 18px 18px;
  flex:1;
}

.download-product-card__name{
  font-size:1.125rem;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--text);
  line-height:1.25;
}

.download-product-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:stretch;
  margin-top:auto;
  padding-top:0;
  border-top:none;
}

.download-product-card__actions .download-product-card__btn{
  flex:1 1 calc(50% - 4px);
  min-width:0;
  justify-content:center;
  text-align:center;
}

.download-product-card__btn{
  padding:10px 14px;
  font-size:13px;
  border-radius:12px;
  gap:8px;
}

.download-product-card__btn.btn-primary .icon{
  font-size:15px;
}

/* Video aún no disponible (misma forma que el botón, sin enlace) */
.download-product-card__btn--pending-video{
  opacity:0.55;
  cursor:default;
  pointer-events:none;
  box-shadow:none;
}

.download-product-card__btn--pending-video.btn-primary:hover{
  background:var(--brand);
  transform:none;
  box-shadow:none;
}

.downloads-page .download-product-card__btn--pending-video.btn-primary:after{
  display:none;
}

/* Reveal: escalonado solo dentro de esta página */
.downloads-page .downloads-page__intro.reveal{ --d: 0ms; }
.downloads-page .download-product-card:nth-child(1).reveal{ --d: 40ms; }
.downloads-page .download-product-card:nth-child(2).reveal{ --d: 80ms; }
.downloads-page .download-product-card:nth-child(3).reveal{ --d: 120ms; }
.downloads-page .download-product-card:nth-child(4).reveal{ --d: 160ms; }
.downloads-page .download-product-card:nth-child(5).reveal{ --d: 200ms; }

@media (max-width:640px){
  .main.downloads-main{
    padding:22px 0 16px;
  }

  .downloads-page__intro{
    margin-bottom:28px;
  }

  .downloads-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .download-product-card__body{
    padding:16px 16px 18px;
  }

  .downloads-page .download-product-card__actions{
    flex-direction:column;
  }

  .downloads-page .download-product-card__actions .download-product-card__btn{
    width:100%;
    flex:1 1 auto;
    min-width:0;
    justify-content:center;
    padding:12px 12px;
  }
}

/* Texto secundario en 404 (misma columna .sub que el home; solo tono más suave en la línea del temporizador) */
.page-404-redirect{
  font-size:15px;
  color:var(--muted);
}

/* 404: sin imagen; una columna al ancho del .main (hasta max-width del sitio) */
.hero-split.hero-split--404{
  grid-template-columns:1fr;
  width:100%;
}

.hero-split.hero-split--404 .hero-text{
  max-width:none;
  width:100%;
}

.hero-split.hero-split--404 .hero-text .sub{
  max-width:none;
}

/* ========== Site header, navegación y carrito (etapa 2) ========== */
/* Selectores bajo .header.header--site para ganar a .header global y evitar bullets/markers. */

.header.header--site{
  grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;
  grid-template-rows:auto;
  align-items:center;
  align-content:start;
  position:relative;
  column-gap:clamp(12px, 2.2vw, 24px);
  row-gap:0;
}

.header.header--site .header-brand{
  grid-column:1;
  grid-row:1;
  align-self:center;
}

.header.header--site a.logo.logo--link{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:4px 0;
}

.header.header--site .nav-primary{
  grid-column:2;
  grid-row:1;
  justify-self:stretch;
  align-self:center;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.header.header--site .header-tools{
  grid-column:3;
  grid-row:1;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
  align-self:center;
}

/* Lista principal: sin viñetas ni sangría (role="list" + UA pueden mostrar marker si no se resetea el li) */
.header.header--site .nav-primary__list{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:6px 14px;
  list-style:none;
  list-style-type:none;
  margin:0;
  padding:0;
  padding-inline-start:0;
  width:100%;
  max-width:100%;
}

.header.header--site .nav-primary__item{
  list-style:none;
  list-style-type:none;
  margin:0;
  padding:0;
  display:block;
}

.header.header--site .nav-primary__item::marker{
  content:none;
}

.header.header--site .nav-primary__link{
  display:inline-flex;
  align-items:center;
  padding:12px 14px;
  min-height:48px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:var(--text);
  border:1px solid transparent;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
  box-sizing:border-box;
}

.header.header--site .nav-primary__link:hover{
  background:rgba(25,94,48,.06);
}

.header.header--site .nav-primary__item--active .nav-primary__link{
  color:var(--brand);
  background:rgba(25,94,48,.08);
  border-color:rgba(25,94,48,.18);
}

.header.header--site .nav-primary__link:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}

.header.header--site .cart-link{
  position:relative;
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:12px;
  border:1px solid rgba(25,94,48,.45);
  color:var(--brand);
  background:#fff;
  text-decoration:none;
  -webkit-tap-highlight-color:rgba(25,94,48,.2);
  transition:border-color .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease;
}

.header.header--site .cart-link:visited{
  color:var(--brand);
}

.header.header--site .cart-link:hover{
  border-color:var(--brand);
  color:var(--brand-dark);
  background:rgba(25,94,48,.06);
  box-shadow:0 8px 22px rgba(25,94,48,.12);
}

.header.header--site .cart-link:hover:visited{
  color:var(--brand-dark);
}

.header.header--site .cart-link[aria-current="page"]{
  border-color:var(--brand);
  color:var(--brand-dark);
  background:rgba(25,94,48,.08);
  box-shadow:0 0 0 1px rgba(25,94,48,.15);
}

.header.header--site .cart-link:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}

.header.header--site .cart-link__icon svg{
  display:block;
  width:22px;
  height:22px;
  color:var(--brand);
}

.header.header--site .cart-link__icon svg path{
  stroke:var(--brand);
}

.header.header--site .cart-link:hover .cart-link__icon svg path{
  stroke:var(--brand-dark);
}

.header.header--site .cart-link[aria-current="page"] .cart-link__icon svg path{
  stroke:var(--brand-dark);
}

.header.header--site .cart-link__badge{
  position:absolute;
  top:5px;
  right:5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:18px;
  text-align:center;
}

.header.header--site .nav-toggle{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:12px;
  border:1px solid rgba(25,94,48,.45);
  background:#fff;
  color:var(--brand);
  cursor:pointer;
  font:inherit;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:rgba(25,94,48,.2);
  transition:border-color .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease;
}

.header.header--site .nav-toggle:hover{
  border-color:var(--brand);
  color:var(--brand-dark);
  background:rgba(25,94,48,.06);
}

.header.header--site .nav-toggle:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}

.header.header--site .nav-toggle__bars{
  display:block;
  width:18px;
  height:1.5px;
  background:currentColor;
  border-radius:1px;
  opacity:1;
  box-shadow:0 6px 0 currentColor, 0 -6px 0 currentColor;
}

@media (min-width:901px){
  .header.header--site .nav-toggle{
    display:none !important;
  }

  .header.header--site .nav-primary{
    position:static;
    max-height:none !important;
    min-height:0;
    opacity:1 !important;
    overflow:visible !important;
    visibility:visible !important;
    pointer-events:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}

@media (max-width:900px){
  .header.header--site{
    grid-template-columns:1fr auto auto;
    grid-template-rows:auto auto;
    align-items:center;
  }

  .header.header--site .header-brand{
    grid-column:1;
    grid-row:1;
    min-width:0;
  }

  .header.header--site .header-tools{
    grid-column:2 / 4;
    grid-row:1;
  }

  .header.header--site .nav-primary{
    grid-column:1 / -1;
    grid-row:2;
    justify-self:stretch;
    align-self:stretch;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    margin-top:0;
    padding:0;
    border:none;
    border-radius:14px;
    background:transparent;
    box-shadow:none;
    max-height:0;
    min-height:0;
    opacity:0;
    visibility:hidden;
    overflow:hidden;
    pointer-events:none;
    transition:max-height .32s ease, opacity .22s ease, visibility 0s linear .25s;
    z-index:30;
  }

  .header.header--site .nav-primary.is-open{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.98);
    box-shadow:0 14px 36px rgba(0,0,0,.1);
    max-height:min(72vh, 440px);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:max-height .32s ease, opacity .22s ease, visibility 0s linear 0s;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }

  .header.header--site .nav-primary__list{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:8px;
    width:100%;
  }

  .header.header--site .nav-primary__link{
    width:100%;
    justify-content:flex-start;
  }

  body.nav-open{
    overflow:hidden;
  }
}

/* El bloque mobile global usa .header { align-items:start } y desalineaba logo + herramientas */
@media (max-width:640px){
  .header.header--site{
    align-items:center;
  }
}

/* Páginas internas mínimas */
.main.main--inner{
  display:block;
  align-items:stretch;
  align-content:start;
}

.page-inner .main.main--inner{
  padding-top:28px;
}

.page-block{
  width:100%;
  max-width:min(720px, 100%);
}

/* Ajustes de layout exclusivos para páginas internas de texto (sin afectar home) */
.page-inner h1{
  font-size:clamp(26px, 2.4vw, 36px);
  line-height:1.08;
}

.page-inner .page-block{
  max-width:min(980px, 100%);
}

.page-inner .page-block.page-block--wide{
  max-width:min(1100px, 100%);
}

.page-inner .hero-text{
  max-width:none;
}

/* Hero texto+imagen: misma columna de texto que el home (no el max-width:none de internas) */
.page-inner .hero-split .hero-text{
  max-width:640px;
}

.page-inner .hero-split .hero-text .sub{
  max-width:44ch;
}

/* Nosotros: imagen arriba (~altura del h1), no centrada respecto al texto largo — clase en la section */
@media (min-width:901px){
  .hero-split.hero-split--text-top{
    align-items:start !important;
  }
  .hero-split.hero-split--text-top > .hero-image{
    align-self:start !important;
    margin-top:clamp(1.85rem, 2.9vw, 2.75rem);
  }
}

.page-inner .hero-text .sub{
  max-width:68ch;
}

/* Enlaces en contenido de páginas legales (scope: main + .page-legal; sin header/footer/checkout) */
.page-inner .main.main--inner .page-block.page-legal.hero-text a:not(.btn){
  color:var(--brand);
  text-decoration:none;
}
.page-inner .main.main--inner .page-block.page-legal.hero-text a:not(.btn):visited{
  color:var(--brand);
}
.page-inner .main.main--inner .page-block.page-legal.hero-text a:not(.btn):hover{
  color:var(--brand-dark);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.page-inner .main.main--inner .page-block.page-legal.hero-text a:not(.btn):focus-visible{
  color:var(--brand-dark);
  text-decoration:none;
  outline:2px solid var(--brand);
  outline-offset:2px;
}

.contact-actions{
  margin-top:22px;
  display:flex;
  flex-flow:row wrap;
  align-items:center;
  gap:10px 12px;
  width:100%;
  max-width:100%;
}

.contact-actions__wa{
  flex:0 1 auto;
  text-align:center;
}

.contact-actions .contact-actions__secondary{
  flex:0 1 auto;
  font-size:14px;
  font-weight:600;
  padding:12px 16px;
  border-radius:14px;
}

.contact-section-title{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.contact-section-title .icon{
  font-size:18px;
  color:var(--brand);
}

.contact-locations{
  margin-top:36px;
}

.contact-locations .como-comprar-h2{
  margin-top:0;
}

.contact-locations-grid{
  display:grid;
  grid-template-columns:1fr;
  row-gap:18px;
  margin-top:10px;
}

.contact-location-card{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:18px 18px;
}

.contact-location-card h3{
  font-size:16px;
  line-height:1.3;
  margin:0 0 6px;
  color:var(--text);
}

.contact-location-card p{
  margin:0;
  color:#4b5563;
  line-height:1.55;
  font-size:15px;
}

.muted-soft{
  color:var(--muted);
}

@media (max-width:640px){
  .page-inner .main.main--inner{
    padding-top:18px;
  }
}

/* Catálogo y tienda */
.page-block--wide{
  max-width:min(1100px, 100%);
}

.breadcrumb{
  font-size:14px;
  color:var(--muted);
  margin-bottom:18px;
}
.breadcrumb a{
  color:var(--brand);
  text-decoration:none;
}
.breadcrumb a:hover{ text-decoration:underline; }

.catalog-filters-block{
  margin-top:18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:16px 0 18px;
}
.catalog-filters-block__title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-size:15px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--text);
}
.catalog-filters-block__title::before{
  content:'';
  flex-shrink:0;
  width:3px;
  height:1.05em;
  min-height:13px;
  border-radius:2px;
  background:linear-gradient(180deg, rgba(25,94,48,.75), rgba(25,94,48,.35));
}
.catalog-category-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.catalog-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:34px;
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:#374151;
  text-decoration:none;
  font-size:13px;
  line-height:1.3;
  font-weight:600;
  transition:border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  overflow-wrap:anywhere;
}
.catalog-chip:hover{
  border-color:rgba(25,94,48,.35);
  color:var(--brand);
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.catalog-chip--active{
  border-color:rgba(25,94,48,.42);
  background:rgba(25,94,48,.11);
  color:var(--brand-dark);
  font-weight:700;
  box-shadow:0 0 0 1px rgba(25,94,48,.14);
}
.catalog-subcategorias{
  margin-top:22px;
  max-width:100%;
}
.catalog-subcategorias__label{
  margin:0 0 10px;
  font-size:12px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:.05em;
  color:var(--muted);
}
.catalog-subchips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-width:100%;
  min-width:0;
}
.catalog-subchip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:#6b7280;
  text-decoration:none;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
  overflow-wrap:anywhere;
}
.catalog-subchip:hover{
  border-color:rgba(25,94,48,.22);
  color:var(--brand);
  background:#fff;
}
.catalog-subchip--active{
  border-color:rgba(25,94,48,.22);
  background:rgba(25,94,48,.05);
  color:var(--brand);
  font-weight:500;
}
@media (max-width:640px){
  .catalog-filters-block{
    margin-top:14px;
    padding:14px 0 16px;
  }
  .catalog-filters-block__title{
    font-size:14px;
    letter-spacing:.025em;
  }
  .catalog-category-chips{
    gap:8px 6px;
    margin-top:13px;
  }
  .catalog-chip{
    min-height:32px;
    padding:7px 11px;
    font-size:12px;
  }
  .catalog-subcategorias{
    margin-top:18px;
  }
  .catalog-subcategorias__label{
    margin-bottom:8px;
    font-size:11px;
    letter-spacing:.055em;
  }
  .catalog-subchips{
    gap:6px 5px;
  }
  .catalog-subchip{
    min-height:28px;
    padding:5px 9px;
    font-size:11px;
  }
}

.product-grid{
  list-style:none;
  margin:28px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:22px;
  max-width:min(1100px, 100%);
}

.product-card{
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  transition:box-shadow .2s ease, transform .2s ease;
}
.product-card:hover{
  box-shadow:0 12px 36px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.product-card--featured{
  border-color:rgba(25,94,48,.35);
  box-shadow:0 0 0 1px rgba(25,94,48,.12);
}
.product-card__link{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:inherit;
  padding:0;
}
.product-card__media{
  aspect-ratio:1;
  background:linear-gradient(145deg, #f3f4f6, #e5e7eb);
  flex-shrink:0;
}
.product-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:14px 16px 16px;
  background:linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
  border-top:1px solid rgba(229,231,235,.85);
}
.product-card__title{
  font-size:17px;
  font-weight:700;
  margin:0 0 6px;
  line-height:1.3;
}
.product-card__excerpt{
  font-size:14px;
  color:#4b5563;
  margin:0 0 8px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.product-card__meta{
  font-size:13px;
  color:var(--muted);
  margin:0;
}
.product-card__price{
  font-size:18px;
  font-weight:700;
  color:var(--brand);
  margin:10px 0 0;
}
.product-card--out-of-stock .product-card__price{
  color:#6b7280;
}
.product-card--out-of-stock .product-card__media img{
  opacity:.9;
  filter:saturate(.9);
}
.product-card__stock-badge{
  display:inline-block;
  margin:10px 0 0;
  padding:5px 11px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#92400e;
  background:#fffbeb;
  border:1px solid rgba(180,83,9,.28);
  border-radius:8px;
  align-self:flex-start;
}
.product-content-info{
  font-size:12px;
  line-height:1.4;
  font-weight:400;
  color:#8b95a7;
  margin:6px 0 0;
}

/* Catálogo: mensaje sin resultados (más sutil y respirado) */
.catalog-empty{
  margin-top:20px;
  padding-top:12px;
  padding-bottom:20px;
  max-width:min(640px, 100%);
}
.catalog-empty__text{
  font-size:15px;
  line-height:1.55;
  font-weight:400;
  margin:0;
}
.catalog-empty__actions{
  margin:16px 0 0;
}

.product-detail__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start;
}
@media (max-width:720px){
  .product-detail__grid{ grid-template-columns:1fr; }
}
.product-detail__media{
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(145deg, #f3f4f6, #e5e7eb);
}
.product-detail__img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1;
  object-fit:cover;
}
.product-detail__placeholder{
  aspect-ratio:1;
  min-height:240px;
}
/* Columna derecha ficha producto: ritmo vertical más aireado */
.product-detail__info > .kicker{
  margin-bottom:12px;
}
.product-detail__info > h1{
  margin:0 0 14px;
}
.product-detail__info > .rule{
  margin:0 0 16px;
}
.product-detail__info > .product-meta{
  margin:0 0 14px;
}
.product-detail__info > .sub:not(.muted-soft){
  margin:0 0 20px;
}
.product-detail__info > .product-price{
  margin:6px 0 0;
}
.product-meta{
  font-size:15px;
  color:var(--muted);
  margin:8px 0 0;
}
.product-price{
  font-size:28px;
  font-weight:800;
  color:var(--brand);
  margin:16px 0 0;
}
.product-add-form{
  display:flex;
  flex-wrap:wrap;
  gap:12px 16px;
  align-items:flex-end;
  margin-top:24px;
}

.product-stock-notice{
  margin:18px 0 0;
  padding:14px 16px 16px;
  border-radius:12px;
  border:1px solid rgba(180,83,9,.3);
  background:linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}
.product-stock-notice__title{
  margin:0 0 8px;
  font-size:16px;
  font-weight:700;
  line-height:1.3;
  color:#78350f;
}
.product-stock-notice__hint{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#92400e;
}
.qty-label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:14px;
  color:var(--muted);
}
.qty-label input{
  width:88px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  font-size:16px;
}
.product-detail__long{
  margin-top:36px;
  padding-top:28px;
  border-top:1px solid var(--border);
}
/* Ficha producto: PDF / video en columna derecha (auxiliar, compacto) */
.product-resources--sidebar{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--border);
}
.product-resources--sidebar .product-resources__box{
  max-width:100%;
  margin:0;
  padding:10px 12px 12px;
  background:#f9fafb;
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:none;
}
.product-resources--sidebar .product-resources__title{
  font-size:0.9375rem;
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.3;
  margin:0 0 6px;
  color:#374151;
  text-wrap:balance;
}
.product-resources--sidebar .product-resources__intro{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.45;
  color:#4b5563;
  max-width:none;
}
.product-resources--sidebar .product-resources__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.product-resources--sidebar .product-resources__item{
  margin:0;
  min-width:0;
}
.product-resources--sidebar .product-resources__btn{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  min-height:44px;
  padding:10px 12px;
  border-radius:10px;
  text-align:left;
  font-weight:600;
}
.product-resources--sidebar .product-resources__btn-title{
  font-size:14px;
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.25;
  color:var(--text);
}
.product-resources--sidebar .product-resources__btn-meta{
  font-size:12px;
  line-height:1.35;
  font-weight:400;
  max-width:100%;
  color:#5c6370;
}
.product-resources__btn:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}
.product-resources__btn.btn-primary:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
  box-shadow:0 0 0 3px var(--brand-dark);
}

.btn--small{
  padding:8px 14px;
  font-size:14px;
  border-radius:10px;
}

.related-section{
  margin-top:40px;
  padding-top:32px;
  border-top:1px solid var(--border);
}
.related-section--product{
  max-width:100%;
}
.related-section__title{
  font-size:clamp(20px, 2.2vw, 24px);
  font-weight:700;
  letter-spacing:-0.02em;
  margin:0 0 18px;
  color:var(--text);
}
.related-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:20px;
}
.related-grid--compact{
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:14px;
}
.related-card{
  display:flex;
  flex-direction:column;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.related-card--compact{
  flex-direction:row;
  align-items:stretch;
}
.related-card__media{
  flex-shrink:0;
  background:linear-gradient(145deg, #f3f4f6, #e5e7eb);
}
.related-card--compact .related-card__media{
  width:88px;
  min-height:88px;
}
.related-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:1;
  display:block;
}
.related-card--compact .related-card__media img{
  aspect-ratio:auto;
  min-height:88px;
}
.related-card__body{
  padding:12px 14px 14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  min-width:0;
}
.related-card--compact .related-card__body{
  padding:10px 12px;
}
.related-card__title{
  font-size:15px;
  font-weight:600;
  line-height:1.35;
  margin:0;
}
.related-card__title a{
  color:inherit;
  text-decoration:none;
}
.related-card__title a:hover{
  color:var(--brand);
}
.related-card__meta{
  font-size:12px;
  color:var(--muted);
  margin:0;
}
.related-card__price{
  font-size:16px;
  font-weight:700;
  color:var(--brand);
  margin:4px 0 0;
}
.related-card__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
  width:100%;
}
.related-card__actions > a.btn{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  justify-content:center;
}
.related-card__add{
  margin:0;
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.related-card__add .btn{
  width:100%;
  justify-content:center;
}
.related-card__sin-stock{
  font-size:13px;
}

.cart-upsell{
  margin-top:32px;
  padding:20px 18px;
  border-radius:14px;
  border:1px dashed rgba(25,94,48,.25);
  background:rgba(25,94,48,.03);
}
.cart-upsell__kicker{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  margin:0 0 4px;
}
.cart-upsell__title{
  font-size:17px;
  font-weight:700;
  margin:0 0 14px;
  color:var(--text);
}
.cart-upsell .related-grid--compact{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
  align-items:stretch;
  justify-content:start;
}
.cart-upsell .related-card--compact{
  flex-direction:column;
  min-height:100%;
  max-width:320px;
  width:100%;
}
.cart-upsell .related-card--compact .related-card__media{
  width:100%;
  min-height:0;
}
.cart-upsell .related-card--compact .related-card__media img{
  aspect-ratio:1 / 1;
  min-height:0;
}
.cart-upsell .related-card--compact .related-card__body{
  padding:12px 14px 14px;
  gap:8px;
}
.cart-upsell .related-card__title{
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cart-upsell .related-card__price{
  margin-top:2px;
}
.cart-upsell .related-card__actions{
  margin-top:auto;
}
@media (max-width:640px){
  .cart-upsell .related-grid--compact{
    grid-template-columns:1fr;
    gap:14px;
  }
  .cart-upsell .related-card--compact{
    max-width:none;
  }
}

.cart-table-wrap{
  overflow-x:auto;
  margin-top:20px;
}
.cart-table{
  width:100%;
  border-collapse:collapse;
  font-size:15px;
}
.cart-table th,
.cart-table td{
  text-align:left;
  padding:12px 10px;
  border-bottom:1px solid var(--border);
  vertical-align:middle;
}
.cart-table th{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.cart-table td:first-child{
  min-width:200px;
}
.cart-item-product{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.cart-item-product__media{
  flex-shrink:0;
  width:64px;
  height:64px;
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(145deg, #f3f4f6, #e5e7eb);
  border:1px solid rgba(229,231,235,.9);
}
.cart-item-product__thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cart-item-product__placeholder{
  display:block;
  width:100%;
  height:100%;
  min-height:64px;
  background:linear-gradient(145deg, #f3f4f6, #e9ecef);
}
.cart-item-product__body{
  min-width:0;
  flex:1;
}
.cart-item-product__body a{
  font-weight:600;
  text-decoration:none;
  color:inherit;
}
.cart-item-product__body a:hover{
  color:var(--brand);
}
.cart-qty{
  width:72px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:8px;
}
.cart-actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.cart-actions--secondary{
  margin-top:14px;
  padding-top:4px;
  justify-content:flex-start;
}
.cart-summary__checkout .btn-primary{
  min-width:min(100%, 280px);
}
@media (max-width:640px){
  .btn-block-sm{
    width:100%;
    max-width:100%;
  }
}
.btn-ghost--small{
  font-size:13px;
  padding:8px 12px;
  font-weight:500;
}
.cart-clear-form--discrete{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(229,231,235,.7);
}
.cart-clear-form--discrete .btn-ghost--small{
  color:var(--muted);
}
.cart-clear-form--discrete .btn-ghost--small:hover{
  color:var(--text);
}
.cart-notice{
  font-size:15px;
  line-height:1.5;
  margin:0 0 16px;
  padding:14px 16px 14px 18px;
  border-radius:12px;
  border:1px solid var(--border);
  position:relative;
  box-shadow:0 1px 2px rgba(15, 23, 42, 0.06);
}
.cart-notice:last-child{
  margin-bottom:0;
}
.cart-notice--adjust{
  background:linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
  border-color:#f59e0b;
  color:#92400e;
}
.cart-notice--adjust::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:4px;
  background:#f59e0b;
}
.cart-notice--min{
  background:linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  border-color:#34d399;
  color:#14532d;
  font-weight:500;
}
.cart-notice--min::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:4px;
  background:#10b981;
}
.cart-notice--blocked{
  background:linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
  border-color:#fb923c;
  color:#9a3412;
  font-size:15px;
  font-weight:600;
  margin-top:12px;
}
.cart-notice--blocked::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:4px;
  background:#ea580c;
}
.cart-alerts{
  margin:0 0 20px;
  padding:16px 18px;
  border-radius:14px;
  background:#fafbfc;
  border:1px solid rgba(229, 231, 235, 0.95);
  box-shadow:0 4px 18px rgba(15, 23, 42, 0.05);
}
.cart-alerts .cart-notice{
  box-shadow:none;
  margin-bottom:12px;
}
.cart-alerts .cart-notice:last-child{
  margin-bottom:0;
}
.cart-alerts--signal{
  animation:cart-alerts-signal 1.25s ease-out 1;
}
@keyframes cart-alerts-signal{
  0%{ box-shadow:0 4px 18px rgba(15, 23, 42, 0.05); }
  35%{ box-shadow:0 0 0 3px rgba(16, 185, 129, 0.35), 0 8px 28px rgba(15, 23, 42, 0.1); }
  100%{ box-shadow:0 4px 18px rgba(15, 23, 42, 0.05); }
}
@media (prefers-reduced-motion: reduce){
  .cart-alerts--signal{
    animation:none;
  }
}
.cart-summary{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--border);
}
.cart-total{ font-size:20px; margin-bottom:12px; }
.cart-total--coupon .cart-coupon-code-pill{
  display:inline-block;
  margin-left:4px;
  padding:3px 12px;
  border-radius:999px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--brand-dark);
  background:linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  border:1px solid #6ee7b7;
  vertical-align:middle;
}
.cart-total--discount #cart-discount-amount{
  font-weight:700;
  color:var(--brand);
}
.cart-notice--coupon-ok{
  background:linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  border-color:#34d399;
  color:#14532d;
}
.cart-notice--coupon-ok::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:4px;
  background:#10b981;
}
.cart-notice--coupon-error{
  background:linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%);
  border-color:#f87171;
  color:#991b1b;
}
.cart-notice--coupon-error::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:4px;
  background:#ef4444;
}
.cart-notice--coupon-info{
  background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-color:#cbd5e1;
  color:#334155;
}
.cart-notice--coupon-info::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:4px;
  background:#94a3b8;
}
.cart-coupon-block{
  margin:0 0 18px;
  border:1px solid rgba(229, 231, 235, 0.95);
  border-radius:14px;
  background:linear-gradient(180deg, #fafbfc 0%, #fff 100%);
  box-shadow:0 2px 12px rgba(15, 23, 42, 0.04);
  overflow:hidden;
}
.cart-coupon-block > summary{
  list-style:none;
}
.cart-coupon-block > summary::-webkit-details-marker{
  display:none;
}
.cart-coupon-block__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  font-weight:600;
  font-size:15px;
  color:var(--text);
  user-select:none;
}
.cart-coupon-block__summary:focus-visible{
  outline:2px solid rgba(25, 94, 48, 0.45);
  outline-offset:-2px;
}
.cart-coupon-block[open] > .cart-coupon-block__summary{
  border-bottom:1px solid var(--border);
  background:#fff;
}
.cart-coupon-block__summary-text{
  line-height:1.35;
}
.cart-coupon-block__chevron{
  flex-shrink:0;
  width:9px;
  height:9px;
  margin-top:-2px;
  border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);
  transform:rotate(45deg);
  transition:transform .2s ease, margin .2s ease;
}
.cart-coupon-block[open] .cart-coupon-block__chevron{
  margin-top:2px;
  transform:rotate(-135deg);
}
@media (prefers-reduced-motion: reduce){
  .cart-coupon-block__chevron{
    transition:none;
  }
}
.cart-coupon-block__body{
  padding:14px 16px 16px;
}
.cart-coupon-applied{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:12px;
  background:linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  border:1px solid #6ee7b7;
  box-shadow:0 1px 2px rgba(15, 23, 42, 0.04);
}
.cart-coupon-applied__icon{
  flex-shrink:0;
  width:22px;
  height:22px;
  margin-top:1px;
  border-radius:999px;
  background:var(--brand);
  position:relative;
}
.cart-coupon-applied__icon::after{
  content:'';
  position:absolute;
  left:7px;
  top:4px;
  width:5px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.cart-coupon-applied__content{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.cart-coupon-applied__label{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#047857;
}
.cart-coupon-applied__code{
  font-size:17px;
  font-weight:700;
  letter-spacing:.05em;
  color:var(--brand-dark);
  word-break:break-word;
}
.cart-coupon-form{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cart-coupon-form__label{
  display:block;
  margin:0;
}
.cart-coupon-form__label-text{
  font-size:13px;
  font-weight:500;
  color:#374151;
}
.cart-coupon-form__row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:stretch;
}
.cart-coupon-form__input,
.cart-coupon-form input[name="coupon_code"]{
  flex:1 1 160px;
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  font-family:inherit;
  font-size:15px;
  background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.cart-coupon-form__input:focus,
.cart-coupon-form input[name="coupon_code"]:focus{
  outline:none;
  border-color:rgba(25, 94, 48, 0.45);
  box-shadow:0 0 0 3px rgba(25, 94, 48, 0.12);
}
.cart-coupon-form__apply{
  flex:0 0 auto;
  align-self:stretch;
  min-height:44px;
  padding-left:16px;
  padding-right:16px;
  font-weight:600;
}
.cart-coupon-remove-form{
  margin-top:12px;
  color:var(--muted);
  border-color:var(--border);
  font-weight:500;
}
.cart-coupon-remove-form:hover{
  color:var(--text);
  border-color:rgba(25, 94, 48, 0.25);
}
@media (max-width:640px){
  .cart-coupon-form__row{
    align-items:flex-start;
  }
  .cart-coupon-block .cart-coupon-form__input,
  .cart-coupon-block .cart-coupon-form input[name="coupon_code"]{
    flex:0 0 auto;
    flex-grow:0;
    align-self:stretch;
    display:block;
    width:100%;
    max-width:100%;
    height:44px;
    min-height:44px;
    max-height:44px;
    padding:10px 12px;
    line-height:1.25;
    box-sizing:border-box;
    resize:none;
    -webkit-appearance:none;
    appearance:none;
  }
  .cart-coupon-form__apply.btn{
    min-height:44px;
    padding:10px 16px;
  }
}
@media (max-width:480px){
  .cart-coupon-form__row{
    flex-direction:column;
    align-items:stretch;
  }
  .cart-coupon-form__apply{
    width:100%;
  }
  .cart-coupon-form__apply.btn{
    width:100%;
  }
}
.cart-clear-form{ margin-top:18px; }
.link-button{
  background:none;
  border:0;
  padding:0;
  font:inherit;
  color:var(--brand);
  cursor:pointer;
  text-decoration:underline;
}
.link-button:hover{ color:var(--brand-dark); }

@media (max-width:640px){
  .cart-table-wrap{
    overflow-x:visible;
  }

  .cart-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
  }

  .cart-table thead{
    display:none;
  }

  .cart-table tbody,
  .cart-table tr,
  .cart-table td{
    display:block;
    width:100%;
  }

  .cart-table tr{
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    padding:12px;
    margin-bottom:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
  }

  .cart-table td{
    border:0;
    padding:8px 0;
    text-align:left;
  }

  .cart-table td::before{
    content:attr(data-label);
    display:block;
    font-size:12px;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:4px;
    font-weight:600;
  }

  .cart-table td[data-label="Producto"] .cart-item-product{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .cart-table td[data-label="Producto"] .cart-item-product__body{
    order:1;
    width:100%;
  }
  .cart-table td[data-label="Producto"] .cart-item-product__media{
    order:2;
    align-self:flex-start;
  }
  .cart-table td[data-label="Producto"] .cart-item-product__body a{
    font-weight:700;
  }

  .cart-qty{
    width:100%;
    max-width:130px;
  }
}

/* Admin */
.admin-body{
  background:#f9fafb;
  color:var(--text);
}
.admin-shell{
  max-width:1100px;
  margin:0 auto;
  padding:24px clamp(16px, 3vw, 32px) 48px;
}
.admin-shell--app{
  --admin-sidebar-width:248px;
  max-width:min(1360px, 100%);
  padding:clamp(16px, 2.5vw, 24px) clamp(16px, 3vw, 28px) 40px;
}
.admin-header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 16px;
  padding-bottom:16px;
  margin-bottom:20px;
  border-bottom:1px solid var(--border);
}
.admin-layout{
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
}
.admin-mobile-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:14px;
  margin-bottom:0;
  border-bottom:1px solid var(--border);
}
.admin-sidebar{
  min-width:0;
}
.admin-sidebar__brand{
  display:none;
}
.admin-nav{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  font-size:14px;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  max-height:0;
  min-height:0;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility 0s linear .25s;
  z-index:30;
}
.admin-nav__bar{
  width:100%;
  min-width:0;
}
.admin-nav.is-open{
  margin:8px 0 12px;
  max-height:min(calc(100dvh - 88px), calc(100vh - 88px));
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transition:opacity .22s ease, visibility 0s linear 0s;
}
.admin-nav.is-open .admin-nav__bar{
  padding:12px 14px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 14px 36px rgba(0,0,0,.1);
}
.admin-nav-groups{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  min-width:0;
}
.admin-nav-group{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  min-width:0;
  padding:0 0 12px;
  margin:0 0 12px;
  border-bottom:1px solid var(--border);
}
.admin-nav-group:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:none;
}
.admin-nav-group__label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  padding:0 10px 2px;
  line-height:1.2;
}
.admin-nav-group__items{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
}
.admin-nav-post{
  margin:0;
}
.admin-nav__link,
.admin-nav-post__btn{
  display:flex;
  align-items:center;
  width:100%;
  padding:9px 12px;
  min-height:40px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  color:var(--text);
  text-decoration:none;
  border:1px solid transparent;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
  box-sizing:border-box;
  justify-content:flex-start;
}
.admin-nav-post__btn{
  background:transparent;
  cursor:pointer;
  font-family:inherit;
}
.admin-nav__link:hover,
.admin-nav-post__btn:hover{
  background:rgba(25,94,48,.06);
  color:var(--text);
}
.admin-nav__link.is-active,
.admin-nav__link[aria-current="page"],
.admin-nav-post__btn.is-active{
  color:var(--brand);
  background:rgba(25,94,48,.08);
  border-color:rgba(25,94,48,.18);
}
.admin-nav__link:focus-visible,
.admin-nav-post__btn:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}
.admin-nav-toggle{
  display:inline-flex;
  flex-shrink:0;
  width:44px;
  height:44px;
  margin-left:auto;
  border:1px solid rgba(25,94,48,.45);
  border-radius:12px;
  background:#fff;
  color:var(--brand);
  cursor:pointer;
  font:inherit;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:rgba(25,94,48,.2);
  align-items:center;
  justify-content:center;
  transition:border-color .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease;
}
.admin-nav-toggle:hover{
  border-color:var(--brand);
  color:var(--brand-dark);
  background:rgba(25,94,48,.06);
}
.admin-nav-toggle:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}
.admin-nav-toggle__bars{
  display:block;
  width:18px;
  height:1.5px;
  background:currentColor;
  border-radius:1px;
  opacity:1;
  box-shadow:0 6px 0 currentColor, 0 -6px 0 currentColor;
}
.admin-main{
  min-width:0;
}
@media (min-width:901px){
  .admin-shell--app{
    padding:20px clamp(16px, 2.5vw, 28px) 44px;
  }
  .admin-layout{
    display:grid;
    grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr);
    grid-template-rows:auto 1fr;
    grid-template-areas:
      "sidebar main"
      "sidebar main";
    column-gap:clamp(20px, 2.5vw, 32px);
    row-gap:0;
    align-items:start;
  }
  .admin-mobile-bar{
    display:none;
  }
  .admin-sidebar{
    grid-area:sidebar;
    position:sticky;
    top:16px;
    align-self:start;
    width:var(--admin-sidebar-width);
    max-height:calc(100vh - 32px);
    overflow-x:hidden;
    overflow-y:auto;
    padding:14px 10px 18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
    -webkit-overflow-scrolling:touch;
  }
  .admin-sidebar__brand{
    display:block;
    padding:0 6px 14px;
    margin-bottom:12px;
    border-bottom:1px solid var(--border);
  }
  .admin-sidebar__brand .logo--link{
    display:inline-block;
  }
  .admin-nav{
    max-height:none;
    min-height:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    overflow:visible;
  }
  .admin-nav__bar{
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .admin-nav-group{
    padding:0 4px 12px;
    margin:0 0 12px;
  }
  .admin-nav-group__label{
    padding:0 8px 4px;
  }
  .admin-nav__link,
  .admin-nav-post__btn{
    padding:8px 10px;
    min-height:36px;
    font-size:13px;
    border-radius:8px;
  }
  .admin-main{
    grid-area:main;
    padding-top:2px;
    min-width:0;
  }
}
@media (max-width:900px){
  body.admin-body--app.nav-open{
    overflow:hidden;
  }
}
.admin-body--login .admin-header{
  border-bottom:1px solid var(--border);
}
.admin-body--login .admin-nav-toggle{
  display:none;
}
.admin-panel h1{ font-size:28px; margin-bottom:12px; }
.admin-panel h2{ font-size:18px; margin:28px 0 12px; }
.admin-intro-hint{
  max-width:42rem;
  margin:0 0 8px;
  font-size:14px;
  color:var(--muted);
  line-height:1.45;
}
.admin-producto-page-title{
  font-size:20px;
  font-weight:600;
  margin:20px 0 16px;
  letter-spacing:-0.02em;
}
/* Formulario producto: bloques tipo card */
.admin-form--producto{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:22px;
  max-width:100%;
  margin-top:4px;
}
.admin-form--producto .admin-form__hiddens{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.admin-form-card{
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px 20px 20px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.admin-form-card--actions{
  padding-bottom:18px;
}
.admin-form-card__title{
  font-size:15px;
  font-weight:600;
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
  color:#1f2937;
  letter-spacing:-0.01em;
}
.admin-form-card__lead{
  margin:-4px 0 16px;
  font-size:13px;
  line-height:1.45;
  max-width:48rem;
}
.admin-form-card__foot{
  margin:14px 0 0;
  font-size:12px;
  color:var(--muted);
  max-width:42rem;
}
.admin-form-card__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:16px 20px;
  align-items:start;
}
.admin-form-card__grid--full{
  grid-column:1 / -1;
}
.admin-form-card__hint-inline{
  margin:0;
  align-self:end;
  font-size:13px;
  padding-bottom:8px;
}
.admin-form-card__checks{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:18px 24px;
  padding-top:4px;
}
.admin-form-card__field-hint{
  display:block;
  font-weight:normal;
  margin:0 0 4px;
  font-size:12px;
  line-height:1.4;
}
.admin-form-card__current{
  padding:12px 14px;
  border-radius:10px;
  background:#f9fafb;
  border:1px solid var(--border);
}
.admin-form-card__current-label{
  display:block;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  margin-bottom:6px;
}
.admin-form-card__current-path{
  font-size:13px;
  word-break:break-word;
  color:#374151;
  line-height:1.4;
  margin-bottom:8px;
}
.admin-form-card__preview-img{
  display:block;
  max-width:220px;
  height:auto;
  margin-top:4px;
  border:1px solid var(--border);
  border-radius:8px;
}
.admin-form-card__resource-link{
  font-size:13px;
  display:inline-block;
  margin-top:2px;
}
.admin-form-card__quitar{
  padding-top:4px;
  border-top:1px dashed var(--border);
  margin-top:4px;
}
.admin-form-subcard{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--border);
}
.admin-form-subcard:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.admin-form-subcard__title{
  font-size:13px;
  font-weight:600;
  margin:0 0 12px;
  color:var(--muted);
}
.admin-form-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
/* Panel secundario: relacionados */
.admin-secondary-panel{
  margin-top:32px;
  padding:20px 20px 22px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(249,250,251,.85);
  max-width:52rem;
}
.admin-secondary-panel__title{
  font-size:16px;
  font-weight:600;
  margin:0 0 8px;
  color:#374151;
}
.admin-secondary-panel__hint{
  margin:0 0 14px;
  max-width:40rem;
  font-size:13px;
  line-height:1.45;
}
.admin-form--relacionados{
  margin-top:0;
}
/* Listado productos */
.admin-listado-block{
  margin-top:40px;
  padding-top:28px;
  border-top:1px solid var(--border);
}
.admin-listado-block__title{
  font-size:18px;
  font-weight:600;
  margin:0 0 6px;
}
.admin-listado-block__hint{
  margin:0 0 14px;
  font-size:13px;
}
/* Admin productos catálogo (Fase 7 UX) */
.admin-productos-page > h1{
  margin-bottom:6px;
}
.admin-product-form{
  margin-top:8px;
  padding-bottom:8px;
}
.admin-product-form__header{
  margin-bottom:18px;
  max-width:52rem;
}
.admin-product-form__title{
  font-size:20px;
  font-weight:600;
  margin:0 0 8px;
  letter-spacing:-0.02em;
}
.admin-product-form__lead{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
  max-width:42rem;
}
.admin-product-form__mode{
  margin:0;
  padding:10px 14px;
  border-radius:10px;
  font-size:14px;
  line-height:1.4;
}
.admin-product-form__mode--edit{
  background:#fffbeb;
  border:1px solid rgba(180,83,9,.22);
  color:#92400e;
}
.admin-product-form__mode--new{
  background:#ecfdf5;
  border:1px solid rgba(5,150,105,.22);
  color:#047857;
}
.admin-product-form-section--relacionados{
  margin-top:8px;
}
.admin-product-form-actions-card .admin-form-card__title{
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:12px;
}
.admin-product-form-actions{
  gap:10px 14px;
}
.admin-product-form-actions__submit{
  min-width:10rem;
}
.admin-product-list{
  margin-top:36px;
}
.admin-product-list__lead{
  max-width:44rem;
  margin:0 0 10px;
  font-size:14px;
  color:var(--muted);
}
.admin-product-list__filter-hint{
  margin-top:0;
}
.admin-productos-table .admin-product-name{
  display:inline;
  font-weight:600;
  color:#111827;
  font-size:15px;
}
.admin-productos-table .admin-product-destacado-mark{
  margin-left:6px;
  color:#b45309;
  font-size:14px;
}
.admin-productos-table tr.admin-product-row--destacado{
  background:linear-gradient(90deg, rgba(255,251,235,.55) 0%, #fff 28%);
}
.admin-productos-table tr.admin-product-row--inactivo{
  opacity:.88;
}
.admin-productos-table .admin-product-precio-usd{
  font-weight:600;
  color:#111827;
  white-space:nowrap;
}
.admin-productos-table .admin-product-precio-ars{
  font-size:14px;
  color:#374151;
  white-space:nowrap;
}
.admin-productos-table .admin-product-stock{
  font-weight:600;
}
.admin-productos-table .admin-product-stock--empty{
  color:#b91c1c;
}
.admin-productos-table .admin-product-stock-badge{
  display:inline-block;
  margin-left:8px;
  vertical-align:middle;
  font-size:11px;
  padding:3px 8px;
}
.admin-productos-table .admin-status-badge{
  font-size:12px;
  padding:5px 10px;
  white-space:nowrap;
}
.admin-productos-table .admin-product-orden{
  font-variant-numeric:tabular-nums;
  font-weight:600;
}
.admin-productos-table .admin-product-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  justify-content:flex-end;
}
.admin-productos-table .admin-product-actions__deactivate{
  margin:0;
}
.admin-productos-table th:nth-child(3),
.admin-productos-table th:nth-child(4),
.admin-productos-table td.admin-product-row__usd,
.admin-productos-table td.admin-product-row__ars{
  text-align:right;
}
.admin-productos-table th:nth-child(5),
.admin-productos-table td.admin-product-row__stock{
  text-align:center;
}
.admin-productos-table th:nth-child(8),
.admin-productos-table td.admin-product-row__orden{
  text-align:center;
}
@media (min-width:901px){
  .admin-productos-table-wrap,
  .admin-product-list__table-wrap{
    overflow-x:auto;
  }
}
@media (max-width:900px){
  .admin-product-list__table-wrap{
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .admin-productos-table{
    display:block;
    width:100%;
  }
  .admin-productos-table thead{
    display:none;
  }
  .admin-productos-table tbody{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .admin-productos-table tr.admin-product-card{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "producto activo"
      "categoria categoria"
      "usd ars"
      "stock stock"
      "destacado orden"
      "action action";
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    overflow:hidden;
  }
  .admin-productos-table tr.admin-product-row--destacado{
    background:#fff;
    border-color:rgba(180,83,9,.28);
    box-shadow:0 1px 4px rgba(180,83,9,.12);
  }
  .admin-productos-table tr.admin-product-card td{
    display:block;
    width:100%;
    border:none;
    padding:0 16px 10px;
  }
  .admin-productos-table tr.admin-product-card td::before{
    display:block;
    margin-bottom:4px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    content:attr(data-label);
  }
  .admin-productos-table tr.admin-product-card td[data-label=""]::before{
    display:none;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__producto{
    grid-area:producto;
    padding:14px 0 4px 16px;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__producto::before{
    display:none;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__activo{
    grid-area:activo;
    padding:14px 16px 4px 0;
    text-align:right;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__activo::before{
    display:none;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__categoria{
    grid-area:categoria;
    padding:0 16px 12px;
    border-bottom:1px solid var(--border);
    margin-bottom:4px;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__categoria::before{
    display:none;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__usd{
    grid-area:usd;
    padding-top:12px;
    text-align:left;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__ars{
    grid-area:ars;
    padding-top:12px;
    text-align:right;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__stock{
    grid-area:stock;
    text-align:left;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__destacado{
    grid-area:destacado;
    padding-bottom:12px;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__orden{
    grid-area:orden;
    padding-bottom:12px;
    text-align:right;
  }
  .admin-productos-table tr.admin-product-card td.admin-product-row__action{
    grid-area:action;
    padding:12px 16px 16px;
    border-top:1px solid var(--border);
  }
  .admin-productos-table .admin-product-actions{
    justify-content:stretch;
  }
  .admin-productos-table .admin-product-actions__edit,
  .admin-productos-table .admin-product-actions__danger{
    flex:1 1 auto;
    justify-content:center;
    text-align:center;
  }
  .admin-productos-table .admin-product-destacado-mark{
    display:none;
  }
}
/* Admin CRUD secundario (Fase 8 UX) */
.admin-crud-page > h1,
.admin-config-page > h1,
.admin-media-audit-page > h1{
  margin-bottom:6px;
}
.admin-crud-form{
  margin-top:8px;
  margin-bottom:8px;
}
.admin-crud-form__header{
  margin-bottom:18px;
  max-width:52rem;
}
.admin-crud-form__title{
  font-size:20px;
  font-weight:600;
  margin:0 0 8px;
  letter-spacing:-0.02em;
}
.admin-crud-form__lead{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
  max-width:42rem;
}
.admin-crud-form__mode{
  margin:0;
  padding:10px 14px;
  border-radius:10px;
  font-size:14px;
  line-height:1.4;
}
.admin-crud-form__mode--edit{
  background:#fffbeb;
  border:1px solid rgba(180,83,9,.22);
  color:#92400e;
}
.admin-crud-form__mode--new{
  background:#ecfdf5;
  border:1px solid rgba(5,150,105,.22);
  color:#047857;
}
.admin-crud-form__form{
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:52rem;
}
.admin-crud-form__form.admin-form--grid{
  display:flex;
  flex-direction:column;
  grid-template-columns:unset;
}
.admin-crud-form__actions-card .admin-form-card__title{
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:12px;
}
.admin-crud-list__lead{
  max-width:44rem;
  margin:0 0 12px;
  font-size:14px;
}
.admin-crud-name{
  display:block;
  font-weight:600;
  font-size:15px;
  color:#111827;
}
.admin-crud-meta{
  display:block;
  margin-top:3px;
  font-size:13px;
}
.admin-crud-code{
  font-size:12px;
  word-break:break-word;
}
.admin-crud-orden{
  font-variant-numeric:tabular-nums;
  font-weight:600;
}
.admin-crud-norm-mobile{
  display:none;
}
.admin-crud-table tr.admin-crud-row--inactivo{
  opacity:.88;
}
.admin-crud-table .admin-status-badge{
  font-size:12px;
  padding:5px 10px;
  white-space:nowrap;
}
.admin-crud-table .admin-crud-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  justify-content:flex-end;
}
.admin-crud-table--subcategorias .admin-crud-row__nombre .admin-crud-meta{
  display:none;
}
.admin-config-page .admin-config-help{
  max-width:52rem;
  margin-bottom:18px;
}
.admin-config-help__list{
  margin:0;
  padding-left:1.2rem;
  font-size:14px;
  line-height:1.55;
  color:#374151;
}
.admin-config-form{
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:52rem;
}
.admin-config-form__actions .admin-form-card__title{
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:12px;
}
.admin-media-audit-page__nav{
  margin:0 0 16px;
}
.admin-media-meta{
  display:none;
  margin-top:6px;
  font-size:12px;
}
.admin-media-estado-hint{
  display:block;
  margin-top:4px;
  font-size:12px;
}
.admin-media-productos-list{
  margin:0;
  padding:0;
  list-style:none;
}
.admin-media-productos-list li + li{
  margin-top:6px;
}
.admin-media-filename{
  display:block;
  font-size:13px;
}
.admin-media-audit-details{
  max-width:52rem;
  margin-top:28px;
}
@media (min-width:901px){
  .admin-crud-list__table-wrap{
    overflow-x:auto;
  }
  .admin-crud-table th:last-child,
  .admin-crud-table td.admin-crud-row__action{
    text-align:right;
  }
}
@media (max-width:900px){
  .admin-crud-list__table-wrap{
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .admin-crud-table{
    display:block;
    width:100%;
  }
  .admin-crud-table thead{
    display:none;
  }
  .admin-crud-table tbody{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .admin-crud-table tr.admin-crud-card{
    display:grid;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    overflow:hidden;
  }
  .admin-crud-table tr.admin-crud-card td{
    display:block;
    width:100%;
    border:none;
    padding:0 16px 10px;
  }
  .admin-crud-table tr.admin-crud-card td::before{
    display:block;
    margin-bottom:4px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    content:attr(data-label);
  }
  .admin-crud-table tr.admin-crud-card td[data-label=""]::before{
    display:none;
  }
  .admin-crud-table tr.admin-crud-card td.admin-crud-row__action{
    padding:12px 16px 16px;
    border-top:1px solid var(--border);
  }
  .admin-crud-table .admin-crud-actions{
    justify-content:stretch;
  }
  .admin-crud-table .admin-crud-actions .btn{
    flex:1 1 auto;
    justify-content:center;
    text-align:center;
  }
  /* Categorías */
  .admin-crud-table--categorias tr.admin-crud-card{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "nombre activo"
      "orden slug"
      "action action";
  }
  .admin-crud-table--categorias td.admin-crud-row__nombre{
    grid-area:nombre;
    padding:14px 0 4px 16px;
  }
  .admin-crud-table--categorias td.admin-crud-row__nombre::before,
  .admin-crud-table--categorias td.admin-crud-row__activo::before{
    display:none;
  }
  .admin-crud-table--categorias td.admin-crud-row__activo{
    grid-area:activo;
    padding:14px 16px 4px 0;
    text-align:right;
  }
  .admin-crud-table--categorias td.admin-crud-row__orden{
    grid-area:orden;
    padding-top:10px;
  }
  .admin-crud-table--categorias td.admin-crud-row__slug{
    grid-area:slug;
    padding-top:10px;
    text-align:right;
  }
  .admin-crud-table--categorias td.admin-crud-row__action{
    grid-area:action;
  }
  /* Subcategorías */
  .admin-crud-table--subcategorias tr.admin-crud-card{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "nombre activo"
      "orden orden"
      "action action";
  }
  .admin-crud-table--subcategorias td.admin-crud-row__nombre{
    grid-area:nombre;
    padding:14px 0 4px 16px;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__nombre .admin-crud-meta{
    display:block;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__nombre::before,
  .admin-crud-table--subcategorias td.admin-crud-row__activo::before{
    display:none;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__activo{
    grid-area:activo;
    padding:14px 16px 4px 0;
    text-align:right;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__categoria{
    display:none;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__orden{
    grid-area:orden;
    padding-top:10px;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__slug{
    display:none;
  }
  .admin-crud-table--subcategorias td.admin-crud-row__action{
    grid-area:action;
  }
  /* Zonas */
  .admin-crud-norm-mobile{
    display:block;
  }
  .admin-crud-table--zonas tr.admin-crud-card{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "nombre activo"
      "orden orden"
      "action action";
  }
  .admin-crud-table--zonas td.admin-crud-row__nombre{
    grid-area:nombre;
    padding:14px 0 4px 16px;
  }
  .admin-crud-table--zonas td.admin-crud-row__nombre::before,
  .admin-crud-table--zonas td.admin-crud-row__activo::before{
    display:none;
  }
  .admin-crud-table--zonas td.admin-crud-row__activo{
    grid-area:activo;
    padding:14px 16px 4px 0;
    text-align:right;
  }
  .admin-crud-table--zonas td.admin-crud-row__norm{
    display:none;
  }
  .admin-crud-table--zonas td.admin-crud-row__orden{
    grid-area:orden;
    padding:10px 16px 12px;
    border-bottom:1px solid var(--border);
  }
  .admin-crud-table--zonas td.admin-crud-row__action{
    grid-area:action;
  }
  /* Imágenes uploads */
  .admin-media-meta{
    display:block;
  }
  .admin-media-table tr.admin-crud-card{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "archivo estado"
      "productos productos"
      "action action";
  }
  .admin-media-table td.admin-media-row__archivo{
    grid-area:archivo;
    padding:14px 0 4px 16px;
  }
  .admin-media-table td.admin-media-row__archivo::before,
  .admin-media-table td.admin-media-row__estado::before{
    display:none;
  }
  .admin-media-table td.admin-media-row__estado{
    grid-area:estado;
    padding:14px 16px 4px 0;
    text-align:right;
  }
  .admin-media-table td.admin-media-row__size,
  .admin-media-table td.admin-media-row__mtime{
    display:none;
  }
  .admin-media-table td.admin-media-row__productos{
    grid-area:productos;
    padding:0 16px 12px;
    border-bottom:1px solid var(--border);
  }
  .admin-media-table td.admin-media-row__action{
    grid-area:action;
  }
  .admin-media-table--rotas tr.admin-crud-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "ruta"
      "productos";
  }
  .admin-media-table--rotas td.admin-media-row__ruta{
    grid-area:ruta;
    padding:14px 16px 8px;
  }
  .admin-media-table--rotas td.admin-media-row__productos{
    grid-area:productos;
    padding:0 16px 14px;
  }
}
.admin-panel-group + .admin-panel-group{
  margin-top:20px;
}
@media (min-width:901px){
  /* Panel index: solo acorta el largo (ancho) de la columna; altura de filas = .admin-link-list global */
  .admin-panel.admin-panel--index{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    max-width:100%;
  }
  .admin-panel.admin-panel--index > h1,
  .admin-panel.admin-panel--index > .sub{
    flex:0 0 auto;
    width:min(300px,100%);
    max-width:300px;
    box-sizing:border-box;
  }
  .admin-panel.admin-panel--index .admin-panel-group{
    flex:0 0 auto;
    width:min(300px,100%);
    max-width:300px;
    box-sizing:border-box;
  }
  .admin-panel.admin-panel--index .admin-link-list{
    width:100%;
    max-width:300px;
  }
}
.admin-panel-group__title{
  font-size:14px;
  font-weight:600;
  letter-spacing:normal;
  text-transform:none;
  color:var(--muted);
  margin:0 0 10px;
}
.admin-dashboard{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.admin-home{
  gap:20px;
}
.admin-home .admin-panel__head{
  margin-bottom:10px;
}
.admin-home .admin-panel__head h1{
  margin:0 0 6px;
}
.admin-home .admin-page-head__lead{
  margin:0;
}
.admin-home__section--actions{
  gap:10px;
  margin-top:0;
}
.admin-home__section-lead{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
  max-width:40rem;
}
.admin-home__section-lead--meta{
  font-size:13px;
}
.admin-home__fallback{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
.admin-home__fallback a{
  font-weight:600;
  color:var(--brand);
}
.admin-action-card .admin-action-card__btn{
  margin-top:auto;
  align-self:flex-start;
  text-decoration:none;
}
.admin-action-card .admin-action-card__btn:hover{
  text-decoration:none;
}
.admin-dashboard-card a.admin-action-card__btn.btn-primary{
  color:#fff;
}
.admin-dashboard-card a.admin-action-card__btn.btn-primary:hover,
.admin-dashboard-card a.admin-action-card__btn.btn-primary:focus-visible{
  color:#fff;
}
.admin-dashboard-card a.admin-action-card__btn.btn-ghost{
  color:var(--text);
}
.admin-dashboard-card a.admin-action-card__btn.btn-ghost:hover{
  color:var(--text);
}
.admin-home__status{
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
}
.admin-home-metric{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  text-decoration:none;
  color:inherit;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.admin-home-metric:hover{
  border-color:rgba(25,94,48,.28);
  background:rgba(25,94,48,.03);
  box-shadow:0 2px 8px rgba(25,94,48,.08);
}
.admin-home-metric:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}
.admin-home-metric__label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--muted);
}
.admin-home-metric__value{
  font-size:clamp(18px, 2vw, 22px);
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--text);
}
.admin-home-metric__meta{
  font-size:13px;
  line-height:1.4;
  color:#4b5563;
}
.admin-home-tips{
  margin:0;
  padding:14px 16px 14px 20px;
  border:1px solid var(--border);
  border-left:3px solid rgba(25,94,48,.45);
  border-radius:12px;
  background:#fff;
  font-size:14px;
  line-height:1.5;
  color:#4b5563;
  max-width:40rem;
}
.admin-home-tips li + li{
  margin-top:8px;
}
.admin-dashboard-section{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.admin-dashboard-section__title{
  font-size:16px;
  font-weight:600;
  color:#374151;
  margin:0;
}
.admin-dashboard-subtitle{
  font-size:14px;
  font-weight:600;
  color:var(--muted);
  margin:0 0 12px;
  letter-spacing:.02em;
}
.admin-dashboard-more{
  margin:14px 0 0;
  font-size:13px;
  color:var(--muted);
  line-height:1.5;
}
.admin-dashboard-more a{
  font-weight:600;
  color:var(--brand);
  text-decoration:none;
}
.admin-dashboard-more a:hover{
  text-decoration:underline;
}
.admin-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.admin-dashboard-grid--quick{
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
}
.admin-dashboard-card{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.admin-dashboard-card h3{
  margin:0;
  font-size:16px;
  font-weight:600;
  color:var(--text);
}
.admin-dashboard-card p{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#4b5563;
}
.admin-dashboard-card a{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  font-size:14px;
  font-weight:600;
  color:var(--brand);
  text-decoration:none;
}
.admin-dashboard-card a:hover{
  text-decoration:underline;
}
@media (max-width:900px){
  .admin-dashboard-grid{
    grid-template-columns:1fr;
  }
}

/* Estadísticas admin (admin/estadisticas.php): métricas más legibles sin rediseño global */
.admin-stats .admin-hint{
  margin-bottom:20px;
}
.admin-panel.admin-stats > h2{
  margin:28px 0 8px;
}
.admin-panel.admin-stats > h1 + .admin-hint + h2{
  margin-top:22px;
}
.admin-panel.admin-stats > h2 + p.admin-muted,
.admin-stats .admin-stats__section-lead{
  margin:0 0 16px;
  max-width:68ch;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.admin-stats__grid{
  margin-bottom:12px;
}
.admin-stats-metric__value{
  font-size:clamp(20px, 2.2vw, 26px);
  font-weight:700;
  color:var(--text);
  letter-spacing:-0.02em;
  line-height:1.2;
}
.admin-stats-metric__hint{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

.admin-alert{
  padding:12px 14px;
  border-radius:10px;
  background:rgba(25,94,48,.1);
  color:#14532d;
  margin:12px 0;
  font-size:14px;
}
.admin-alert--error{
  background:#fef2f2;
  color:#991b1b;
}
.admin-alert--ok{
  background:#ecfdf5;
  color:#047857;
  border:1px solid rgba(4,120,87,.22);
}
.admin-form{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:520px;
  margin-top:12px;
}
.admin-form--grid{
  max-width:100%;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:14px 20px;
  align-items:start;
}
.admin-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:14px;
  color:#374151;
}
.admin-form input,
.admin-form textarea,
.admin-form select{
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  font-family:inherit;
  font-size:15px;
}
.admin-span-2{ grid-column:1 / -1; }
.admin-check{
  flex-direction:row !important;
  align-items:center;
  gap:10px !important;
}
.admin-productos-limpieza__checks{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:12px 0 16px;
  max-width:min(720px, 100%);
}
.admin-productos-limpieza__check span{
  line-height:1.4;
}
.admin-productos-limpieza__preview-form,
.admin-productos-limpieza__apply-form{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--border);
}
.admin-table-wrap{
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.admin-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.admin-table th,
.admin-table td{
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top;
}
.admin-table tr:last-child td{ border-bottom:0; }
.admin-table code{ font-size:13px; }
.admin-actions{
  white-space:nowrap;
}
.admin-actions > *{
  margin-right:8px;
}
.admin-actions > *:last-child{
  margin-right:0;
}
.admin-inline-form{ display:inline; }
.admin-actions > a,
.admin-actions .link-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.admin-actions .link-button{
  cursor:pointer;
}
.admin-actions > a:hover,
.admin-actions .link-button:hover{
  border-color:rgba(25,94,48,.35);
  color:var(--text);
  box-shadow:0 10px 24px rgba(0,0,0,.05);
  transform:translateY(-1px);
}
.admin-actions > a:focus-visible,
.admin-actions .link-button:focus-visible{
  outline:2px solid rgba(25,94,48,.35);
  outline-offset:2px;
}
.admin-actions .link-button--danger{
  color:#991b1b;
  border-color:rgba(153,27,27,.28);
  background:#fff;
}
.admin-actions .link-button--danger:hover{
  color:#7f1d1d;
  border-color:rgba(127,29,29,.45);
  background:#fef2f2;
  box-shadow:0 8px 20px rgba(127,29,29,.08);
}
.admin-link-list{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:16px;
}
.admin-link-list li{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:12px 14px;
  line-height:1.45;
  color:#374151;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.admin-link-list li:hover{
  border-color:rgba(25,94,48,.3);
  box-shadow:0 10px 24px rgba(0,0,0,.05);
  transform:translateY(-1px);
}
.admin-link-list a{
  color:var(--brand);
  text-decoration:none;
  font-weight:700;
}
.admin-link-list a:hover{ text-decoration:underline; }

.admin-hint{
  font-size:13px;
  color:var(--muted);
  line-height:1.5;
  margin:0;
}
.admin-back-button{
  margin:0 0 18px;
}
.admin-pedido-detail__actions-top,
.admin-venta-detail__actions-top{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:center;
  margin:0 0 18px;
}
.admin-pedido-detail__actions-top .admin-back-button,
.admin-venta-detail__actions-top .admin-back-button{
  margin:0;
}
@media (max-width:640px){
  .admin-pedido-detail__actions-top .btn,
  .admin-venta-detail__actions-top .btn{
    flex:1 1 calc(50% - 6px);
    justify-content:center;
  }
}
.admin-back-button--between{
  margin:10px 0 10px;
}
@media (max-width:640px){
  .admin-back-button{
    width:100%;
    justify-content:center;
  }
}
.admin-help--prominent{
  background:#f0fdf4;
  border:1px solid rgba(25,94,48,.2);
  border-radius:12px;
  padding:16px 18px;
  margin:16px 0 24px;
  font-size:14px;
  line-height:1.55;
  color:#374151;
}
.admin-help--prominent ul{
  margin:10px 0 0 1.1em;
  padding:0;
}
.admin-help--prominent li{ margin:6px 0; }
.admin-help--prominent p{ margin:0 0 8px; }

.admin-muted{ color:var(--muted); font-size:14px; }
.admin-code-quiet{ font-size:12px; font-weight:400; color:var(--muted); margin-left:6px; }
.admin-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  align-self:end;
}
.admin-form--filters{
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid var(--border);
}
.admin-form--inline-filters{
  flex-direction:row;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:16px 24px;
  max-width:100%;
}
.admin-form--inline-filters > label{
  margin-bottom:0;
}
.admin-form--inline-filters .admin-filter-actions{
  align-self:flex-end;
  margin-top:0;
}
.admin-pedido-meta h2{ margin-top:24px; }
.admin-dl{
  display:grid;
  grid-template-columns:minmax(120px, 200px) 1fr;
  gap:8px 20px;
  margin:12px 0 0;
  font-size:15px;
}
.admin-dl dt{
  margin:0;
  color:var(--muted);
  font-weight:500;
}
.admin-dl dd{ margin:0; }
.admin-table--pedido-items th,
.admin-table--pedido-items td{ font-size:14px; }

/* Detalle pedido admin: jerarquía visual (solo presentación) */
.admin-pedido-detail .admin-pedido-meta{
  max-width:960px;
}
.admin-pedido-hero{
  margin:8px 0 24px;
  padding:20px 22px;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.admin-pedido-hero__code{
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:700;
  letter-spacing:-0.02em;
  margin:0 0 10px;
}
.admin-pedido-hero__code code{
  font-size:inherit;
  font-weight:inherit;
  background:transparent;
  padding:0;
}
.admin-pedido-hero__row{
  display:flex;
  flex-wrap:wrap;
  gap:12px 20px;
  align-items:baseline;
  font-size:15px;
  color:#374151;
}
.admin-pedido-hero__total{
  font-weight:700;
  font-size:17px;
  color:#111827;
}
.admin-pedido-hero__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.admin-status-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  border:1px solid var(--border);
  background:#fff;
  color:#374151;
}
.admin-status-badge code{
  font-size:11px;
  font-weight:500;
  opacity:.85;
}
.admin-status-badge--operativo{
  background:#f0f9ff;
  border-color:rgba(14,116,144,.25);
  color:#0c4a6e;
}
.admin-status-badge--operativo-muted{
  background:#f3f4f6;
  color:#6b7280;
}
.admin-status-badge--ok{
  background:#ecfdf5;
  border-color:rgba(5,150,105,.28);
  color:#047857;
}
.admin-status-badge--warning{
  background:#fffbeb;
  border-color:rgba(180,83,9,.28);
  color:#92400e;
}
.admin-status-badge--danger{
  background:#fef2f2;
  border-color:rgba(185,28,28,.22);
  color:#b91c1c;
}
.admin-status-badge--muted{
  background:#f3f4f6;
  border-color:var(--border);
  color:#6b7280;
}
.admin-status-badge--mp{
  max-width:100%;
}

/* Vencimientos / lotes (solo admin) */
.admin-venc-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  border:1px solid var(--border);
  white-space:nowrap;
}
.admin-venc-badge__icon{
  font-weight:800;
  line-height:1;
}
.admin-venc-badge--vencido{
  background:#7f1d1d;
  border-color:#450a0a;
  color:#fff;
}
.admin-venc-badge--critico{
  background:#fef2f2;
  border-color:rgba(185,28,28,.35);
  color:#b91c1c;
}
.admin-venc-badge--atencion{
  background:#fffbeb;
  border-color:rgba(180,83,9,.28);
  color:#92400e;
}
.admin-venc-badge--ok{
  background:#ecfdf5;
  border-color:rgba(5,150,105,.28);
  color:#047857;
}
.admin-venc-list-meta{
  display:block;
  font-size:12px;
  color:#6b7280;
  margin-bottom:4px;
}
.admin-venc-stock-warn{
  color:#92400e;
  font-size:13px;
  margin:0 0 12px;
  padding:8px 12px;
  background:#fffbeb;
  border:1px solid rgba(180,83,9,.2);
  border-radius:8px;
}
.admin-vencimientos-block .admin-vencimientos-table-wrap{
  margin-bottom:16px;
}
.admin-vencimientos-form-card{
  margin-top:8px;
}
.admin-home-vencimientos .admin-home-venc__stat--vencido .admin-home-metric__value{
  color:#b91c1c;
}
.admin-home-vencimientos .admin-home-venc__stat--critico .admin-home-metric__value{
  color:#dc2626;
}
.admin-home-vencimientos .admin-home-venc__stat--atencion .admin-home-metric__value{
  color:#d97706;
}
.admin-home-vencimientos .admin-home-venc__stat--ok .admin-home-metric__value{
  color:#047857;
}
.admin-home-venc__table-wrap{
  margin-top:16px;
}

.admin-pedido-block{
  margin:0 0 28px;
  padding:0 0 22px;
  border-bottom:1px solid var(--border);
}
.admin-pedido-block:last-of-type{
  border-bottom:0;
  padding-bottom:0;
}
.admin-pedido-detail__title{
  font-size:17px;
  font-weight:700;
  margin:0 0 14px;
  color:#111827;
}
.admin-pedido-detail .admin-pedido-meta h2.admin-pedido-detail__title{
  margin:22px 0 14px;
}
.admin-pedido-mov-detalle-cell{
  max-width:28rem;
  min-width:12rem;
  word-break:break-word;
}

.admin-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
  gap:12px;
  margin:0 0 20px;
}
.admin-summary-grid > .admin-summary-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.admin-summary-card{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
@media (max-width:640px){
  .admin-summary-card{ grid-template-columns:1fr; }
}
.admin-summary-card__cell{
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  font-size:14px;
  line-height:1.45;
}
.admin-summary-card__label{
  display:block;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  margin:0 0 6px;
}
.admin-summary-card__value{
  margin:0;
  color:#111827;
  font-weight:600;
}
.admin-summary-card__value code{
  font-size:12px;
  font-weight:500;
}

.admin-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 24px;
  margin:12px 0 0;
  font-size:15px;
}
@media (max-width:720px){
  .admin-detail-grid{ grid-template-columns:1fr; }
}
.admin-detail-grid__pair{
  margin:0;
  padding:10px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.admin-detail-grid__pair dt{
  margin:0 0 4px;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--muted);
}
.admin-detail-grid__pair dd{
  margin:0;
  color:#1f2937;
  word-break:break-word;
}

.admin-pedido-badge{
  display:inline-block;
  padding:3px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.admin-pedido-badge--si{
  background:#ecfdf5;
  color:#047857;
  border:1px solid rgba(4,120,87,.2);
}
.admin-pedido-badge--no{
  background:#f3f4f6;
  color:#6b7280;
  border:1px solid var(--border);
}

.admin-stock-panel .admin-dl{
  margin-top:8px;
}
.admin-importes-panel .admin-dl{
  margin-top:8px;
}
.admin-importes-panel .admin-dl dd.admin-pedido-total-dd{
  font-size:18px;
  font-weight:800;
  color:#111827;
}

.admin-technical-box{
  padding:14px 16px;
  border-radius:12px;
  background:#f9fafb;
  border:1px dashed var(--border);
  font-size:13px;
  color:#6b7280;
}
.admin-technical-box .admin-dl{
  margin:0;
  gap:6px 16px;
  font-size:13px;
}
.admin-technical-box .admin-dl dt{ color:#9ca3af; }
.admin-technical-box .admin-dl dd{ color:#4b5563; }

.admin-pedido-callout{
  padding:14px 16px;
  border-radius:12px;
  background:#fffbeb;
  border:1px solid rgba(180,83,9,.22);
  margin:0 0 16px;
  font-size:14px;
  line-height:1.55;
  color:#78350f;
}
.admin-pedido-callout--muted{
  background:#f9fafb;
  border:1px solid var(--border);
  color:#4b5563;
}
.admin-pedido-callout p{ margin:0 0 8px; }
.admin-pedido-callout p:last-child{ margin-bottom:0; }

.admin-pedido-form-card .admin-form textarea{
  min-height:120px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.admin-pedido-table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-top:8px;
}
.admin-pedido-table-scroll .admin-table{
  min-width:520px;
}
.admin-pedido-movimientos .admin-table{
  min-width:640px;
}

.admin-pedido-movtipo-badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:700;
  text-transform:none;
}
.admin-pedido-movtipo--descuento{
  background:#fef2f2;
  color:#b91c1c;
  border:1px solid rgba(185,28,28,.2);
}
.admin-pedido-movtipo--restauracion{
  background:#ecfdf5;
  color:#047857;
  border:1px solid rgba(4,120,87,.2);
}
.admin-pedido-movtipo--other{
  background:#f3f4f6;
  color:#374151;
  border:1px solid var(--border);
}

.admin-pedido-qty{
  font-variant-numeric:tabular-nums;
  font-weight:700;
}
.admin-pedido-qty--neg{ color:#b91c1c; }
.admin-pedido-qty--pos{ color:#047857; }

.admin-pedido-factura-lead{
  font-size:14px;
  line-height:1.5;
  margin:0 0 14px;
  max-width:62ch;
}
.admin-pedido-factura-destacado{
  display:inline-block;
  margin:0 0 12px;
  padding:8px 14px;
  border-radius:10px;
  background:#eff6ff;
  border:1px solid rgba(37,99,235,.2);
  font-weight:700;
  font-size:15px;
  color:#1e3a8a;
}

/* Detalle pedido: resumen fijo y secciones colapsables */
.admin-pedido-resumen__cliente{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.45;
}
.admin-pedido-resumen__badges{
  align-items:center;
}
.admin-pedido-resumen__badges .admin-pedido-badge{
  font-size:12px;
  padding:5px 10px;
}
.admin-pedido-visible{
  margin-bottom:8px;
}
.admin-pedido-visible > .admin-pedido-block:last-child{
  border-bottom:1px solid var(--border);
  padding-bottom:22px;
}
.admin-details.admin-pedido-details{
  margin:0 0 12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  overflow:hidden;
}
.admin-details.admin-pedido-details:last-of-type{
  margin-bottom:0;
}
.admin-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:14px 18px;
  font-size:15px;
  font-weight:700;
  color:#111827;
  cursor:pointer;
  list-style:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.admin-details summary::-webkit-details-marker{
  display:none;
}
.admin-details summary::after{
  content:"";
  flex-shrink:0;
  width:10px;
  height:10px;
  border-right:2px solid #6b7280;
  border-bottom:2px solid #6b7280;
  transform:rotate(45deg);
  margin-top:-4px;
  transition:transform .15s ease, margin .15s ease;
}
.admin-details[open] summary{
  border-bottom:1px solid var(--border);
  background:#fafbfc;
}
.admin-details[open] summary::after{
  transform:rotate(-135deg);
  margin-top:4px;
}
.admin-details__body{
  padding:4px 18px 18px;
}
.admin-pedido-block--nested{
  margin-bottom:22px;
  padding-bottom:0;
  border-bottom:0;
}
.admin-pedido-block--nested:last-child{
  margin-bottom:0;
}
.admin-pedido-detail .admin-details .admin-pedido-block--nested h2.admin-pedido-detail__title{
  margin-top:18px;
}
@media (max-width: 900px){
  .admin-pedido-detail .admin-pedido-meta{
    max-width:none;
  }
  .admin-details summary{
    min-height:52px;
    padding:16px 18px;
    font-size:16px;
  }
  .admin-pedido-hero__row{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}

/* Listado pedidos admin */
.admin-pedidos-filters{
  margin:0 0 28px;
  padding:18px 20px;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.admin-pedidos-filters__title{
  margin:0 0 14px;
  font-size:16px;
  font-weight:700;
  color:#111827;
}
.admin-pedidos-filters .admin-form--filters{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none;
}
.admin-pedidos-results__title{
  margin:0 0 14px;
  font-size:18px;
  font-weight:700;
  color:#111827;
}
.admin-pedidos-results__count{
  font-weight:500;
  color:var(--muted);
}
.admin-pedidos-table .admin-pedido-code{
  font-size:14px;
  font-weight:700;
  color:#111827;
  background:transparent;
  padding:0;
}
.admin-pedidos-table .admin-pedido-fecha{
  font-size:14px;
  color:#374151;
  white-space:nowrap;
}
.admin-pedidos-table .admin-pedido-cliente-nombre{
  display:block;
  font-weight:600;
  color:#111827;
  line-height:1.35;
}
.admin-pedidos-table .admin-pedido-cliente-email{
  display:block;
  margin-top:3px;
  font-size:13px;
  line-height:1.35;
  word-break:break-word;
}
.admin-pedidos-table .admin-pedido-total{
  font-weight:700;
  font-size:15px;
  color:#111827;
  white-space:nowrap;
}
.admin-pedidos-table .admin-status-badge{
  font-size:12px;
  padding:5px 10px;
  max-width:12rem;
}
.admin-pedidos-table .admin-pedido-row__action{
  text-align:right;
  white-space:nowrap;
}
.admin-pedidos-list .admin-pedido-row__link{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media (min-width:901px){
  .admin-pedidos-table-wrap{
    overflow-x:auto;
  }
  .admin-pedidos-table th:nth-child(1){ min-width:8.5rem; }
  .admin-pedidos-table th:nth-child(4){ text-align:right; }
  .admin-pedidos-table td.admin-pedido-row__total{
    text-align:right;
  }
  .admin-pedidos-table td.admin-pedido-row__pago,
  .admin-pedidos-table td.admin-pedido-row__operativo,
  .admin-pedidos-table td.admin-pedido-row__mp{
    vertical-align:middle;
  }
}
@media (max-width:900px){
  .admin-pedidos-table-wrap{
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .admin-pedidos-table{
    display:block;
    width:100%;
  }
  .admin-pedidos-table thead{
    display:none;
  }
  .admin-pedidos-table tbody{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .admin-pedidos-table tr.admin-pedido-card{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "code total"
      "fecha fecha"
      "cliente cliente"
      "pago pago"
      "operativo operativo"
      "mp mp"
      "action action";
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    overflow:hidden;
  }
  .admin-pedidos-table tr.admin-pedido-row--empty{
    display:block;
    padding:16px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
  }
  .admin-pedidos-table tr.admin-pedido-row--empty td{
    display:block;
    padding:0;
    border:none;
  }
  .admin-pedidos-table tr.admin-pedido-card td{
    display:block;
    width:100%;
    border:none;
    padding:0 16px 10px;
  }
  .admin-pedidos-table tr.admin-pedido-card td::before{
    display:block;
    margin-bottom:4px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    content:attr(data-label);
  }
  .admin-pedidos-table tr.admin-pedido-card td[data-label=""]::before{
    display:none;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__code{
    grid-area:code;
    padding:14px 0 4px 16px;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__code::before{
    display:none;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__fecha{
    grid-area:fecha;
    padding:0 16px 12px;
    border-bottom:1px solid var(--border);
    margin-bottom:4px;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__fecha::before{
    display:none;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__total{
    grid-area:total;
    padding:14px 16px 4px 0;
    text-align:right;
    align-self:start;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__total::before{
    display:none;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__cliente{
    grid-area:cliente;
    padding-top:12px;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__pago{
    grid-area:pago;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__operativo{
    grid-area:operativo;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__mp{
    grid-area:mp;
    padding-bottom:12px;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__action{
    grid-area:action;
    padding:0 16px 16px;
    border-top:1px solid var(--border);
    margin-top:4px;
    text-align:left;
  }
  .admin-pedidos-table tr.admin-pedido-card td.admin-pedido-row__action::before{
    display:none;
  }
  .admin-pedidos-table .admin-pedido-code{
    font-size:16px;
  }
  .admin-pedidos-table .admin-pedido-total{
    font-size:17px;
  }
  .admin-pedidos-table .admin-status-badge{
    max-width:none;
  }
  .admin-pedidos-list .admin-pedido-row__link{
    width:100%;
    min-height:44px;
  }
  .admin-pedidos-table .admin-pedido-row__action .admin-pedido-row__link + .admin-pedido-row__link{
    margin-top:8px;
  }
}

/* Listado ventas manuales admin */
.admin-ventas-table .admin-venta-fecha{
  display:block;
  font-size:14px;
  color:#374151;
  white-space:nowrap;
}
.admin-ventas-table .admin-venta-fecha-hora{
  display:block;
  margin-top:2px;
  font-size:12px;
  line-height:1.3;
}
.admin-ventas-table .admin-venta-cliente-nombre{
  display:block;
  font-weight:600;
  color:#111827;
  line-height:1.35;
}
.admin-ventas-table .admin-venta-meta{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
}
.admin-ventas-table .admin-venta-total{
  display:block;
  font-weight:700;
  font-size:15px;
  color:#111827;
  white-space:nowrap;
}
.admin-ventas-table .admin-venta-fin-meta{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
}
.admin-ventas-table .admin-venta-estados-badges{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.admin-ventas-table .admin-status-badge{
  font-size:12px;
  padding:5px 10px;
  max-width:100%;
}
.admin-ventas-table .admin-venta-row__action{
  text-align:right;
  white-space:nowrap;
}
.admin-ventas-list .admin-venta-row__link{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media (min-width:901px){
  .admin-ventas-table-wrap{
    overflow:visible;
  }
  .admin-ventas-table--compact{
    table-layout:fixed;
    width:100%;
  }
  .admin-ventas-table--compact .admin-ventas-table__th-fecha,
  .admin-ventas-table--compact td.admin-venta-row__fecha{
    width:9rem;
  }
  .admin-ventas-table--compact .admin-ventas-table__th-cliente,
  .admin-ventas-table--compact td.admin-venta-row__cliente{
    width:auto;
  }
  .admin-ventas-table--compact .admin-ventas-table__th-fin,
  .admin-ventas-table--compact td.admin-venta-row__fin{
    width:13rem;
    text-align:right;
  }
  .admin-ventas-table--compact .admin-ventas-table__th-estados,
  .admin-ventas-table--compact td.admin-venta-row__estados{
    width:11rem;
  }
  .admin-ventas-table--compact .admin-ventas-table__th-action,
  .admin-ventas-table--compact td.admin-venta-row__action{
    width:7.5rem;
  }
  .admin-ventas-table--compact td.admin-venta-row__fin .admin-venta-total,
  .admin-ventas-table--compact td.admin-venta-row__fin .admin-venta-fin-meta{
    text-align:right;
  }
}
@media (max-width:900px){
  .admin-ventas-table-wrap{
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .admin-ventas-table{
    display:block;
    width:100%;
  }
  .admin-ventas-table thead{
    display:none;
  }
  .admin-ventas-table tbody{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .admin-ventas-table tr.admin-venta-card{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "fecha fin"
      "cliente cliente"
      "estados estados"
      "action action";
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    overflow:hidden;
  }
  .admin-ventas-table tr.admin-venta-row--empty{
    display:block;
    padding:16px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
  }
  .admin-ventas-table tr.admin-venta-row--empty td{
    display:block;
    padding:0;
    border:none;
  }
  .admin-ventas-table tr.admin-venta-card td{
    display:block;
    width:100%;
    border:none;
    padding:0 16px 10px;
  }
  .admin-ventas-table tr.admin-venta-card td::before{
    display:block;
    margin-bottom:4px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    content:attr(data-label);
  }
  .admin-ventas-table tr.admin-venta-card td[data-label=""]::before{
    display:none;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__fecha{
    grid-area:fecha;
    padding:14px 0 4px 16px;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__fecha::before{
    display:none;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__fin{
    grid-area:fin;
    padding:14px 16px 4px 0;
    text-align:right;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__fin::before{
    display:none;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__cliente{
    grid-area:cliente;
    padding:0 16px 12px;
    border-bottom:1px solid var(--border);
    margin-bottom:4px;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__cliente::before{
    display:none;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__estados{
    grid-area:estados;
    padding-top:12px;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__action{
    grid-area:action;
    padding:0 16px 16px;
    border-top:1px solid var(--border);
    margin-top:4px;
    text-align:left;
  }
  .admin-ventas-table tr.admin-venta-card td.admin-venta-row__action::before{
    display:none;
  }
  .admin-ventas-table .admin-venta-total{
    font-size:17px;
  }
  .admin-ventas-table .admin-venta-fin-meta{
    font-size:13px;
  }
  .admin-ventas-table .admin-status-badge{
    max-width:none;
  }
  .admin-ventas-list .admin-venta-row__link{
    width:100%;
    min-height:44px;
  }
}

/* Detalle venta manual admin */
.admin-venta-detail .admin-back-button{
  margin:0 0 16px;
}
.admin-venta-summary{
  margin:0 0 28px;
  padding:20px 22px;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.admin-venta-summary__title{
  margin:0 0 6px;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:700;
  letter-spacing:-0.02em;
  color:#111827;
}
.admin-venta-summary__fecha{
  margin:0 0 8px;
  font-size:15px;
  color:#374151;
}
.admin-venta-summary__cliente{
  margin:0 0 12px;
  font-size:16px;
}
.admin-venta-summary__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.admin-venta-summary__metrics{
  margin:0;
}
.admin-venta-summary__metric--total .admin-summary-card__value{
  font-size:1.35rem;
  font-weight:700;
  color:#111827;
}
.admin-venta-summary__value--secondary{
  color:#4b5563;
}
.admin-venta-summary__value--margen{
  color:#047857;
  font-weight:700;
}
.admin-venta-block{
  margin:0 0 28px;
  padding:0 0 22px;
  border-bottom:1px solid var(--border);
}
.admin-venta-block:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.admin-venta-block__title{
  margin:0 0 14px;
  font-size:17px;
  font-weight:700;
  color:#111827;
}
.admin-venta-fin-card__lead{
  margin:0 0 12px;
  font-size:14px;
  max-width:52ch;
}
.admin-venta-fin-card{
  max-width:28rem;
  padding:14px 16px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#f9fafb;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.admin-venta-fin-card__row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px 16px;
  align-items:baseline;
  font-size:14px;
}
.admin-venta-fin-card__label{
  color:#4b5563;
}
.admin-venta-fin-card__value{
  font-variant-numeric:tabular-nums;
  text-align:right;
  font-weight:600;
  color:#111827;
  white-space:nowrap;
}
.admin-venta-fin-card__value--neg{
  color:#b45309;
}
.admin-venta-fin-card__value--total{
  font-size:17px;
  font-weight:700;
}
.admin-venta-fin-card__value--margen{
  font-size:16px;
  font-weight:700;
  color:#047857;
}
.admin-venta-fin-card__row--highlight{
  margin-top:4px;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
}
.admin-venta-fin-card__row--margen{
  margin-top:2px;
  padding-top:8px;
  border-top:1px dashed #d1d5db;
}
.admin-venta-fin-card__detail{
  margin:-2px 0 2px;
  padding-left:2px;
  font-size:13px;
  line-height:1.35;
}
.admin-venta-fin-card__sin-desc{
  margin:0;
  font-size:13px;
}
.admin-venta-fin-card__nota{
  margin:12px 0 0;
  max-width:52ch;
  font-size:13px;
}
.admin-venta-pago-ref{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  max-width:22rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-venta-cobro-ref{
  margin:0;
  font-size:15px;
  line-height:1.45;
  color:#111827;
}
@media (max-width: 640px){
  .admin-venta-fin-card{
    max-width:none;
  }
  .admin-venta-fin-card__row{
    gap:8px 12px;
  }
  .admin-venta-pago-ref{
    max-width:none;
    white-space:normal;
  }
}
.admin-venta-detail .admin-venta-details{
  margin-top:8px;
}
/* Tabla ítems vendidos (detalle): no heredar estilos de fieldset .admin-venta-item-card del formulario */
.admin-venta-items-table{
  table-layout:auto;
}
.admin-venta-items-table .admin-venta-item__producto{
  font-weight:600;
  color:#111827;
  text-align:left;
  min-width:10rem;
}
.admin-venta-items-table .admin-venta-item__margen{
  font-weight:600;
  color:#047857;
}
.admin-venta-items-table th.admin-venta-col--producto,
.admin-venta-items-table td.admin-venta-item__producto{
  text-align:left;
}
.admin-venta-items-table th.admin-venta-col--qty,
.admin-venta-items-table td.admin-venta-item__cantidad{
  text-align:center;
  width:4.25rem;
}
.admin-venta-items-table th.admin-venta-col--num,
.admin-venta-items-table td.admin-venta-item__precio,
.admin-venta-items-table td.admin-venta-item__costo,
.admin-venta-items-table td.admin-venta-item__subtotal-venta,
.admin-venta-items-table td.admin-venta-item__subtotal-costo,
.admin-venta-items-table td.admin-venta-item__margen{
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.admin-venta-items-table th.admin-venta-col--tipo,
.admin-venta-items-table td.admin-venta-item__tipo{
  text-align:left;
  min-width:6.5rem;
}
.admin-venta-items-table thead th{
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--muted);
  vertical-align:bottom;
  white-space:nowrap;
}
@media (min-width:901px){
  .admin-venta-items-table-wrap{
    overflow-x:auto;
  }
  .admin-venta-movs-table-wrap{
    overflow-x:auto;
  }
}
@media (max-width:900px){
  .admin-venta-summary{
    padding:16px 18px;
  }
  .admin-venta-summary__metrics > .admin-summary-card{
    padding:12px 14px;
  }
  .admin-venta-items-table-wrap,
  .admin-venta-movs-table-wrap{
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .admin-venta-items-table{
    display:block;
    width:100%;
  }
  .admin-venta-items-table thead{
    display:none;
  }
  .admin-venta-items-table tbody{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .admin-venta-items-table tr.admin-venta-item-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "producto producto"
      "cantidad precio"
      "costo subtotal"
      "margen margen";
    gap:0;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.05);
    overflow:hidden;
  }
  .admin-venta-items-table tr.admin-venta-item-row td{
    display:block;
    border:none;
    padding:10px 14px;
    text-align:left;
    white-space:normal;
  }
  .admin-venta-items-table tr.admin-venta-item-row td::before{
    display:block;
    margin-bottom:3px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    content:attr(data-label);
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__producto{
    grid-area:producto;
    padding:12px 14px;
    border-bottom:1px solid var(--border);
    background:#fafbfc;
    font-size:15px;
    text-align:left;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__producto::before{
    display:none;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__cantidad{
    grid-area:cantidad;
    text-align:left;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__precio{
    grid-area:precio;
    text-align:right;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__costo{
    grid-area:costo;
    text-align:left;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__subtotal-venta{
    grid-area:subtotal;
    text-align:right;
    font-weight:600;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-item__margen{
    grid-area:margen;
    grid-column:1 / -1;
    border-top:1px solid var(--border);
    font-weight:700;
    text-align:right;
  }
  .admin-venta-items-table tr.admin-venta-item-row td.admin-venta-col--desktop-only{
    display:none;
  }
  .admin-venta-movs-table-wrap .admin-table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Checkout */
.cart-summary__checkout{
  margin:16px 0 0;
}
.cart-checkout-hint{
  font-size:13px;
  line-height:1.55;
  font-weight:400;
  color:#868e96;
  max-width:100%;
  margin:12px 0 0;
}
.cart-minimo-banner{
  margin-top:16px;
}
.cart-minimo-banner .cart-notice.cart-notice--min{
  margin-bottom:0;
}
.cart-minimo-banner__title{
  margin:0 0 8px;
  padding:0;
  font-size:15px;
  line-height:1.45;
}
.cart-minimo-banner__title strong{
  font-weight:700;
}
.cart-minimo-banner__falta{
  margin:0 0 10px;
  font-size:15px;
  line-height:1.5;
  font-weight:500;
}
.cart-minimo-banner__agrega{
  margin:0;
  font-size:13px;
  line-height:1.45;
  font-weight:400;
  color:rgba(20, 83, 45, 0.88);
}
a.btn.cart-wa-order--blocked{
  pointer-events:none;
  cursor:not-allowed;
  opacity:0.58;
  text-decoration:none;
}
.cart-page .cart-clear-form{
  margin-top:18px;
}

/* Carrito: hero compacto (título + ayudas, sin competir con la tabla) */
.cart-page .hero-text--cart{
  gap:10px;
}
.cart-page .hero-text--cart .rule{
  margin:2px 0 4px;
}
.cart-page .hero-text--cart h1{
  font-size:clamp(22px, 2.5vw, 30px);
  line-height:1.12;
  margin:0;
}
.cart-page .hero-text--cart .cart-hero__lead{
  margin:0;
  font-size:clamp(14px, 1.35vw, 16px);
  line-height:1.5;
  max-width:48ch;
}
.cart-page .hero-text--cart .cart-hero__note{
  margin:0;
  font-size:13px;
  line-height:1.45;
  max-width:52ch;
}
.checkout-page > h1{
  margin:0 0 12px;
}
.checkout-page > .rule{
  margin:0 0 20px;
}
.checkout-page > .checkout-lead{
  margin:0 0 30px;
  font-size:clamp(16px, 1.35vw, 18px);
  line-height:1.55;
  color:#374151;
  max-width:42ch;
}
.checkout-page > .checkout-errors{
  margin:0 0 24px;
}
.checkout-errors{
  background:#fef2f2;
  border:1px solid #fecaca;
  border-radius:12px;
  padding:14px 16px;
  margin:0 0 22px;
  font-size:15px;
  color:#991b1b;
}
.checkout-errors ul{ margin:8px 0 0 1.2em; }
.checkout-layout{
  display:grid;
  grid-template-columns:1fr min(360px, 100%);
  gap:32px;
  align-items:start;
}
@media (max-width:900px){
  .checkout-layout{ grid-template-columns:1fr; }
}
.checkout-form-wrap h2,
.checkout-summary h2{
  font-size:20px;
  font-weight:700;
  margin:0 0 14px;
}
.checkout-form{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:520px;
}
.checkout-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:14px;
  color:#374151;
}
.checkout-form input,
.checkout-form textarea,
.checkout-form select{
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  font-family:inherit;
  font-size:15px;
  background:#fff;
  max-width:100%;
}
.checkout-zona-fieldset{
  border:0;
  margin:0;
  padding:0;
  min-width:0;
}
.checkout-zona-legend{
  font-size:14px;
  font-weight:600;
  color:#374151;
  margin:0 0 10px;
  padding:0;
}
.checkout-zona-options{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}
.checkout-zona-option{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  color:var(--text);
  cursor:pointer;
  font-weight:500;
}
.checkout-zona-option input{
  width:18px;
  height:18px;
  accent-color:var(--brand);
  flex-shrink:0;
}
.checkout-zona-panel{
  margin-top:4px;
}
.checkout-zona-footnote{
  font-size:13px;
  margin:8px 0 0;
  line-height:1.45;
}
.checkout-summary{
  background:#f9fafb;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px 20px;
}
.checkout-summary-list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:15px;
}
.checkout-summary-list li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.checkout-summary-list li:last-child{ border-bottom:0; padding-bottom:0; }
.checkout-summary-name{ flex:1; min-width:0; }
.checkout-summary-price{ font-weight:600; color:var(--brand); flex-shrink:0; }
.checkout-summary-total{ font-size:17px; margin:8px 0 0; }
.checkout-summary-billing{ font-size:13px; margin-top:8px; line-height:1.45; }
.checkout-summary-note{ font-size:13px; margin-top:12px !important; }
/* Facturación: el .sub global limita a 52ch; acá usamos todo el ancho del formulario. */
.checkout-form .checkout-factura-h2{
  margin:32px 0 6px;
  font-size:19px;
  line-height:1.25;
}
.checkout-form p.checkout-factura-hint.sub,
.checkout-form .checkout-factura-hint{
  display:block;
  max-width:none;
  width:100%;
  margin:0 0 18px !important;
  font-size:14px;
  line-height:1.58;
}
.checkout-factura-fieldset{
  margin-top:0;
}
/* Tipo de comprobante: columna (solo facturación; GBA/CABA sigue con .checkout-zona-options horizontal). */
.checkout-factura-fieldset .checkout-factura-options{
  flex-direction:column;
  align-items:stretch;
  flex-wrap:nowrap;
  gap:12px;
}
.checkout-factura-fieldset .checkout-factura-option{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  width:100%;
  margin:0;
}
.checkout-factura-fieldset .checkout-factura-option input[type="radio"]{
  margin:0;
  flex-shrink:0;
}
.checkout-factura-fieldset .checkout-factura-option span{
  flex:1;
  min-width:0;
  line-height:1.45;
}
.checkout-factura-panel{ margin-top:10px; }
.checkout-form p.checkout-factura-panel-hint.sub,
.checkout-form .checkout-factura-panel-hint{
  display:block;
  max-width:none;
  width:100%;
  margin:0 0 14px !important;
  font-size:13px;
  line-height:1.55;
}
.checkout-exito-factura__lead{ margin:0 0 12px !important; font-size:14px; line-height:1.45; }

/* Página éxito pedido (sin MP / flujo manual) */
.checkout-exito-page{
  max-width:min(560px, 100%);
  margin:0 auto;
}
.checkout-exito-title{
  font-size:clamp(26px, 3vw, 34px);
  font-weight:800;
  letter-spacing:-0.02em;
  margin:0 0 10px;
  line-height:1.1;
}
.checkout-exito-page > .rule{
  margin:0 0 22px;
}
.checkout-exito-lead{
  margin:0 0 28px;
}
.checkout-exito-lead .checkout-exito-line{
  margin:0 0 8px;
  max-width:none;
}
.checkout-exito-lead .checkout-exito-line:last-child{
  margin-bottom:0;
}
.checkout-exito-code-block{
  margin:0 0 28px;
  padding:18px 20px;
  background:linear-gradient(180deg, #fafbfc 0%, #f3f5f7 100%);
  border:1px solid var(--border);
  border-radius:14px;
  text-align:center;
}
.checkout-exito-code-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin:0 0 10px;
  font-weight:600;
}
.checkout-exito-codigo{
  margin:0;
  font-size:clamp(17px, 3.4vw, 22px);
  font-weight:700;
  font-family:ui-monospace, 'Cascadia Code', 'Segoe UI Mono', monospace;
  letter-spacing:.03em;
  color:var(--brand);
  line-height:1.25;
  word-break:break-all;
}
.checkout-exito-card{
  background:#f9fafb;
  border:1px solid var(--border);
  border-radius:14px;
  padding:20px 22px 18px;
  margin:0 0 28px;
}
.checkout-exito-card__title{
  font-size:17px;
  font-weight:700;
  margin:0 0 14px;
  color:var(--text);
}
.checkout-exito-card__list{
  margin-bottom:14px !important;
}
.checkout-exito-card .checkout-summary-list li:last-child{
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.checkout-exito-total{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  margin:0;
  padding-top:14px;
  border-top:1px solid rgba(229,231,235,.9);
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:700;
  color:var(--text);
}
.checkout-exito-total__label{
  font-weight:700;
  color:#374151;
}
.checkout-exito-total__value{
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:800;
  color:var(--brand);
  letter-spacing:-0.02em;
}
.checkout-exito-factura__title{
  font-size:16px;
  margin:18px 0 8px;
  font-weight:700;
}
.checkout-exito-factura-dl{
  margin:0 0 8px;
  font-size:14px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 14px;
}
.checkout-exito-factura-dl dt{
  font-weight:600;
  color:#374151;
}
.checkout-exito-factura-dl dd{ margin:0; }
.checkout-exito-closing{
  margin:0 0 28px;
}
.checkout-exito-closing .sub{
  margin:0 0 10px;
  max-width:none;
}
.checkout-exito-closing .sub:last-child{
  margin-bottom:0;
}
.checkout-exito-ctas{
  margin-top:8px;
}

/* Retorno de pago (legacy): tarjeta blanca; clases compartidas con éxito de pedido */
.payment-return{
  margin-bottom:clamp(28px, 5vw, 48px);
}
.payment-return-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:clamp(22px, 4vw, 36px);
  box-shadow:0 4px 28px rgba(0,0,0,.045);
}
.payment-return-card > .kicker{
  margin-top:0;
  margin-bottom:12px;
}
.payment-return-card > h1{
  margin-top:0;
  margin-bottom:12px;
}
.payment-return-card > .rule{
  margin:0 0 20px;
}
.payment-return-card .payment-return__text{
  margin:0 0 14px;
  max-width:52ch;
  font-size:clamp(15px, 1.25vw, 17px);
  line-height:1.55;
  color:#374151;
}
.payment-return-card .payment-return__detail{
  margin:16px 0 0;
  max-width:52ch;
  font-size:15px;
  line-height:1.55;
  color:#4b5563;
}
.payment-return-card .payment-return__code{
  margin:20px 0 0;
}
.payment-return-card .payment-return-ctas{
  margin-top:28px;
}
.payment-return-ctas .btn{
  min-width:min(100%, 168px);
  justify-content:center;
}
@media (max-width:520px){
  .payment-return-ctas{
    flex-direction:column;
    align-items:stretch;
  }
  .payment-return-ctas .btn{
    width:100%;
    min-width:0;
  }
}

.checkout-exito-h2{
  font-size:18px;
  margin:24px 0 12px;
}
.checkout-summary-list--compact{ margin-bottom:12px; }

/* Cómo pedir: hero intro (bajada, menos protagonista) */
.page-inner .hero-text.como-comprar-hero{
  gap:10px;
}
.page-inner .hero-text.como-comprar-hero .rule{
  margin:4px 0 6px;
}
.page-inner .hero-text.como-comprar-hero > .sub{
  margin:0;
  font-size:clamp(14px, 1.25vw, 15.5px);
  line-height:1.45;
  max-width:min(680px, 100%);
}
.page-inner .hero-text.como-comprar-hero > .sub.muted-soft{
  font-size:13px;
  line-height:1.45;
  max-width:min(680px, 100%);
  color:#6b7280;
}

/* Cómo comprar */
.como-comprar-body{
  margin-top:20px;
}

.como-comprar-h2{
  font-size:clamp(20px, 2.5vw, 24px);
  font-weight:700;
  margin:28px 0 14px;
  letter-spacing:-0.02em;
}
.como-comprar-body .como-comprar-h2:first-child{
  margin-top:0;
}
.como-comprar-steps{
  list-style:none;
  margin:0 0 8px;
  padding:0;
  counter-reset: paso;
}
.como-comprar-steps li{
  position:relative;
  padding:0 0 20px 2.1rem;
  font-size:clamp(16px, 1.25vw, 17px);
  line-height:1.55;
  color:#374151;
  margin-left:0;
}
.como-comprar-steps li:last-child{
  padding-bottom:0;
}
.como-comprar-steps li::after{
  content:"";
  position:absolute;
  left:11px;
  top:24px;
  bottom:0;
  width:2px;
  background:rgba(25,94,48,.2);
}
.como-comprar-steps li:last-child::after{
  display:none;
}
.como-comprar-steps li::before{
  counter-increment: paso;
  content: counter(paso);
  position:absolute;
  left:0;
  transform:none;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.como-comprar-steps strong{
  color:var(--text);
  font-weight:600;
}
.como-comprar-ctas{
  margin-top:28px;
  flex-wrap:wrap;
}

.como-comprar-steps-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.como-comprar-step-card{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:14px 14px 15px;
}

.como-comprar-step-card__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  font-weight:700;
  margin-bottom:10px;
}

.como-comprar-step-card h3{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.3;
}

.como-comprar-step-card p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:#4b5563;
}

.como-comprar-envios-panel{
  margin-top:6px;
  border:1px solid rgba(25,94,48,.2);
  border-radius:14px;
  background:rgba(25,94,48,.03);
  padding:16px 16px;
}

.como-comprar-envios .sub{
  max-width:none;
  font-size:clamp(15px, 1.15vw, 16px);
  line-height:1.62;
  color:#4b5563;
}

.como-comprar-envios-list{
  list-style:none;
  margin:0;
  padding-left:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.como-comprar-envios-list li{
  position:relative;
  padding-left:1.2rem;
  margin:0;
}

.como-comprar-envios-list .sub{
  max-width:none;
}

.como-comprar-envios-list--slightly-smaller li.sub{
  font-size:14px;
  line-height:1.52;
}

.como-comprar-envios-list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--brand);
  font-weight:700;
  font-size:1.1em;
  line-height:1.2;
}

.como-comprar-ctas{
  gap:10px;
}

.como-comprar-ctas .btn-primary{
  min-width:180px;
}

@media (max-width:900px){
  .como-comprar-steps-grid{
    grid-template-columns:1fr;
  }
}

/* Legal minimum package */
.footer{
  align-items:flex-start;
}

.footer-meta{
  display:flex;
  flex-direction:column;
  gap:3px;
  max-width:100%;
  flex:1;
}

.footer-copy{
  margin:0;
}

.footer-company{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:#6b7280;
}

.footer-links{
  gap:14px;
}

.footer-links a{
  font-size:12px;
}

.footer-links--legal{
  justify-content:flex-start;
  margin-top:0;
}

.footer-links--social{
  justify-content:flex-end;
  min-width:max-content;
}

.mandu-install-app-btn-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 16px;
  border:1px solid rgba(25,94,48,.24);
  border-radius:999px;
  background:#fff;
  color:#2f4f3a;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}

.mandu-install-app-btn-inline:hover{
  border-color:rgba(25,94,48,.45);
  color:var(--brand);
}

.mandu-install-app-btn-inline:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}

.mandu-install-app-inline-help{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.45;
  color:#4b5563;
  max-width:44ch;
}

@media (min-width:769px){
  .mandu-install-app-btn-inline{
    display:none !important;
  }
}

.footer-meta a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid transparent;
}

.footer-meta a:hover{
  color:var(--brand);
  border-bottom-color:rgba(25,94,48,.35);
}

@media (min-width:641px) and (max-width:1024px){
  .footer{
    gap:8px;
  }

  .footer-links{
    gap:8px 10px;
  }

  .footer-links--legal{
    justify-content:flex-start;
    margin-top:0;
  }
}

.checkout-legal-compact{
  margin-top:2px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fafbfc;
}

.checkout-legal-compact p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:#4b5563;
}

.checkout-legal-compact p + p{
  margin-top:6px;
}

.checkout-legal-compact__provider{
  color:#374151 !important;
}

.checkout-legal-compact__links a{
  color:var(--brand);
  text-decoration:none;
}

.checkout-legal-compact__links a:hover{
  text-decoration:underline;
}

@media (max-width:640px){
  .footer-company{
    font-size:11px;
  }

  .footer-links a{
    font-size:11px;
  }

  .footer-links--legal,
  .footer-links--social{
    width:100%;
    justify-content:flex-start;
  }

  .footer-links--legal{
    margin-top:0;
  }

  .checkout-legal-compact{
    padding:10px 12px;
  }
}

/* —— Admin operación / freezer (Fase 1) —— */
.admin-stats-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  margin:0 0 16px;
}
.admin-stats-grid--compact{
  margin-bottom:20px;
}
.admin-dashboard-card--highlight{
  border-color:rgba(25,94,48,.35);
  box-shadow:0 0 0 1px rgba(25,94,48,.12);
}
.admin-filter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
}
.admin-filter-tabs a{
  padding:6px 12px;
  border-radius:8px;
  border:1px solid var(--border);
  font-size:14px;
  text-decoration:none;
  color:inherit;
}
/* Reportes operación: panel operativo, ventas, estadísticas */
.admin-report-page{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.admin-page-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin-bottom:0;
}
.admin-page-head h1{
  margin:0;
}
.admin-page-head > h1 + .admin-page-head__lead,
.admin-page-head > h1 + .admin-page-head__meta{
  margin-top:8px;
}
.admin-page-head > h1 + .admin-page-actions,
.admin-page-head > .admin-page-head__lead + .admin-page-actions,
.admin-page-head > .admin-page-head__meta + .admin-page-actions{
  margin-top:14px;
}
.admin-page-head__lead{
  margin:0;
  max-width:52ch;
  font-size:14px;
  line-height:1.45;
}
.admin-page-head__meta{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
.admin-page-head > .admin-page-head__lead + .admin-page-actions,
.admin-page-head > .admin-page-head__meta + .admin-page-actions{
  margin-top:10px;
}
.admin-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:0;
}
.admin-metric-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
  gap:12px;
  margin:0;
}
.admin-metric-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.admin-metric-card__label{
  margin:0;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  line-height:1.3;
}
.admin-metric-card__value{
  margin:0;
  font-size:clamp(18px, 2vw, 22px);
  font-weight:700;
  color:var(--text);
  letter-spacing:-0.02em;
  line-height:1.2;
}
.admin-metric-card > .admin-muted{
  margin:2px 0 0;
  font-size:12px;
  line-height:1.4;
}
.admin-report-filters{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.admin-report-filters .admin-filter-tabs{
  margin:0;
}
.admin-report-filters .admin-form--inline-filters{
  margin:0;
  max-width:100%;
}
.admin-report-section{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0;
}
.admin-report-section__meta{
  margin:0;
  font-size:14px;
}
.admin-table--report th:not(:first-child),
.admin-table--report td:not(:first-child){
  text-align:right;
  white-space:nowrap;
}
.admin-stats-grid > .admin-summary-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  grid-template-columns:unset;
}
.admin-stats-grid > .admin-summary-card .admin-summary-card__label{
  margin:0 0 6px;
}
.admin-stats-grid > .admin-summary-card .admin-summary-card__value{
  font-size:clamp(18px, 2vw, 22px);
  font-weight:700;
  letter-spacing:-0.02em;
}
@media (max-width:640px){
  .admin-page-actions .btn{
    flex:1 1 auto;
    justify-content:center;
    min-width:min(100%, 10rem);
  }
  .admin-report-filters .admin-form--inline-filters{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-report-filters .admin-form--inline-filters > label{
    width:100%;
  }
  .admin-report-filters .admin-form--inline-filters input[type="date"]{
    width:100%;
    min-height:44px;
  }
}
.admin-filter-tabs a.is-active,
.admin-filter-tabs a:hover{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}
.admin-filter-tabs a.is-active:hover{
  background:var(--brand-dark);
  border-color:var(--brand-dark);
}
.admin-stock-row--critico td,
.admin-stock-row--critico{
  background:#fef2f2;
}
.admin-stock-row--alerta td,
.admin-stock-row--alerta{
  background:#fffbeb;
}
.admin-stock-row-form{
  margin:0;
}
.admin-stock-row-form .admin-stock-field{
  display:none;
}
.admin-table-wrap--stock .admin-stock-table{
  table-layout:fixed;
  width:100%;
}
.admin-table-wrap--stock .admin-stock-table th:nth-child(1){ width:16%; }
.admin-table-wrap--stock .admin-stock-table th:nth-child(8){ width:7rem; }
.admin-stock-table th,
.admin-stock-table td{
  vertical-align:top;
}
.admin-table-wrap--stock .admin-stock-table td.admin-stock-card__cell{
  vertical-align:top;
  padding-top:12px;
}
.admin-stock-table input,
.admin-stock-table textarea,
.admin-stock-table button{
  margin-top:0;
}
.admin-stock-table .admin-stock-ars-preview,
.admin-stock-table .help,
.admin-stock-table small{
  display:block;
  margin-top:4px;
  line-height:1.25;
}
.admin-stock-field--cell{
  align-items:flex-start;
}
.admin-stock-card__actions .btn,
.admin-stock-card__actions .admin-stock-save{
  align-self:flex-start;
}
.admin-stock-field--cell{
  margin:0;
  min-width:0;
  width:100%;
}
.admin-stock-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:72px;
}
.admin-stock-field--wide{
  flex:1 1 140px;
  min-width:120px;
}
.admin-stock-field__label{
  font-size:11px;
  font-weight:600;
  color:rgba(0,0,0,.55);
}
.admin-stock-field input{
  width:100%;
  max-width:100px;
  padding:6px 8px;
  font-size:14px;
  border:1px solid var(--border);
  border-radius:10px;
  font-family:inherit;
}
.admin-stock-field--wide input{
  max-width:none;
}
.admin-stock-card__cell--usd .admin-stock-field{
  min-width:108px;
}
.admin-stock-ars-preview--legacy{
  color:var(--muted, #6b7280);
  font-style:italic;
}
.admin-stock-ars-preview--usd{
  color:inherit;
}
.admin-stock-ars-preview--empty{
  color:var(--muted, #6b7280);
}
.admin-stock-ars-preview{
  display:block;
  font-size:11px;
  line-height:1.35;
  margin-top:4px;
  color:rgba(0,0,0,.55);
}
.admin-productos-stock-page .admin-panel__head .admin-muted{
  max-width:min(720px, 100%);
}
.admin-stock-form-unico{
  margin:0;
}
.admin-stock-form-unico.admin-table-wrap--stock{
  overflow-x:auto;
}
.admin-stock-row-form--table{
  display:contents;
}
.admin-stock-min-hint{
  margin:0 0 12px;
  max-width:min(720px, 100%);
}
.admin-stock-pricing-rules{
  margin:0 0 20px;
  padding:14px 16px;
  max-width:min(52rem, 100%);
  background:#f8fafc;
  border:1px solid var(--border, #e5e7eb);
  border-radius:10px;
  font-size:13px;
  line-height:1.5;
  color:#4b5563;
}
.admin-stock-pricing-rules__title{
  margin:0 0 10px;
  font-size:14px;
  font-weight:600;
  color:#374151;
}
.admin-stock-pricing-rules__list{
  margin:0;
  padding-left:1.25rem;
}
.admin-stock-pricing-rules__list li{
  margin:6px 0;
}
.admin-stock-pricing-rules__list li strong{
  color:#1f2937;
  font-weight:600;
}
.admin-stock-th--min{
  white-space:normal;
  min-width:5.5rem;
}
.admin-stock-card__actions{
  text-align:left;
}
.admin-stock-card__head .admin-stock-card__title-row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px 12px;
  margin-bottom:4px;
}
.admin-stock-card__name{
  font-size:15px;
  line-height:1.35;
  flex:1 1 12rem;
}
.admin-stock-status{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  border:1px solid var(--border);
  background:#fff;
  color:#374151;
}
.admin-stock-status--ok{
  background:#ecfdf5;
  border-color:rgba(4,120,87,.22);
  color:#047857;
}
.admin-stock-status--alerta{
  background:#fffbeb;
  border-color:rgba(180,83,9,.25);
  color:#92400e;
}
.admin-stock-status--critico{
  background:#fef2f2;
  border-color:rgba(185,28,28,.22);
  color:#991b1b;
}
.admin-stock-card__stock-line{
  margin:8px 0 0;
  font-size:14px;
  color:#374151;
}
.admin-stock-card__stock-line strong{
  font-weight:700;
  color:#111827;
}
@media (min-width:901px){
  .admin-table-wrap--stock{
    overflow-x:auto;
  }
  .admin-table-wrap--stock .admin-stock-table td.admin-stock-card__head{
    min-width:10rem;
    vertical-align:top;
  }
  .admin-table-wrap--stock .admin-stock-table td.admin-stock-card__cell{
    vertical-align:top;
    padding:12px 8px 10px;
  }
  .admin-stock-card__stock-line,
  .admin-stock-status{
    display:none;
  }
  .admin-stock-card__head .admin-stock-card__title-row{
    display:block;
    margin-bottom:0;
  }
  .admin-stock-card__name{
    display:block;
    font-size:inherit;
  }
  .admin-stock-field--cell .admin-stock-field__label{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .admin-stock-field--cell input{
    max-width:none;
    width:100%;
    min-width:4.25rem;
  }
  .admin-stock-card__actions{
    text-align:center;
    white-space:nowrap;
  }
  .admin-stock-card__actions .admin-stock-save{
    min-height:auto;
    width:100%;
    max-width:6.5rem;
  }
}
@media (max-width:900px){
  .admin-table-wrap--stock{
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .admin-stock-table{
    display:block;
    width:100%;
    border-collapse:separate;
  }
  .admin-stock-table thead{
    display:none;
  }
  .admin-stock-table tbody{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .admin-stock-table tr.admin-stock-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    overflow:hidden;
  }
  .admin-stock-table tr.admin-stock-row--critico{
    border-color:rgba(185,28,28,.22);
    background:#fff;
  }
  .admin-stock-table tr.admin-stock-row--alerta{
    border-color:rgba(180,83,9,.28);
    background:#fff;
  }
  .admin-stock-table tr.admin-stock-card td{
    display:block;
    width:100%;
    border-bottom:none;
    padding:0;
  }
  .admin-stock-table tr.admin-stock-card td.admin-stock-card__head{
    grid-column:1 / -1;
    padding:14px 16px 12px;
    border-bottom:1px solid var(--border);
    background:rgba(249,250,251,.9);
  }
  .admin-stock-table tr.admin-stock-row--critico td.admin-stock-card__head{
    background:#fef2f2;
  }
  .admin-stock-table tr.admin-stock-row--alerta td.admin-stock-card__head{
    background:#fffbeb;
  }
  .admin-stock-table tr.admin-stock-card td.admin-stock-card__cell{
    padding:0 16px 12px;
  }
  .admin-stock-table tr.admin-stock-card td.admin-stock-card__cell--stock{
    grid-column:1 / -1;
    padding-top:14px;
  }
  .admin-stock-table tr.admin-stock-card td.admin-stock-card__actions{
    grid-column:1 / -1;
  }
  .admin-stock-field{
    min-width:0;
    width:100%;
  }
  .admin-stock-field__label{
    font-size:12px;
    color:var(--muted);
  }
  .admin-stock-field input{
    max-width:none;
    min-height:44px;
    padding:10px 12px;
    font-size:16px;
  }
  .admin-stock-card__actions{
    margin-top:0;
    padding:4px 16px 16px;
    border-top:1px solid var(--border);
    text-align:left;
  }
  .admin-stock-card__actions .admin-stock-save{
    width:100%;
    min-height:48px;
    padding:12px 16px;
    font-size:16px;
    font-weight:600;
    border-radius:12px;
  }
}
.admin-table__sub{
  display:block;
  font-size:12px;
}
.admin-main .btn--sm{
  padding:8px 14px;
  font-size:14px;
  border-radius:10px;
}
/* Login admin */
.admin-panel--login{
  display:flex;
  justify-content:center;
  padding-top:24px;
}
.admin-login-card{
  width:100%;
  max-width:22rem;
  margin:0 auto;
}
.admin-login-card__title{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-0.02em;
}
.admin-login-card__lead{
  margin:0 0 16px;
  font-size:14px;
}
.admin-login-form{
  max-width:none;
  margin-top:0;
}
@media (max-width:900px){
  .admin-panel--login{
    padding-top:12px;
  }
  .admin-login-card{
    max-width:100%;
  }
}
/* Formulario nueva venta manual */
.admin-venta-form .admin-back-button{
  margin:0 0 16px;
}
.admin-venta-form__form{
  display:flex;
  flex-direction:column;
  gap:20px;
  max-width:960px;
}
.admin-venta-form-section{
  margin:0;
}
.admin-venta-tipo-precio-hint{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.4;
}
.admin-venta-items__list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.admin-venta-items__toolbar{
  margin:14px 0 0;
}
.admin-venta-resumen{
  border-color:rgba(5,150,105,.22);
  background:linear-gradient(180deg, #f8fdfb 0%, #fff 100%);
}
.admin-venta-resumen__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px 20px;
  margin:0 0 20px;
}
.admin-venta-resumen__row{
  margin:0;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
.admin-venta-resumen__row dt{
  margin:0 0 4px;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.admin-venta-resumen__row dd{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#111827;
}
.admin-venta-resumen__grid--nums .admin-venta-resumen__row dd{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.admin-venta-resumen__row--total dd{
  font-size:20px;
}
.admin-venta-resumen__row--margen dd{
  color:#047857;
}
.admin-venta-resumen__row--descuento dd{
  color:#b45309;
}
.admin-venta-descuento-block{
  margin:0 0 14px;
  padding:10px 12px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fafbfc;
}
.admin-venta-descuento-form .admin-venta-descuento-block{
  margin-bottom:12px;
}
.admin-venta-descuento-block__title{
  font-size:13px;
  font-weight:700;
  margin:0 0 6px;
  padding:0;
}
.admin-venta-descuento-block__hint{
  margin:0 0 8px;
  font-size:13px;
  line-height:1.4;
}
.admin-venta-descuento-block__tipos{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:0 0 10px;
}
.admin-venta-descuento-block__fields{
  display:grid;
  grid-template-columns:minmax(120px, 160px) minmax(140px, 1fr);
  gap:8px 12px;
  align-items:end;
  max-width:36rem;
}
.admin-venta-descuento-block__subtotal{
  margin:10px 0 0;
  font-size:13px;
}
.admin-venta-descuento-radio{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.admin-venta-descuento-valor-wrap,
.admin-venta-descuento-motivo-wrap{
  display:block;
  margin:0;
  font-size:13px;
}
.admin-venta-descuento-valor-wrap input,
.admin-venta-descuento-motivo-wrap input{
  display:block;
  width:100%;
  max-width:none;
  margin-top:4px;
  min-height:40px;
  font-size:15px;
}
@media (max-width:600px){
  .admin-venta-descuento-block__fields{
    grid-template-columns:1fr;
    max-width:none;
  }
}
.admin-venta-summary__value--descuento{
  color:#b45309;
}
.admin-venta-fin-desc{
  display:block;
  font-size:12px;
  margin-top:2px;
}
.admin-venta-rentabilidad__descuento{
  color:#b45309;
  font-weight:600;
}
.admin-venta-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:center;
  padding-top:4px;
  border-top:1px solid var(--border);
}
.admin-venta-form-actions__submit{
  min-height:44px;
  padding-left:22px;
  padding-right:22px;
  font-weight:600;
}
/* Tarjetas de producto en formulario (venta-nueva, consumo, promo) — no aplicar a filas <tr> de tabla */
fieldset.admin-venta-item,
fieldset.admin-venta-item-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:0;
  margin:0;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  overflow:hidden;
}
.admin-venta-item__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid var(--border);
  background:#fafbfc;
}
.admin-venta-item__legend{
  font-weight:700;
  font-size:15px;
  padding:0;
  margin:0;
  color:#111827;
  float:none;
}
.admin-venta-item__remove{
  flex-shrink:0;
}
.admin-venta-item__grid{
  display:grid;
  gap:14px 16px;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  padding:14px 16px 16px;
}
.admin-venta-item__field--producto{
  grid-column:1 / -1;
}
.admin-venta-item__field--wide{
  grid-column:1 / -1;
}
.admin-venta-item__hint{
  grid-column:1 / -1;
  margin:0;
  font-size:13px;
  line-height:1.45;
}
.admin-venta-form .admin-form-card__grid label input,
.admin-venta-form .admin-form-card__grid label select,
.admin-venta-form .admin-form-card__grid label textarea{
  min-height:44px;
  font-size:16px;
}
.admin-venta-form .admin-form-card__grid label textarea{
  min-height:72px;
}
@media (max-width:900px){
  .admin-venta-form__form{
    gap:16px;
  }
  .admin-venta-item__grid{
    grid-template-columns:1fr;
  }
  .admin-venta-item__field--producto,
  .admin-venta-item__field--wide{
    grid-column:auto;
  }
  .admin-venta-resumen__grid{
    grid-template-columns:1fr;
  }
  .admin-venta-form-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-venta-form-actions .btn{
    width:100%;
    justify-content:center;
    min-height:48px;
  }
}
.admin-venta-totales{
  font-size:16px;
  font-weight:600;
  margin:16px 0;
}
.admin-stock-alerts{
  list-style:none;
  padding:0;
  margin:0;
}
.admin-stock-alerts__item{
  padding:8px 12px;
  border-radius:8px;
  margin:0 0 6px;
  font-size:14px;
}
.admin-panel__head{
  margin-bottom:20px;
}
.admin-panel__head h1{
  margin:0 0 8px;
}

