  :root{
    --botella:#1E4636;   /* verde botella: fachada y rótulo */
    --botella-osc:#143024;
    --azulejo:#F3F5F1;   /* blanco azulejo */
    --vermut:#8C2B26;    /* rojo vermut */
    --zinc:#A7AFAE;      /* barra de zinc */
    --tinta:#1B1E1C;
    --tiza:#ECEDE6;
    --pizarra:#262B28;
    --gutter:clamp(16px,4vw,48px);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{
    font-family:"Bitter",Georgia,serif;
    font-size:1.0625rem;line-height:1.6;
    color:var(--tinta);background:var(--azulejo);
  }
  a{color:inherit}
  :focus-visible{outline:3px solid var(--vermut);outline-offset:3px}
  img{max-width:100%;display:block}

  /* Cenefa de azulejo: el detalle que identifica el local */
  .cenefa{
    height:28px;
    background:
      radial-gradient(circle at 50% 50%, var(--azulejo) 0 5px, transparent 6px) 0 0/28px 28px,
      conic-gradient(from 45deg, var(--botella) 0 25%, var(--azulejo) 0 50%, var(--botella) 0 75%, var(--azulejo) 0) 0 0/28px 28px;
  }

  /* Cabecera */
  header{
    background:var(--botella);color:var(--azulejo);
    padding:14px var(--gutter);
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  }
  .marca{font-weight:900;font-size:1.35rem;letter-spacing:.02em;text-decoration:none}
  nav ul{list-style:none;display:flex;gap:clamp(12px,3vw,28px);flex-wrap:wrap}
  nav a{text-decoration:none;font-weight:600;font-size:.98rem;padding:4px 0;border-bottom:2px solid transparent}
  nav a:hover{border-bottom-color:var(--zinc)}

  /* Portada */
  .portada{
    background:var(--botella);color:var(--azulejo);
    padding:clamp(40px,7vw,88px) var(--gutter) clamp(48px,8vw,96px);
    display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,80px);align-items:center;
  }
  .rotulo{
    font-weight:900;
    font-size:clamp(3.4rem,8.2vw,6.6rem);
    line-height:.88;letter-spacing:-.01em;
    color:var(--azulejo);
    text-shadow:3px 3px 0 var(--botella-osc), 5px 5px 0 var(--vermut);
  }
  .desde{font-style:italic;font-size:1.15rem;margin-top:18px;color:var(--zinc)}
  .lema{font-size:clamp(1.15rem,2.2vw,1.4rem);max-width:30ch;margin-top:22px}
  .estado{
    display:inline-flex;align-items:center;gap:10px;margin-top:28px;
    padding:8px 16px;border:2px solid var(--zinc);border-radius:999px;font-weight:600
  }
  .estado .punto{width:10px;height:10px;border-radius:50%;background:var(--zinc)}
  .estado.abierto .punto{background:#5FD38D}
  .estado.cerrado .punto{background:#E06A5F}
  .acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
  .boton{
    display:inline-block;text-decoration:none;font-weight:800;
    padding:13px 22px;border-radius:6px;border:2px solid var(--azulejo);
  }
  .boton.lleno{background:var(--vermut);border-color:var(--vermut);color:#fff}
  .boton.lleno:hover{background:#A3342E;border-color:#A3342E}
  .boton.linea{color:var(--azulejo)}
  .boton.linea:hover{background:var(--azulejo);color:var(--botella)}

  /* La pizarra: protagonista */
  .pizarra{
    background:var(--pizarra);
    background-image:radial-gradient(ellipse at 30% 20%, rgba(255,255,255,.05), transparent 60%);
    border:14px solid #6B4A2F;
    box-shadow:inset 0 0 0 2px #4E3522, 0 18px 40px rgba(0,0,0,.35);
    border-radius:4px;
    padding:clamp(22px,3.5vw,36px);
    font-family:"Caveat",cursive;color:var(--tiza);
    transform:rotate(1.2deg);
  }
  .pizarra h2{font-family:inherit;font-weight:700;font-size:clamp(2rem,4vw,2.6rem);line-height:1}
  .pizarra .fecha{font-size:1.4rem;opacity:.8}
  .pizarra ul{list-style:none;margin-top:14px}
  .pizarra li{
    display:flex;justify-content:space-between;gap:12px;align-items:baseline;
    font-size:clamp(1.4rem,2.6vw,1.75rem);line-height:1.35;
    border-bottom:1px dashed rgba(236,237,230,.22);padding:6px 0;
  }
  .pizarra li span:last-child{white-space:nowrap;font-weight:700}
  .pizarra .nota{margin-top:14px;font-size:1.45rem;color:#F2C9A0}

  /* Secciones */
  section{padding:clamp(56px,8vw,104px) var(--gutter)}
  .contenedor{max-width:1080px;margin:0 auto}
  h2.titulo{font-weight:900;font-size:clamp(2rem,4.5vw,3rem);line-height:1.05;color:var(--botella)}
  .intro{max-width:60ch;margin-top:12px;font-size:1.1rem}

  /* Carta */
  .carta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);margin-top:44px}
  .carta-grid h3{
    font-weight:800;font-size:1.3rem;color:var(--vermut);
    padding-bottom:8px;border-bottom:3px double var(--botella);margin-bottom:10px
  }
  .plato{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #D6DBD5}
  .plato small{display:block;font-style:italic;color:#59605C;font-size:.9rem;line-height:1.35}
  .precio{font-weight:800;white-space:nowrap}
  .aviso{margin-top:28px;font-size:.95rem;color:#59605C}

  /* Vermut: franja de cita */
  .franja{background:var(--vermut);color:#fff;text-align:center}
  .franja p{font-weight:800;font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.2;max-width:24ch;margin:0 auto}
  .franja span{display:block;margin-top:12px;font-weight:400;font-style:italic;font-size:1.05rem;opacity:.9}

  /* Visítanos */
  .visita{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);margin-top:40px}
  table{width:100%;border-collapse:collapse}
  td{padding:10px 0;border-bottom:1px solid #D6DBD5}
  td:last-child{text-align:right;font-weight:600}
  tr.hoy td{color:var(--vermut);font-weight:800}
  .direccion{font-size:1.25rem;font-weight:600;line-height:1.4}
  .datos p+p{margin-top:14px}
  .datos .acciones .boton.linea{color:var(--botella);border-color:var(--botella)}
  .datos .acciones .boton.linea:hover{background:var(--botella);color:var(--azulejo)}

  footer{background:var(--botella-osc);color:var(--zinc);padding:28px var(--gutter);font-size:.92rem}
  footer .contenedor{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
  footer a{color:var(--azulejo)}

  @media (max-width:860px){
    .portada{grid-template-columns:1fr}
    .pizarra{transform:none}
    .carta-grid{grid-template-columns:1fr}
    .visita{grid-template-columns:1fr}
  }

  /* Formulario de reserva */
  .reserva{background:#E7ECE6}
  .formulario{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px;margin-top:36px;max-width:760px}
  .campo{display:flex;flex-direction:column;gap:6px}
  .campo.ancho{grid-column:1/-1}
  .campo label{font-weight:700;font-size:.98rem}
  .campo input,.campo select,.campo textarea{
    font:inherit;font-size:1rem;padding:11px 12px;border:2px solid #BFC7C0;border-radius:6px;background:#fff;color:var(--tinta)
  }
  .campo textarea{min-height:90px;resize:vertical}
  .campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--botella);outline:none;box-shadow:0 0 0 3px rgba(30,70,54,.25)}
  .campo .ayuda{font-size:.88rem;color:#59605C}
  .casilla{flex-direction:row;align-items:flex-start;gap:10px}
  .casilla input{margin-top:5px;width:18px;height:18px}
  .casilla label{font-weight:400}
  .oculto-bot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
  .formulario button{
    font:inherit;font-weight:800;cursor:pointer;justify-self:start;
    padding:13px 26px;border-radius:6px;border:2px solid var(--vermut);background:var(--vermut);color:#fff
  }
  .formulario button:hover{background:#A3342E}
  .formulario button:disabled{opacity:.6;cursor:wait}
  .mensaje{grid-column:1/-1;padding:12px 14px;border-radius:6px;font-weight:600}
  .mensaje.ok{background:#DCEFE2;color:#174D2C}
  .mensaje.mal{background:#F6DEDB;color:#7A1F19}
  .mensaje:empty{display:none}

  /* Páginas de texto (privacidad) */
  .texto{max-width:68ch}
  .texto h1{font-weight:900;font-size:clamp(2rem,4.5vw,2.8rem);color:var(--botella);line-height:1.1}
  .texto h2{font-size:1.25rem;margin-top:28px;color:var(--botella)}
  .texto p,.texto ul{margin-top:12px}
  .texto ul{padding-left:20px}

  @media (max-width:640px){ .formulario{grid-template-columns:1fr} }
