/* Tema Taquería: cabecera y pie en negro, tipografía Fraunces + Work Sans,
   acentos en rojo. Sin frameworks — mismas clases genéricas del núcleo
   (.contenedor, .menu, .disposicion, .contenido, .boton…) para que el editor,
   los plugins (blog, menu-cocina, contactanos) y los widgets se vean bien sin
   tocarlos, más un puñado de clases propias para las secciones de la portada
   (empiezan con "taq-"). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--fuente-texto);font-size:var(--texto-base);
  line-height:var(--alto-linea);color:var(--color-texto);background:var(--color-fondo);
  display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;
}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--color-enlace)}
a:hover{text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:var(--fuente-titulos);margin:0}

:focus-visible{outline:3px solid var(--color-acento);outline-offset:2px}
.salta-al-contenido{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 16px;z-index:100}
.salta-al-contenido:focus{left:8px;top:8px}

.contenedor{max-width:var(--ancho-maximo);margin:0 auto;padding:0 var(--espacio)}

/* --- Cabecera: fija y en negro, como el diseño original --- */
.sitio-cabecera{background:var(--color-cabecera);position:fixed;top:0;left:0;width:100%;z-index:50;
  padding:12px 0}
.cabecera-fila{display:flex;align-items:center;gap:var(--espacio);min-height:46px}
.sitio-logo{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.1}
.sitio-logo-imagen{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sitio-logo-imagen img{max-height:40px;max-width:40px;width:auto;object-fit:contain}
.sitio-logo-texto{display:flex;flex-direction:column}
.sitio-logo-marca{font-family:var(--fuente-titulos);font-weight:700;font-size:17px;color:var(--color-cabecera-texto)}
.sitio-logo-lema{font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:var(--color-borde);margin-top:2px}
.cabecera-fila nav{margin-left:auto;display:flex;align-items:center;gap:18px}

/* Teléfono + botón de reserva de la cabecera (cabecera-acciones.php). Dos
   copias en el HTML, una para escritorio y otra para el desplegable móvil;
   ocultas las dos por default, y cada @media de abajo muestra solo la suya.
   Van ANTES de esas @media a propósito: una regla sin condición debe quedar
   primero en el archivo, si no, gana por orden de aparición y tapa la que sí
   trae el display:flex. */
.cabecera-acciones-escritorio{display:none}
.cabecera-acciones-movil{display:none}
.cabecera-telefono{display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  color:var(--color-cabecera-texto);font-weight:600;font-size:14px;white-space:nowrap}
.cabecera-telefono:hover{color:#fff}

/* En escritorio el menú queda centrado en la barra (no pegado a la derecha):
   se ancla al centro de .cabecera-fila sin importar el ancho del logo. En
   móvil no aplica — ahí la nav se vuelve el desplegable de siempre
   (ver @media max-width:900px más abajo, que ya la pone en position:absolute
   con otro comportamiento). */
@media (min-width:901px){
  .cabecera-fila{position:relative}
  .cabecera-fila nav{position:absolute;left:50%;top:50%;margin-left:0;transform:translate(-50%,-50%)}
  .cabecera-acciones-escritorio{display:flex;align-items:center;gap:14px;margin-left:auto}
}

.menu{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.menu a{display:block;padding:9px 13px;border-radius:8px;text-decoration:none;
  color:var(--color-cabecera-texto);font-weight:500;font-size:14px}
.menu a:hover{color:var(--color-acento)}
.menu li.activo>a{color:var(--color-acento)}
.menu .submenu{display:none;position:absolute;background:#fff;border:1px solid var(--color-borde);
  border-radius:var(--radio);box-shadow:var(--sombra);padding:6px;min-width:200px;flex-direction:column;z-index:60}
.menu .submenu a{color:var(--color-texto)}
.menu .con-hijos{position:relative}
.menu .con-hijos:hover .submenu,.menu .con-hijos:focus-within .submenu{display:flex}

.selector-idioma{margin-left:6px;padding:6px 12px;border:1px solid rgba(255,255,255,.25);
  border-radius:999px;font-size:13px;text-decoration:none;color:var(--color-cabecera-texto)}
.selector-idioma:hover{border-color:var(--color-acento);color:var(--color-acento)}

.boton-menu{display:none;background:none;border:1px solid rgba(255,255,255,.3);border-radius:8px;
  color:var(--color-cabecera-texto);padding:9px 12px;font-size:16px;cursor:pointer;margin-left:auto}

/* --- Contenido --- */
.sitio-cuerpo{padding:calc(var(--alto-cabecera) + var(--espacio-seccion)) 0 var(--espacio-seccion);flex:1;min-height:50vh}
.disposicion{display:grid;gap:36px;align-items:start}
.disposicion.completa{grid-template-columns:1fr}
.disposicion.izquierda{grid-template-columns:300px 1fr}
.disposicion.derecha{grid-template-columns:1fr 300px}
.disposicion.ambas{grid-template-columns:260px 1fr 260px}
.columna-lateral{font-size:16px}

.contenido h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 60px;font-weight:700}
.contenido h2{font-size:clamp(24px,3vw,32px);line-height:1.25;margin:40px 0 16px;font-weight:700}
.contenido h3{font-size:22px;margin:30px 0 12px;font-weight:700}
.contenido p{margin:0 0 18px}
.contenido ul,.contenido ol{margin:0 0 18px;padding-left:24px}
.contenido img{border-radius:var(--radio)}
.contenido table{width:100%;border-collapse:collapse;margin:0 0 20px}
.contenido th,.contenido td{border:1px solid var(--color-borde);padding:10px 12px;text-align:left}
.contenido th{background:var(--color-fondo-suave)}
.contenido blockquote{margin:0 0 20px;padding:14px 20px;border-left:4px solid var(--color-acento);
  background:var(--color-fondo-suave);border-radius:0 var(--radio) var(--radio) 0}

.boton{display:inline-block;background:var(--color-principal);color:#fff;text-decoration:none;
  padding:13px 26px;border-radius:var(--radio);font-weight:600;border:0;cursor:pointer;font-size:15px}
.boton:hover{background:var(--color-principal-claro);color:#fff}
.boton-acento{background:var(--color-acento)}
.boton-linea{background:transparent;border:1px solid var(--color-borde);color:var(--color-texto)}
.boton-linea:hover{border-color:var(--color-principal);color:var(--color-principal);background:transparent}
.boton-claro{background:var(--color-fondo);color:var(--color-principal)}
.boton-claro:hover{background:var(--color-fondo-suave);color:var(--color-principal-claro)}
.boton-chico{padding:9px 18px;font-size:13px}

.video-ligero{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--radio);
  overflow:hidden;background:#000;cursor:pointer;margin:0 0 22px}
.video-ligero img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86}
.video-ligero .play{position:absolute;inset:0;margin:auto;width:74px;height:52px;border:0;
  border-radius:12px;background:rgba(0,0,0,.72);color:#fff;font-size:22px;cursor:pointer;
  display:grid;place-items:center}
.video-ligero:hover .play{background:var(--color-acento)}
.video-ligero iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.widget{background:var(--color-fondo-suave);border:1px solid var(--color-borde);
  border-radius:var(--radio);padding:18px 20px;margin:0 0 20px}
.widget h2,.widget h3{margin:0 0 12px;font-size:18px}
.widget ul{margin:0;padding-left:20px}

/* --- Pie --- */
.sitio-pie{background:var(--color-cabecera);color:var(--color-cabecera-texto);padding:56px 0 26px;margin-top:auto}
.sitio-pie a{color:#fff}
.sitio-pie strong{font-family:var(--fuente-titulos);font-size:18px}
.pie-columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:34px}
.sitio-pie .menu{flex-direction:column;gap:2px;align-items:flex-start}
.sitio-pie .menu a{color:var(--color-cabecera-texto);padding:5px 0;font-size:14px}
.sitio-pie .menu a:hover{color:#fff;text-decoration:underline}
.pie-legal{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:20px;
  font-size:13px;color:rgba(243,236,224,.7);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}
.redes{display:flex;gap:10px;list-style:none;padding:0;margin:14px 0 0;flex-wrap:wrap}
.redes a{width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;font-weight:700;text-transform:uppercase}
.redes a:hover{background:rgba(255,255,255,.25)}
.sitio-pie h4{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;color:var(--color-cabecera-texto)}

/* Columna de logo + descripción, en el pie (diseño original: logo, marca y
   una bajada corta antes de las demás columnas). */
.pie-logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:14px}
.pie-logo-imagen{display:block;width:42px;height:42px;flex:0 0 auto;border-radius:999px;overflow:hidden;background:#fff}
.pie-logo-imagen img{width:100%;height:100%;object-fit:cover;display:block}
.pie-logo-texto{display:flex;flex-direction:column;line-height:1.2}
.pie-logo-marca{font-family:var(--fuente-titulos);font-weight:700;font-size:19px;color:#fff}
.pie-logo-lema{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,236,224,.7)}
.pie-desc{font-size:14px;line-height:1.6;color:rgba(243,236,224,.75);margin:0;max-width:34ch}

/* Columna de contacto: cada renglón con su icono alineado. */
.pie-contacto{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pie-contacto li,.pie-contacto a{display:flex;align-items:center;gap:10px;font-size:14px;
  color:var(--color-cabecera-texto);text-decoration:none}
.pie-contacto a:hover{color:#fff;text-decoration:underline}
.pie-ico{flex:0 0 auto;font-size:15px;line-height:1}

/* Fila de iconos sociales + botón de reserva, reutilizando .boton. Cada ícono
   es un SVG propio (sin fuente de íconos ni CDN externo), pintado con
   currentColor vía mask — misma técnica que el ícono de "inicio" de las
   migas de pan (ver más abajo). El texto de cada red solo queda en
   aria-label, para quien use lector de pantalla. */
.pie-social-fila{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.pie-red{width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;text-decoration:none;flex:0 0 auto}
.pie-red:hover{background:rgba(255,255,255,.25)}
.pie-red::before{content:'';display:block;width:17px;height:17px;background:#fff}
.pie-red-facebook::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3h-2a5 5 0 0 0-5 5v3H6v3h2v9h4v-9h3l1-3h-4V8a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3h-2a5 5 0 0 0-5 5v3H6v3h2v9h4v-9h3l1-3h-4V8a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E") center/contain no-repeat}
.pie-red-instagram::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 2C4.2 2 2 4.2 2 7v10c0 2.8 2.2 5 5 5h10c2.8 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5H7Zm0 2h10c1.7 0 3 1.3 3 3v10c0 1.7-1.3 3-3 3H7c-1.7 0-3-1.3-3-3V7c0-1.7 1.3-3 3-3Zm5 3.5c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5 4.5-2 4.5-4.5-2-4.5-4.5-4.5Zm0 2c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5-2.5-1.1-2.5-2.5 1.1-2.5 2.5-2.5ZM17.8 6.2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1 1.1-.5 1.1-1.1-.5-1.1-1.1-1.1Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 2C4.2 2 2 4.2 2 7v10c0 2.8 2.2 5 5 5h10c2.8 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5H7Zm0 2h10c1.7 0 3 1.3 3 3v10c0 1.7-1.3 3-3 3H7c-1.7 0-3-1.3-3-3V7c0-1.7 1.3-3 3-3Zm5 3.5c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5 4.5-2 4.5-4.5-2-4.5-4.5-4.5Zm0 2c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5-2.5-1.1-2.5-2.5 1.1-2.5 2.5-2.5ZM17.8 6.2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1 1.1-.5 1.1-1.1-.5-1.1-1.1-1.1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pie-red-x::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.3 5.71 12 12l6.3 6.29-1.41 1.42L12 13.41l-6.29 6.3-1.42-1.42L10.59 12 4.29 5.71 5.71 4.29 12 10.59l6.29-6.3z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.3 5.71 12 12l6.3 6.29-1.41 1.42L12 13.41l-6.29 6.3-1.42-1.42L10.59 12 4.29 5.71 5.71 4.29 12 10.59l6.29-6.3z'/%3E%3C/svg%3E") center/contain no-repeat}
.pie-red-linkedin::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM3 9h3v12H3V9Zm6 0h3v1.7c.6-1 1.7-1.9 3.4-1.9 2.9 0 4.6 1.9 4.6 5.3V21h-3v-6c0-1.8-.7-3-2.3-3-1.2 0-2 .9-2.4 1.7-.1.3-.2.7-.2 1.1V21H9V9Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM3 9h3v12H3V9Zm6 0h3v1.7c.6-1 1.7-1.9 3.4-1.9 2.9 0 4.6 1.9 4.6 5.3V21h-3v-6c0-1.8-.7-3-2.3-3-1.2 0-2 .9-2.4 1.7-.1.3-.2.7-.2 1.1V21H9V9Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pie-red-youtube::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.5s-.2-1.6-.9-2.3c-.9-.9-1.9-.9-2.3-1C16.9 4 12 4 12 4s-4.9 0-7.8.2c-.5.1-1.5.1-2.4 1C1.2 6 1 7.5 1 7.5S.8 9.4.8 11.2v1.5C.8 14.6 1 16.5 1 16.5s.2 1.6.9 2.3c.9.9 2.1.9 2.6 1 1.9.2 8.1.2 8.1.2s4.9 0 7.8-.3c.5-.1 1.5-.1 2.3-1 .7-.7.9-2.3.9-2.3s.2-1.9.2-3.7v-1.5C23.2 9.4 23 7.5 23 7.5ZM9.7 15V8.9l6 3-6 3.1Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.5s-.2-1.6-.9-2.3c-.9-.9-1.9-.9-2.3-1C16.9 4 12 4 12 4s-4.9 0-7.8.2c-.5.1-1.5.1-2.4 1C1.2 6 1 7.5 1 7.5S.8 9.4.8 11.2v1.5C.8 14.6 1 16.5 1 16.5s.2 1.6.9 2.3c.9.9 2.1.9 2.6 1 1.9.2 8.1.2 8.1.2s4.9 0 7.8-.3c.5-.1 1.5-.1 2.3-1 .7-.7.9-2.3.9-2.3s.2-1.9.2-3.7v-1.5C23.2 9.4 23 7.5 23 7.5ZM9.7 15V8.9l6 3-6 3.1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pie-red-tiktok::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2h3c.1 1.6.8 3 1.9 4.1 1.1 1 2.5 1.6 4.1 1.7v3c-1.8-.1-3.4-.6-4.8-1.5v6.9c0 3.2-2.6 5.8-5.8 5.8S5.6 19.4 5.6 16.2s2.6-5.8 5.8-5.8c.4 0 .8 0 1.2.1v3.1c-.4-.1-.8-.2-1.2-.2-1.5 0-2.7 1.2-2.7 2.8s1.2 2.8 2.7 2.8 2.7-1.2 2.7-2.8V2Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2h3c.1 1.6.8 3 1.9 4.1 1.1 1 2.5 1.6 4.1 1.7v3c-1.8-.1-3.4-.6-4.8-1.5v6.9c0 3.2-2.6 5.8-5.8 5.8S5.6 19.4 5.6 16.2s2.6-5.8 5.8-5.8c.4 0 .8 0 1.2.1v3.1c-.4-.1-.8-.2-1.2-.2-1.5 0-2.7 1.2-2.7 2.8s1.2 2.8 2.7 2.8 2.7-1.2 2.7-2.8V2Z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Crédito del diseño/desarrollo, en medio de la barra legal inferior. */
.pie-credito{order:2;text-align:center}
.pie-credito a{color:rgba(243,236,224,.85);text-decoration:underline}
.pie-credito a:hover{color:#fff}
.pie-legal p:first-child{order:1}
.pie-legal p:last-child{order:3}

/* Botón flotante «volver arriba» */
.boton-arriba{position:fixed;bottom:24px;right:24px;z-index:40;width:46px;height:46px;border-radius:999px;
  background:var(--color-principal);color:#fff;border:0;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sombra);
  opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s}
.boton-arriba.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.boton-arriba:hover{background:var(--color-principal-claro)}

@media (max-width:900px){
  .disposicion.izquierda,.disposicion.derecha,.disposicion.ambas{grid-template-columns:1fr}
  .boton-menu{display:block}
  .cabecera-fila nav{display:none;position:absolute;top:100%;left:0;width:100%;flex-direction:column;
    align-items:stretch;background:var(--color-cabecera);padding:10px var(--espacio) 18px;gap:0;
    border-top:1px solid rgba(255,255,255,.1)}
  .cabecera-fila{position:relative}
  .cabecera-fila.abierto nav{display:flex}
  .cabecera-acciones-movil{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:14px 0 0}
  .menu{flex-direction:column;align-items:stretch;gap:0}
  .menu a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu li:last-child>a{border-bottom:0}
  .menu .submenu{position:static;display:flex;border:0;box-shadow:none;padding-left:16px}
  .selector-idioma{margin:10px 0 0}
  .taq-categorias-rejilla{grid-template-columns:repeat(2,1fr) !important}
  .taq-destacados-rejilla{grid-template-columns:1fr !important}
  .taq-porque-rejilla{grid-template-columns:repeat(2,1fr) !important}
}

/* Pantallas de teléfono angostas (la mayoría de los celulares actuales):
   2 columnas se quedan muy apretadas para las tarjetas con texto, se bajan
   a 1 sola columna. */
@media (max-width:480px){
  .taq-categorias-rejilla,.taq-porque-rejilla{grid-template-columns:1fr !important}
  .taq-hero-texto{padding-left:18px;padding-right:18px}
  .pie-columnas{gap:28px}
}

/* Selector de idioma con banderas (lo pinta selector_idioma() del núcleo) */
.selector-idiomas{display:inline-flex;align-items:center;margin-left:4px}
.selector-idioma svg{border-radius:2px;display:block}

/* ================================================================== */
/* Secciones propias de la portada (prefijo taq-). Están pensadas para */
/* pegarse tal cual en el contenido de la página de inicio.            */
/* ================================================================== */

/* Ancho completo de verdad: se sale de .contenedor (que tiene max-width y
   padding) sin importar en qué nivel de anidado esté. Y se jala hacia arriba
   lo que .sitio-cuerpo dejó de hueco, para que empiece pegado al borde de
   arriba y la cabecera (fija, semitransparente en negro) flote encima. */
.taq-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-top:calc((var(--alto-cabecera) + var(--espacio-seccion)) * -1);
  min-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.taq-hero-fondo{position:absolute;inset:0}
.taq-hero-fondo img{width:100%;height:100%;object-fit:cover}
.taq-hero-velo{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,.4) 40%,rgba(0,0,0,.65))}
.taq-hero-texto{position:relative;z-index:1;max-width:760px;margin:0 auto;
  padding:calc(var(--alto-cabecera) + 60px) 24px 90px;text-align:center;color:#fff}
.taq-hero-lugar{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--color-acento);
  padding:7px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#fff}
.taq-hero-texto h1{margin-top:22px;font-size:clamp(34px,6vw,64px);font-weight:900;line-height:1.05;color:#fff}
.taq-hero-texto h1 em{font-style:normal;color:var(--color-acento)}
.taq-hero-texto p{margin:20px auto 0;max-width:560px;font-size:17px;color:rgba(255,255,255,.9)}
.taq-hero-botones{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

.taq-franja{position:relative;z-index:2;margin:0 auto;max-width:940px}
.taq-franja-caja{background:var(--color-fondo);border:1px solid var(--color-borde);border-radius:var(--radio);
  display:grid;grid-template-columns:1fr}
.taq-franja-caja>div{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--color-borde);min-width:0}
.taq-franja-caja>div:last-child{border-bottom:0}
@media(min-width:640px){
  .taq-franja-caja{grid-template-columns:repeat(3,1fr)}
  .taq-franja-caja>div{padding:20px 22px;border-bottom:0;border-right:1px solid var(--color-borde)}
  .taq-franja-caja>div:last-child{border-right:0}
}
.taq-franja-icono{width:44px;height:44px;border-radius:999px;background:var(--color-fondo-suave);
  color:var(--color-principal);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}
.taq-franja-etq{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-texto-suave);margin:0}
.taq-franja-dato{font-size:14px;font-weight:600;margin:2px 0 0;color:var(--color-texto)}

.taq-seccion{padding:var(--espacio-seccion) 0}
.taq-seccion-suave{background:var(--color-fondo-suave)}
.taq-etiqueta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-principal)}
.taq-titulo-seccion{margin-top:10px;font-size:clamp(26px,3.4vw,36px);font-weight:700}
.taq-intro{max-width:640px}
.taq-intro p{margin-top:14px;color:var(--color-texto-suave)}

.taq-categorias-rejilla{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.taq-categoria{display:block;text-decoration:none;color:inherit;border:1px solid var(--color-borde);
  border-radius:var(--radio);overflow:hidden;background:var(--color-fondo);transition:border-color .2s}
.taq-categoria:hover{border-color:var(--color-principal)}
.taq-categoria img{aspect-ratio:1/1;object-fit:cover;width:100%;display:block}
.taq-categoria-texto{padding:16px}
.taq-categoria-texto h3{font-size:16px;margin:8px 0 0}
.taq-categoria-texto p{margin:6px 0 0;font-size:13px;color:var(--color-texto-suave)}
.taq-categoria-icono{width:34px;height:34px;border-radius:999px;background:var(--color-fondo-suave);
  color:var(--color-principal);display:flex;align-items:center;justify-content:center;font-size:16px}
.taq-categoria-mas{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border:1px dashed var(--color-principal);background:var(--color-fondo-suave);padding:24px}

.taq-destacados-rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.taq-plato{border:1px solid var(--color-borde);border-radius:var(--radio);overflow:hidden;background:var(--color-fondo);
  display:flex;flex-direction:column}
.taq-plato-imagen{position:relative;height:190px}
.taq-plato-imagen img{width:100%;height:100%;object-fit:cover}
.taq-plato-etiqueta{position:absolute;top:12px;left:12px;background:var(--color-acento);color:#fff;
  border-radius:999px;padding:4px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.taq-plato-cuerpo{padding:18px;display:flex;flex-direction:column;flex:1}
.taq-plato-fila{display:flex;justify-content:space-between;gap:10px}
.taq-plato-fila h3{font-size:17px}
.taq-plato-precio{font-weight:700;color:var(--color-principal);white-space:nowrap;font-family:var(--fuente-titulos)}
.taq-plato-cuerpo p{font-size:14px;color:var(--color-texto-suave);flex:1;margin:10px 0 0}
.taq-plato-cuerpo .boton{margin-top:16px;text-align:center;background:transparent;border:1px solid var(--color-borde);
  color:var(--color-principal);padding:10px 16px;font-size:14px}
.taq-plato-cuerpo .boton:hover{background:var(--color-principal);color:#fff}

.taq-dos-col{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.taq-dos-col img{width:100%;height:340px;object-fit:cover;border-radius:var(--radio)}
@media(min-width:960px){.taq-dos-col{grid-template-columns:1fr 1fr;gap:60px}}

.taq-porque-rejilla{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.taq-porque{border:1px solid var(--color-borde);background:var(--color-fondo);border-radius:var(--radio);
  padding:26px 20px;text-align:center}
.taq-porque-icono{width:56px;height:56px;border-radius:999px;background:var(--color-fondo-suave);
  color:var(--color-principal);display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:24px}
.taq-porque h3{margin-top:16px;font-size:17px}
.taq-porque p{margin-top:8px;font-size:14px;color:var(--color-texto-suave)}

.taq-visita{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media(min-width:960px){.taq-visita{grid-template-columns:1fr 1fr;gap:56px}}
.taq-visita-lista{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:18px}
.taq-visita-lista li{display:flex;align-items:flex-start;gap:14px}
.taq-visita-icono{width:44px;height:44px;border-radius:999px;background:var(--color-fondo-suave);
  color:var(--color-principal);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.taq-visita-etq{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-texto-suave);margin:0}
.taq-visita-dato{font-size:14px;font-weight:600;margin:2px 0 0}
.taq-mapa{width:100%;height:340px;border-radius:var(--radio);overflow:hidden;border:1px solid var(--color-borde)}
.taq-mapa iframe{width:100%;height:100%;border:0}

.taq-cta{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  overflow:hidden;margin-top:6px}
.taq-cta-fondo{position:absolute;inset:0}
.taq-cta-fondo img{width:100%;height:100%;object-fit:cover}
.taq-cta-velo{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.72),rgba(0,0,0,.4))}
.taq-cta-texto{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:80px 24px;text-align:center;color:#fff}
.taq-cta-texto h2{color:#fff;font-size:clamp(28px,4.5vw,44px);font-weight:900}
.taq-cta-texto p{margin:18px auto 0;max-width:560px;color:rgba(255,255,255,.9)}
.taq-cta-botones{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Migas de pan, en las páginas interiores. .blog-migas es del plugin del
   blog (plugin/blog/assets/estilo.css) — se iguala aquí al estilo del tema
   sin tocar el plugin, así las entradas del blog se ven igual que el resto
   del sitio. Estructura: <a>Inicio</a><span>›</span><span class="actual">. */
.taq-migas,.blog-migas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--color-texto-suave);margin:0 0 30px}
.taq-migas a,.blog-migas a{color:var(--color-texto-suave);text-decoration:none}
.taq-migas a:hover,.blog-migas a:hover{color:var(--color-principal)}
.taq-migas .actual,.blog-migas .actual{color:var(--color-texto);font-weight:600}
.taq-migas>span:not(.actual),.blog-migas>span:not(.actual){color:var(--color-borde)}
.taq-migas a:first-child,.blog-migas a:first-child{display:inline-flex;align-items:center;gap:5px}
.taq-migas a:first-child::before,.blog-migas a:first-child::before{content:'';width:13px;height:13px;flex:0 0 auto;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2 3 10.8V21h6v-6h6v6h6V10.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2 3 10.8V21h6v-6h6v6h6V10.8z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Página del menú (/menu, /menu/<categoria>): franja de categorías y bajada. */
.taq-menu-intro{color:var(--color-texto-suave);margin:-8px 0 28px;max-width:640px}
.taq-menu-categorias{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.taq-menu-categorias a{padding:8px 16px;border:1px solid var(--color-borde);border-radius:999px;
  font-size:14px;font-weight:600;color:var(--color-texto);text-decoration:none}
.taq-menu-categorias a:hover,.taq-menu-categorias a.activa{border-color:var(--color-principal);color:var(--color-principal)}
