/* ==========================================================================
   CGJ Mesa — hoja de estilos del tema · dirección «Mediterráneo sobrio» (v2)
   --------------------------------------------------------------------------
   · Los TOKENS (colores, fuentes, tamaños, espacios, radios) viven en theme.json
     y llegan aquí como variables --wp--preset--* / --wp--custom--*. Este archivo
     los renombra en :root (--c-*) y solo hace composición.
   · Idea: casa de comidas, no web de servicios. La foto manda (a sangre, sin velos
     ni marcos), pocas palabras, líneas finas de 1 px y una sola píldora oscura
     («Reservar») por pantalla; el resto de acciones son enlaces de texto.
   · Orden: tokens → base → cabecera → componentes (de arriba a abajo de la página)
     → carta → reservas/formularios → pie → detalles opcionales → responsive →
     editor → interacción → movimiento reducido.
   ========================================================================== */

:root {
	--c-tinta: var(--wp--preset--color--tinta, #181512);
	--c-piedra: var(--wp--preset--color--piedra, #66605A);
	--c-linea: var(--wp--preset--color--linea, #DCD4C6);
	--c-arena: var(--wp--preset--color--arena, #F6F2EA);
	--c-crema: var(--wp--preset--color--crema, #FCFAF6);
	--c-acento: var(--wp--preset--color--terracota, #8E3B26);
	--c-acento-suave: var(--wp--preset--color--terracota-suave, #EFE3DA);
	--c-oliva: var(--wp--preset--color--oliva, #4E5432);
	--c-oliva-suave: var(--wp--preset--color--oliva-suave, #E6E4D6);
	--c-boton-hover: var(--wp--custom--color--boton-hover, #000);
	--c-acento-texto: var(--wp--custom--color--terracota-texto, #8E3B26);
	--c-acento-claro: var(--wp--custom--color--terracota-claro, #E3A68C);  /* acento sobre fondos oscuros */
	--c-oliva-oscuro: var(--wp--custom--color--oliva-oscuro, #3D4227);
	--c-borde-hover: var(--wp--custom--color--borde-hover, #B8AE9E);
	--c-texto-largo: var(--wp--custom--color--texto-largo, #38322C);
	--c-pendiente: var(--wp--custom--color--pendiente, #F7E2A6);
	--c-sobre-oscuro: rgba(246, 242, 234, .72);   /* texto secundario sobre la tinta */
	--c-linea-oscura: rgba(246, 242, 234, .16);
	--ease: var(--wp--custom--transicion, cubic-bezier(.2,.7,.2,1));
	--f-display: var(--wp--preset--font-family--display, Georgia, serif);
	--f-texto: var(--wp--preset--font-family--texto, Arial, sans-serif);
	--cabecera-alto: 72px;
	--cenefa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22' viewBox='0 0 44 22'%3E%3Cg fill='none' stroke='%23B8AE9E' stroke-width='1.3'%3E%3Cpath d='M0 11h4M18 11h8M40 11h4'/%3E%3Cpath d='M11 2.5 19.5 11 11 19.5 2.5 11z'/%3E%3Ccircle cx='11' cy='11' r='3'/%3E%3Cpath d='M33 4.5c3 2.6 3 10.4 0 13-3-2.6-3-10.4 0-13zM26.5 11c2.6-3 10.4-3 13 0-2.6 3-10.4 3-13 0z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--cabecera-alto) + 1rem); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--c-acento-suave); color: var(--c-tinta); }
h1, h2, h3, h4 { text-wrap: balance; font-optical-sizing: auto; }
h1 em, h2 em, h3 em { font-style: italic; font-weight: inherit; color: inherit; }
p { text-wrap: pretty; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { color: var(--c-acento-texto); }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.principal { margin: 0; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
:focus-visible { outline: 2px solid var(--c-tinta); outline-offset: 3px; }

.seccion { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); margin: 0 !important; position: relative; border-top: 1px solid var(--c-linea); }
.principal > .seccion:first-child, .wp-block-cover + .seccion, .seccion + .wp-block-cover { border-top: 0; }
.seccion--compacta { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--70); }
.seccion--crema { background: var(--c-crema); }
.seccion--arena, .is-style-arena { background: var(--c-arena); }
.is-style-oliva { background: var(--c-oliva); color: var(--c-arena); }

/* Ceja: etiqueta pequeña (ya no se usa sobre los titulares; queda para quien la añada en el editor) */
.ceja, .is-style-ceja-estilo { font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--c-piedra); margin: 0 0 1rem; }

.seccion__titulo { margin: 0; max-width: 20ch; }
.seccion__intro { font-size: var(--wp--preset--font-size--l); color: var(--c-piedra); max-width: 56ch; margin-top: 1rem; }
.encabezado { margin-bottom: var(--wp--preset--spacing--60); }
.encabezado--centrado { text-align: center; }
.encabezado--centrado .seccion__titulo, .encabezado--centrado .seccion__intro { margin-left: auto; margin-right: auto; }

/* Enlace con flecha: la acción secundaria por defecto */
.enlace-flecha { margin-top: 1.5rem; font-weight: 600; font-size: var(--wp--preset--font-size--s); letter-spacing: .02em; }
.enlace-flecha a { text-decoration: none; display: inline-flex; align-items: center; gap: .55rem; border-bottom: 1px solid currentColor; padding-bottom: .15rem; color: var(--c-tinta); }
.enlace-flecha a::after { content: "→"; transition: transform .3s var(--ease); }
.enlace-flecha a:hover { color: var(--c-acento-texto); }
.enlace-flecha a:hover::after { transform: translateX(4px); }
.enlace-flecha--centrado { text-align: center; }

/* Botones: píldora oscura (theme.json) · claro (crema, sobre foto u oscuro) · contorno */
.wp-block-button__link { transition: background-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease); }
.boton-reservar .wp-block-button__link::after { content: "→"; margin-left: .6rem; display: inline-block; transition: transform .3s var(--ease); }
.boton-reservar .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-claro .wp-block-button__link { background: var(--c-arena); color: var(--c-tinta); }
.wp-block-button.is-style-claro .wp-block-button__link:hover { background: #fff; color: var(--c-tinta); }
.wp-block-button.is-style-contorno .wp-block-button__link { background: transparent; color: var(--c-tinta); box-shadow: inset 0 0 0 1px var(--c-tinta); }
.wp-block-button.is-style-contorno .wp-block-button__link:hover { background: var(--c-tinta); color: var(--c-arena); }
.wp-block-button.is-style-oliva .wp-block-button__link { background: var(--c-oliva); color: var(--c-arena); }

/* ---------- cabecera (oscura, como una carta) ---------- */
.cabecera > * { margin-block: 0 !important; }
.cabecera { position: sticky; top: 0; z-index: 50; background: var(--c-tinta); color: var(--c-arena); transition: box-shadow .4s var(--ease); }
.con-scroll .cabecera { box-shadow: 0 12px 30px -20px rgba(0,0,0,.6); }
.admin-bar .cabecera { top: 32px; }
.barra-demo { margin: 0; background: var(--c-acento); color: #fff; text-align: center; font-size: var(--wp--preset--font-size--xs); padding: .4rem 1rem; }
.barra-aviso { max-height: 3rem; overflow: visible; transition: max-height .45s var(--ease), padding .45s var(--ease), opacity .3s var(--ease); gap: 1rem; padding: .45rem var(--wp--style--root--padding-right, 2rem) .45rem var(--wp--style--root--padding-left, 2rem); border-bottom: 1px solid var(--c-linea-oscura); color: var(--c-sobre-oscuro); font-size: var(--wp--preset--font-size--xs); letter-spacing: .06em; }
.barra-aviso p { margin: 0; }
.barra-aviso a { color: inherit; text-decoration: none; }
.barra-aviso a:hover { color: var(--c-arena); text-decoration: underline; }
.barra-aviso__idioma { margin-left: auto !important; }
.barra-aviso__datos { gap: 1.25rem; margin: 0; align-items: center; }
.barra-aviso__direccion::before { content: "·"; margin-right: 1.25rem; opacity: .5; }
.barra-aviso .cgj-idiomas summary { color: var(--c-arena); padding: .15rem .4rem; }
.barra-aviso .cgj-idiomas__lista a { color: var(--c-tinta); }
.barra-aviso .cgj-idiomas__lista a:hover { background: var(--c-arena); text-decoration: none; }
.con-scroll .barra-aviso { overflow: hidden; visibility: hidden; transition: max-height .45s var(--ease), padding .45s var(--ease), opacity .3s var(--ease), visibility 0s linear .45s; max-height: 0; padding-top: 0; padding-bottom: 0; opacity: 0; border-bottom-color: transparent; }
.cabecera__barra { transition: min-height .45s var(--ease); max-width: 1320px; margin: 0 auto; min-height: var(--cabecera-alto); gap: 2rem; padding: .6rem var(--wp--style--root--padding-right, 2rem) .6rem var(--wp--style--root--padding-left, 2rem); }
.marca { margin: 0; flex: none; }
.marca img { display: block; height: auto; transition: transform .45s var(--ease); transform-origin: left center; }
.con-scroll .cabecera__barra { min-height: 60px; }
.con-scroll .cabecera__barra .marca img { transform: scale(.88); }
.cabecera .marca img:not(.logo-tema) { filter: brightness(0) invert(1); }
.menu-principal { flex: 1; font-size: var(--wp--preset--font-size--s); color: var(--c-arena); }
.menu-principal .wp-block-navigation__container { gap: clamp(1.25rem, 2.4vw, 2.25rem); }
.menu-principal .wp-block-navigation-item__content { text-decoration: none; padding: .3rem 0; letter-spacing: .03em; color: var(--c-arena); border-bottom: 1px solid transparent; transition: border-color .25s var(--ease); }
.menu-principal .wp-block-navigation-item__content:hover, .menu-principal .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: currentColor; color: var(--c-arena); }
.cabecera__acciones { margin: 0; flex: none; }
.cabecera__cta .wp-block-button__link { background: var(--c-arena); color: var(--c-tinta); padding: .7rem 1.35rem; }
.cabecera__cta .wp-block-button__link:hover { background: #fff; color: var(--c-tinta); }
.menu-principal .wp-block-navigation__responsive-container-open, .menu-principal .wp-block-navigation__responsive-container-close { color: var(--c-arena); }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open { background: var(--c-tinta); color: var(--c-arena); padding: 1.5rem; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--f-display); font-size: 2rem; }
.menu-principal .wp-block-navigation__responsive-container-open svg, .menu-principal .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

/* ---------- portada: foto a sangre con dos botones ---------- */
.hero.wp-block-cover { min-height: calc(86vh - var(--cabecera-alto)) !important; padding: var(--wp--preset--spacing--60) var(--wp--style--root--padding-right, 2rem); align-items: flex-end; justify-content: center; overflow: hidden; }
.hero .wp-block-cover__image-background { transform: scale(1.03); animation: hero-zoom 14s var(--ease) forwards; }
@keyframes hero-zoom { to { transform: scale(1); } }
.hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(24,21,18,0) 55%, rgba(24,21,18,.38) 100%) !important; opacity: 1 !important; }
.hero__contenido { position: relative; z-index: 2; }
.hero__acciones { gap: .75rem; margin: 0; }
.hero__acciones .wp-block-button__link { min-width: 12.5rem; padding-top: 1.05rem; padding-bottom: 1.05rem; box-shadow: 0 10px 30px -12px rgba(0,0,0,.45); }

/* ---------- lema (en portada, el h1) ---------- */
.seccion--lema { padding-top: var(--wp--preset--spacing--70); }
.lema { gap: var(--wp--preset--spacing--60) !important; margin: 0; }
.lema__titulo { font-size: var(--wp--preset--font-size--hero); line-height: 1; margin: 0; max-width: 12ch; font-weight: 350; letter-spacing: -.02em; }
.lema__texto { color: var(--c-texto-largo); font-size: var(--wp--preset--font-size--l); line-height: 1.6; margin: 0; }
.lema__texto + .lema__texto { margin-top: 1rem; }
.lema__sello { position: relative !important; width: 112px !important; margin: 0 0 1.5rem !important; color: var(--c-tinta); }

/* ---------- 50/50 foto a sangre + texto ---------- */
.seccion--sangre { padding: 0 !important; }
.seccion--sangre > .mitad { max-width: none !important; }
.mitad { gap: 0 !important; margin: 0 !important; align-items: stretch !important; }
.mitad--invertida { flex-direction: row-reverse; }
.mitad > .wp-block-column { margin: 0 !important; }
.mitad__imagen { margin: 0; height: 100%; overflow: hidden; }
.mitad__imagen img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; transition: transform 1.4s var(--ease); }
.mitad:hover .mitad__imagen img { transform: scale(1.025); }
.mitad__texto-col { padding: var(--wp--preset--spacing--70) clamp(1.5rem, 6vw, 6rem); max-width: 640px; }
.mitad__titulo { margin: 0 0 1.25rem; max-width: 14ch; }
.mitad__texto { color: var(--c-texto-largo); max-width: 50ch; margin: 0; }
.mitad__texto + .mitad__texto { margin-top: 1rem; }
.datos { gap: 2.5rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--c-linea); }
.dato p { margin: 0; }
.dato__etiqueta { font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .12em; font-weight: 600; color: var(--c-piedra); margin: 0 0 .3rem !important; }
.dato__valor { font-family: var(--f-display); font-size: 1.2rem; }

/* ---------- accesos (carta, grupos) ---------- */
.seccion--accesos { border-top: 0; }
.accesos { gap: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; border-top: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); }
.acceso { margin: 0; padding: var(--wp--preset--spacing--50); }
.acceso + .acceso { border-left: 1px solid var(--c-linea); }
.acceso__imagen { margin: 0 0 1.5rem; overflow: hidden; }
.acceso__imagen img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform 1.4s var(--ease); }
.acceso:hover .acceso__imagen img { transform: scale(1.03); }
.acceso__titulo { margin: 0 0 .6rem; font-size: var(--wp--preset--font-size--xl); }
.acceso__texto { color: var(--c-texto-largo); max-width: 46ch; margin: 0; }
.acceso .enlace-flecha { margin-top: 1.25rem; }

/* ---------- tira de platos ---------- */
.platos { gap: 1rem !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.plato-destacado { margin: 0; }
.plato-destacado__imagen { margin: 0 0 1rem; overflow: hidden; }
.plato-destacado__imagen img { aspect-ratio: 1; object-fit: cover; width: 100%; transition: transform 1.4s var(--ease); }
.plato-destacado:hover .plato-destacado__imagen img { transform: scale(1.04); }
.plato-destacado__nombre { font-size: 1.3rem; margin: 0 0 .25rem; }
.plato-destacado__texto { color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); margin: 0; }
.seccion--platos .enlace-flecha { margin-top: var(--wp--preset--spacing--50); }

/* ---------- banda a sangre ---------- */
.banda.wp-block-cover { padding: var(--wp--preset--spacing--80) var(--wp--style--root--padding-right, 2rem); }
.banda .wp-block-cover__background { background: rgba(24,21,18,.42) !important; opacity: 1 !important; }
.banda__contenido { color: var(--c-arena); }
.banda__titulo { color: var(--c-arena); margin: 0; }
.banda__texto { font-size: var(--wp--preset--font-size--l); max-width: 44ch; margin: 1rem auto 2rem; }

/* ---------- horario y ubicación ---------- */
.visita { gap: var(--wp--preset--spacing--70) !important; margin: 0; }
.visita .dato { margin-top: 2rem; }
.visita__direccion { font-family: var(--f-display); font-size: 1.5rem; margin: 0; }
.visita .enlace-flecha { margin-top: 1rem; }
.visita .dato + .enlace-flecha { margin-top: 1.25rem; }
.visita__tabla { margin: 0; }
.visita__horario-titulo { font-size: var(--wp--preset--font-size--xs); font-family: var(--f-texto); text-transform: uppercase; letter-spacing: .14em; font-weight: 600; color: var(--c-piedra); margin: 0 0 .75rem; }
.visita__horario, .visita__horario p { margin: 0; }
.horario { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--m); border-top: 1px solid var(--c-tinta); }
.horario th, .horario td { text-align: left; padding: .75rem .5rem .75rem 0; border-bottom: 1px solid var(--c-linea); font-weight: 400; }
.horario thead th { font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .12em; font-weight: 600; color: var(--c-piedra); }
.horario tbody th { font-family: var(--f-display); font-size: 1.1rem; }
.horario__cerrado td { color: var(--c-piedra); font-style: italic; }
.horario tr.hoy th, .horario tr.hoy td { font-weight: 700; }
.horario tr.hoy th::after { content: " · hoy"; font-family: var(--f-texto); font-weight: 400; font-size: var(--wp--preset--font-size--xs); color: var(--c-acento-texto); }
html[lang^="en"] .horario tr.hoy th::after { content: " · today"; }
.horario__aviso { margin: 1rem 0 0; padding: .75rem 1rem; border: 1px solid var(--c-linea); font-size: var(--wp--preset--font-size--s); }
.tarjeta { border: 1px solid var(--c-linea); padding: clamp(1.5rem, 3vw, 2.25rem); background: transparent; }
.tarjeta__titulo { font-size: var(--wp--preset--font-size--xl); margin: 0 0 1.1rem; }

/* ---------- FAQ ---------- */
.faq-columnas { gap: var(--wp--preset--spacing--60) !important; margin: 0; }
.faq .wp-block-details { border-bottom: 1px solid var(--c-linea); padding: 0; margin: 0; }
.faq .wp-block-details:first-child { border-top: 1px solid var(--c-tinta); }
.faq summary { list-style: none; cursor: pointer; padding: 1.3rem 3rem 1.3rem 0; font-family: var(--f-display); font-size: 1.3rem; position: relative; line-height: 1.3; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: .25rem; top: 50%; width: 13px; height: 13px; margin-top: -6.5px;
	background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat; transition: transform .35s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .wp-block-details > p { color: var(--c-texto-largo); margin: 0 0 1.3rem; max-width: 62ch; }

/* ---------- llamada final a reservar ---------- */
.cta-reserva { text-align: center; padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.cta-reserva__titulo { margin: 0 auto; max-width: 18ch; }
.cta-reserva__texto { font-size: var(--wp--preset--font-size--l); color: var(--c-piedra); max-width: 46ch; margin: 1rem auto 2rem !important; }
.cta-reserva__alt { margin: 1.1rem 0 0; font-size: var(--wp--preset--font-size--s); }
.cta-reserva__alt a { color: var(--c-tinta); }

/* ---------- cabecera de página interior ---------- */
.cabecera-pagina { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); border-top: 0; }
.cabecera-pagina--texto { padding-bottom: var(--wp--preset--spacing--50); border-bottom: 1px solid var(--c-linea); }
.cabecera-pagina__columnas { gap: var(--wp--preset--spacing--60) !important; margin: 0; }
.cabecera-pagina__titulo { font-size: var(--wp--preset--font-size--xxl); margin: 0; line-height: 1.04; font-weight: 350; max-width: 16ch; }
.cabecera-pagina--texto .cabecera-pagina__titulo { font-size: clamp(2.6rem, 6vw, 4.5rem); }
.cabecera-pagina--corta .cabecera-pagina__titulo { font-size: var(--wp--preset--font-size--xxl); }
.cabecera-pagina__texto { font-size: var(--wp--preset--font-size--l); color: var(--c-piedra); max-width: 48ch; margin-top: 1.25rem; }
.cabecera-pagina__acciones { margin-top: 1.75rem; gap: .75rem; }
.cabecera-pagina__imagen { margin: 0; overflow: hidden; }
.cabecera-pagina__imagen img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.cabecera-pagina--404 { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); text-align: center; }
.cabecera-pagina--404 .cabecera-pagina__titulo, .gracias .cabecera-pagina__titulo { margin-left: auto; margin-right: auto; }
.cabecera-pagina--404 .cabecera-pagina__texto, .gracias .cabecera-pagina__texto { margin-left: auto; margin-right: auto; }
.gracias { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.gracias__icono { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--c-tinta); font-size: 1.5rem; display: grid; place-items: center; margin: 0 auto 1.5rem !important; }
.gracias__titulo { font-size: var(--wp--preset--font-size--xxl) !important; }

/* ---------- menús de grupo y espacios ---------- */
.menus-grupo { gap: 0 !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; border-top: 1px solid var(--c-tinta); }
.menu-grupo { display: flex; flex-direction: column; margin: 0; padding: 2rem 2rem 2rem 0; border-bottom: 1px solid var(--c-linea); }
.menu-grupo + .menu-grupo { padding-left: 2rem; border-left: 1px solid var(--c-linea); }
.menu-grupo__nombre { font-family: var(--f-texto); font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1rem; }
.menu-grupo__importe { font-family: var(--f-display); font-size: 2rem; line-height: 1.1; margin: 0; }
.menu-grupo__nota { color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); margin: .3rem 0 1.25rem; }
.menu-grupo__lista { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.menu-grupo__lista li { padding-left: 1.1rem; position: relative; }
.menu-grupo__lista li::before { content: "—"; position: absolute; left: 0; color: var(--c-piedra); }
.menu-grupo--destacado .menu-grupo__nombre::after { content: " ·  recomendado"; letter-spacing: .1em; color: var(--c-acento-texto); }
html[lang^="en"] .menu-grupo--destacado .menu-grupo__nombre::after { content: " ·  recommended"; }
.nota-pequena { font-size: var(--wp--preset--font-size--xs); color: var(--c-piedra); margin-top: 1.5rem; }
.espacios { gap: 1.5rem !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.espacio { margin: 0; }
.espacio__imagen { margin: 0 0 1.1rem; overflow: hidden; }
.espacio__imagen img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; transition: transform 1.4s var(--ease); }
.espacio:hover .espacio__imagen img { transform: scale(1.03); }
.espacio__nombre { font-size: 1.5rem; margin: 0 0 .35rem; }
.espacio__texto { color: var(--c-piedra); margin: 0; }

/* ---------- opiniones (opcional) y galería ---------- */
.opiniones { gap: 2rem !important; }
.opinion { margin: 0; padding-top: 1.5rem; border-top: 1px solid var(--c-tinta); }
.opinion__texto { font-family: var(--f-display); font-size: 1.3rem; line-height: 1.45; margin: 0 0 1rem; }
.opinion__autor { color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); margin: 0; }
.galeria-local.wp-block-gallery { gap: .75rem !important; }
.galeria-local img { aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- carta (bloque cgj/carta) ---------- */
.seccion--carta { padding-top: var(--wp--preset--spacing--40); border-top: 0; }
.carta { position: relative; }
.carta__pestanas { position: sticky; top: var(--cabecera-alto); z-index: 5; margin: 0 0 var(--wp--preset--spacing--60); background: var(--c-arena); border-bottom: 1px solid var(--c-linea); }
.admin-bar .carta__pestanas { top: calc(var(--cabecera-alto) + 32px); }
.carta__pestanas ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: clamp(1.25rem, 4vw, 3rem); overflow-x: auto; scrollbar-width: none; }
.carta__pestanas a, .carta__pestanas button {
	display: block; padding: 1rem 0 .9rem; text-decoration: none; font: inherit; font-size: var(--wp--preset--font-size--s); font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	white-space: nowrap; color: var(--c-piedra); background: transparent; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; transition: color .25s var(--ease), border-color .25s var(--ease);
}
.carta__pestanas a:hover, .carta__pestanas button:hover { color: var(--c-tinta); }
.carta__pestanas [aria-selected="true"] { color: var(--c-tinta); border-bottom-color: var(--c-tinta); }
.carta__grupo { scroll-margin-top: calc(var(--cabecera-alto) + 5rem); }
.carta__grupo + .carta__grupo { margin-top: var(--wp--preset--spacing--70); }
.carta.con-pestanas .carta__grupo + .carta__grupo { margin-top: 0; }
.carta.con-pestanas .carta__grupo[hidden] { display: none; }
.carta__grupo:focus:not(:focus-visible) { outline: none; }
.carta__grupo:focus-visible { outline-offset: 12px; }
.carta__grupo-titulo { text-align: center; font-size: var(--wp--preset--font-size--xxl); margin: 0 0 var(--wp--preset--spacing--50); }
.carta.con-pestanas .carta__grupo-titulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.carta__seccion + .carta__seccion { margin-top: var(--wp--preset--spacing--60); }
.carta__seccion-titulo { font-family: var(--f-texto); font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 .25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--c-tinta); }
.carta__nota { color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); margin: .75rem 0 0; }
.carta__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: 0 var(--wp--preset--spacing--60); }
.plato { padding: 1.2rem 0; border-bottom: 1px solid var(--c-linea); }
.plato__cabeza { display: flex; align-items: baseline; gap: 1rem; justify-content: space-between; }
.plato__nombre { font-family: var(--f-display); font-size: 1.25rem; line-height: 1.25; }
.plato__puntos { display: none; }
.plato__precio { font-variant-numeric: tabular-nums; white-space: nowrap; font-size: var(--wp--preset--font-size--s); font-weight: 600; }
.plato__desc { color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); margin: .3rem 0 0; max-width: 46ch; }
.plato__info { display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin: .6rem 0 0; align-items: center; }
.plato__etiqueta { font-size: .75rem; font-weight: 600; letter-spacing: .04em; color: var(--c-oliva); }
.plato__etiqueta--picante { color: var(--c-acento-texto); }
.plato__etiqueta--casa, .plato__etiqueta--temporada { color: var(--c-piedra); }
.plato__alergenos { display: inline-flex; flex-wrap: wrap; gap: .25rem; }
.alergeno { display: inline-grid; place-items: center; min-width: 1.7rem; height: 1.45rem; padding: 0 .3rem; border: 1px solid var(--c-borde-hover); font-size: .65rem; font-weight: 700; letter-spacing: .04em; color: var(--c-texto-largo); text-decoration: none; cursor: help; }
.carta__pie { text-align: center; color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); margin-top: var(--wp--preset--spacing--60); }
.carta-vacia { text-align: center; color: var(--c-piedra); }
.alergenos-leyenda { list-style: none; padding: 0; margin: 1rem 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: .75rem 1.5rem; }
.alergenos-leyenda li { display: flex; align-items: center; gap: .6rem; }

