/* ══════════════════════════════════════════════════════════════
   Chef Teo — base compartida entre el home y la página de pedido.
   Lo específico de cada página va inline en su propio <style>.

   ⚠️ index.html y pedido.html lo cargan como "/estilos.css?v=2" — el
   navegador (y el CDN de Hostinger) lo cachean por un buen rato, y un
   cambio acá no se ve hasta que ese número suba. Cada vez que edites
   este archivo, subí el "?v=" en LOS DOS <link> que lo cargan.
   ══════════════════════════════════════════════════════════════ */

:root{
  --amarillo:#f6c445;
  --amarillo-hondo:#e0a91f;
  --pizarra:#3b4650;
  --pizarra-hondo:#232b32;
  --crema:#fdfbf6;
  --papel:#ffffff;
  --texto:#2a3138;
  --texto-suave:#6b767f;
  --linea:#e8e3d8;
  --verde:#2e7d5b;
  --rojo:#c0392b;
  --sombra:0 1px 2px rgba(35,43,50,.04), 0 8px 24px rgba(35,43,50,.06);
  --sombra-alta:0 2px 4px rgba(35,43,50,.06), 0 20px 48px rgba(35,43,50,.12);
  --radio:18px;
  --radio-sm:12px;
  --ancho:1180px;
  --paso:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--crema);color:var(--texto);
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.6;letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
button{font:inherit;color:inherit}
h1,h2,h3,h4{line-height:1.1;letter-spacing:-.03em;margin:0}
p{margin:0}
.envoltura{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}
.oculto{display:none !important}
.centro{text-align:center}
/* El atributo `hidden` trae display:none, pero cualquier regla de clase con
   display lo pisa (.btn es inline-flex). Sin este !important, esconder un
   botón con hidden simplemente no funciona. */
[hidden]{display:none !important}

/* ── encabezado ────────────────────────────────────────────── */
header{position:sticky;top:0;z-index:100;transition:background .3s var(--paso),box-shadow .3s var(--paso)}
header.pegado{background:rgba(253,251,246,.82);backdrop-filter:blur(16px) saturate(1.6);
  -webkit-backdrop-filter:blur(16px) saturate(1.6);box-shadow:0 1px 0 var(--linea)}
.barra{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  padding-block:clamp(12px,2vw,18px)}
.barra-nav{display:flex;gap:26px;font-size:14.5px;font-weight:500}
.barra-nav a{color:var(--texto-suave);text-decoration:none;transition:color .2s}
.barra-nav a:hover{color:var(--texto)}
.marca{display:flex;align-items:center;gap:10px;justify-self:center;text-decoration:none;color:inherit}
/* El logo es un JPG con fondo blanco. En vez de pelear con blend modes
   (fallan sobre fondos transparentes), lo presentamos como pastilla blanca
   a propósito: se lee como ícono de app. */
.marca img{width:44px;height:44px;border-radius:12px;background:#fff;
  box-shadow:0 1px 3px rgba(35,43,50,.1)}
.marca span{font-weight:900;font-size:19px;letter-spacing:-.04em;white-space:nowrap}
.barra-fin{justify-self:end;display:flex;align-items:center;gap:12px}
.hamburguesa{display:none;width:42px;height:42px;border:1px solid var(--linea);background:var(--papel);
  border-radius:11px;cursor:pointer;padding:0;place-items:center}
.hamburguesa span{display:block;width:17px;height:1.8px;background:var(--texto);border-radius:2px;
  transition:transform .3s var(--paso),opacity .2s}
.hamburguesa span+span{margin-top:4.5px}
.hamburguesa.abierta span:nth-child(1){transform:translateY(6.3px) rotate(45deg)}
.hamburguesa.abierta span:nth-child(2){opacity:0}
.hamburguesa.abierta span:nth-child(3){transform:translateY(-6.3px) rotate(-45deg)}

/* ── botones ───────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px;border-radius:100px;border:1px solid transparent;font-weight:600;font-size:15.5px;
  text-decoration:none;cursor:pointer;transition:transform .2s var(--paso),box-shadow .2s,background .2s;
  white-space:nowrap}
.btn:active{transform:scale(.975)}
.btn-primario{background:var(--pizarra);color:#fff;box-shadow:0 4px 14px rgba(59,70,80,.22)}
.btn-primario:hover{background:var(--pizarra-hondo);box-shadow:0 6px 20px rgba(59,70,80,.3)}
.btn-amarillo{background:var(--amarillo);color:var(--pizarra-hondo);box-shadow:0 4px 14px rgba(224,169,31,.3)}
.btn-amarillo:hover{background:var(--amarillo-hondo)}
.btn-linea{background:transparent;border-color:var(--linea);color:var(--texto)}
.btn-linea:hover{border-color:var(--texto-suave);background:var(--papel)}
.btn-sm{padding:10px 18px;font-size:14px}
.btn-grande{padding:17px 34px;font-size:17px}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none !important;box-shadow:none}

/* ── títulos ───────────────────────────────────────────────── */
.titulin{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--amarillo-hondo);margin-bottom:14px}
.titulo{font-size:clamp(30px,4.4vw,46px);font-weight:800;letter-spacing:-.038em}
.subtitulo{color:var(--texto-suave);font-size:clamp(16px,1.9vw,18.5px);margin-top:15px;max-width:56ch}
.centro .subtitulo{margin-inline:auto}

