/* Tema (a): clásico de taberna — identidad definitiva Nai Querida.
   Un solo color de tinta (#C30601, rojo) sobre un solo papel (#FAEFE0, crema),
   como una carta impresa a una tinta. Titulares en Anton, todo lo demás en
   Antonio (ambas OFL, autoalojadas en src/fonts/, subseteadas a latín).
   Los estados secundarios son SIEMPRE el mismo rojo atenuado, nunca un tercer
   color. Contrastes medidos sobre el crema:
     rojo puro          #C30601             5.52:1  (texto normal, pictogramas)
     rojo al 85 %       -> #CB2922          4.77:1  (descripciones, etiquetas)
     rojo al 60 %       -> #D9635A          3.14:1  (anillos de botón, >=3:1)
     rojo al 45 % / 25 %                    filetes y tramas, solo decorativos
     crema sobre rojo (invertido)           5.52:1  (botones activos) */

@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Anton-Regular-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Antonio';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Antonio-Regular-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Antonio';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Antonio-Bold-latin.woff2') format('woff2');
}

body.theme-classic-taberna {
  background-color: #FAEFE0;
  /* trama sutil de líneas, la misma tinta roja casi transparente */
  background-image:
    repeating-linear-gradient(0deg, rgba(195, 6, 1, 0.03) 0 2px, transparent 2px 4px);
  color: #C30601;
  font-family: 'Antonio', 'Arial Narrow', Arial, sans-serif;
  letter-spacing: 0.01em;
}

.theme-classic-taberna .nai-app {
  max-width: 680px;
  border-left: 1px solid rgba(195, 6, 1, 0.35);
  border-right: 1px solid rgba(195, 6, 1, 0.35);
  background: #FAEFE0;
}

/* cabecera con doble filete, la seña de la casa */
.theme-classic-taberna .site-header {
  border-top: 4px double #C30601;
  border-bottom: 4px double #C30601;
  padding: 1.1rem 0 1.2rem;
  margin-bottom: 1.4rem;
}

.theme-classic-taberna .site-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.4em;
  font-size: 0.8rem;
  color: rgba(195, 6, 1, 0.85);
}

.theme-classic-taberna .site-title {
  font-family: 'Anton', 'Arial Narrow', Arial, sans-serif;
  font-size: 2.6rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #C30601;
  line-height: 1.1;
}

.theme-classic-taberna .lang-switch {
  border: 1px solid #C30601;
  border-radius: 3px;
  overflow: hidden;
}