/* ---------- reservar ---------- */
.reserva-columnas, .contacto-columnas { gap: var(--wp--preset--spacing--60) !important; margin: 0; }
.reserva__caja, .formulario-caja { background: var(--c-crema); border: 1px solid var(--c-linea); padding: clamp(1.5rem, 4vw, 3rem); margin: 0; }
.reserva-caja__texto { font-size: var(--wp--preset--font-size--l); margin: 0 0 1.5rem; }
.reserva-caja__botones { display: flex; flex-wrap: wrap; gap: .75rem; }
.boton { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 1rem 1.9rem; font-weight: 600; font-size: var(--wp--preset--font-size--s); letter-spacing: .02em; text-decoration: none; transition: background-color .25s var(--ease), color .25s var(--ease); }
.boton--principal { background: var(--c-tinta); color: var(--c-arena); }
.boton--principal:hover { background: var(--c-boton-hover); color: var(--c-arena); }
.boton--secundario { box-shadow: inset 0 0 0 1px var(--c-tinta); color: var(--c-tinta); }
.boton--secundario:hover { background: var(--c-tinta); color: var(--c-arena); }
.reserva-caja__dato { margin: 1.5rem 0 0; color: var(--c-piedra); font-size: var(--wp--preset--font-size--s); }
.reserva__lado, .reserva__horario, .contacto__horario { margin: 0 0 1.5rem; }
.lista-puntos { margin: 0; padding: 0; list-style: none; display: grid; gap: .8rem; }
.lista-puntos li { padding-left: 1.1rem; position: relative; color: var(--c-texto-largo); }
.lista-puntos li::before { content: "—"; position: absolute; left: 0; color: var(--c-piedra); }

