/* ===========================================================
   FU LU SHO — hoja de estilo principal
   =========================================================== */

:root{
  --negro:      #100D0B;
  --negro-2:    #1A1512;
  --negro-3:    #241D18;
  --rojo:       #B4121C;
  --rojo-vivo:  #D8232F;
  --oro:        #C4A26A;
  --oro-claro:  #E3CB9B;
  --crema:      #F5EFE4;
  --gris:       #A79C8D;
  --max:        1180px;
  --r:          14px;
  --sombra:     0 18px 50px rgba(0,0,0,.55);
  --serif:      "Playfair Display", Georgia, "Times New Roman", serif;
  --sans:       "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--negro); color:var(--crema);
  font-family:var(--sans); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit}

h1,h2,h3{font-family:var(--serif); font-weight:700; line-height:1.15; margin:0}
.contenedor{max-width:var(--max); margin:0 auto; padding:0 24px}

/* --- Cenefa griega (motivo del logo) ---------------------- */
.cenefa{
  height:8px;
  background:
    repeating-linear-gradient(90deg,
      var(--oro) 0 14px, transparent 14px 20px);
  opacity:.5;
}

/* --- Barra superior --------------------------------------- */
.top{
  background:var(--rojo); color:#fff; font-size:13.5px;
  letter-spacing:.06em; text-transform:uppercase; text-align:center;
  padding:9px 16px; font-weight:600;
}

header{
  position:sticky; top:0; z-index:60;
  background:rgba(16,13,11,.92); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(196,162,106,.22);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 24px; max-width:var(--max); margin:0 auto}
.marca{display:flex; align-items:center; gap:13px; text-decoration:none}
.marca img{width:52px; height:52px}
.marca b{font-family:var(--serif); font-size:21px; letter-spacing:.09em; color:var(--oro-claro); display:block; line-height:1}
.marca span{font-size:10.5px; letter-spacing:.28em; color:var(--gris); text-transform:uppercase}
.menu-nav{display:flex; gap:30px; list-style:none; margin:0; padding:0}
.menu-nav a{
  text-decoration:none; font-size:14px; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; color:var(--crema); padding:6px 0; position:relative;
}
.menu-nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--oro); transition:right .25s;
}
.menu-nav a:hover::after,.menu-nav a[aria-current]::after{right:0}
.btn-menu-movil{display:none; background:none; border:1px solid var(--oro); color:var(--oro); border-radius:8px; padding:8px 12px; font-size:18px; cursor:pointer}

