
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600 700;font-display:swap;
  src:url(/assets/fuentes/fraunces-latin.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:'Fraunces';font-style:normal;font-weight:600 700;font-display:swap;
  src:url(/assets/fuentes/fraunces-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fuentes/inter-latin.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:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fuentes/inter-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --marca:#2f5fb3; --marca-oscuro:#204a8f; --marca-hondo:#132b52;
  --marca-claro:#e9eff9; --marca-borde:#c3d3ec;
  --oro:#e0a33e; --oro-med:#b8781f; --oro-osc:#8a5a0b; --oro-claro:#fdf4e6;
  --tinta:#16211d; --gris:#55635e; --linea:#e3eae6; --fondo:#f7f9f8;
  --aviso:#fdf4e6; --aviso-borde:#ecd3a3; --linea-campo:#7f8c87;
  --radio:12px; --radio-sm:9px;
  --sombra:0 1px 2px rgba(16,40,30,.06);
  --sombra-alta:0 10px 26px -10px rgba(16,40,30,.22);
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --texto:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{overflow-x:clip;max-width:100%}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--texto);
  font-size:1.03125rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto;padding:38px 0 64px}
/* el panel de empresa (login/registro/panel-empresa.php) escribe su propio
   <main> plano, sin el <div class="contenedor"> que sí llevan las páginas
   públicas dentro de <main id="contenido"> (ver plantilla.pagina()) — así
   puede quedar el hero de home a sangre completa y el resto del sitio
   centrado en la misma columna de 1120px sin montar una segunda capa. */
main:not(#contenido){max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px}
header.cabecera,.hero,footer.pie{flex:none}
a{color:var(--marca-oscuro)}
img{max-width:100%;height:auto;display:block}
.contenedor{max-width:1120px;margin:0 auto;padding:0 20px}
.oculto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--marca);outline-offset:2px;border-radius:4px}
.hero :focus-visible,footer.pie :focus-visible{outline-color:#fff}
.saltar{position:absolute;left:-9999px;top:0;z-index:99;background:var(--marca-oscuro);color:#fff;
  padding:11px 18px;border-radius:0 0 var(--radio-sm) 0;font-weight:600;text-decoration:none}
.saltar:focus{left:0}

/* Pie en tres columnas, como el de buscarcatering (corrección de José,
   10-09-2026: «el header y footer no me cuadran»). Antes era un solo párrafo
   con todos los enlaces separados por «·». */
.pie .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;align-items:start;text-align:left}
.pie .cols p{margin:0 0 7px}
.pie .marca-pie{margin-bottom:10px}
.pie .sello{margin-top:12px;font-size:.8125rem;opacity:.8}
.pie p.pie-fecha{margin-top:10px;opacity:.85;font-size:.875rem;max-width:none}
@media(max-width:820px){.pie .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pie .cols{grid-template-columns:1fr;gap:18px}}

/* --------------------------------------------------------------- cabecera */
.marca{display:inline-flex;align-items:center;gap:11px;text-decoration:none;line-height:1;
  font-family:var(--display);font-weight:700;font-size:1.375rem;letter-spacing:-.2px;color:var(--marca-oscuro)}