/* ---------- contacto y formularios (plugin) ---------- */
.contacto-tarjetas { display: grid; gap: 0; margin-bottom: 2rem; border-top: 1px solid var(--c-tinta); }
.contacto-dato { padding: 1.1rem 0; border-bottom: 1px solid var(--c-linea); margin: 0; }
.contacto-tarjeta__valor { font-family: var(--f-display); font-size: 1.25rem; margin: 0; line-height: 1.45; }
.contacto-tarjeta__valor a { text-decoration-color: var(--c-borde-hover); }
.seccion--formulario .seccion__intro { margin-bottom: 1.5rem; }
.seccion--formulario .contacto-tarjeta__valor + .contacto-tarjeta__valor { margin-top: .4rem; }
.formulario-caja__titulo { font-size: var(--wp--preset--font-size--xl); margin: 0 0 .4rem; }
.formulario-caja__texto { color: var(--c-piedra); margin: 0 0 1.5rem; font-size: var(--wp--preset--font-size--s); }
.cgj-form-envoltura { --n-carbon: var(--c-tinta); --n-piedra: var(--c-piedra); --n-linea: var(--c-linea); --n-niebla: var(--c-arena); --n-acento: var(--c-tinta); --n-acento-suave: var(--c-oliva-suave); }
.cgj-form input[type=text], .cgj-form input[type=tel], .cgj-form input[type=email], .cgj-form input[type=date], .cgj-form select, .cgj-form textarea { background: #fff; border-radius: 2px !important; border-width: 1px !important; }
.cgj-boton { border-radius: 999px !important; }
.cgj-boton--enviar, .cgj-boton--siguiente { background: var(--c-tinta) !important; color: var(--c-arena) !important; }
.cgj-boton--enviar:hover, .cgj-boton--siguiente:hover { background: var(--c-boton-hover) !important; }
.cgj-barra-movil { background: var(--c-tinta) !important; }
.cgj-barra-movil__btn--principal { background: var(--c-arena) !important; color: var(--c-tinta) !important; }
.cgj-opcion span { border-radius: 2px !important; }

/* ---------- textos legales y páginas libres ---------- */
.texto-legal h2, .contenido-libre h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 2.5rem; }
.texto-legal p, .texto-legal li { color: var(--c-texto-largo); }
.aviso-pendiente { background: var(--c-pendiente); padding: 1rem 1.25rem; margin-bottom: 2rem; font-size: var(--wp--preset--font-size--s); }
.aviso-pendiente p { margin: 0; }
.cgj-pendiente, mark.cgj-pendiente { background: var(--c-pendiente); padding: 0 .25em; }