/* ── formularios ───────────────────────────────────────────── */
.campo{margin-bottom:16px}
.campo label{display:block;font-size:14.5px;font-weight:600;margin-bottom:7px}
.campo .ayuda{font-size:13px;color:var(--texto-suave);font-weight:400;margin-top:6px;line-height:1.5}
input[type=text],input[type=tel],input[type=email],textarea,select{
  width:100%;padding:14px 16px;border:1.5px solid var(--linea);border-radius:var(--radio-sm);
  background:var(--papel);font-family:inherit;font-size:16px;color:var(--texto);
  transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--amarillo-hondo);
  box-shadow:0 0 0 3px rgba(246,196,69,.18)}
input.malo,textarea.malo{border-color:var(--rojo)}
textarea{resize:vertical;min-height:96px}

/* ── opciones seleccionables ───────────────────────────────── */
.opcion{position:relative;border:1.5px solid var(--linea);border-radius:var(--radio-sm);
  padding:17px 19px;cursor:pointer;background:var(--papel);text-align:left;width:100%;
  transition:border-color .2s,background .2s,transform .15s var(--paso);display:block}
.opcion:hover{border-color:#cfc7b6}
.opcion:active{transform:scale(.99)}
.opcion.elegida{border-color:var(--amarillo-hondo);background:rgba(246,196,69,.09);
  box-shadow:0 0 0 3px rgba(246,196,69,.16)}
.opcion.cerrada{opacity:.5;cursor:not-allowed;background:var(--papel)}
.opcion.cerrada:hover{border-color:var(--linea)}
.opcion.cerrada .opcion-sub{color:var(--rojo)}
.opcion-titulo{font-weight:650;font-size:16.5px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.opcion-sub{font-size:14px;color:var(--texto-suave);margin-top:5px;line-height:1.5}
.opcion-precio{font-weight:700;font-size:16.5px;white-space:nowrap;text-align:right}
.fila-opcion{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.marquita{font-size:11px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;
  background:var(--amarillo);color:#7a5a06;padding:3px 9px;border-radius:100px}
.marquita.gris{background:#eee9dd;color:var(--texto-suave)}

/* ── avisos ────────────────────────────────────────────────── */
.aviso{border-radius:var(--radio-sm);padding:13px 16px;font-size:14.5px;line-height:1.55}
.aviso-error{background:rgba(192,57,43,.08);color:#96271b;border:1px solid rgba(192,57,43,.18)}
.aviso-info{background:rgba(246,196,69,.14);color:#7a5a06;border:1px solid rgba(224,169,31,.24)}
.aviso-ok{background:rgba(46,125,91,.09);color:#1f5f43;border:1px solid rgba(46,125,91,.2)}
.cargando{display:flex;align-items:center;gap:10px;color:var(--texto-suave);font-size:14.5px;padding-block:10px}
.giro{width:16px;height:16px;border:2px solid var(--linea);border-top-color:var(--amarillo-hondo);
  border-radius:50%;animation:girar .7s linear infinite;flex-shrink:0}
@keyframes girar{to{transform:rotate(360deg)}}

/* ── animación de entrada ──────────────────────────────────── */
[data-fade]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--paso),transform .7s var(--paso)}
[data-fade].visible{opacity:1;transform:none}

/* ── pie ───────────────────────────────────────────────────── */
footer{background:#16191c;color:rgba(255,255,255,.55);padding-block:56px 34px;font-size:14.5px}
.pie-top{display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;
  padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.pie-marca img{width:52px;border-radius:14px;background:#fff;margin-bottom:14px}
.pie-marca p{max-width:30ch;line-height:1.65}
.pie-links{display:flex;gap:52px;flex-wrap:wrap}
.pie-col h4{color:#fff;font-size:14px;font-weight:650;margin-bottom:14px}
.pie-col a{display:block;color:rgba(255,255,255,.55);text-decoration:none;padding-block:5px;transition:color .2s}
.pie-col a:hover{color:var(--amarillo)}
.pie-bajo{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;font-size:13px}
.redes{display:flex;gap:13px}
.redes a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);
  display:grid;place-items:center;color:rgba(255,255,255,.7);transition:background .2s,color .2s}
.redes a:hover{background:var(--amarillo);color:var(--pizarra-hondo)}

@media(max-width:760px){
  .barra-nav{display:none}
  .barra-nav.desplegada{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    gap:0;background:var(--papel);border-block:1px solid var(--linea);padding:12px 24px 20px;
    box-shadow:var(--sombra-alta)}
  .barra-nav.desplegada a{padding-block:13px;border-bottom:1px solid var(--linea);font-size:16px}
  .barra{grid-template-columns:auto auto 1fr}
  .marca{justify-self:start}
  .hamburguesa{display:grid;order:-1}
  .barra-fin .btn{padding:11px 18px;font-size:14px}
  .pie-links{gap:34px}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}