/* --- Botones ---------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--rojo); color:#fff; text-decoration:none;
  padding:14px 28px; border-radius:100px; font-weight:700;
  font-size:15px; letter-spacing:.03em; border:none; cursor:pointer;
  transition:transform .18s, background .18s, box-shadow .18s;
  box-shadow:0 8px 24px rgba(180,18,28,.32);
}
.btn:hover{background:var(--rojo-vivo); transform:translateY(-2px); box-shadow:0 12px 30px rgba(180,18,28,.45)}
.btn-oro{background:transparent; border:1.5px solid var(--oro); color:var(--oro-claro); box-shadow:none}
.btn-oro:hover{background:var(--oro); color:var(--negro); box-shadow:none}

/* --- Portada ---------------------------------------------- */
.portada{
  position:relative; overflow:hidden; text-align:center;
  padding:96px 24px 108px;
  background:
    radial-gradient(ellipse 900px 520px at 50% 0%, rgba(180,18,28,.30), transparent 70%),
    linear-gradient(180deg, var(--negro-2), var(--negro));
}
.portada::before{
  content:""; position:absolute; inset:0;
  background:url("../img/dragon.png") center/620px no-repeat;
  opacity:.045; pointer-events:none;
}
.portada > *{position:relative}
.sello{
  width:132px; height:132px; margin:0 auto 26px;
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.7));
}
.portada h1{
  font-size:clamp(2.9rem, 8vw, 5.4rem); color:var(--oro-claro);
  letter-spacing:.03em; margin-bottom:6px;
}
.desde{
  display:inline-block; font-family:var(--serif); font-style:italic;
  font-size:clamp(1.15rem,3vw,1.6rem); color:var(--crema);
  border-top:1px solid rgba(196,162,106,.4); border-bottom:1px solid rgba(196,162,106,.4);
  padding:9px 34px; margin:16px 0 22px; letter-spacing:.14em;
}
.portada p.lead{
  max-width:600px; margin:0 auto 34px; color:var(--gris); font-size:1.08rem;
}
.acciones{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

/* --- Franja de datos -------------------------------------- */
.franja{
  display:grid; grid-template-columns:repeat(3,1fr);
  background:var(--negro-3); border-block:1px solid rgba(196,162,106,.2);
}
.franja div{padding:30px 20px; text-align:center; border-right:1px solid rgba(196,162,106,.13)}
.franja div:last-child{border-right:none}
.franja b{display:block; font-family:var(--serif); font-size:2.5rem; color:var(--oro); line-height:1}
.franja span{font-size:12.5px; letter-spacing:.17em; text-transform:uppercase; color:var(--gris)}

/* --- Secciones -------------------------------------------- */
section{padding:84px 0}
.titulo{text-align:center; margin-bottom:52px}
.titulo .ojo{
  display:block; font-size:12.5px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--rojo-vivo); font-weight:700; margin-bottom:12px;
}
.titulo h2{font-size:clamp(2rem,5vw,3rem); color:var(--oro-claro)}
.titulo p{color:var(--gris); max-width:620px; margin:14px auto 0}