/* ---------- pie ---------- */
.pie { background: var(--c-tinta); color: var(--c-sobre-oscuro); padding-top: var(--wp--preset--spacing--70); padding-bottom: 2rem; border-top: 0; }
.pie a { color: var(--c-arena); text-decoration-color: rgba(246,242,234,.3); }
.pie a:hover { color: var(--c-arena); text-decoration-color: currentColor; }
.pie__columnas { gap: var(--wp--preset--spacing--50) !important; margin: 0; }
.pie__titulo { font-family: var(--f-texto); font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--c-arena); margin: 0 0 1rem; }
.pie__dato { margin: 0 0 .45rem; }
.pie__enlace { font-size: var(--wp--preset--font-size--s); }
.pie__lista { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .4rem; font-size: var(--wp--preset--font-size--s); }
.pie .wp-block-separator.is-style-cenefa { opacity: .3; margin-top: var(--wp--preset--spacing--60); }
.marca--pie { margin: var(--wp--preset--spacing--60) auto var(--wp--preset--spacing--50) !important; max-width: 100%; display: flex; justify-content: center; }
.marca--pie img { max-width: min(340px, 80vw); height: auto; margin: 0 auto; }
.marca--pie img:not(.logo-tema) { filter: brightness(0) invert(1); }
.pie__inferior { gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--c-linea-oscura); font-size: var(--wp--preset--font-size--xs); }
.pie__inferior p { margin: 0; }
.pie__demo { margin: 1.25rem 0 0; font-size: var(--wp--preset--font-size--xs); opacity: .7; text-align: center; }