.logo-icono{width:34px;height:34px;flex:none;display:block}
.marca-texto span{color:var(--tinta)}
header.cabecera{background:rgba(255,255,255,.93);backdrop-filter:saturate(1.6) blur(8px);
  border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
header.cabecera .contenedor{display:flex;align-items:center;gap:18px;min-height:72px;flex-wrap:wrap;
  padding-top:11px;padding-bottom:11px}
/* Menú como el de buscarcatering: casilla oculta + label, sin <details> y
   sin JavaScript. Con <details> el menú quedaba escondido en escritorio y no
   había forma de abrirlo, porque su botón solo se pinta por debajo de 720 px
   (corrección pedida por José el 10-09-2026). */
.nav-principal{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:4px;
  font-size:.9375rem;position:relative}
.nav-principal a{color:var(--gris);text-decoration:none;font-weight:500;padding:9px 12px;border-radius:9px;
  margin-left:0}
.nav-principal a:hover{color:var(--marca-oscuro);background:var(--marca-claro)}
.nav-principal a.navcta{background:var(--marca);color:#fff;font-weight:600}
.nav-principal a.navcta:hover{background:var(--marca-oscuro);color:#fff}
.abremenu{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.btnmenu{display:none}
.menupanel{display:contents}
.nav-ico{position:relative;display:block;width:18px;height:2px;background:var(--tinta);border-radius:1px}
.nav-ico::before,.nav-ico::after{content:"";position:absolute;left:0;width:18px;height:2px;
  background:var(--tinta);border-radius:1px}
.nav-ico::before{top:-6px}.nav-ico::after{top:6px}
@media(max-width:720px){
  header.cabecera .contenedor{flex-wrap:nowrap;align-items:center}
  .btnmenu{display:flex;cursor:pointer;width:44px;height:44px;order:-1;
    border:1px solid var(--linea);border-radius:var(--radio-sm);background:#fff;
    align-items:center;justify-content:center}
  .menupanel{display:none;position:absolute;right:0;top:calc(100% + 12px);z-index:40;
    min-width:220px;flex-direction:column;background:#fff;border:1px solid var(--linea);
    border-radius:var(--radio);box-shadow:var(--sombra-alta);padding:8px;gap:0}
  .abremenu:checked ~ .menupanel{display:flex}
  .abremenu:focus-visible ~ .btnmenu{outline:2px solid var(--marca);outline-offset:2px}
  .menupanel a{padding:12px 14px;border-radius:8px}
}
@media(max-width:520px){
  .marca{font-size:1.1875rem}.logo-icono{width:28px;height:28px}
  header.cabecera .contenedor{gap:8px 10px}
  /* En pantalla estrecha el botón de la cabecera se salía por la derecha
     (catering tiene el mismo recorte; aquí no se copia, porque la regla de
     José es que NUNCA haya scroll horizontal). Se encoge y, si aun así no
     cabe, no pasa nada: el mismo botón está fijo abajo. */
  .nav-principal a.navcta{padding:8px 10px;font-size:.8125rem}
  .btnmenu{width:40px;height:40px}
}
@media(max-width:440px){
  /* Lo que faltaba: quien envolvia era `.nav-principal`, no el contenedor.
     Sin esto, a 390 px la hamburguesa y el boton caian en dos filas. */
  .contenedor{padding:0 12px}
  header.cabecera .contenedor{gap:8px;min-height:64px}
  .marca{font-size:1.0625rem;gap:8px}
  .logo-icono{width:26px;height:26px}
  .nav-principal{flex-wrap:nowrap;gap:6px}
  .nav-principal a.navcta{padding:8px 11px;font-size:.8125rem;white-space:nowrap}
  .btnmenu{width:38px;height:38px}
}
@media(max-width:374px){
  .marca{font-size:1rem;gap:6px}
  .logo-icono{width:24px;height:24px}
  .nav-principal a.navcta{padding:8px 9px;font-size:.75rem}
}
@media(max-width:344px){
  /* Antes desaparecia por debajo de 380 px. Con las tallas de arriba cabe a
     360 y a 375, que son dos de los anchos de movil mas comunes. Por debajo
     de 344 se retira: el mismo boton sigue fijo abajo. */
  .nav-principal a.navcta{display:none}
}

/* -------------------------------------------------------------------- hero */
.hero{position:relative;overflow:hidden;color:#fff;padding:66px 0 58px;
  background:linear-gradient(148deg,var(--marca-hondo) 0%,var(--marca-oscuro) 48%,var(--marca) 100%)}
.hero::after{content:"";position:absolute;right:-8%;top:-30%;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(224,163,62,.30),rgba(224,163,62,0) 72%);pointer-events:none}
.hero .contenedor{position:relative;z-index:1}
.hero h1{font-family:var(--display);font-weight:600;margin:0 0 14px;color:#fff;
  font-size:clamp(1.875rem,4.4vw,2.75rem);line-height:1.12;letter-spacing:-.6px;max-width:15ch}
.hero p{margin:0 0 26px;font-size:1.0625rem;color:rgba(255,255,255,.92);max-width:640px}
@media(min-width:900px){
  .hero .contenedor{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:38px;align-items:center}
}
.herocifras{margin:26px 0 0;padding:20px 22px;list-style:none;
  background:rgba(19,43,82,.45);border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radio);display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
@media(min-width:900px){.herocifras{margin:0}}
.herocifras li{min-width:0}
.herocifras b{display:block;font-family:var(--display);font-weight:700;line-height:1.05;
  font-size:clamp(1.4375rem,2.4vw,1.875rem);color:var(--oro);font-variant-numeric:tabular-nums}
.herocifras .cifra-sub{margin-top:10px;font-size:clamp(1.125rem,2vw,1.5rem)}
.herocifras span{display:block;font-size:.875rem;line-height:1.35;color:rgba(255,255,255,.92);margin-top:2px}
.foto-tarjeta{width:calc(100% + 34px);max-width:none;height:168px;object-fit:cover;
  margin:-17px -17px 28px;border-radius:0;display:block;background:var(--marca-claro)}
@media(max-width:400px){.herocifras{padding:16px 17px;gap:13px 14px}}

/* --------------------------------------------------------------- tipografía */
h1,h2,h3{overflow-wrap:break-word}
h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.3px;line-height:1.2}
h1{font-size:2.0625rem;margin:0 0 12px}
h2{font-size:1.625rem;margin:38px 0 16px}
h3{font-size:1.125rem;margin:24px 0 10px;font-weight:600}
p{margin:0 0 12px}
.migas{font-size:.875rem;color:var(--gris);margin:0 0 16px}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:baseline}
.migas li{display:inline;min-width:0}
.migas li+li::before{content:"\203A";margin:0 6px;color:var(--gris);opacity:.7}
.migas a{color:var(--gris);text-decoration:none}
.migas a:hover{color:var(--marca-oscuro);text-decoration:underline}
.migas [aria-current]{color:var(--tinta)}
.entradilla,.parrafo-ficha{max-width:760px;color:var(--gris);font-size:1.03125rem}
.hero .entradilla{color:rgba(255,255,255,.92);max-width:640px}
.heroalt{margin-top:16px;font-size:.9375rem;color:rgba(255,255,255,.88)}
.heroalt a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.heroalt a:hover{border-bottom-color:#fff}

/* ------------------------------------------------------------------ botón */
.boton{display:inline-block;background:var(--marca);color:#fff;text-decoration:none;padding:11px 17px;
  border-radius:var(--radio-sm);font-family:var(--texto);font-weight:600;font-size:.9375rem;border:0;cursor:pointer;
  box-shadow:0 1px 2px rgba(40,26,16,.14);transition:background .15s ease}
.boton:hover{background:var(--marca-oscuro)}
.boton.sec{background:#fff;color:var(--marca-oscuro);border:1px solid var(--marca-borde);box-shadow:none}
.boton.sec:hover{background:var(--marca-claro)}

/* ------------------------------------------------------- índices (chips) */
.provincias{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px;margin:10px 0}
.provincias a{background:#fff;border:1px solid var(--linea);border-radius:var(--radio-sm);padding:13px 15px;
  text-decoration:none;color:var(--tinta);display:flex;justify-content:space-between;align-items:center;
  font-size:.9375rem;box-shadow:var(--sombra);transition:border-color .15s ease,background .15s ease}
.provincias a:hover{border-color:var(--marca);background:var(--marca-claro)}
.provincias .total{color:var(--gris);font-variant-numeric:tabular-nums}
.listado-secundario{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0;padding:0;list-style:none}
.listado-secundario li{background:var(--marca-claro);color:var(--marca-oscuro);border-radius:20px;
  font-size:.84375rem}
.listado-secundario a{display:block;padding:5px 12px;color:var(--marca-oscuro);text-decoration:none;
  border-radius:20px}
.listado-secundario a:hover{background:var(--marca);color:#fff}
.listado-secundario .total{color:inherit;opacity:.75;font-variant-numeric:tabular-nums}
.listado-letra{margin:16px 0 6px;font-size:.9375rem;font-weight:600;color:var(--marca-oscuro);
  letter-spacing:.04em}
.listado-letra:first-child{margin-top:4px}

/* ------------------------------------------------------------- tarjetas */
.rejilla-listado{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:16px 0}
.tarjeta{position:relative;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:17px;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sombra);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.tarjeta:hover{transform:translateY(-2px);box-shadow:var(--sombra-alta);border-color:var(--marca-borde)}
.tarjeta::before{content:"";display:block;height:168px;margin:-17px -17px 28px;border-bottom:1px solid var(--linea);
  background:url("%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23a9cbb8'%3E%3Cpath d='M3.4 3.6h12.2v5.2H3.4z'/%3E%3Cpath d='M15.6 5.2h3.2a1.8 1.8 0 0 1 1.8 1.8v3.4a1.8 1.8 0 0 1-1.8 1.8h-6.2v9.2h-3.2V10.4a1.4 1.4 0 0 1 1.4-1.4h7.4a.4.4 0 0 0 .4-.4V7a.4.4 0 0 0-.4-.4h-2.6z'/%3E%3C/svg%3E") center/72px auto no-repeat,
    linear-gradient(140deg,#eef3fc,#dbe6f7)}
.tarjeta>.logo-empresa{position:absolute;left:14px;top:132px;z-index:2;
  box-shadow:0 0 0 2px #fff,0 2px 8px rgba(16,40,30,.24)}
.tarjeta:has(.foto-tarjeta)::before{display:none}
.tarjeta:has(.foto-tarjeta)>.logo-empresa{top:132px}
.tarjeta h3{margin:0 0 5px;font-size:1.09375rem;font-family:var(--display);font-weight:600;
  letter-spacing:-.2px;line-height:1.25}
.tarjeta h3 a{text-decoration:none;color:var(--tinta);display:-webkit-box;
  -webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.tarjeta h3 a:hover{color:var(--marca-oscuro)}
.t-lugar{display:flex;align-items:center;gap:5px;font-size:.84375rem;color:var(--gris);margin:0 0 7px;line-height:1.35}
.t-lugar::before{content:"";flex:0 0 11px;width:11px;height:13px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b5c4f'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.6A2.6 2.6 0 1 1 12 6.4a2.6 2.6 0 0 1 0 5.2z'/%3E%3C/svg%3E") center/contain no-repeat}
.t-nota{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 9px;font-size:.84375rem;color:var(--gris)}
.t-nota b{font-family:var(--display);font-size:1.0625rem;font-weight:700;color:var(--tinta);line-height:1;
  font-variant-numeric:tabular-nums}
.t-nota .estrellas{font-size:.78125rem;letter-spacing:.6px}
.t-nota small{font-size:.78125rem;color:var(--gris)}
.t-nota--sin{color:var(--gris);font-size:.8125rem;font-style:normal}
.tarjeta .t-tel,.tarjeta .t-web{font-size:.84375rem;color:var(--gris);margin:0 0 4px}
.tarjeta .t-web a{color:var(--marca-oscuro)}
.tarjeta .pie-tarjeta{margin-top:auto;padding-top:14px}
.estrellas{color:var(--oro-osc);font-weight:700;letter-spacing:.5px}

/* --------------------------------------------------------------- panel/ficha */
.panel{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:24px;
  box-shadow:var(--sombra)}
.panel+.panel{margin-top:18px}
.fichacab{display:flex;align-items:flex-start;gap:16px;margin:0 0 6px}
.fichacab-txt{flex:1 1 auto;min-width:0}
.meta{font-size:.9375rem;color:var(--gris);margin:0 0 4px}
.fichanota{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 0}
.fichanota b{font-family:var(--display);font-weight:700;font-size:1.6875rem;line-height:1;
  color:var(--marca-hondo);font-variant-numeric:tabular-nums}
.fichanota .estrellas{font-size:1.0625rem}
.fichanota small{font-size:.875rem;color:var(--gris)}
.fichanota.sinnota{font-size:.90625rem;color:var(--gris);margin-top:6px}
.logo-empresa{--logo-lado:64px;width:var(--logo-lado);height:var(--logo-lado);flex:0 0 var(--logo-lado);
  display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radio-sm);overflow:hidden;
  line-height:1;text-align:center;background:var(--marca-oscuro);color:#fff;
  font-family:var(--display);font-weight:700;letter-spacing:.5px;
  font-size:calc(var(--logo-lado) * .40);font-style:normal}
.logo-empresa--sm{--logo-lado:44px;border-radius:9px}
.logo-empresa--lg{--logo-lado:104px;border-radius:14px}
.logo-empresa--propio{background:#fff;border:1px solid var(--linea);padding:4px}
.logo-empresa--propio img{width:100%;height:100%;object-fit:contain;display:block}
.logo-empresa--oscuro{background:var(--marca-hondo);border-color:var(--marca-hondo)}
@media(max-width:420px){.fichacab{flex-wrap:wrap;gap:10px}.fichacab-txt{flex-basis:100%}}
.datos{list-style:none;margin:0;padding:0}
.datos li{padding:11px 0;border-bottom:1px solid var(--linea);display:flex;gap:12px;font-size:.9375rem;flex-wrap:wrap}
.datos li:last-child{border-bottom:0}
.datos li>span:not(.et){min-width:0;overflow-wrap:anywhere}
.datos .et{width:168px;flex:none;color:var(--gris);font-weight:600}
.avisoficha,.aviso,.aviso-resenas{background:var(--aviso);border:1px solid var(--aviso-borde);
  border-radius:var(--radio-sm);padding:14px 16px;font-size:.90625rem;margin:0 0 16px;color:#5c4310}
.ficha-no-reclamada{font-size:.84375rem;color:var(--gris);margin:26px 0 0;max-width:760px}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 0;padding:0;list-style:none}
.chips li{background:var(--marca-claro);color:var(--marca-oscuro);border-radius:20px;padding:5px 12px;font-size:.84375rem}
.chips li:has(a){padding:0}
.chips li a{display:block;padding:5px 12px;color:var(--marca-oscuro);text-decoration:none;border-radius:20px}
.chips li a:hover{background:var(--marca);color:#fff}
.fichatipos{margin:16px 0 8px}
.fichatipos .et-clave{margin:0;font-size:.8125rem;font-weight:600;color:var(--gris);text-transform:uppercase;letter-spacing:.04em}
.fichatipos .explica,.explica{font-size:.84375rem;color:var(--gris);margin:10px 0 0}
.rejilla-provincias{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:16px 0 0}
.prov-ciudades{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:14px 16px;box-shadow:var(--sombra)}
.prov-ciudades h3{margin:0 0 8px;font-size:1.05rem}
.prov-ciudades .chips{margin:0}
.prosa{max-width:760px}
.prosa ul{padding-left:1.2em}
.prosa .avisoficha ul{margin:8px 0 0}
.arts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.arts a{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:18px 20px;
  text-decoration:none;color:var(--tinta);display:flex;flex-direction:column;box-shadow:var(--sombra);
  transition:border-color .15s ease,transform .15s ease}
.arts a:hover{border-color:var(--marca);transform:translateY(-2px)}
.arts b{font-family:var(--display);font-weight:600;font-size:1.15625rem;line-height:1.25;
  color:var(--marca-oscuro);margin-bottom:7px}
.arts span{font-size:.90625rem;color:var(--gris);line-height:1.55}
.arts em{font-style:normal;font-size:.8125rem;color:var(--oro-osc);font-weight:600;margin-top:11px}
.articulo{max-width:760px}
.articulo h2{font-size:1.5625rem;margin:36px 0 12px}
.articulo h3{font-size:1.1875rem;margin:26px 0 8px}
.articulo p,.articulo li{font-size:1.0625rem;line-height:1.72}
.articulo ul,.articulo ol{margin:0 0 16px;padding-left:22px}
.fecha-art{font-size:.875rem;color:var(--gris);margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px 14px}
.claves{background:var(--marca-claro);border:1px solid var(--marca-borde);border-radius:var(--radio);
  padding:18px 22px 14px;margin:0 0 28px}
.insignia{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;background:var(--oro);color:#3d2416;border-radius:6px;
  padding:2px 7px;vertical-align:middle}
.claves p{margin:0 0 8px;font-weight:600;font-size:.9375rem}
.claves ul{margin:0;padding-left:20px}
.mapabloque{margin:26px 0 8px}
.mapabloque h2{margin-bottom:6px}
.mapaes{display:block;width:100%;height:auto;max-width:900px;margin:6px auto 2px;
  background:#fff;border:1px solid var(--linea);border-radius:var(--radio)}
.mapaes-caja{fill:none;stroke:var(--linea);stroke-width:1.5}
.mapaes-caja-rotulo{fill:var(--gris);font-size:13px;font-weight:600}
.mapaes-costa{fill:none;stroke:#93b0d8;stroke-width:2.6;stroke-linejoin:round}
.mapaes-tierra{fill:#eef3fb;stroke:#fff;stroke-width:1;stroke-linejoin:round}
.mapaes-tierra .vacia{fill:#e6ebf3}
.mapaes-p circle{fill:var(--marca);stroke:#fff;stroke-width:1.6}
.mapaes-d1 circle{fill:#dce6f7}
.mapaes-d2 circle{fill:#a8c1e8}
.mapaes-d3 circle{fill:#4173bd}
.mapaes-d4 circle{fill:#2b5aa8}
.mapaes-d5 circle{fill:#16305c}
.mapaes-d1 .mapaes-n,.mapaes-d2 .mapaes-n{fill:#14294d}
.mapaes-p:hover circle,.mapaes-p:focus circle{fill:var(--marca-oscuro)}
.mapaes-d1:hover .mapaes-n,.mapaes-d1:focus .mapaes-n,
.mapaes-d2:hover .mapaes-n,.mapaes-d2:focus .mapaes-n{fill:#fff}
.mapaes-leyenda{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;
  gap:6px 18px;justify-content:center;font-size:.875rem;color:var(--gris)}
.mapaes-leyenda li{display:flex;align-items:center;gap:7px}
.mapaes-muestra{width:15px;height:15px;border-radius:50%;display:inline-block;
  border:1px solid var(--marca-borde);background:var(--marca)}
.mapaes-leyenda .mapaes-d1 .mapaes-muestra{background:#dce6f7}
.mapaes-leyenda .mapaes-d2 .mapaes-muestra{background:#a8c1e8}
.mapaes-leyenda .mapaes-d3 .mapaes-muestra{background:#4173bd}
.mapaes-leyenda .mapaes-d4 .mapaes-muestra{background:#2b5aa8}
.mapaes-leyenda .mapaes-d5 .mapaes-muestra{background:#16305c}
.mapaes-leyenda .mapaes-vacia .mapaes-muestra{background:#e6ebf3;border-radius:3px}
.mapaes-p:focus{outline:none}
.mapaes-p:focus circle{stroke:var(--tinta);stroke-width:2.6}
.mapaes-n{fill:#fff;font-size:11px;font-weight:700;text-anchor:middle;
  font-variant-numeric:tabular-nums;pointer-events:none}
.mapaes-r{fill:var(--tinta);font-size:12.5px;text-anchor:middle;pointer-events:none;
  paint-order:stroke;stroke:#f8fbff;stroke-width:3.5px;stroke-linejoin:round}
.mapaes-hilos line{stroke:var(--marca);stroke-width:1;opacity:.45}
.mapaes-pie{color:var(--gris);font-size:.875rem;margin:4px 0 0;text-align:center}
.mapaes-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.desliza{display:none}
@media(max-width:700px){
  .mapaes{min-width:820px;margin-top:2px}
  .mapabloque .desliza{display:block;font-size:.84375rem;color:var(--gris);margin:0 0 8px}
}

/* portada: tipos, pasos, CTA, FAQ (mismas piezas que buscarcatering, paleta propia) */
.espec{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}
.espec a{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:16px 18px;
  text-decoration:none;color:var(--tinta);display:block;box-shadow:var(--sombra);
  transition:border-color .15s ease,transform .15s ease}
.espec a:hover{border-color:var(--marca);transform:translateY(-2px)}
.espec b{display:block;font-family:var(--display);font-weight:600;font-size:1.09375rem;margin-bottom:4px;
  color:var(--marca-oscuro)}
.espec span{display:block;font-size:.875rem;color:var(--gris);line-height:1.5}
.espec em{display:block;font-style:normal;font-size:.8125rem;color:var(--oro-osc);margin-top:7px;font-weight:600}
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:18px;margin:16px 0 0;padding:0;list-style:none}
.pasos li{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);
  padding:20px;box-shadow:var(--sombra)}
.pasos b{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:var(--marca-claro);color:var(--marca-hondo);
  font-family:var(--display);font-weight:700;font-size:1.1875rem;margin:0 0 12px;
  font-variant-numeric:tabular-nums}
.pasos h3{margin:0 0 5px;font-size:1.09375rem;font-family:var(--display);font-weight:600;
  letter-spacing:-.2px;line-height:1.25}
.pasos p{margin:0;font-size:.90625rem;color:var(--gris)}
.ctapresu{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin:30px 0;padding:22px 24px;border-radius:var(--radio);
  background:var(--marca-claro);border:1px solid var(--marca-borde)}
.ctapresu h2{margin:0 0 6px;font-size:1.25rem}
.ctapresu p{margin:0;color:var(--gris);max-width:62ch}
.ctapresu>p{flex:0 0 auto}
.ctapresu .boton{white-space:nowrap}
@media(max-width:560px){
  .ctapresu{padding:18px;flex-direction:column;align-items:flex-start}
  .ctapresu>p{width:100%}
  .ctapresu .boton{display:block;width:100%;text-align:center}
}
.faq{margin:16px 0 0}
.faq-item{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);
  padding:18px 20px;margin:0 0 10px;box-shadow:var(--sombra)}
.faq-item h3{margin:0 0 6px;font-size:1.0625rem}
.faq-item p{margin:0;color:var(--gris);font-size:.9375rem}
.textolocal{max-width:760px}
.textolocal h2{margin:32px 0 12px}
.textolocal p{color:var(--gris);font-size:1.03125rem;line-height:1.65}
.vecinas{list-style:none;margin:12px 0 0;padding:0}
.vecinas li{display:flex;gap:12px;align-items:flex-start;background:#fff;
  border:1px solid var(--linea);border-radius:var(--radio-sm);padding:12px 14px;margin:0 0 8px;
  box-shadow:var(--sombra)}
.vecinas li>div{min-width:0}
.vecinas a{color:var(--tinta);font-weight:600;text-decoration:none}
.vecinas a:hover{color:var(--marca-oscuro);text-decoration:underline}
.vecinas small{display:block;color:var(--gris);font-size:.84375rem;margin-top:2px}

/* --------------------------------------------------------------- reseñas */
details.resenasg{margin:10px 0 0}
details.resenasg>summary{cursor:pointer;font-weight:600;color:var(--marca-oscuro);
  background:var(--marca-claro);border:1px solid var(--marca-borde);border-radius:var(--radio-sm);
  padding:10px 14px;list-style:none}
details.resenasg>summary::-webkit-details-marker{display:none}
details.resenasg>summary:hover{filter:brightness(.97)}
details.resenasg>summary:focus-visible{outline:2px solid var(--marca);outline-offset:2px}
details.resenasg>summary .cuantas{font-weight:400;color:var(--gris)}
details.resenasg[open]>summary{margin-bottom:10px}
ol.listares{margin:0;padding-left:18px}
.resenas{margin-top:8px}
.resena{border:1px solid var(--linea);border-radius:var(--radio);padding:16px 18px;margin-bottom:12px;
  background:#fff;box-shadow:var(--sombra)}
.resena-cabecera{margin:0 0 6px;font-size:.9375rem;color:var(--tinta)}
.resena-cabecera a{color:inherit}
.resena-texto{margin:4px 0 0;line-height:1.55}
blockquote.t-cita{margin:16px 0;padding:16px 18px 14px 20px;border-left:3px solid var(--marca);
  background:var(--marca-claro);border-radius:0 var(--radio-sm) var(--radio-sm) 0}
blockquote.t-cita p{margin:0 0 8px;font-size:1.02rem;line-height:1.55}
blockquote.t-cita footer{font-size:.875rem;color:var(--gris)}
blockquote.t-cita footer a{color:var(--marca-oscuro)}
.respuesta-empresa{font-size:.90625rem;color:var(--gris);border-left:3px solid var(--marca-borde);
  padding-left:12px;margin-top:10px}
.mas-en-google{color:var(--gris);font-size:.90625rem;margin-top:4px}
.respuesta-directa{margin:0 0 22px}
.respuesta-directa table.comparar{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--linea);border-radius:var(--radio);font-size:.9375rem}
.respuesta-directa table.comparar th,.respuesta-directa table.comparar td{
  padding:8px 10px;text-align:left;border-bottom:1px solid var(--linea)}
.respuesta-directa table.comparar th{font-size:.8125rem;color:var(--gris)}
.tabla-responsive{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.fichaport{margin:0 0 18px;border-radius:var(--radio);overflow:hidden;background:var(--marca-claro);
  border:1px solid var(--linea);line-height:0}
.fichaport a{display:block;line-height:0}
.fotoficha{width:100%;height:auto;aspect-ratio:610/261;object-fit:cover;display:block}
.galeria-caja{margin:22px 0 0}
.galeria-cab{display:flex;align-items:center;justify-content:space-between;gap:12px}
.galeria-cab h2{margin:0}
.galeria-flechas{display:flex;gap:8px;margin:0;flex:none}
.galeria-flecha{width:38px;height:38px;border-radius:50%;padding:0;cursor:pointer;
  border:1px solid var(--marca-hondo);background:var(--marca-hondo);color:#fff;
  display:flex;align-items:center;justify-content:center;line-height:0}
.galeria-flecha[hidden]{display:none}
.galeria-caja .desliza[hidden]{display:none}
.galeria-flecha svg{width:19px;height:19px}
.galeria-flecha:hover{background:var(--marca-oscuro);border-color:var(--marca-oscuro)}
.galeria-flecha[aria-disabled="true"]{background:var(--marca-claro);color:var(--gris);
  border-color:var(--linea);cursor:default}
.galeria{list-style:none;display:flex;gap:10px;margin:10px 0 0;padding:4px 2px;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  scroll-padding-left:2px;scroll-padding-right:2px;
  scrollbar-width:thin;scrollbar-color:var(--marca-borde) transparent}
.galeria li{margin:0;flex:0 0 190px;scroll-snap-align:start}
.galeria li:last-child{scroll-snap-align:end}
.galeria a{display:block;border-radius:8px;overflow:hidden;line-height:0;
  border:1px solid var(--linea);background:var(--marca-claro)}
.galeria img{width:100%;height:150px;object-fit:cover;display:block}
.explica{margin:2px 0 10px;color:var(--gris);font-size:.875rem}
.desliza{margin:0 0 8px;color:var(--gris);font-size:.8125rem}
.lb[hidden]{display:none}
.lb{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.9);
  display:flex;align-items:center;justify-content:center;padding:60px 66px}
.lb-caja{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;
  max-width:100%;max-height:100%}
.lb-img{display:block;max-width:100%;width:auto;height:auto;border-radius:8px;
  max-height:calc(100vh - 160px);background:#111}
.lb-pie{margin:0;color:#e2eaf7;font-size:.85rem;text-align:center}
.lb-x,.lb-f{position:absolute;background:transparent;border:0;color:#fff;cursor:pointer}
.lb-x{top:16px;right:18px;font-size:28px}
.lb-f{top:50%;transform:translateY(-50%);width:44px;height:44px}
.lb-f.ant{left:12px}.lb-f.sig{right:12px}
.lb-f svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2.2}
@media(max-width:520px){
  .galeria li{flex-basis:128px}
  .galeria img{height:100px}
  .galeria-flechas{display:none}
  .lb{padding:48px 12px}
}

/* ---------------------------------------------------------------- panel de empresa (form) */
main form{max-width:460px}
main label{display:block;font-size:.875rem;font-weight:600;margin:13px 0 5px}
main input,main select,main textarea{width:100%;padding:11px 13px;border:1px solid var(--linea-campo);
  border-radius:var(--radio-sm);font:inherit;font-size:1rem;background:#fff;color:var(--tinta)}
main input:focus,main select:focus,main textarea:focus{outline:0;border-color:var(--marca);
  box-shadow:0 0 0 3px rgba(181,80,42,.16)}
main textarea{min-height:92px;resize:vertical;min-width:0}
main button[type="submit"]{margin-top:17px;padding:12px 20px;font-size:1rem;background:var(--marca);color:#fff;
  border:0;border-radius:var(--radio-sm);font-weight:600;cursor:pointer;transition:background .15s ease}
main button[type="submit"]:hover{background:var(--marca-oscuro)}

/* ------------------------------------------------------------------- pie */
footer.pie{background:var(--marca-hondo);color:#d9e2f2;padding:40px 0 30px;font-size:.9375rem;margin-top:56px;
  text-align:center}
footer.pie a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}
footer.pie a:hover{border-bottom-color:#fff}
footer.pie p{margin:0 auto;max-width:640px}
footer.pie .marca{color:#fff;font-size:1.1rem;margin-bottom:12px;justify-content:center}
footer.pie .marca-texto span{color:#fff}
a[href^="mailto:"]{overflow-wrap:anywhere}

@media(max-width:520px){
  h1{font-size:1.5rem}
  .rejilla-listado{grid-template-columns:1fr}
  .panel{padding:18px}
  .fichanota b{font-size:1.375rem}
  .fichanota,.ctapresu p,.hero p,.herocifras span,.faq-item p,.textolocal p{overflow-wrap:anywhere}
  .herocifras{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .datos li{flex-direction:column;gap:2px}
  .datos .et{width:auto;max-width:none}
  .ctapresu p{max-width:none}
  .respuesta-directa table.comparar{font-size:.8125rem}
  table.comparar{min-width:520px}
  .logo-empresa--lg{--logo-lado:88px}
  .galeria-cab{flex-wrap:wrap}
  .galeria-cab h2{font-size:1.25rem}
  .chips{gap:6px}
}
.ficha{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:30px;row-gap:18px;align-items:start;max-width:100%;min-width:0}
.ficha>.fic-alta,.ficha>aside,.ficha>.fic-resto{min-width:0}
.ficha>.fic-alta{grid-column:1;grid-row:1}
.ficha>aside{grid-column:2;grid-row:1 / span 2}
.ficha>.fic-resto{grid-column:1;grid-row:2}
@media(max-width:860px){
  .ficha{grid-template-columns:1fr}
  .ficha>.fic-alta,.ficha>aside,.ficha>.fic-resto{grid-column:1;grid-row:auto}
}
@media(min-width:861px){
  .ficha{row-gap:0}
  .ficha>.fic-alta>.panel{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:0}
  .ficha>.fic-resto>.panel:first-child{border-top:0;border-top-left-radius:0;border-top-right-radius:0;padding-top:0}
}
.presu label{display:block;font-weight:600;font-size:.875rem;margin:12px 0 4px}
.presu input,.presu select,.presu textarea{width:100%;padding:10px 12px;border:1px solid var(--linea-campo);
  border-radius:var(--radio-sm);font:inherit;background:#fff}
.presu textarea{min-height:110px;resize:vertical}
.presu .fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.presu .fila{grid-template-columns:1fr}}
.presu .legal{display:flex;gap:8px;align-items:flex-start;font-size:.84375rem;margin:14px 0}
.presu button{margin-top:8px}
.fijo-cli{display:none}
@media(max-width:720px){
  body{padding-bottom:84px}
  .fijo-cli{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;
    background:rgba(255,255,255,.96);border-top:1px solid var(--linea);
    padding:10px 14px;gap:10px;justify-content:center}
  .fijo-cli a{flex:1;text-align:center}
  .fijo-cli .fijo-tel{display:none}
  .fijo-cli .fijo-tel.on{display:inline-block}
}
.tabla-responsive table.comparar{min-width:520px}
table.tabla-ia{width:100%;border-collapse:collapse;font-size:.9375rem;background:#fff;
  border:1px solid var(--linea);margin:10px 0}
table.tabla-ia th,table.tabla-ia td{padding:10px 12px;border-bottom:1px solid var(--linea);text-align:left}
table.tabla-ia th{font-size:.8125rem;color:var(--gris);font-weight:600}
table.tabla-ia tr:last-child td{border-bottom:0}
.tabla-responsive table.tabla-ia{min-width:480px}
table.comparar{width:100%;border-collapse:collapse;font-size:.9375rem;background:#fff;
  border:1px solid var(--linea)}
table.comparar th,table.comparar td{padding:11px 13px;border-bottom:1px solid var(--linea);text-align:left}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;
    animation-iteration-count:1 !important;scroll-behavior:auto !important}
  .tarjeta:hover{transform:none}
}

/* Buscador de la portada (punto 14 de la auditoría del 09-09-2026). Mismas
   medidas y comportamiento que el de buscarcatering.com. */
.buscador{display:flex;gap:9px;max-width:580px;margin:18px 0 0}
.buscador input{flex:1;padding:14px 16px;border:0;border-radius:var(--radio);font:inherit;
  font-size:1rem;color:var(--tinta);box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
.buscador input::placeholder{color:#7b8a84}
/* `main button[type="submit"]` (0,1,2) gana a `.buscador button` (0,1,1) y le
   ponía el verde de la marca sobre el hero, que también es verde: se ve mal y no
   es lo que hace el molde. Con el atributo en el selector (0,2,1) manda éste.
   Medido con el navegador, leyendo el color calculado. */
.buscador button[type="submit"]{margin-top:0;padding:14px 22px;border:0;
  border-radius:var(--radio);background:#e0a33e;color:#132b52;font:inherit;
  font-size:1rem;font-weight:700;cursor:pointer;white-space:nowrap}
.buscador button[type="submit"]:hover{background:#efb457}
#sugerencias:not(:empty){background:#fff;border-radius:var(--radio);margin-top:8px;
  max-width:580px;overflow:hidden;box-shadow:var(--sombra-alta)}
#sugerencias a{display:block;padding:11px 16px;color:var(--tinta);text-decoration:none;
  border-bottom:1px solid var(--linea);font-size:.9375rem}
#sugerencias a small{color:#5d6b66}
#sugerencias a:last-child{border-bottom:0}
#sugerencias a:hover,#sugerencias a:focus,#sugerencias a.act{background:var(--marca-claro)}
.avisobusca{margin:8px 0 0;font-size:.875rem;color:rgba(255,255,255,.92);min-height:1px}
@media(max-width:560px){.buscador{flex-direction:column}.buscador button{width:100%}}

