/* D'Alba — estilos base (web y app). Primero celular. */
@font-face{font-family:"Inter";src:local("Inter"),local("Segoe UI"),local("Roboto");font-display:swap}
:root{
  --fondo:#0d100e; --fondo2:#151a16; --tarjeta:#1b211c; --linea:#2a332c;
  --texto:#f3efe4; --suave:#b9b6aa; --crema:#f3ecd9;
  --verde:#2e7d32; --verde2:#3f9a44; --verdeclaro:#a5d6a7; --sol:#f2b705; --rojo:#d32f2f;
  --radio:16px; --sombra:0 8px 28px rgba(0,0,0,.35);
  --lado:max(20px,env(safe-area-inset-left)); --lado2:max(20px,env(safe-area-inset-right));
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fondo);color:var(--texto);font-family:Inter,"Segoe UI",Roboto,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--verdeclaro)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--sol);outline-offset:2px}
.envoltura{max-width:1120px;margin:0 auto;padding:0 var(--lado2) 0 var(--lado)}
.oculto{display:none!important}
.ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:999px;border:1px solid transparent;font-weight:700;cursor:pointer;text-decoration:none;background:var(--verde);color:#fff;transition:transform .08s,background .2s}
.btn:hover{background:var(--verde2)}
.btn:active{transform:scale(.98)}
.btn.sec{background:transparent;border-color:var(--linea);color:var(--texto)}
.btn.sec:hover{background:var(--tarjeta)}
.btn.sol{background:var(--sol);color:#1b1500}
.btn.peligro{background:var(--rojo)}
.btn.chico{min-height:44px;padding:8px 14px;font-size:.92rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
@media (max-width:640px){.btn.ancho-movil{width:100%}}

/* Encabezado */
.barra{position:sticky;top:0;z-index:20;background:rgba(13,16,14,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.barra .envoltura{display:flex;align-items:center;gap:12px;min-height:64px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--texto);font-weight:800;letter-spacing:.2px}
.marca img{width:40px;height:40px;border-radius:50%;background:var(--crema)}
.barra nav{margin-left:auto;display:flex;gap:6px;align-items:center}
.barra nav a{color:var(--texto);text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.95rem}
.barra nav a:hover{background:var(--tarjeta)}
@media (max-width:760px){.barra nav .solo-pc{display:none}}

/* Portada */
.portada{position:relative;min-height:78vh;display:grid;align-items:end;overflow:hidden}
.portada>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.portada::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,14,.15) 0%,rgba(13,16,14,.65) 55%,var(--fondo) 100%)}
.portada .envoltura{position:relative;z-index:1;padding-top:120px;padding-bottom:48px}
.etiqueta{display:inline-flex;align-items:center;gap:8px;background:rgba(46,125,50,.25);border:1px solid rgba(165,214,167,.35);color:var(--verdeclaro);padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:700}
h1{font-size:clamp(2.1rem,6vw,3.6rem);line-height:1.08;margin:16px 0 12px;letter-spacing:-.5px}
h2{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15;margin:0 0 12px}
h3{margin:0 0 6px;font-size:1.1rem}
.lead{font-size:1.12rem;color:var(--suave);max-width:640px}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media (max-width:640px){.acciones .btn{width:100%}}

section{padding:64px 0}
.titulo-sec{margin-bottom:28px}
.titulo-sec p{color:var(--suave);margin:0}

/* Tarjetas y grillas */
.grilla{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.tarjeta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);padding:20px}
.punto{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.punto .ic-caja{width:44px;height:44px;border-radius:12px;background:rgba(46,125,50,.2);display:grid;place-items:center;color:var(--verdeclaro)}
.punto p{margin:0;color:var(--suave);line-height:1.5}

/* Galería */
.galeria{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.galeria{grid-template-columns:repeat(4,1fr)}}
.galeria img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}

/* Productos */
.prod{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column}
.prod .foto{aspect-ratio:4/3;background:var(--fondo2);display:grid;place-items:center;color:var(--suave)}
.prod .foto img{width:100%;height:100%;object-fit:cover}
.prod .cuerpo{padding:14px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod .nom{font-weight:700;line-height:1.3}
.prod .det{color:var(--suave);font-size:.88rem}
.prod .precio{font-weight:800;font-size:1.1rem;color:var(--crema)}
.prod .precio small{color:var(--suave);font-weight:600;font-size:.8rem}
.prod .pie{margin-top:auto;display:flex;align-items:center;gap:8px;padding-top:8px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--linea);background:var(--fondo2);color:var(--texto);border-radius:999px;padding:10px 14px;min-height:44px;cursor:pointer;font-weight:600;font-size:.9rem}
.chip.activo{background:var(--verde);border-color:var(--verde);color:#fff}
.cant{display:flex;align-items:center;border:1px solid var(--linea);border-radius:999px;overflow:hidden}
.cant button{width:44px;height:44px;border:0;background:var(--fondo2);cursor:pointer;font-size:1.2rem}
.cant input{width:64px;height:44px;border:0;background:transparent;text-align:center;font-weight:700}

/* Formularios */
label{display:block;font-weight:600;margin:12px 0 6px;font-size:.92rem}
input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=date],select,textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--linea);background:var(--fondo2);outline:none}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--verde2)}
.casilla{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-weight:500;color:var(--suave)}
.casilla input{width:22px;height:22px;margin-top:2px}
.fila{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:640px){.fila.dos{grid-template-columns:1fr 1fr}}