/* --- Tarjetas de platos ----------------------------------- */
.platos{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px}
.plato{
  background:linear-gradient(180deg,var(--negro-2),var(--negro-3));
  border:1px solid rgba(196,162,106,.18); border-radius:var(--r);
  padding:26px 24px 28px; text-align:center;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.plato:hover{transform:translateY(-6px); border-color:rgba(196,162,106,.5); box-shadow:var(--sombra)}
.plato .foto{
  height:170px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.plato .foto img{max-height:170px; width:auto; border-radius:10px; filter:drop-shadow(0 14px 26px rgba(0,0,0,.6))}
.plato h3{font-size:1.4rem; color:var(--oro-claro); margin-bottom:7px}
.plato p{color:var(--gris); font-size:.94rem; margin:0 0 14px; min-height:44px}
.precio{
  display:inline-block; font-family:var(--serif); font-size:1.25rem; color:var(--crema);
  border:1px solid rgba(196,162,106,.35); border-radius:100px; padding:4px 18px;
}
.precio small{font-size:.68em; color:var(--gris); font-family:var(--sans); letter-spacing:.08em}

/* --- Historia --------------------------------------------- */
.historia{background:var(--negro-2); border-block:1px solid rgba(196,162,106,.16)}
.historia-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
.historia-grid h2{font-size:clamp(2rem,4.5vw,2.9rem); color:var(--oro-claro); margin-bottom:20px}
.historia-grid p{color:var(--gris); margin:0 0 18px}
.historia-grid strong{color:var(--crema); font-weight:600}
.sello-grande{max-width:340px; margin:0 auto; filter:drop-shadow(0 22px 50px rgba(0,0,0,.75))}
.hitos{list-style:none; padding:0; margin:26px 0 0}
.hitos li{
  padding:12px 0 12px 26px; border-left:2px solid rgba(196,162,106,.3);
  position:relative; color:var(--gris); font-size:.96rem;
}
.hitos li::before{
  content:""; position:absolute; left:-6px; top:20px;
  width:10px; height:10px; border-radius:50%; background:var(--oro);
}
.hitos b{color:var(--oro-claro); font-family:var(--serif); font-size:1.05rem; margin-right:8px}

/* --- Sucursales ------------------------------------------- */
.sucursales{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px}
.suc{
  background:var(--negro-2); border:1px solid rgba(196,162,106,.18);
  border-radius:var(--r); padding:28px 26px; position:relative;
  transition:border-color .25s, transform .25s;
}
.suc:hover{border-color:rgba(196,162,106,.5); transform:translateY(-4px)}
.suc.original{border-color:rgba(180,18,28,.55); background:linear-gradient(180deg,rgba(180,18,28,.10),var(--negro-2))}
.suc .etiqueta{
  position:absolute; top:-11px; left:26px; background:var(--rojo); color:#fff;
  font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  padding:5px 13px; border-radius:100px;
}
.suc h3{font-size:1.32rem; color:var(--oro-claro); margin-bottom:4px}
.suc .lugar{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--rojo-vivo); font-weight:700; margin-bottom:14px}
.suc .dato{display:flex; gap:11px; align-items:flex-start; color:var(--gris); font-size:.94rem; margin-bottom:9px}
.suc .dato svg{flex:0 0 17px; margin-top:3px; stroke:var(--oro); fill:none; stroke-width:1.7}
.suc .tel{color:var(--crema); font-weight:600; text-decoration:none; font-size:1.02rem}
.suc .tel:hover{color:var(--oro-claro)}
.suc .acciones-suc{margin-top:18px; display:flex; gap:10px; flex-wrap:wrap}
.mini{
  font-size:13px; padding:8px 16px; border-radius:100px; text-decoration:none;
  border:1px solid rgba(196,162,106,.4); color:var(--oro-claro); font-weight:600;
  transition:background .2s,color .2s;
}
.mini:hover{background:var(--oro); color:var(--negro)}

/* --- Llamado final ---------------------------------------- */
.cta{
  text-align:center;
  background:
    radial-gradient(ellipse 700px 400px at 50% 50%, rgba(180,18,28,.28), transparent 70%),
    var(--negro-2);
  border-block:1px solid rgba(196,162,106,.18);
}
.cta h2{font-size:clamp(1.9rem,4.5vw,2.8rem); color:var(--oro-claro); margin-bottom:14px}
.cta p{color:var(--gris); max-width:540px; margin:0 auto 30px}

/* --- Pie -------------------------------------------------- */
footer{background:#0A0807; padding:56px 0 30px; font-size:.92rem; color:var(--gris)}
.pie-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:44px; margin-bottom:38px}
footer h4{font-family:var(--serif); color:var(--oro-claro); font-size:1.1rem; margin:0 0 14px}
footer ul{list-style:none; padding:0; margin:0}
footer li{margin-bottom:9px}
footer a{color:var(--gris); text-decoration:none}
footer a:hover{color:var(--oro-claro)}
.pie-legal{border-top:1px solid rgba(196,162,106,.15); padding-top:22px; text-align:center; font-size:.85rem; color:#6B6157}

/* --- WhatsApp flotante ------------------------------------ */
.wa{
  position:fixed; right:22px; bottom:22px; z-index:80;
  width:58px; height:58px; border-radius:50%; background:#25D366;
  display:grid; place-items:center; box-shadow:0 10px 28px rgba(0,0,0,.5);
  transition:transform .2s;
}
.wa:hover{transform:scale(1.08)}
.wa svg{width:31px; height:31px; fill:#fff}

/* --- Responsive ------------------------------------------- */
@media (max-width:900px){
  .historia-grid{grid-template-columns:1fr; gap:38px}
  .pie-grid{grid-template-columns:1fr 1fr; gap:30px}
}
@media (max-width:720px){
  body{font-size:16px}
  section{padding:60px 0}
  .btn-menu-movil{display:block}
  .menu-nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; background:var(--negro-2);
    border-bottom:1px solid rgba(196,162,106,.25); padding:8px 0;
  }
  .menu-nav.abierto{display:flex}
  .menu-nav li{border-top:1px solid rgba(196,162,106,.1)}
  .menu-nav a{display:block; padding:15px 26px}
  .menu-nav a::after{display:none}
  .franja{grid-template-columns:1fr}
  .franja div{border-right:none; border-bottom:1px solid rgba(196,162,106,.13); padding:22px}
  .franja b{font-size:2rem}
  .portada{padding:64px 20px 76px}
  .pie-grid{grid-template-columns:1fr}
  .plato p{min-height:0}
}

/* ===========================================================
   PÁGINA DE MENÚ
   =========================================================== */
.cab-pagina{
  text-align:center; padding:70px 24px 56px;
  background:
    radial-gradient(ellipse 800px 400px at 50% 0%, rgba(180,18,28,.26), transparent 70%),
    var(--negro-2);
  border-bottom:1px solid rgba(196,162,106,.18);
}
.cab-pagina h1{font-size:clamp(2.3rem,6vw,3.6rem); color:var(--oro-claro); margin-bottom:12px}
.cab-pagina p{color:var(--gris); max-width:600px; margin:0 auto}

.barra-menu{
  position:sticky; top:78px; z-index:50;
  background:rgba(16,13,11,.96); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(196,162,106,.2); padding:16px 0;
}
.buscador{
  display:block; width:100%; max-width:420px; margin:0 auto 14px;
  background:var(--negro-3); border:1px solid rgba(196,162,106,.3);
  color:var(--crema); border-radius:100px; padding:12px 22px;
  font-family:var(--sans); font-size:15px;
}
.buscador::placeholder{color:#6B6157}
.buscador:focus{outline:none; border-color:var(--oro)}
.chips{display:flex; gap:9px; overflow-x:auto; padding:2px 24px 4px; scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto; background:transparent; border:1px solid rgba(196,162,106,.32);
  color:var(--gris); border-radius:100px; padding:8px 17px; font-size:13.5px;
  font-family:var(--sans); font-weight:600; cursor:pointer; white-space:nowrap;
  transition:all .18s;
}
.chip:hover{border-color:var(--oro); color:var(--oro-claro)}
.chip.activo{background:var(--rojo); border-color:var(--rojo); color:#fff}

.cat{padding:0; margin-bottom:56px}
.cat-cab{display:flex; align-items:center; gap:20px; margin-bottom:8px}
.cat-cab h2{font-size:clamp(1.6rem,4vw,2.1rem); color:var(--oro-claro); white-space:nowrap}
.cat-cab::after{content:""; flex:1; height:1px; background:linear-gradient(90deg,rgba(196,162,106,.45),transparent)}
.cat-cab img{width:96px; height:96px; object-fit:contain; border-radius:10px; order:3; margin-left:auto}
.cat-nota{
  color:var(--gris); font-size:.9rem; font-style:italic;
  border-left:2px solid var(--rojo); padding-left:14px; margin:0 0 20px;
}
.lista{list-style:none; padding:0; margin:0}
.lista li{display:flex; align-items:baseline; gap:10px; padding:11px 0; border-bottom:1px dotted rgba(196,162,106,.15)}
.lista .n{color:var(--crema); font-size:1.02rem}
.lista .pts{flex:1; border-bottom:1px dotted rgba(196,162,106,.3); min-width:20px; transform:translateY(-4px)}
.lista .p{font-family:var(--serif); font-size:1.15rem; color:var(--oro); font-weight:600; white-space:nowrap}

.aviso{
  background:rgba(180,18,28,.12); border:1px solid rgba(180,18,28,.4);
  border-radius:var(--r); padding:18px 22px; margin-bottom:40px;
  color:var(--gris); font-size:.92rem;
}
.aviso b{color:var(--crema)}

/* --- Contacto ---------------------------------------------- */
.form{max-width:620px; margin:0 auto; display:grid; gap:16px}
.form label{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--gris); font-weight:600; margin-bottom:6px; display:block}
.form input,.form textarea,.form select{
  width:100%; background:var(--negro-3); border:1px solid rgba(196,162,106,.28);
  color:var(--crema); border-radius:10px; padding:13px 16px;
  font-family:var(--sans); font-size:15px;
}
.form input:focus,.form textarea:focus,.form select:focus{outline:none; border-color:var(--oro)}
.form textarea{min-height:130px; resize:vertical}
.dos{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media (max-width:640px){ .dos{grid-template-columns:1fr} .barra-menu{top:70px} .cat-cab img{display:none} }

/* ===========================================================
   PORTADA CON FOTO
   =========================================================== */
.portada.con-foto{
  padding:120px 24px 130px;
  background:
    linear-gradient(180deg, rgba(10,8,7,.80) 0%, rgba(10,8,7,.62) 45%, rgba(16,13,11,.94) 100%),
    url("../img/fachada-zona1.jpg") center 42% / cover no-repeat;
}
.portada.con-foto::before{display:none}
.portada.con-foto h1{text-shadow:0 4px 30px rgba(0,0,0,.85)}
.portada.con-foto p.lead{color:#E8E0D2; text-shadow:0 2px 14px rgba(0,0,0,.9)}
@media (max-width:720px){
  .portada.con-foto{
    padding:70px 20px 80px;
    background:
      linear-gradient(180deg, rgba(10,8,7,.82) 0%, rgba(10,8,7,.68) 45%, rgba(16,13,11,.96) 100%),
      url("../img/fachada-zona1-sm.jpg") center 42% / cover no-repeat;
  }
}

/* ===========================================================
   CHILE CON AJO
   =========================================================== */
.chile-bloque{
  background:linear-gradient(180deg,#150F0C,#1E1410);
  border-block:1px solid rgba(196,162,106,.22);
  overflow:hidden;
}
.chile-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
.chile-grid img{border-radius:var(--r); box-shadow:0 24px 60px rgba(0,0,0,.7)}
.chile-texto .ojo{
  display:block; font-size:12.5px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--rojo-vivo); font-weight:700; margin-bottom:12px;
}
.chile-texto h2{font-size:clamp(2rem,4.6vw,3rem); color:var(--oro-claro); margin-bottom:18px}
.chile-texto p{color:var(--gris); margin:0 0 18px}
.chile-texto strong{color:var(--crema); font-weight:600}

.chile-hero{
  text-align:center; padding:0 0 10px;
  background:linear-gradient(180deg,#180F0B,var(--negro));
}
.chile-hero img{
  width:100%; max-height:520px; object-fit:cover; object-position:center 55%;
}
.chile-galeria{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:44px 0}
.chile-galeria img{border-radius:var(--r); box-shadow:0 18px 44px rgba(0,0,0,.6)}

.donde{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin-top:14px}
.donde div{
  background:var(--negro-2); border:1px solid rgba(196,162,106,.2);
  border-radius:var(--r); padding:24px;
}
.donde h3{font-size:1.15rem; color:var(--oro-claro); margin-bottom:8px}
.donde p{color:var(--gris); font-size:.94rem; margin:0}

@media (max-width:820px){
  .chile-grid{grid-template-columns:1fr; gap:34px}
  .chile-galeria{grid-template-columns:1fr}
}

/* --- Indicador abierto / cerrado --------------------------- */
.estado{
  display:inline-flex; align-items:center; gap:8px; margin-top:6px;
  font-size:.86rem; font-weight:600; letter-spacing:.02em;
  padding:6px 14px; border-radius:100px;
}
.estado i{width:8px; height:8px; border-radius:50%; display:block}
.estado.abierto{background:rgba(56,161,105,.16); color:#6FD79B; border:1px solid rgba(56,161,105,.4)}
.estado.abierto i{background:#48BB78; box-shadow:0 0 0 3px rgba(72,187,120,.22)}
.estado.cerrado{background:rgba(160,120,110,.12); color:#B79C93; border:1px solid rgba(160,120,110,.3)}
.estado.cerrado i{background:#8A6F66}

/* --- Formulario: trampa antirrobots y avisos --------------- */
.trampa{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.aviso-form{
  max-width:620px; margin:0 auto 22px; border-radius:var(--r);
  padding:15px 20px; font-size:.94rem;
  background:rgba(180,18,28,.14); border:1px solid rgba(180,18,28,.45); color:#F0C9C6;
}
.aviso-form b{color:#fff}
