/* Los comentarios de esta hoja —el porque de cada regla— viven en
   plantilla.py, en el generador. Aqui viajan solo las reglas. */
@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{
  --verde:#1f7a4d; --verde-osc:#145636; --verde-hondo:#0d3b26;
  --verde-claro:#e8f4ee; --verde-borde:#c3ded0;
  --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;
  --tope-barra:5.8125rem;
  --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}
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}
header.top,.hero,footer.pie{flex:none}
a{color:var(--verde-osc)}
img{max-width:100%;height:auto;display:block}
.contenedor{max-width:1120px;margin:0 auto;padding:0 20px}
:focus-visible{outline:2px solid var(--verde);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(--verde-osc);color:#fff;
  padding:11px 18px;border-radius:0 0 var(--radio-sm) 0;font-weight:600;text-decoration:none}
.saltar:focus{left:0}
.marca{width:34px;height:34px;flex:none;display:block}
.m-lente{fill:none;stroke:var(--verde-osc);stroke-width:2.9}
.m-asa{fill:none;stroke:var(--verde);stroke-width:3.4;stroke-linecap:round}
.m-tapa,.m-base,.m-boton{fill:var(--oro)}
.logo{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(--verde-osc)}
.logo span{color:var(--tinta)}
.logo em{font-style:normal}
header.top{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.top .contenedor{display:flex;align-items:center;gap:18px;min-height:72px;flex-wrap:wrap}
header.top nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px;font-size:.9375rem}
header.top nav a{color:var(--gris);text-decoration:none;font-weight:500;padding:9px 12px;border-radius:9px}
header.top nav a:hover{color:var(--verde-osc);background:var(--verde-claro)}
header.top nav a.navcta{background:var(--verde);color:#fff;font-weight:600}
header.top nav a.navcta:hover{background:var(--verde-osc);color:#fff}
header.top nav .abremenu,header.top nav .btnmenu{display:none}
header.top nav .menupanel{display:contents}
@media(max-width:67.4375em){
  header.top .contenedor{height:auto;min-height:0;flex-wrap:wrap;padding-top:11px;padding-bottom:9px;gap:6px}
  header.top nav{width:100%;margin-left:0;flex-wrap:wrap;gap:2px 4px;font-size:.875rem}
  header.top nav a{padding:7px 9px}
  .logo{font-size:1.1875rem}.marca{width:30px;height:30px}
}
@media(max-width:67.4375em){
  :root{--tope-barra:5.5rem}
  header.top .contenedor{flex-wrap:wrap;gap:6px;padding-left:12px;padding-right:12px;
    padding-top:9px;padding-bottom:9px}
  header.top nav{width:auto;margin-left:auto;flex-wrap:nowrap;gap:5px;align-items:center;
    position:relative}
  header.top nav .navcta{flex:none;white-space:nowrap;font-size:.8125rem;padding:10px}
  header.top .logo{flex:none;gap:6px;font-size:.96875rem}
  header.top .marca{width:27px;height:27px}
  header.top .logo em{white-space:nowrap}
  header.top nav .abremenu{display:block}
  header.top nav .btnmenu{display:flex;align-items:center;justify-content:center;
    flex:none;width:40px;height:40px;cursor:pointer;color:var(--gris);position:relative;
    border:1px solid var(--linea-campo);border-radius:9px;background:#fff;
    -webkit-tap-highlight-color:transparent}
  header.top nav .btnmenu::before{content:"";width:17px;height:11px;
    border-top:2px solid currentColor;border-bottom:2px solid currentColor}
  header.top nav .btnmenu::after{content:"";width:17px;height:2px;background:currentColor;
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  header.top nav .abremenu:checked ~ .btnmenu{color:var(--verde-osc);
    border-color:var(--verde-borde);background:var(--verde-claro)}
  header.top nav .abremenu:focus-visible ~ .btnmenu{outline:2px solid var(--verde);
    outline-offset:2px}
  header.top nav .menupanel{display:none}
  header.top nav .abremenu:checked ~ .menupanel{display:flex;flex-direction:column;gap:2px;
    position:absolute;right:0;top:calc(100% + 12px);z-index:30;min-width:232px;
    background:#fff;border:1px solid var(--linea);border-radius:var(--radio);
    box-shadow:0 12px 28px rgba(16,40,30,.14);padding:8px;
    max-height:calc(100vh - var(--tope-barra) - 1rem);
    max-height:calc(100dvh - var(--tope-barra) - 1rem);
    overflow-y:auto;overscroll-behavior:contain}
  header.top nav .menupanel a{padding:11px 12px;font-size:.9375rem}
}
@media(max-width:349px){
  header.top .logo em{display:none}
}
@media(min-width:350px) and (max-width:363px){
  header.top .contenedor{column-gap:2px}
  header.top nav{gap:3px}
  header.top nav .navcta{padding:10px 7px}
  header.top .logo{gap:4px}
}
.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(--verde-claro);border:1px solid var(--verde-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}
}
.hero{position:relative;overflow:hidden;color:#fff;padding:66px 0 58px;
  background:linear-gradient(148deg,var(--verde-hondo) 0%,var(--verde-osc) 48%,var(--verde) 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;
  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}
.buscador{display:flex;gap:9px;max-width:580px}
.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}
.buscador button{padding:14px 22px;border:0;border-radius:var(--radio);background:var(--oro);
  color:var(--verde-hondo);font:inherit;font-size:1rem;font-weight:700;cursor:pointer;white-space:nowrap}
.buscador button: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:last-child{border-bottom:0}
#sugerencias a:hover,#sugerencias a:focus,#sugerencias a.act{background:var(--verde-claro)}
@media(max-width:560px){.buscador{flex-direction:column}.buscador button{width:100%}}
.oculto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.avisobusca{margin:8px 0 0;font-size:.875rem;color:rgba(255,255,255,.92);min-height:1px}
.panel .avisobusca{color:var(--gris)}
.panel .buscador input{border:1px solid var(--linea-campo);box-shadow:none}
.panel #sugerencias:not(:empty){border:1px solid var(--linea);box-shadow:var(--sombra)}
.heroalt{margin:18px 0 0;font-size:.9375rem;color:rgba(255,255,255,.86)}
.heroalt a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.heroalt a:hover{color:var(--oro)}
main{padding:38px 0 64px}
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}
.comoh3{font-size:1.125rem;margin:24px 0 10px;font-weight:600;font-family:var(--display);letter-spacing:normal;line-height:1.35}
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)}
.migas a:hover{color:var(--verde-osc)}
.migas [aria-current]{color:var(--tinta)}
.entradilla{max-width:760px;color:var(--gris);font-size:1.03125rem}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.rejilla-listado{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.rejilla-listado:not(:has(>.tarjeta:nth-child(4))){
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media(min-width:760px){
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta{
    min-height:222px;padding-left:342px;justify-content:center}
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta>.foto-tarjeta{
    position:absolute;left:0;top:0;width:320px;height:100%;margin:0;
    border-right:1px solid var(--linea)}
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta.sin-foto::before,
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta:has(.pie):not(:has(.foto-tarjeta))::before{
    position:absolute;left:0;top:0;width:320px;height:100%;margin:0;
    border-bottom:0;border-right:1px solid var(--linea);background-size:64px auto,auto}
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta>.logo-empresa.logo-empresa--sm{
    top:auto;bottom:14px;left:14px}
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta h3{font-size:1.3125rem}
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta .pie{margin-top:12px}
}
.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(--verde-borde)}
.foto-tarjeta{width:calc(100% + 34px);max-width:none;height:168px;object-fit:cover;
  margin:-17px -17px 28px;background:var(--verde-claro);display:block}
.foto-tarjeta.propia{object-fit:contain;background:#fff;padding:12px;
  border-bottom:1px solid var(--linea)}
.tarjeta:has(.pie):not(:has(.foto-tarjeta))::before,.tarjeta.sin-foto::before{
  content:"";display:block;height:168px;margin:-17px -17px 28px;border-bottom:1px solid var(--linea);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='7 8.8 18.2 10.4'%3E%3Cg fill='%23b7d4c3'%3E%3Cpath d='M8.3 16.6a5.7 4.9 0 0 1 11.4 0z'/%3E%3Crect x='7.9' y='16.5' width='12.2' height='2' rx='1'/%3E%3Ccircle cx='14' cy='10.6' r='1.05'/%3E%3C/g%3E%3C/svg%3E") center/64px auto no-repeat,
    linear-gradient(140deg,#f0f7f3,#dfece5)}
.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(--verde-osc)}
.tarjeta h3 a:focus-visible{outline-offset:-2px}
.meta{font-size:.875rem;color:var(--gris);margin:0 0 4px}
.nota{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;font-weight:600;color:var(--oro-osc)}
.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='%2355635e'%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);line-height:1.3}
.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}
.t-tags{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.t-tags li{background:var(--verde-claro);color:var(--verde-osc);border-radius:6px;
  padding:3px 8px;font-size:.75rem;line-height:1.4}
.t-cita{margin:11px 0 0;padding:10px 0 0;border-top:1px solid var(--linea)}
.t-cita p{margin:0;font-size:.8125rem;line-height:1.45;color:var(--tinta);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.t-cita footer{margin-top:4px;font-size:.75rem;color:var(--gris);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:760px){
  .rejilla-listado:not(:has(>.tarjeta:nth-child(2)))>.tarjeta>.t-cita p{
    font-size:.875rem;-webkit-line-clamp:4}
}
.tarjeta>.logo-empresa.logo-empresa--sm{position:absolute;left:14px;top:146px;z-index:2;
  box-shadow:0 0 0 2px #fff,0 2px 8px rgba(16,40,30,.22)}
.insignia-flotante{position:absolute;top:12px;left:12px;z-index:3;text-decoration:none;
  box-shadow:0 2px 8px rgba(16,40,30,.28)}
a.insignia-flotante:hover{background:#fff;border-color:var(--oro-osc)}
.que-destacado{margin:8px 0 0;font-size:.78125rem}
.que-destacado a{color:var(--gris)}
.barra-listado{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:6px 20px;margin:24px 0 13px;padding-bottom:10px;border-bottom:1px solid var(--linea)}
.barra-listado p{margin:0}
.barra-listado .cuenta{font-family:var(--display);font-size:1.125rem;font-weight:600;color:var(--tinta)}
.barra-listado .cuenta b{font-weight:700}
.barra-listado .orden{font-size:.84375rem;color:var(--gris)}
.nota-logos{font-size:.78125rem;color:var(--gris);margin:14px 0 0;max-width:760px}
.tarjeta.destacada{border-color:#d8a758;box-shadow:0 1px 2px rgba(16,40,30,.10),0 0 0 1px #f0dcb4}
.insignia{display:inline-block;background:var(--oro-claro);color:var(--oro-osc);
  border:1px solid var(--oro-med);border-radius:999px;padding:2px 10px;font-size:.78125rem;font-weight:700;
  letter-spacing:.02em;white-space:nowrap}
.sello-destacado{margin:0 0 7px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sello-destacado a{font-size:.78125rem;color:var(--gris)}
.tarjeta .pie{margin-top:auto;padding-top:14px}
.boton{display:inline-block;background:var(--verde);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(16,40,30,.12);transition:background .15s ease}
.boton:hover{background:var(--verde-osc)}
.boton.sec{background:#fff;color:var(--verde-osc);border:1px solid var(--verde-borde);box-shadow:none}
.boton.sec:hover{background:var(--verde-claro)}
.provincias{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px}
.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(--verde);background:var(--verde-claro)}
.provincias span{background:var(--fondo);border:1px dashed var(--linea);border-radius:var(--radio-sm);
  padding:13px 15px;color:var(--gris);display:flex;justify-content:space-between;align-items:center;
  font-size:.9375rem}
.provincias span b{font-weight:600;color:var(--gris)}
.provincias b{font-weight:600}
.provincias small{color:var(--gris);font-variant-numeric:tabular-nums}
.notacorta{font-size:.90625rem;color:var(--gris);margin:0 0 18px}
.atajo-abajo{margin:-4px 0 18px}
.atajo-abajo a{display:inline-block;font-weight:600;font-size:.9375rem;
  color:var(--verde-osc);text-decoration:underline;text-underline-offset:3px;
  padding:8px 2px;min-height:24px}
.atajo-abajo a::after{content:" \2193"}
.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:#8cc4a8;stroke-width:2.6;stroke-linejoin:round}
.mapaes-tierra{fill:var(--verde-claro);stroke:#fff;stroke-width:1;stroke-linejoin:round}
.mapaes-tierra .vacia{fill:#eef5f1}
.mapaes-p circle{fill:var(--verde);fill-opacity:1;stroke:#fff;stroke-width:1.6;
  transition:fill .15s ease,fill-opacity .15s ease}
.mapaes-d1 circle{fill:#c9e7d6}
.mapaes-d2 circle{fill:#7fc7a2}
.mapaes-d3 circle{fill:#1f7a4d}
.mapaes-d4 circle{fill:#145636}
.mapaes-d5 circle{fill:#0d3b26}
.mapaes-d1 .mapaes-n,.mapaes-d2 .mapaes-n{fill:var(--verde-hondo)}
.mapaes-p:hover circle,.mapaes-p:focus circle{fill:var(--verde-osc);fill-opacity:1}
.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-leyenda small{color:var(--gris)}
.mapaes-muestra{width:15px;height:15px;border-radius:50%;display:inline-block;
  border:1px solid var(--verde-borde);background:var(--verde)}
.mapaes-leyenda .mapaes-d1 .mapaes-muestra{background:#c9e7d6}
.mapaes-leyenda .mapaes-d2 .mapaes-muestra{background:#7fc7a2}
.mapaes-leyenda .mapaes-d3 .mapaes-muestra{background:#1f7a4d}
.mapaes-leyenda .mapaes-d4 .mapaes-muestra{background:#145636}
.mapaes-leyenda .mapaes-d5 .mapaes-muestra{background:#0d3b26}
.mapaes-leyenda .mapaes-vacia .mapaes-muestra{background:#eef5f1;border-radius:3px;
  border:1px solid var(--verde-borde)}
.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:#eef6f0;stroke-width:3.5px;stroke-linejoin:round}
.mapaes-p:hover .mapaes-r,.mapaes-p:focus .mapaes-r{font-weight:700}
.mapaes-hilos line{stroke:var(--verde);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}
@media(max-width:700px){
  .mapaes{min-width:820px;margin-top:2px}
  .mapabloque .desliza{display:block}
}
.ficha{display:grid;grid-template-columns:1fr 390px;column-gap:30px;row-gap:18px;
  align-items:start}
.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}
}
html{scroll-padding-top:var(--tope-barra)}
@media(min-width:861px) and (min-height:900px){
  .ficha > aside{position:sticky;top:var(--tope-barra)}
}
.ficha > div{min-width:0}
.panel{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:24px;
  box-shadow:var(--sombra)}
.panel + .panel{margin-top:18px}
.panel h1{font-size:1.875rem}
.avisoficha{background:var(--aviso);border:1px solid var(--aviso-borde);border-radius:var(--radio-sm);
  padding:14px 16px;font-size:.90625rem;margin:0 0 18px;color:#5c4310}
.avisoficha strong{display:block;margin-bottom:3px;color:#4a3608}
.avisoficha a{color:#6b4c0c}
.ficha > div > .avisoficha{margin-top:18px}
.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:112px;flex:none;color:var(--gris)}
.datos:not(:has(li>span:not(.et))){display:flex;flex-wrap:wrap;gap:7px}
.datos:not(:has(li>span:not(.et)))>li{padding:0;border-bottom:0;display:block;font-size:.84375rem}
.datos:not(:has(li>span:not(.et)))>li>.et{width:auto;background:var(--verde-claro);
  color:var(--verde-osc);border-radius:20px;padding:5px 12px;display:block}
.datos:not(:has(li>span:not(.et)))>li>.et:has(a){padding:0}
.datos:not(:has(li>span:not(.et)))>li>.et a{display:block;padding:5px 12px;
  color:var(--verde-osc);text-decoration:none;border-radius:20px}
.datos:not(:has(li>span:not(.et)))>li>.et a:hover{background:var(--verde);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 0;padding:0;list-style:none}
.chips li{background:var(--verde-claro);color:var(--verde-osc);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(--verde-osc);text-decoration:none;border-radius:20px}
.chips li a:hover{background:var(--verde);color:#fff}
.chips li[aria-current]{background:var(--verde);color:#fff;font-weight:600}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips){gap:0;margin:8px 0 0}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li{background:none;border-radius:0;padding:0;font-size:.875rem;
  line-height:1.72;color:var(--tinta)}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li:has(a){padding:0}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li a{display:inline-block;padding:0;border-radius:0}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li a:hover{background:none;color:var(--verde);text-decoration:underline}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li:not(:last-child)::after{content:"\00B7";
  color:var(--verde-borde);margin:0 8px;font-weight:700}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li[aria-current]{background:none;color:var(--tinta);font-weight:700}
:is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li a>small{color:var(--gris);font-variant-numeric:tabular-nums;
  font-size:.78125rem;font-weight:400}
.tipos:has(>li:nth-child(20)){gap:0 0;margin:8px 0 0}
.tipos:has(>li:nth-child(20))>li{font-size:.875rem;line-height:1.72;color:var(--tinta)}
.tipos:has(>li:nth-child(20))>li a{display:inline-block;background:none;border:0;box-shadow:none;
  border-radius:0;padding:0;font-size:inherit;line-height:inherit;color:inherit}
.tipos:has(>li:nth-child(20))>li a:hover{background:none;color:var(--verde);text-decoration:underline}
.tipos:has(>li:nth-child(20))>li a small{color:var(--gris);font-variant-numeric:tabular-nums;
  font-size:.78125rem;font-weight:400}
.tipos:has(>li:nth-child(20))>li:not(:last-child)::after{content:"\00B7";
  color:var(--verde-borde);margin:0 8px;font-weight:700}
.tipos:has(>li:nth-child(20))>li a[aria-current]{color:var(--tinta);font-weight:700}
@media(max-width:620px){
  .tipos:has(>li:nth-child(20))>li{font-size:.84375rem;line-height:1.78}
  .tipos:has(>li:nth-child(20))>li:not(:last-child)::after{margin:0 6px}
}
.idxcuenta{font-family:var(--texto);font-size:.875rem;font-weight:400;color:var(--gris);
  letter-spacing:0;vertical-align:middle;font-variant-numeric:tabular-nums}
.notaidx{max-width:760px;color:var(--gris);font-size:.84375rem;margin:6px 0 0;line-height:1.45}
h2:has(+ ul.chips>li:nth-child(20)),
h2:has(+ p.entradilla + ul.chips>li:nth-child(20)){font-size:1.25rem;margin:26px 0 6px}
h3:has(+ ul.chips>li:nth-child(20)),
h3.subidx{font-family:var(--texto);font-weight:600;
  letter-spacing:.2px;line-height:1.35;font-size:.9375rem;color:var(--gris);
  margin:18px 0 2px}
h3:has(+ ul.chips>li:nth-child(20)) .idxcuenta{font-size:.8125rem}
p.entradilla:has(+ ul.chips>li:nth-child(20)){font-size:.84375rem;line-height:1.45;
  margin:2px 0 0}
@media (max-width:520px){
  :is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li{font-size:.84375rem;line-height:1.78}
  :is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li:not(:last-child)::after{margin:0 6px}
}
.vecinas{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px 16px;
         margin:10px 0 4px;padding:0;list-style:none}
.vecinas li{min-width:0;font-size:.9375rem;line-height:1.4}
.vecinas li a{font-weight:600}
.vecinas li small{display:block;color:var(--gris);font-size:.8125rem;font-variant-numeric:tabular-nums}
.vecinas:has(>li.con-logo){grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}
.vecinas li.con-logo{display:flex;gap:10px;align-items:flex-start}
.vecinas li.con-logo>.logo-empresa{flex:0 0 auto}
.vecinas li.con-logo>div{min-width:0;flex:1 1 auto}
.vecinas li.con-logo .v-nota{color:var(--gris)}
.vecinas li.con-logo .v-nota b{color:var(--tinta);font-variant-numeric:tabular-nums}
.vecinas li.con-logo .v-nota .estrellas{font-size:.75rem;letter-spacing:.4px}
.estrellas{color:var(--oro-osc);font-weight:700;letter-spacing:.5px}
.fotoficha{border-radius:var(--radio-sm);margin-bottom:16px;width:100%;background:var(--verde-claro);
  aspect-ratio:3/2;object-fit:cover;max-height:360px}
.fotoficha.propia{object-fit:contain;padding:14px}
table.horario{width:100%;border-collapse:collapse;font-size:.90625rem}
table.horario td,table.horario th{padding:7px 0;border-bottom:1px solid var(--linea)}
table.horario th{font-weight:inherit;text-align:left}
table.horario td:last-child{text-align:right;color:var(--gris)}
form.presu label{display:block;font-size:.875rem;font-weight:600;margin:13px 0 5px}
form.presu input,form.presu select,form.presu 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)}
form.presu input:focus,form.presu select:focus,form.presu textarea:focus{outline:0;border-color:var(--verde);
  box-shadow:0 0 0 3px rgba(31,122,77,.16)}
form.presu :is(input,select,textarea):user-invalid{border:2px solid #a4231c;background:#fdecea}
form.presu :is(input,select,textarea):user-invalid:focus{border-color:#a4231c;
  box-shadow:0 0 0 3px rgba(164,35,28,.18)}
form.presu .legal input:user-invalid{outline:2px solid #a4231c;outline-offset:2px}
form.presu textarea{min-height:92px;resize:vertical}
form.presu textarea{min-width:0}
form.presu .fila{display:grid;grid-template-columns:1fr 1fr;gap:11px}
form.presu .fila:has(input[type="date"]){
  grid-template-columns:repeat(auto-fit,minmax(9.5em,1fr))}
form.presu .legal{font-size:.8125rem;color:var(--gris);margin:14px 0 0;display:flex;gap:8px;align-items:flex-start}
form.presu .legal input{width:1.15rem;height:1.15rem;flex:none;margin-top:2px;
  accent-color:var(--verde)}
form.presu button{margin-top:17px;width:100%;padding:14px;font-size:1rem}
.explica{font-size:.84375rem;color:var(--gris);margin:10px 0 0;overflow-wrap:anywhere}
.comprobado{background:var(--verde-claro);border-left:3px solid var(--verde);border-radius:6px;
  padding:11px 14px;font-size:.875rem;margin:0 0 16px;color:var(--verde-osc)}
.web-insegura{text-decoration:underline dotted;text-underline-offset:3px}
.tipos{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.tipos a{display:inline-flex;align-items:baseline;gap:6px;background:#fff;border:1px solid var(--linea);
  border-radius:22px;padding:7px 15px;text-decoration:none;color:var(--tinta);font-size:.90625rem;
  box-shadow:var(--sombra);transition:border-color .15s ease,background .15s ease}
.tipos a:hover{border-color:var(--verde);background:var(--verde-claro);color:var(--verde-osc)}
.tipos a small{color:var(--gris);font-variant-numeric:tabular-nums}
.tipos a.act{background:var(--verde);border-color:var(--verde);color:#fff}
.tipos a.act small{color:rgba(255,255,255,.95)}
.porque{font-size:.8125rem;color:var(--gris);margin:6px 0 0;border-left:2px solid var(--verde-borde);
  padding-left:9px;line-height:1.45}
.t-desde{display:block;margin:8px 0 0;font-size:.78125rem;line-height:1.5;
  color:var(--verde-osc);background:var(--verde-claro);border-radius:6px;padding:5px 9px}
.t-desde b{font-weight:700}
.t-desde .km{font-variant-numeric:tabular-nums;font-weight:700}
.t-desde .sep{color:var(--verde-osc);opacity:.5}
.t-desde--sede{color:var(--verde-hondo);background:#eef1ef}
.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(--verde);transform:translateY(-2px)}
.espec b{display:block;font-family:var(--display);font-weight:600;font-size:1.09375rem;margin-bottom:4px;
  color:var(--verde-osc)}
.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}
.js .rejilla-listado>.tarjeta.tarda{display:none}
.vermas{display:none}
.js .vermas{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}
.vermas .cuantas{color:var(--gris);font-size:.9375rem;font-variant-numeric:tabular-nums;margin:0}
.vermas button[hidden]{display:none}
.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,box-shadow .15s ease}
.arts a:hover{border-color:var(--verde);transform:translateY(-2px);box-shadow:var(--sombra-alta)}
.arts b{font-family:var(--display);font-weight:600;font-size:1.15625rem;line-height:1.25;
  color:var(--verde-osc);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;padding-top:4px}
.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}
.articulo li{margin-bottom:8px}
.articulo li>b:first-child{color:var(--verde-osc)}
.articulo .avisoficha{font-size:.9375rem}
.articulo .avisoficha b{color:#4a3608}
.textolocal,.faqlocal,.preciolocal{max-width:760px;margin:34px 0 0}
.textolocal h2,.faqlocal h2,.preciolocal h2{font-size:1.5rem;margin:0 0 14px}
.textolocal p,.preciolocal p{font-size:1.03125rem;line-height:1.72;margin:0 0 14px;color:var(--tinta)}
.textolocal p:last-child,.preciolocal p:last-child{margin-bottom:0}
.textolocal a{color:var(--verde-osc)}
.preciolocal{border-left:3px solid var(--verde-borde);padding-left:18px}
.faqlocal .panel{padding:8px 24px 20px}
.faqlocal h3{font-size:1.09375rem;margin:20px 0 6px;color:var(--verde-hondo)}
.faqlocal p{font-size:1rem;line-height:1.7;margin:0;color:var(--tinta);overflow-wrap:anywhere}
@media(max-width:520px){
  .textolocal h2,.faqlocal h2,.preciolocal h2{font-size:1.3125rem}
  .textolocal p,.preciolocal p{font-size:1rem}
  .preciolocal{padding-left:13px}
  .faqlocal .panel{padding:6px 17px 16px}
}
.textolocal>h2:first-child+p{font-size:1.09375rem;line-height:1.68;color:var(--tinta)}
@media(max-width:1119px){
  .textolocal>h2:not(:first-child){margin-top:32px;padding-top:18px;
    border-top:1px solid var(--linea)}
}
@media(min-width:1120px){
  .textolocal,.faqlocal,.preciolocal{
    max-width:none;display:grid;grid-template-columns:272px minmax(0,760px);
    column-gap:48px;row-gap:0;align-items:start}
  .textolocal>h2,.faqlocal>h2,.preciolocal>h2{
    grid-column:1;font-size:1.3125rem;line-height:1.26;margin:0;
    padding-top:11px;border-top:2px solid var(--verde);color:var(--verde-hondo)}
  .textolocal>h2:not(:first-child){margin-top:30px}
  .textolocal>p,.preciolocal>p{grid-column:2}
  .faqlocal>.panel{grid-column:2}
  .textolocal>h2:first-child+p{font-size:1.15625rem}
  .preciolocal{border-left:0;padding-left:0}
  .preciolocal>p{border-left:3px solid var(--verde-borde);padding-left:18px}
}
.ficha .textolocal,.ficha .faqlocal,.ficha .preciolocal{display:block;max-width:760px}
.ficha .textolocal>h2,.ficha .faqlocal>h2,.ficha .preciolocal>h2{
  font-size:1.5rem;margin:0 0 14px;padding-top:0;border-top:0;color:var(--tinta)}
.ficha .preciolocal{border-left:3px solid var(--verde-borde);padding-left:18px}
.ficha .preciolocal>p{border-left:0;padding-left:0}
.fecha-art{font-size:.875rem;color:var(--gris);margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px 14px}
.claves{background:var(--verde-claro);border:1px solid var(--verde-borde);border-radius:var(--radio);
  padding:18px 22px 14px;margin:0 0 28px}
.claves p{margin:0 0 8px;font-weight:600;font-size:.9375rem;color:var(--verde-hondo)}
.claves ul{margin:0;padding-left:20px}
.claves li{font-size:.96875rem;line-height:1.6;margin-bottom:5px;color:var(--verde-hondo)}
.alergenos{columns:2;column-gap:26px}
.alergenos li{break-inside:avoid}
@media(max-width:520px){.alergenos{columns:1}}
.tabla-responsive{overflow-x:auto;margin:0 0 20px;-webkit-overflow-scrolling:touch}
@media(max-width:620px){.respuesta-directa table.comparar{min-width:0}.respuesta-directa table.comparar th:nth-child(n+4),.respuesta-directa table.comparar td:nth-child(n+4){display:none}}
.desliza{display:none}
@media(max-width:620px){.desliza{display:block;font-size:.84375rem;color:var(--gris);margin:0 0 8px}}
table.comparar{width:100%;min-width:520px;border-collapse:collapse;font-size:.9375rem;background:#fff;
  border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
table.comparar th,table.comparar td{padding:11px 13px;border-bottom:1px solid var(--linea);text-align:left}
table.comparar thead th{background:var(--verde-claro);color:var(--verde-hondo);font-size:.90625rem}
table.comparar tbody th{color:var(--gris);font-weight:600;font-size:.90625rem;width:32%}
table.comparar tr:last-child th,table.comparar tr:last-child td{border-bottom:0}
.respuesta-directa{font-size:.90625rem;margin:20px 0}
.respuesta-directa>p{margin:0 0 10px;line-height:1.5}
.respuesta-directa table.comparar{font-size:.84375rem}
.respuesta-directa table.comparar th,.respuesta-directa table.comparar td{padding:6px 10px}
.respuesta-directa .nota-logos{margin-top:6px;font-size:.78125rem}
.cta{background:linear-gradient(148deg,var(--verde-hondo),var(--verde-osc) 70%);color:#fff;
  border-radius:var(--radio);padding:26px 28px;margin:34px 0 0}
.cta h3{font-family:var(--display);font-weight:600;font-size:1.375rem;margin:0 0 8px;color:#fff}
.cta p{color:rgba(255,255,255,.92);margin:0 0 12px;font-size:1rem}
.cta p:last-child{margin:16px 0 0}
.cta a.boton{background:var(--oro);color:var(--verde-hondo)}
.cta a.boton:hover{background:#efb457}
.cta a:not(.boton){color:#fff}
@media(max-width:520px){.cta{padding:22px 20px}.cta a.boton{display:block;text-align:center}}
.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(--verde-hondo);background:var(--verde-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;fill:none;stroke:currentColor;
  stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.galeria-flecha:hover{background:var(--verde-osc);border-color:var(--verde-osc)}
.galeria-flecha[aria-disabled="true"]{background:var(--verde-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(--verde-borde) transparent}
.galeria::-webkit-scrollbar{height:8px}
.galeria::-webkit-scrollbar-track{background:transparent}
.galeria::-webkit-scrollbar-thumb{background:var(--verde-borde);border-radius:8px}
.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(--verde-claro)}
.galeria a:hover,.galeria a:focus-visible{border-color:var(--verde);outline-offset:2px}
.galeria img{width:100%;height:150px;object-fit:cover;display:block}
.fichaport a{display:block;line-height:0}
.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);max-height:calc(100dvh - 160px);
  background:#111;box-shadow:0 18px 50px -12px rgba(0,0,0,.85)}
.lb-pie{margin:0;color:#e8f4ee;font-size:.85rem;line-height:1.45;text-align:center;
  max-width:70ch}
.lb-n{display:block;color:#c3ded0;font-weight:600;letter-spacing:.02em}
.lb-x,.lb-f{position:absolute;border-radius:50%;padding:0;cursor:pointer;color:#fff;
  border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;line-height:1}
.lb-x{top:12px;right:12px;width:44px;height:44px;font-size:1.3rem}
.lb-f{top:50%;transform:translateY(-50%);width:48px;height:48px}
.lb-f.ant{left:10px}
.lb-f.sig{right:10px}
.lb-f svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}
.lb-x:hover,.lb-f:hover{background:var(--verde);border-color:var(--verde)}
.lb-x:focus-visible,.lb-f:focus-visible{outline:3px solid #fff;outline-offset:2px}
.lb-f[hidden]{display:none}
html.lb-abierto,html.lb-abierto body{overflow:hidden}
@media(max-width:620px){
  .lb{padding:56px 6px 62px}
  .lb-img{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}
  .lb-f{width:42px;height:42px}
  .lb-f.ant{left:4px}
  .lb-f.sig{right:4px}
  .lb-pie{font-size:.78rem}
}
details.resenasg{margin:12px 0 0}
details.resenasg > summary{cursor:pointer;font-weight:600;color:var(--verde-hondo);
  background:var(--verde-claro);border:1px solid var(--linea);border-radius:10px;
  padding:12px 15px;font-size:.96875rem;list-style-position:inside}
details.resenasg > summary:hover{background:#dcece2}
details.resenasg > summary:focus-visible{outline:2px solid var(--verde);outline-offset:2px}
details.resenasg[open] > summary{border-radius:10px 10px 0 0;margin-bottom:0}
details.resenasg > summary .cuantas{font-weight:400;color:var(--gris)}
ol.listares{list-style:none;margin:0;padding:14px 15px 4px;border:1px solid var(--linea);
  border-top:0;border-radius:0 0 10px 10px}
ol.listares > li{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--linea)}
ol.listares > li:last-child{border-bottom:0}
ol.listares p{margin:0 0 6px;font-size:.9375rem;overflow-wrap:anywhere}
ol.listares .resmeta{font-size:.875rem;color:var(--gris)}
ol.listares .resmeta .estrellas{font-size:.9375rem}
ol.listares .resmeta b{color:var(--tinta)}
ol.listares .restexto{white-space:pre-line;line-height:1.5;max-height:3em;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}
ol.listares .resresp{background:var(--verde-claro);border-radius:8px;padding:9px 12px;
  font-size:.90625rem;margin:8px 0 6px}
@media(max-width:620px){.galeria-flechas{display:none}}
@media(max-width:520px){.galeria li{flex-basis:128px}
  .galeria img{height:100px}}
.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;vertical-align:middle;
  text-align:center;text-decoration:none;
  -webkit-user-select:none;user-select:none}
.logo-empresa.logo-empresa--sm{--logo-lado:44px;border-radius:9px}
.logo-empresa.logo-empresa--lg{--logo-lado:104px;border-radius:14px}
.logo-empresa.logo-empresa--propio{background:#fff;border:1px solid var(--linea);
  padding:4px;box-shadow:var(--sombra)}
.logo-empresa--lg.logo-empresa--propio{padding:9px}
.logo-empresa.logo-empresa--propio img{width:100%;height:100%;object-fit:contain;
  display:block;margin:0;max-width:none;max-height:none}
.logo-empresa.logo-empresa--propio img{position:relative}
.logo-empresa.logo-empresa--propio img::after{content:"";position:absolute;inset:0;
  border-radius:inherit;background:var(--verde-claro)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='7 8.8 18.2 10.4'%3E%3Cg fill='%23b7d4c3'%3E%3Cpath d='M8.3 16.6a5.7 4.9 0 0 1 11.4 0z'/%3E%3Crect x='7.9' y='16.5' width='12.2' height='2' rx='1'/%3E%3Ccircle cx='14' cy='10.6' r='1.05'/%3E%3C/g%3E%3C/svg%3E") center/72% auto no-repeat}
.logo-empresa--propio.logo-empresa--oscuro img::after{background-color:var(--verde-hondo)}
.logo-empresa.logo-empresa--propio.logo-empresa--oscuro{background:var(--verde-hondo);
  border-color:var(--verde-hondo)}
.logo-empresa.logo-empresa--iniciales{background:var(--logo-fondo,var(--verde-osc));
  color:#fff;font-family:var(--display);font-weight:700;letter-spacing:.5px;
  font-size:calc(var(--logo-lado) * .40);font-style:normal;
  position:relative}
.logo-empresa.logo-empresa--iniciales::after{content:"";position:absolute;right:0;bottom:0;
  border-style:solid;border-width:0 0 calc(var(--logo-lado) * .26) calc(var(--logo-lado) * .26);
  border-color:transparent transparent rgba(255,255,255,.22) transparent}
@media(max-width:520px){.logo-empresa--lg{--logo-lado:88px}}
.fichaport{margin:-24px -24px 0;border-radius:var(--radio) var(--radio) 0 0;
  overflow:hidden;background:var(--verde-claro);line-height:0}
.fichaport img{width:100%;height:auto;aspect-ratio:21/9;max-height:280px;
  object-fit:cover;border-radius:0;margin:0}
.fichaport .fotoficha.propia{background:#fff;object-fit:contain;padding:16px}
.fichaport.vacia{height:104px;border-bottom:1px solid var(--linea);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='7 8.8 18.2 10.4'%3E%3Cg fill='%23b7d4c3'%3E%3Cpath d='M8.3 16.6a5.7 4.9 0 0 1 11.4 0z'/%3E%3Crect x='7.9' y='16.5' width='12.2' height='2' rx='1'/%3E%3Ccircle cx='14' cy='10.6' r='1.05'/%3E%3C/g%3E%3C/svg%3E") center/58px auto no-repeat,
    linear-gradient(140deg,#f0f7f3,#dfece5)}
.fichacab{display:flex;align-items:flex-start;gap:18px;margin:18px 0 0}
.fichacab-txt{flex:1 1 auto;min-width:0}
.fichacab h1{margin:0 0 4px;font-size:clamp(1.5625rem,3.1vw,2.0625rem);line-height:1.16;
  overflow-wrap:anywhere}
.fichacab .meta{margin:0;font-size:.9375rem;overflow-wrap:anywhere}
.fichacab .sello-destacado{margin:0 0 6px}
.fichanota{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.fichanota b{font-family:var(--display);font-weight:700;font-size:1.9375rem;line-height:1;
  color:var(--verde-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:10px}
.fichatipos{margin:16px 0 0}
.et-clave{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gris);margin:0}
.fichatipos .chips{margin-top:7px}
@media(max-width:520px){
  .fichacab{gap:14px;margin-top:15px}
  .fichaport img{aspect-ratio:16/9;max-height:220px}
  .fichanota b{font-size:1.6875rem}
}
@media(max-width:420px){
  .fichacab{flex-wrap:wrap;gap:10px}
  .fichacab-txt{flex-basis:100%}
}
.hero-txt{min-width:0}
@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(13,59,38,.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 span{display:block;font-size:.875rem;line-height:1.35;color:rgba(255,255,255,.92);margin-top:2px}
@media(max-width:400px){.herocifras{padding:16px 17px;gap:13px 14px}}
.destfila{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));
  gap:16px;margin:14px 0 0;padding:0;list-style:none}
.destcard{display:flex;align-items:flex-start;gap:14px;background:#fff;
  border:1px solid #d8a758;border-radius:var(--radio);padding:16px;
  box-shadow:0 1px 2px rgba(16,40,30,.10),0 0 0 1px #f0dcb4}
.destcard-txt{min-width:0}
.destcard h3{margin:5px 0 3px;font-size:1.0625rem;font-family:var(--display);font-weight:600;
  line-height:1.25;letter-spacing:-.2px}
.destcard h3 a{color:var(--tinta);text-decoration:none}
.destcard h3 a:hover{color:var(--verde-osc)}
.destcard .meta{margin:0}
.destcard .nota{margin-top:4px}
.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(--verde-claro);color:var(--verde-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)}
footer.pie{background:var(--verde-hondo);color:#c6d8ce;padding:44px 0 34px;font-size:.9375rem;margin-top:56px}
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 .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:760px){footer.pie .cols{grid-template-columns:1fr}}
footer.pie p{margin:0 0 9px}
footer.pie .logo{color:#fff;font-size:1.3125rem;margin-bottom:12px;border-bottom:0}
footer.pie .logo span{color:#fff}
footer.pie .m-lente{stroke:#fff}
footer.pie .m-asa{stroke:var(--oro)}
footer.pie .sello{font-size:.84375rem;color:#93ac9f;margin-top:14px}
@media print{
  :root{--fondo:#fff}
  html,body{background:#fff;color:#000}
  body{font-size:10.5pt;line-height:1.45}
  @page{margin:14mm}
  header.top,.saltar,.buscador,.avisobusca,#sugerencias,
  .ctapresu,.navcta,a.boton,.vermas,.mapabloque,
  .galeria-caja,.galeria-flecha,.lb,.ficha aside,
  .barra-listado .orden,.desliza,.nota-logos{display:none !important}
  .foto-tarjeta,.fotoficha,.tarjeta>.logo-empresa{display:none !important}
  .js .rejilla-listado>.tarjeta.tarda{display:flex !important}
  footer.pie{background:none;color:#000;padding:14px 0 0;margin-top:20px;
    border-top:1px solid #999;font-size:9pt}
  footer.pie .cols>*+*{display:none}
  footer.pie a{color:#000;border-bottom:0}
  footer.pie .logo,footer.pie .logo span{color:#000;font-size:14px}
  footer.pie .m-lente{stroke:#000}
  footer.pie .sello{color:#444}
  .panel,.tarjeta,.ctapresu,.avisoficha,.hero,.heroalt,.herocifras{background:none !important;
    box-shadow:none !important}
  .panel,.tarjeta{border:1px solid #bbb}
  .rejilla-listado .tarjeta,.vecinas li,.pasos>div{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
  main a{color:#000;text-decoration:underline}
}
.foto-tarjeta{position:relative}
.fichaport,.galeria a{position:relative}
.foto-tarjeta::after,.fichaport img::after,.galeria img::after{content:"";
  position:absolute;inset:0;border-radius:inherit;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='7 8.8 18.2 10.4'%3E%3Cg fill='%23b7d4c3'%3E%3Cpath d='M8.3 16.6a5.7 4.9 0 0 1 11.4 0z'/%3E%3Crect x='7.9' y='16.5' width='12.2' height='2' rx='1'/%3E%3Ccircle cx='14' cy='10.6' r='1.05'/%3E%3C/g%3E%3C/svg%3E") center/64px auto no-repeat,
    linear-gradient(140deg,#f0f7f3,#dfece5)}
.galeria img::after{background-size:44px auto,auto}
@media (forced-colors: active){
  .boton,button,header.top nav a.navcta{border:2px solid}
  .buscador input,.buscador button,
  form.presu input,form.presu select,form.presu textarea{border:1px solid}
  form.presu .legal input{border:0}
  .chips li,.insignia{border:1px solid}
  :is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li{border:0}
  .cta,.avisoficha,.comprobado{border:1px solid}
  .hero{border-bottom:1px solid}
  footer.pie{border-top:2px solid}
}
@media (prefers-contrast: more){
  :root{
    --gris:#454f4c;
    --oro-osc:#6f4907;
    --linea:#7f8c87;
    --verde-borde:#4f9070;
    --aviso-borde:#b8781f;
  }
  .boton,header.top nav a.navcta{background:var(--verde-osc)}
  .boton:hover,header.top nav a.navcta:hover{background:var(--verde-hondo)}
  footer.pie .sello{color:#b4c9be}
  footer.pie a{border-bottom-color:rgba(255,255,255,.65)}
  .heroalt,.avisobusca{color:#fff}
  .tipos a.act{background:var(--verde-osc);border-color:var(--verde-osc)}
  .tipos a.act small{color:#fff}
  .buscador button,.cta a.boton{background:#f0bf68}
  .logo-empresa.logo-empresa--iniciales{background:var(--verde-osc)}
  .t-desde .sep{opacity:1}
}
@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,.espec a:hover,.arts a:hover{transform:none}
}
main:has(>.hero:first-child){padding-top:0}
.hero+.contenedor{padding-top:36px}
h1,h2{text-wrap:balance}
.migas a,footer.pie a{position:relative}
.migas a::after,footer.pie a::after{content:"";position:absolute;left:-4px;right:-4px;top:-13px;bottom:-13px}
.tabla-responsive{background:
  linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left center/34px 100% no-repeat local,
  linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right center/34px 100% no-repeat local,
  radial-gradient(farthest-side at 0 50%,rgba(16,40,30,.22),rgba(16,40,30,0)) left center/12px 100% no-repeat scroll,
  radial-gradient(farthest-side at 100% 50%,rgba(16,40,30,.22),rgba(16,40,30,0)) right center/12px 100% no-repeat scroll;
  background-color:#fff}
.tabla-responsive table.comparar,.tabla-responsive table.tabla-datos{background:transparent}
.fic-alta>.panel:not(:has(.fichaport)) .fichacab{align-items:center}
.galeria-caja:not(:has(.galeria li)){display:none}
.fic-alta>.panel:not(:has(.fichaport)){border-top:4px solid var(--verde);
  background:linear-gradient(180deg,var(--verde-claro) 0,#fff 150px)}
@media(min-width:861px) and (min-height:1000px){.ficha>aside{position:sticky;top:18px}}
.presu .legal input[type=checkbox]{width:24px;height:24px;flex:none;margin:1px 2px 0 0;padding:0;accent-color:var(--verde)}
@media(max-width:720px){
  header.top .logo,footer.pie .logo,.vermas .boton{min-height:44px}
  header.top nav a.navcta{min-height:44px;display:inline-flex;align-items:center}
  .tipos a{min-height:44px;align-items:center}
  :is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li a{padding:10px 0}
  .chips li a{min-height:44px;display:flex;align-items:center}
  :is(.chips:has(>li:nth-child(20)),.tarjeta>h3+.chips)>li a{display:inline-block;min-height:0}
}
@media(max-width:700px){
  .t-lugar,.t-nota,.t-nota--sin,.tarjeta .t-tel,.tarjeta .t-web,.t-nota small,.t-nota .estrellas,.fd-t24,
  table.comparar,table.comparar th,table.comparar td,table.comparar a,small,.total,.chips a,.arts em,.sello,table th,table td,
  .t-tags li,.t-cita p,.t-cita footer,.explica,.entradilla,.nota-logos,.v-nota,.v-nota b,.v-nota .estrellas,.vecinas small{font-size:.875rem}
  table td a{display:inline-block;padding:13px 5px;margin:-13px -5px}
  .migas li a{display:inline-block;padding:14px 5px;margin:-14px -5px}
  footer p a,main ul:not([class]) li a{display:inline-block;padding:12px 0;margin:-12px 0}
  header.top nav .btnmenu{width:44px;height:44px}
  .chips li a{min-width:44px;justify-content:center}
}
@media(max-width:700px){
  thead th,table th,.lh-nota,.t-prestamo,.t-origen,.sello,.desliza,.cifras-zona span,.fd-zona-t,small,.v-nota b,.v-nota .estrellas,.t-nota .estrellas{font-size:.875rem!important}
  .presu label,.fila label{display:inline-block;padding:11px 0;margin:-11px 0}
  .presu .legal label{display:block;padding:12px 0;margin:-12px 0}
  .fd-fila dd a,.avisoficha a,.fecha-art a,.t-cita footer a,.gp-aviso a{display:inline-block;padding:12px 0;margin:-12px 0}
  table td a{min-width:44px}
}
@media(max-width:767px){
  .migas{font-size:12px;line-height:1.3;margin:0 0 4px}
  .migas ol{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;padding:14px 0;margin:-14px 0;align-items:baseline}
  .migas li{flex:0 0 auto;display:block}
  .migas li:last-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .migas li+li::before{margin:0 4px}
}
a.mapaes-p:focus-visible circle{stroke:#111;stroke-width:3.5}
a.mapaes-p:focus-visible rect{stroke:#111;stroke-width:2}