/* App */
.app-cuerpo{padding-bottom:110px}
.pestañas{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(13,16,14,.96);border-top:1px solid var(--linea);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))}
.pestañas button{background:none;border:0;color:var(--suave);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;min-height:52px;font-size:.72rem;font-weight:600;cursor:pointer;position:relative}
.pestañas button.activo{color:var(--verdeclaro)}
.globo{position:absolute;top:2px;right:calc(50% - 22px);background:var(--sol);color:#1b1500;font-size:.68rem;font-weight:800;border-radius:999px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center}
.vista{padding-top:16px}
.lista{display:flex;flex-direction:column;gap:10px}
.item{background:var(--tarjeta);border:1px solid var(--linea);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.item .t{font-weight:700}
.item .s{color:var(--suave);font-size:.88rem}
.estado{display:inline-block;font-size:.75rem;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--fondo2);border:1px solid var(--linea)}
.estado.enviado{color:var(--sol);border-color:rgba(242,183,5,.4)}
.estado.confirmado{color:#90caf9;border-color:rgba(144,202,249,.4)}
.estado.facturado{color:var(--verdeclaro);border-color:rgba(165,214,167,.4)}
.estado.entregado{color:#fff;background:var(--verde);border-color:var(--verde)}
.estado.anulado{color:#ef9a9a;border-color:rgba(239,154,154,.4)}
.aviso{background:rgba(242,183,5,.1);border:1px solid rgba(242,183,5,.35);color:#ffe08a;border-radius:12px;padding:12px 14px;font-size:.9rem}
.aviso.verde{background:rgba(46,125,50,.15);border-color:rgba(165,214,167,.35);color:var(--verdeclaro)}
.carrito-barra{position:fixed;left:0;right:0;bottom:72px;z-index:25;padding:0 var(--lado2) 0 var(--lado)}
.carrito-barra .btn{width:100%;max-width:560px;margin:0 auto;display:flex;justify-content:space-between;box-shadow:var(--sombra)}
.tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla th,.tabla td{padding:10px 8px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.tabla td.n,.tabla th.n{text-align:right;white-space:nowrap}
.totales{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin-top:12px;max-width:340px;margin-left:auto}
.totales .g{font-weight:800;font-size:1.15rem;color:var(--crema)}
.chat{display:flex;flex-direction:column;gap:8px;min-height:50vh;max-height:62vh;overflow:auto;padding:8px 2px}
.msj{max-width:82%;padding:10px 14px;border-radius:16px;background:var(--tarjeta);border:1px solid var(--linea);line-height:1.45;white-space:pre-wrap;word-break:break-word}
.msj.mio{align-self:flex-end;background:var(--verde);border-color:var(--verde);color:#fff}
.msj small{display:block;opacity:.7;font-size:.72rem;margin-top:4px}
.chat-escribir{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}
dialog{border:1px solid var(--linea);background:var(--fondo2);color:var(--texto);border-radius:18px;padding:20px;width:min(560px,calc(100vw - 32px));max-height:88vh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.6)}
.toast{position:fixed;left:50%;bottom:150px;transform:translateX(-50%);background:var(--crema);color:#121212;padding:12px 18px;border-radius:12px;font-weight:700;z-index:99;box-shadow:var(--sombra);max-width:calc(100vw - 40px)}
.vacio{color:var(--suave);text-align:center;padding:32px 12px}
.demo-banda{background:var(--sol);color:#1b1500;text-align:center;font-weight:700;font-size:.85rem;padding:6px 12px}

/* Pie */
footer{border-top:1px solid var(--linea);padding:40px 0 calc(40px + env(safe-area-inset-bottom));color:var(--suave);font-size:.92rem}
footer .grilla{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer a{color:var(--texto)}
.wa-flotante{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:var(--sombra);z-index:40}

/* Proforma imprimible */
.proforma-hoja{background:#fff;color:#111;border-radius:12px;padding:20px}
.proforma-hoja .tabla th,.proforma-hoja .tabla td{border-color:#ddd}
.proforma-hoja .totales .g{color:#111}
@media print{
  body{background:#fff;color:#111}
  .no-imprimir,.barra,.pestañas,.carrito-barra,.wa-flotante,.demo-banda{display:none!important}
  dialog{position:static;border:0;width:auto;max-height:none;padding:0;background:#fff;color:#111}
  .proforma-hoja{padding:0}
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
.proforma-hoja .tabla-scroll{overflow-x:auto}
@media (max-width:520px){.proforma-hoja{padding:14px}.proforma-hoja .tabla{font-size:.8rem}.proforma-hoja .tabla th,.proforma-hoja .tabla td{padding:8px 4px}}

.grilla.prods{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
@media(min-width:760px){.grilla.prods{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}}
.prod .foto .ic{width:34px;height:34px;opacity:.45}
@media(max-width:520px){.prod .cuerpo{padding:10px 10px 12px}.prod .nom{font-size:.95rem}.prod .det{font-size:.82rem}.prod .pie .btn{width:100%;padding:8px 10px}.cant button{width:40px}.cant input{width:52px}}
.prod .pie .cant{width:100%}.prod .pie .cant input{flex:1;min-width:0;width:auto}

.prod .foto{position:relative}.prod .foto .ilustrativa{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.62);color:#fff;font-size:.72rem;padding:2px 8px;border-radius:999px;pointer-events:none}
