@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url(/fuentes/merriweather-latin-ext-0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url(/fuentes/merriweather-latin-1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 900; font-stretch: 100%; font-display: swap; src: url(/fuentes/merriweather-latin-ext-0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 900; font-stretch: 100%; font-display: swap; src: url(/fuentes/merriweather-latin-1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fuentes/montserrat-latin-ext-2.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fuentes/montserrat-latin-3.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fuentes/montserrat-latin-ext-2.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fuentes/montserrat-latin-3.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fuentes/montserrat-latin-ext-2.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fuentes/montserrat-latin-3.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fuentes/montserrat-latin-ext-2.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fuentes/montserrat-latin-3.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --azul: #13235b;
  --azul-medio: #1f3a93;
  --amarillo: #fcd116;
  --rojo: #ce1126;
  --rojo-oscuro: #a50d26;
  --crema: #f8f4ea;
  --crema-oscura: #efe6d2;
  --borde: #e2dccb;
  --hueco: #e7e1d1;
  --texto: #3a4670;
  --suave: #5b668c;
  --claro: #c9d2ee;
  --font-display: "Merriweather", Georgia, serif;
  --font-sans: "Montserrat", system-ui, sans-serif;
  --pad-x: 24px;
  --sec-pad: 56px 24px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--crema); color: var(--azul); font-family: var(--font-sans); }
img { max-width: 100%; }
a { color: var(--azul-medio); text-decoration: none; }
a:hover { color: var(--rojo); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, label:focus-within { outline: 3px solid var(--amarillo); outline-offset: 2px; }
h1, h2, h3, p { margin: 0; }
[hidden] { display: none !important; }
ul[role="list"], ol[role="list"] { margin: 0; padding: 0; list-style: none; }

.saltar { position: absolute; left: 12px; top: -60px; z-index: 50; padding: 10px 14px; border-radius: 8px; background: var(--amarillo); color: var(--azul); font-weight: 700; }
.saltar:focus { top: 12px; }

.contenedor { max-width: 1200px; margin: 0 auto; width: 100%; }
.tricolor { display: flex; height: 4px; }
.tricolor span { flex: 1; }
.tricolor span:nth-child(1) { background: var(--azul-medio); }
.tricolor span:nth-child(2) { background: var(--amarillo); }
.tricolor span:nth-child(3) { background: var(--rojo); }
.tricolor-grueso { height: 6px; }

.antetitulo { font: 600 13px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--rojo); }
.antetitulo-sm { font: 600 12px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--rojo); }

.boton { display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font: 600 15px var(--font-sans); padding: 13px 20px; }
.boton-rojo { background: var(--rojo); color: #fff; }
.boton-rojo:hover { background: var(--rojo-oscuro); color: #fff; }
.boton-borde { border: 2px solid var(--azul); color: var(--azul); }
.boton-borde:hover { background: var(--azul); color: #fff; }
.enlace-rojo { font: 600 14px var(--font-sans); color: var(--rojo); }
.enlace-rojo:hover { color: var(--azul); }

.barra { background: var(--azul); color: #fff; font-size: 13px; }
.barra .contenedor { padding: 8px var(--pad-x); display: flex; gap: 16px; align-items: center; }
.barra-lema { white-space: nowrap; }
.barra-lema b { color: var(--amarillo); }
.idiomas { display: flex; gap: 4px; align-items: center; }
.idiomas a { padding: 3px 7px; border-radius: 5px; color: #fff; font: 600 12px var(--font-sans); letter-spacing: .06em; }
.idiomas a:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.idiomas a[aria-current] { background: var(--amarillo); color: var(--azul); font-weight: 700; }
.barra-contacto { margin-left: auto; display: flex; gap: 14px; align-items: center; }
.barra-contacto a { color: #fff; }
.barra-contacto a.wa { color: var(--amarillo); font-weight: 600; }

.cabecera { position: sticky; top: 0; z-index: 20; background: #fff; box-shadow: 0 1px 0 rgba(19, 35, 91, .12); }
.cabecera .contenedor { padding: 8px var(--pad-x); display: flex; align-items: center; gap: 20px; }
.marca-casa { display: flex; align-items: center; gap: 10px; flex: none; }
.marca-casa img { width: 68px; height: 68px; object-fit: contain; display: block; }
.marca-casa span { display: flex; flex-direction: column; line-height: 1.05; }
.marca-nombre { font: 900 20px var(--font-display); letter-spacing: .03em; color: var(--azul); }
.marca-lema { font: 600 10.5px var(--font-sans); letter-spacing: .14em; color: var(--rojo); }
.navegacion { flex: 1 1 auto; min-width: 0; display: flex; gap: 18px; white-space: nowrap; font: 600 12.5px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.navegacion a { color: var(--azul); }
.navegacion a:hover { color: var(--rojo); }
.cabecera-wa { margin-left: auto; flex: none; white-space: nowrap; padding: 10px 18px; border-radius: 8px; font-size: 15px; }
.boton-menu { display: none; margin-left: auto; align-items: center; gap: 8px; border: 1px solid var(--borde); background: var(--crema); border-radius: 8px; padding: 10px 14px; cursor: pointer; font: 600 12.5px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--azul); min-height: 44px; }
.hamburguesa { display: flex; flex-direction: column; gap: 4px; }
.hamburguesa span { width: 18px; height: 2px; background: var(--azul); }
.menu-movil { background: #fff; border-bottom: 1px solid var(--borde); padding: 8px var(--pad-x) 18px; display: flex; flex-direction: column; }
.menu-movil a { padding: 14px 0; border-bottom: 1px solid var(--crema-oscura); color: var(--azul); font: 600 14px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.menu-movil a.boton { margin-top: 14px; padding: 14px; border: 0; border-radius: 10px; color: #fff; font-size: 16px; letter-spacing: 0; text-transform: none; }

main { display: flex; flex-direction: column; }
section[id] { scroll-margin-top: 84px; }

.portada { padding: 40px 24px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 28px; align-items: center; }
.portada-texto { display: flex; flex-direction: column; gap: 16px; }
.portada h1 { font: 900 clamp(46px, 6.4vw, 84px)/.95 var(--font-display); letter-spacing: -.03em; color: var(--azul); }
.entradilla { font-size: 19px; line-height: 1.55; color: var(--texto); max-width: 500px; text-wrap: pretty; }
.portada-botones { display: flex; gap: 12px; flex-wrap: wrap; padding-top: 4px; }
.portada-botones .boton { padding: 14px 22px; font-size: 17px; flex: 1 1 auto; }
.portada-botones .boton-rojo { max-width: 280px; }
.portada-botones .boton-borde { max-width: 240px; }
.valores-linea { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 8px; font: 600 13px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--azul); }
.valores-linea i { font-style: normal; color: var(--rojo); }
.portada-imagen { position: relative; min-height: 440px; border-radius: 20px; overflow: hidden; background: var(--azul); }
.portada-imagen > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sello { position: absolute; left: 16px; bottom: 16px; width: 150px; height: 150px; border-radius: 999px; background: #fff; box-shadow: 0 10px 30px rgba(19, 35, 91, .3); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.sello img { width: 92%; height: 92%; object-fit: contain; }

.valores { padding: 20px var(--pad-x); }
.valores-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.valor { background: #fff; border: 1px solid var(--borde); border-radius: 14px; padding: 20px; border-top: 4px solid var(--azul-medio); display: flex; flex-direction: column; gap: 6px; }
.valor:nth-child(2) { border-top-color: var(--amarillo); }
.valor:nth-child(3) { border-top-color: var(--rojo); }
.valor h2 { font: 900 20px var(--font-display); }
.valor p { font-size: 15px; line-height: 1.5; color: var(--texto); }

.grupo { padding: 28px var(--pad-x) 0; display: flex; flex-direction: column; gap: 14px; }
.grupo-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 14px; }
.grupo-tarjeta { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 18px; color: var(--azul); }
.grupo-tarjeta:hover { border-color: var(--azul); color: var(--azul); }
.grupo-tarjeta img { flex: none; }
.grupo-tarjeta .logo-casa { width: 76px; height: 76px; object-fit: contain; }
.grupo-tarjeta .logo-rest { width: 110px; height: auto; }
.grupo-tarjeta span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.grupo-tarjeta strong { font: 900 20px var(--font-display); }
.grupo-tarjeta small { font-size: 14px; line-height: 1.45; color: var(--texto); }

.titulo-seccion { font: 900 clamp(30px, 3.6vw, 42px)/1.1 var(--font-display); letter-spacing: -.02em; }
.subtitulo { font: 900 24px var(--font-display); letter-spacing: -.01em; }

.productos { padding: var(--sec-pad); display: flex; flex-direction: column; gap: 18px; }
.cabeza { display: flex; flex-direction: column; gap: 6px; }
.cabeza p { font-size: 16px; line-height: 1.5; color: var(--texto); max-width: 560px; }
.categorias { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(270px, 100%), 1fr)); gap: 16px; }
.categoria { background: #fff; border: 1px solid var(--borde); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.categoria-foto { position: relative; aspect-ratio: 16 / 10; background: var(--hueco); }
.categoria-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.categoria-cuerpo { padding: 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.categoria h3 { font: 900 19px var(--font-display); }
.categoria p { font-size: 14px; line-height: 1.5; color: var(--texto); text-wrap: pretty; }
.categoria a { margin-top: auto; padding-top: 10px; font: 600 14px var(--font-sans); color: var(--rojo); min-height: 32px; }
.categoria a:hover { color: var(--rojo-oscuro); }
.marcas { display: flex; flex-direction: column; gap: 14px; padding-top: 20px; }
.marcas-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.marcas-rejilla li { background: #fff; border: 1px solid var(--borde); border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.marcas-rejilla div { width: 100%; height: 76px; display: flex; align-items: center; justify-content: center; }
.marcas-rejilla img { max-width: 100%; object-fit: contain; display: block; }
.marcas-rejilla span { font: 600 12px var(--font-sans); color: var(--suave); }

.pedir { background: var(--azul); color: #fff; }
.pedir-cuerpo { padding: var(--sec-pad); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 36px; align-items: start; }
.pasos-col { display: flex; flex-direction: column; gap: 22px; }
.pasos { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 0; list-style: none; }
.pasos li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.paso-num { width: 44px; height: 44px; border-radius: 999px; background: var(--azul-medio); border: 2px solid #fff; display: flex; align-items: center; justify-content: center; font: 900 18px var(--font-display); }
.pasos li:nth-child(2) .paso-num { background: var(--amarillo); color: var(--azul); border: 0; }
.pasos li:nth-child(3) .paso-num { background: var(--rojo); border: 0; }
.pasos h3 { font: 700 18px var(--font-display); }
.pasos p { font-size: 15px; line-height: 1.5; color: var(--claro); }
.formulario { background: #fff; color: var(--azul); border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.formulario h3 { font: 900 22px var(--font-display); }
.etiqueta { display: flex; flex-direction: column; gap: 8px; font: 600 12px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--azul); }
.campo { width: 100%; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--borde); background: var(--crema); font: 500 16px/1.5 var(--font-sans); color: var(--azul); outline: none; text-transform: none; letter-spacing: 0; }
.campo:focus { border-color: var(--azul-medio); background: #fff; }
textarea.campo { resize: vertical; }
.tiendas-elegir { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tiendas-elegir legend { padding: 0; margin-bottom: 8px; }
.tiendas-opciones { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.opcion { position: relative; }
.opcion input { position: absolute; opacity: 0; pointer-events: none; }
.opcion span { display: flex; align-items: center; justify-content: center; text-align: center; cursor: pointer; min-height: 48px; padding: 10px; border-radius: 8px; border: 1px solid var(--borde); background: var(--crema); color: var(--azul); font: 500 14px var(--font-sans); }
.opcion span:hover { border-color: var(--azul); }
.opcion input:checked + span { border-color: var(--azul); background: var(--azul); color: #fff; font-weight: 600; }
.opcion input:focus-visible + span { outline: 3px solid var(--amarillo); outline-offset: 2px; }
.formulario .boton { padding: 15px; font-size: 16px; }

.transilvania { background: var(--crema-oscura); color: var(--azul); }
.transilvania-cuerpo { padding: var(--sec-pad); display: flex; flex-direction: column; gap: 32px; }
.transilvania-intro { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 28px; align-items: center; }
.transilvania-texto { display: flex; flex-direction: column; gap: 16px; }
.transilvania-marca { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.transilvania-marca > span:first-child { background: #fff; border-radius: 10px; padding: 8px 14px; display: flex; }
.transilvania-marca img { height: 44px; width: auto; display: block; }
.transilvania .titulo-seccion { letter-spacing: -.01em; text-wrap: balance; }
.transilvania-texto p { font-size: 16px; line-height: 1.6; color: var(--texto); max-width: 540px; text-wrap: pretty; }
.transilvania-botones { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 4px; }
.transilvania-botones .tel { display: inline-flex; align-items: center; padding: 13px 6px; color: var(--rojo); font: 600 15px var(--font-sans); }
.transilvania-botones .tel:hover { color: var(--azul); }
.transilvania-foto { position: relative; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: var(--hueco); margin: 0; }
.transilvania-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.transilvania-foto figcaption { position: absolute; left: 12px; bottom: 12px; font: italic 13px var(--font-sans); color: #fff; background: rgba(19, 35, 91, .8); padding: 4px 10px; border-radius: 6px; }
.platos { display: flex; flex-direction: column; gap: 14px; }
.platos-cabeza { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.platos-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.platos-rejilla li { background: #fff; border: 1px solid var(--borde); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.platos-rejilla strong { font: 700 16px/1.3 var(--font-display); color: var(--azul); }
.platos-rejilla span { font-size: 14px; line-height: 1.45; color: var(--suave); }
.datos-rest { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.dato { background: #fff; border: 1px solid var(--borde); border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.dato h4 { margin: 0; font: 900 20px var(--font-display); color: var(--azul); }
.dato p { font-size: 14px; line-height: 1.55; color: var(--texto); }
.dato > a { margin-top: auto; }
.horario { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; font-size: 14px; color: var(--texto); margin: 0; }
.horario dt { color: var(--azul); font-weight: 600; }
.horario dd { margin: 0; }
.redes { display: flex; gap: 14px; flex-wrap: wrap; padding-top: 6px; }

.tiendas { background: #fff; }
.tiendas-cuerpo { padding: var(--sec-pad); display: flex; flex-direction: column; gap: 22px; }
.tiendas-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 18px; }
.tienda { border: 1px solid var(--borde); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; background: var(--crema); }
.tienda-mapa { position: relative; aspect-ratio: 16 / 10; background: var(--hueco); }
.tienda-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tienda-cuerpo { padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.tienda-dir { display: flex; flex-direction: column; gap: 2px; font-style: normal; }
.tienda-dir strong { font: 900 21px var(--font-display); }
.tienda-dir span:last-child { font-size: 15px; color: var(--suave); }
.tienda-datos { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; font-size: 15px; margin: 0; }
.tienda-datos dt { color: var(--suave); }
.tienda-datos dd { margin: 0; }
.tienda-datos a { font-weight: 600; }
.tienda-botones { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 4px; }
.tienda-botones .boton { min-height: 44px; padding: 11px 16px; font-size: 14px; }

.pie { background: var(--azul); color: var(--claro); }
.pie-cuerpo { padding: 36px var(--pad-x) 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 26px; font-size: 14px; }
.pie-marca { display: flex; align-items: center; gap: 14px; }
.pie-marca img { width: 80px; height: 80px; border-radius: 999px; background: #fff; object-fit: contain; }
.pie-marca span { display: flex; flex-direction: column; gap: 4px; }
.pie-marca .marca-nombre { color: #fff; }
.pie-marca .marca-lema { font-size: 12px; color: var(--amarillo); }
.pie-col { display: flex; flex-direction: column; gap: 8px; }
.pie-col h2 { font: 600 12px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--amarillo); }
.pie-col a { color: #fff; }
.pie-col a.wa { color: var(--amarillo); }
.pie-col a:hover { color: var(--amarillo); }
.pie-final { padding: 16px var(--pad-x) 90px; border-top: 1px solid rgba(255, 255, 255, .12); display: flex; gap: 12px 16px; flex-wrap: wrap; font-size: 13px; color: #94a3c4; }
.pie-final a { margin-left: auto; color: #94a3c4; }
.pie-final a:hover { color: #fff; }
.pie-final a b { color: #fff; font-weight: 600; }

.flotante { position: fixed; right: 18px; bottom: 18px; z-index: 30; display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 12px 18px 12px 14px; border-radius: 999px; background: var(--rojo); color: #fff; font: 600 15px var(--font-sans); box-shadow: 0 8px 24px rgba(19, 35, 91, .3); border: 2px solid #fff; }
.flotante:hover { background: var(--rojo-oscuro); color: #fff; }

.error { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px; text-align: center; }
.error img { width: 160px; height: 160px; }
.error p { font-size: 17px; line-height: 1.5; color: var(--texto); }
.error nav { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

@media (max-width: 819px) {
  :root { --pad-x: 18px; --sec-pad: 40px 18px; }
  .barra-lema, .navegacion, .cabecera-wa, .flotante-texto { display: none; }
  .boton-menu { display: flex; }
  .marca-casa img { width: 52px; height: 52px; }
  .portada { padding: 24px 18px 12px; }
  .portada h1 { font-size: 52px; }
  .titulo-seccion { font-size: 30px; }
  .entradilla { font-size: 17px; }
  .portada-imagen { min-height: 260px; }
  .sello { width: 104px; height: 104px; }
  .marcas-rejilla { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
  .flotante { padding-right: 14px; }
}

@media (min-width: 820px) {
  .menu-movil { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.m-cristim { width: 140px; height: 33px; }
.m-fox { width: 66px; height: 70px; }
.m-caroli { width: 83px; height: 63px; }
.m-aldis { width: 93px; height: 56px; }
.m-scandia { width: 140px; height: 29px; }
.m-delikat { width: 70px; height: 70px; }
.m-boromir { width: 99px; height: 53px; }
.m-cotnari { width: 75px; height: 69px; }
.m-ursus { width: 76px; height: 68px; }
.m-timisoreana { width: 140px; height: 33px; }
.m-olympia { width: 97px; height: 53px; }
.m-napolact { width: 99px; height: 52px; }
.m-elit { width: 70px; height: 70px; }
.m-angelli { width: 138px; height: 38px; }
.m-bucegi { width: 81px; height: 64px; }
.m-baneasa { width: 66px; height: 70px; }
@media (max-width: 819px) {
  .m-cristim { width: 101px; height: 24px; }
  .m-fox { width: 48px; height: 50px; }
  .m-caroli { width: 60px; height: 45px; }
  .m-aldis { width: 67px; height: 40px; }
  .m-scandia { width: 101px; height: 21px; }
  .m-delikat { width: 50px; height: 50px; }
  .m-boromir { width: 71px; height: 38px; }
  .m-cotnari { width: 54px; height: 50px; }
  .m-ursus { width: 55px; height: 49px; }
  .m-timisoreana { width: 101px; height: 24px; }
  .m-olympia { width: 70px; height: 38px; }
  .m-napolact { width: 71px; height: 37px; }
  .m-elit { width: 50px; height: 50px; }
  .m-angelli { width: 99px; height: 27px; }
  .m-bucegi { width: 58px; height: 46px; }
  .m-baneasa { width: 48px; height: 50px; }
}