.theme-classic-taberna .lang-btn { color: #C30601; font-weight: 700; }
.theme-classic-taberna .lang-btn.is-active { background: #C30601; color: #FAEFE0; }

.theme-classic-taberna .legend-btn {
  border: 1px solid #C30601;
  border-radius: 3px;
  color: #C30601;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.85rem;
}
.theme-classic-taberna .legend-btn:hover { background: #C30601; color: #FAEFE0; }

/* índice de secciones, como el sumario de una carta impresa */
.theme-classic-taberna .section-nav {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.9rem;
  margin-bottom: 1.9rem;
}
.theme-classic-taberna .section-nav-link { color: #C30601; }
.theme-classic-taberna .section-nav-link:hover { text-decoration: underline; }
.theme-classic-taberna .section-nav-sep { color: rgba(195, 6, 1, 0.6); opacity: 1; }

/* secciones centradas con filete a los lados; más aire entre secciones */
.theme-classic-taberna .menu-section { margin-bottom: 2.6rem; }

.theme-classic-taberna .section-title {
  text-align: center;
  font-family: 'Anton', 'Arial Narrow', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 1.35rem;
  font-weight: 400;
  color: #C30601;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.1rem;
}

.theme-classic-taberna .section-title::before,
.theme-classic-taberna .section-title::after {
  content: '';
  flex: 1;
  border-top: 1px solid rgba(195, 6, 1, 0.45);
}

.theme-classic-taberna .dish-list { gap: 1.05rem; }

.theme-classic-taberna .dish {
  padding-bottom: 1.05rem;
  border-bottom: 1px dotted rgba(195, 6, 1, 0.45);
}

.theme-classic-taberna .dish:last-child { border-bottom: none; }

.theme-classic-taberna .dish-thumb {
  border: 3px solid #FAEFE0;
  outline: 1px solid rgba(195, 6, 1, 0.6);
  border-radius: 2px;
  box-shadow: 0 2px 5px rgba(195, 6, 1, 0.2);
}

.theme-classic-taberna .dish-name {
  font-size: 1.12rem;
  font-weight: 700;
  color: #C30601;
  line-height: 1.3;
  letter-spacing: 0.015em;
}

/* puntos de guía entre nombre y precio, como en las cartas impresas */
.theme-classic-taberna .dish-topline { position: relative; }
.theme-classic-taberna .dish-topline::before {
  content: '';
  order: 2;
  flex: 1 1 0.5rem;
  border-bottom: 2px dotted rgba(195, 6, 1, 0.45);
  /* sin texto, su borde inferior se asienta en la línea base de la PRIMERA
     línea del nombre, donde queda el precio único; con precio abajo
     (has-half) hace de guía hasta el borde derecho */
  min-width: 0.5rem;
}
.theme-classic-taberna .dish-name { order: 1; }
.theme-classic-taberna .dish-price {
  order: 3;
  color: #C30601;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  font-size: 1.05rem;
}

/* etiquetas Tapa / Media / Entera: mismo rojo al 85 % (4.77:1, AA) */
.theme-classic-taberna .price-label {
  text-transform: uppercase;
  font-size: 0.72em;
  font-weight: 400;
  color: rgba(195, 6, 1, 0.85);
  opacity: 1;
  letter-spacing: 0.06em;
}
.theme-classic-taberna .price-sep { color: rgba(195, 6, 1, 0.6); opacity: 1; }

.theme-classic-taberna .dish-desc {
  color: rgba(195, 6, 1, 0.85);
  font-size: 0.95rem;
  line-height: 1.45;
  margin-top: 0.3rem;
  letter-spacing: 0.02em;
}

/* alérgenos: pictograma en rojo puro (5.52:1) y anillo al 60 % (3.14:1, >=3:1) */
.theme-classic-taberna .dish-allergens { gap: 0.4rem; margin-top: 0.55rem; }

.theme-classic-taberna .allergen-btn {
  width: 2rem;
  height: 2rem;
  color: #C30601;
  border: 1px solid rgba(195, 6, 1, 0.6);
  background: #FAEFE0;
}

.theme-classic-taberna .allergen-btn .allergen-icon { width: 1.2rem; height: 1.2rem; }

.theme-classic-taberna .allergen-tip {
  background: #C30601;
  color: #FAEFE0;
  border: 1px solid #C30601;
}

.theme-classic-taberna .sample-notice { color: rgba(195, 6, 1, 0.85); opacity: 1; }

.theme-classic-taberna .legend-panel {
  background: #FAEFE0;
  color: #C30601;
  border: 4px double #C30601;
}
.theme-classic-taberna .legend-title {
  font-family: 'Anton', 'Arial Narrow', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #C30601;
  font-weight: 400;
}
.theme-classic-taberna .legend-item { color: #C30601; }
.theme-classic-taberna .legend-name { font-size: 0.95rem; }
.theme-classic-taberna .legend-close-btn {
  border: 1px solid #C30601;
  border-radius: 3px;
  color: #C30601;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.theme-classic-taberna .back-to-top {
  background: #FAEFE0;
  color: #C30601;
  border: 1px solid #C30601;
  box-shadow: 0 2px 6px rgba(195, 6, 1, 0.25);
}

/* nota legal de alérgenos: pie con el mismo doble filete de la cabecera */
.theme-classic-taberna .site-footer {
  border-top: 4px double #C30601;
  padding-top: 1.1rem;
}
.theme-classic-taberna .allergen-notice { color: rgba(195, 6, 1, 0.92); }