/* ---------- detalles opcionales (estilos de bloque) ---------- */
.wp-block-separator.is-style-cenefa { border: 0 !important; height: 22px; max-width: none !important; width: 100%; opacity: 1; background: var(--cenefa) center / 44px 22px repeat-x; margin: var(--wp--preset--spacing--60) 0 0; }
.wp-block-separator.linea-fina { border: 0 !important; border-top: 1px solid var(--c-linea) !important; margin: var(--wp--preset--spacing--50) 0; opacity: 1; }
.sello { width: 120px; aspect-ratio: 1; margin: 0; pointer-events: none; color: var(--c-tinta); }
.sello__grafico, .sello svg { display: block; width: 100%; height: 100%; }
.sello svg { animation: sello-gira 50s linear infinite; overflow: visible; }
.sello text { font-family: var(--f-texto); font-size: 11.5px; font-weight: 600; letter-spacing: .18em; fill: currentColor; }
.sello__centro path { fill: currentColor; }
.sello__centro { animation: sello-gira 50s linear infinite reverse; transform-origin: 80px 80px; }
@keyframes sello-gira { to { transform: rotate(360deg); } }
.wp-block-image.is-style-arco img { border-radius: 50vw 50vw 0 0 !important; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.wp-block-image.is-style-circulo img { border-radius: 50% !important; aspect-ratio: 1; object-fit: cover; width: 100%; }


/* ---------- movimiento (v2.1): todo se desactiva con «reducir movimiento» ---------- */
/* Portada: zoom lento de la foto y entrada de los botones */
.hero .wp-block-cover__image-background { transform: scale(1.08); animation: hero-zoom 22s cubic-bezier(.2,.6,.2,1) forwards; will-change: transform; }
.hero__acciones { animation: subir 1.1s var(--ease) .35s both; }
@keyframes subir { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
/* Fotos que se descubren como una cortina al entrar en pantalla */
.anima .revela-foto { overflow: hidden; }
.anima .revela-foto img { clip-path: inset(100% 0 0 0); transform: scale(1.12); transition: clip-path 1.3s cubic-bezier(.7,0,.2,1) var(--retardo, 0s), transform 1.8s var(--ease) var(--retardo, 0s); }
.anima .revela-foto.visible img { clip-path: inset(0 0 0 0); transform: scale(1); }
/* Titulares que suben desde una línea invisible */
.anima .revela-titulo { clip-path: inset(0 0 100% 0); transform: translateY(.35em); transition: clip-path 1.1s cubic-bezier(.7,0,.2,1) var(--retardo, 0s), transform 1.1s var(--ease) var(--retardo, 0s); }
.anima .revela-titulo.visible { clip-path: inset(-.2em -.2em -.3em -.2em); transform: none; }
/* Paralaje suave de la banda (lo mueve theme.js) */
.banda .wp-block-cover__image-background { height: 124% !important; top: -12% !important; transform: translate3d(0, var(--paralaje, 0px), 0); will-change: transform; }
/* Cinta en movimiento */
.cinta { overflow: hidden; overflow: clip; contain: paint; max-width: 100vw; border-top: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); padding: 1.1rem 0; margin: 0 !important; background: var(--c-arena); }
.cinta__texto { margin: 0; white-space: nowrap; }
.cinta__pista { display: inline-flex; gap: 2.5rem; align-items: center; animation: cinta 48s linear infinite; font-family: var(--f-display); font-size: clamp(1.4rem, 2.6vw, 2.2rem); font-style: italic; color: var(--c-tinta); }
.cinta__sep { font-style: normal; font-size: .6em; color: var(--c-acento-texto); }
.cinta:hover .cinta__pista { animation-play-state: paused; }
@keyframes cinta { to { transform: translateX(-50%); } }
/* Enlaces: la línea se recoge y vuelve a salir */
.enlace-flecha a { border-bottom: 0; background: linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat; transition: background-size .45s var(--ease), color .25s var(--ease); }
.enlace-flecha a:hover { background-size: 0 1px; background-position: right bottom; }
/* Botones: se elevan un poco */
.wp-block-button__link:hover { transform: translateY(-2px); }
.hero__acciones .wp-block-button__link:hover { box-shadow: 0 16px 34px -14px rgba(0,0,0,.55); }
/* Menú: subrayado que crece */
.menu-principal .wp-block-navigation-item__content { border-bottom: 0 !important; background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; transition: background-size .35s var(--ease); }
.menu-principal .wp-block-navigation-item__content:hover, .menu-principal .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 1px; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { animation: subir .6s var(--ease) both; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .06s; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .12s; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
/* Carta: al cambiar de pestaña, los platos aparecen escalonados */
.carta.con-pestanas .carta__grupo:not([hidden]) .plato { animation: subir .6s var(--ease) both; }
.carta.con-pestanas .carta__grupo:not([hidden]) .plato:nth-child(2) { animation-delay: .05s; }
.carta.con-pestanas .carta__grupo:not([hidden]) .plato:nth-child(3) { animation-delay: .1s; }
.carta.con-pestanas .carta__grupo:not([hidden]) .plato:nth-child(4) { animation-delay: .15s; }
.carta.con-pestanas .carta__grupo:not([hidden]) .plato:nth-child(n+5) { animation-delay: .2s; }
/* Horario: las filas entran una tras otra */
.anima .horario.revela tbody tr { opacity: 0; transform: translateX(-8px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.anima .horario.revela.visible tbody tr { opacity: 1; transform: none; }
.anima .horario.revela.visible tbody tr:nth-child(2) { transition-delay: .05s; } .anima .horario.revela.visible tbody tr:nth-child(3) { transition-delay: .1s; }
.anima .horario.revela.visible tbody tr:nth-child(4) { transition-delay: .15s; } .anima .horario.revela.visible tbody tr:nth-child(5) { transition-delay: .2s; }
.anima .horario.revela.visible tbody tr:nth-child(6) { transition-delay: .25s; } .anima .horario.revela.visible tbody tr:nth-child(7) { transition-delay: .3s; }

/* ---------- mapa (Contacto): recuadro propio; el de Google se carga al pulsar ---------- */
.seccion--mapa { padding: 0 !important; }
.mapa-bloque { margin: 0; }
.mapa { position: relative; display: block; height: clamp(320px, 46vh, 480px); background: #E9E3D8; overflow: hidden; }
.mapa__fondo { position: absolute; inset: 0; opacity: .7;
	background-image: linear-gradient(var(--c-linea) 1px, transparent 1px), linear-gradient(90deg, var(--c-linea) 1px, transparent 1px);
	background-size: 38px 38px; -webkit-mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%); }
.mapa__caja { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; text-align: center; padding: 1.5rem; }
.mapa__pin { width: 46px; height: 46px; color: var(--c-tinta); animation: pin 2.4s var(--ease) infinite; }
.mapa__pin svg { width: 100%; height: 100%; }
@keyframes pin { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.mapa__direccion { font-family: var(--f-display); font-size: 1.4rem; }
.mapa__boton { font: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--s); letter-spacing: .02em; background: var(--c-tinta); color: var(--c-arena); border: 0; border-radius: 999px; padding: .9rem 1.8rem; cursor: pointer; margin-top: .4rem; transition: background-color .25s var(--ease), transform .25s var(--ease); }
.mapa__boton:hover { background: #000; transform: translateY(-2px); }
.mapa__nota { font-size: var(--wp--preset--font-size--xs); color: var(--c-piedra); }
.mapa__enlace { font-size: var(--wp--preset--font-size--xs); color: var(--c-tinta); }
.mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.35) contrast(1.02); animation: aparecer .6s var(--ease) both; }
@keyframes aparecer { from { opacity: 0; } to { opacity: 1; } }
.mapa.cargado .mapa__caja, .mapa.cargado .mapa__fondo { display: none; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
	.menu-principal .wp-block-navigation__container { gap: 1.25rem; }
	.platos { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.menus-grupo { grid-template-columns: minmax(0, 1fr) !important; }
	.menu-grupo, .menu-grupo + .menu-grupo { padding: 1.75rem 0; border-left: 0; }
	.espacios { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 781px) {
	:root { --cabecera-alto: 60px; }
	.barra-aviso { justify-content: center !important; text-align: center; }
	.barra-aviso__dato:not(.si-direccion) { display: none; }
	.barra-aviso__direccion::before { display: none; }
	.barra-aviso__idioma { margin-left: 0 !important; }
	.cabecera__barra { display: grid !important; grid-template-columns: 1fr auto 1fr; gap: .5rem; }
	.cabecera__barra .marca { grid-column: 2; grid-row: 1; }
	.cabecera__barra .marca img { width: 118px !important; }
	.menu-principal { grid-column: 1; grid-row: 1; justify-self: start; }
	.cabecera__acciones { grid-column: 3; grid-row: 1; justify-self: end; }
	.cabecera__cta .wp-block-button__link { padding: .55rem .95rem; font-size: .8125rem; }
	.hero.wp-block-cover { min-height: 74vh !important; }
	.hero__acciones { flex-direction: column; align-items: stretch !important; width: 100%; max-width: 340px; margin: 0 auto; }
	.hero__acciones .wp-block-button { width: 100%; }
	.hero__acciones .wp-block-button__link { width: 100%; }
	.lema__sello { display: none; }
	.mitad, .mitad--invertida { flex-direction: column; }
	.mitad__imagen img { min-height: 0; aspect-ratio: 4 / 3; }
	.mitad__texto-col { padding: var(--wp--preset--spacing--60) var(--wp--style--root--padding-left, 1rem); }
	.accesos { grid-template-columns: minmax(0, 1fr) !important; }
	.acceso { padding: var(--wp--preset--spacing--50) 0; }
	.acceso + .acceso { border-left: 0; border-top: 1px solid var(--c-linea); }
	.espacios { grid-template-columns: minmax(0, 1fr) !important; }
	.carta__pestanas ul { justify-content: flex-start; padding: 0 var(--wp--style--root--padding-left, 1rem); }
	.carta__pestanas { margin-left: calc(-1 * var(--wp--style--root--padding-left, 1rem)); margin-right: calc(-1 * var(--wp--style--root--padding-right, 1rem)); }
	.pie__columnas .wp-block-column { flex-basis: 45% !important; }
	.pie__inferior { flex-direction: column; align-items: flex-start !important; }
}
@media (max-width: 600px) {
	.cabecera__acciones { visibility: hidden; }   /* la barra móvil inferior ya lleva «Reservar» */
	.pie__columnas .wp-block-column { flex-basis: 100% !important; }
	.datos { gap: 1.5rem; }
	.plato__nombre { font-size: 1.12rem; }
	body:has(.cgj-barra-movil) .pie { padding-bottom: 6rem; }
}

/* ---------- editor ---------- */
.editor-styles-wrapper .cabecera { position: relative; }
.editor-styles-wrapper .sello svg, .editor-styles-wrapper .sello__centro { animation: none; }
.editor-styles-wrapper .hero .wp-block-cover__image-background { animation: none; transform: none; }

/* ---------- interacción: aparición al hacer scroll ---------- */
.anima .revela { opacity: 0; transform: translateY(16px); transition: opacity .9s var(--ease) var(--retardo, 0s), transform .9s var(--ease) var(--retardo, 0s); }
.anima .revela.visible { opacity: 1; transform: none; }
.anima .revela-img { opacity: 0; transition: opacity 1.2s var(--ease); }
.anima .revela-img.visible { opacity: 1; }

/* ---------- movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.sello svg, .sello__centro, .hero .wp-block-cover__image-background, .hero__acciones, .mapa__pin { animation: none !important; transform: none !important; }
	.banda .wp-block-cover__image-background { transform: none !important; }
	.cinta__pista { animation: none !important; display: flex; justify-content: center; }
	.cinta__pista > span:nth-child(n+2) { display: none; }
	.carta .plato, .menu-principal .wp-block-navigation-item { animation: none !important; }
	.wp-block-button__link:hover, .mapa__boton:hover { transform: none !important; }
	*, *::before, *::after { transition-duration: .01ms !important; }
}

/* ==========================================================================
   Botones rectangulares (v2.2): esquinas de 2 px y texto en mayúsculas espaciadas,
   como las etiquetas de la carta. Misma altura, colores y flecha que antes.
   (Los botones de bloque toman forma y letra de theme.json → elements.button.)
   ========================================================================== */
.wp-block-button__link { white-space: nowrap; }
.boton, .mapa__boton, .cgj-boton { border-radius: 2px !important; font-size: .78rem !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.boton { line-height: 1.125rem; }
.mapa__boton { line-height: 1.59375rem; }
.cgj-barra-movil, .cgj-barra-movil__btn { border-radius: 2px !important; }
/* Mismo criterio en el selector de idioma y en las horas del formulario de reserva */
.cgj-idiomas summary, .cgj-idiomas__lista, .cgj-idiomas__lista a { border-radius: 2px; }
@media (max-width: 781px) {
	.cabecera__cta .wp-block-button__link { font-size: .6875rem; line-height: .975rem; }
}

