/* Motor fábrica — hoja base. Mobile-first, identidad por sitio vía variables,
   fuentes de sistema (cero render-blocking), huecos de anuncio con altura reservada. */
:root{
  --primario:var(--c-primario,#1f6f43); --acento:var(--c-acento,#2e9e63);
  --texto:var(--c-texto,#15202b); --fondo:var(--c-fondo,#ffffff);
  --muted:#5c6b64; --line:var(--c-linea,#e3e9e6); --surface:var(--c-superficie,#ffffff); --surface-2:#f5f8f6;
  --shadow:0 1px 2px rgba(16,32,24,.05),0 6px 20px rgba(16,32,24,.06);
  --maxw:1120px; --read:68rem;
}
body.hero-flat .hero{background:var(--primario)}
body.hero-outline .hero{background:transparent;border:2px solid var(--primario);color:var(--primario)}
body.hero-outline .hero h1,body.hero-outline .hero-sub{color:var(--primario)}
body.card-shadow .card-grid a,body.card-shadow .rated-list a,body.card-shadow .rank-cards a{box-shadow:var(--shadow);border-color:transparent}
body.card-filled .card-grid a,body.card-filled .rated-list a,body.card-filled .rank-cards a{background:color-mix(in srgb,var(--primario) 7%,var(--surface));border-color:transparent;box-shadow:none}
body.header-minimal .site-header{background:var(--fondo);backdrop-filter:none;border-bottom:none}
body.header-bordered .site-header{background:var(--fondo);backdrop-filter:none}
body.densidad-compact .card-grid{gap:8px}body.densidad-compact .entity-list{gap:10px}
body.densidad-airy .card-grid{gap:16px}body.densidad-airy .entity-list{gap:20px}
*,*::before,*::after{box-sizing:border-box}
:target{scroll-margin-top:76px}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;color:var(--texto);background:var(--fondo);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap,main.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
a{color:var(--acento);text-underline-offset:2px}
img,svg{max-width:100%}
h1,h2,h3{line-height:1.2;color:var(--texto);letter-spacing:-.01em}
h1{font-size:clamp(1.7rem,4.5vw,2.5rem);margin:.4em 0 .25em}
h2{font-size:clamp(1.3rem,3vw,1.7rem);margin:1.6em 0 .5em}
h3{font-size:1.12rem;margin:1.1em 0 .3em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ic{width:1.05em;height:1.05em;fill:currentColor;flex:none;vertical-align:-2px}

/* Accesibilidad */
.skip-link{position:absolute;left:-999px;background:#fff;color:#000;padding:10px 14px;z-index:100}
.skip-link:focus{left:10px;top:10px}
:focus-visible{outline:3px solid var(--acento);outline-offset:2px;border-radius:4px}

/* Header / footer */
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--fondo) 88%,transparent);
  backdrop-filter:saturate(1.3) blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:1.12rem;color:var(--texto);text-decoration:none}
.brand-mark{width:26px;height:26px;fill:var(--primario)}
.site-header nav{display:flex;gap:2px;flex-wrap:wrap}
.site-header nav a{color:var(--texto);text-decoration:none;padding:10px 12px;border-radius:9px;min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:.95rem}
.site-header nav a:hover{background:var(--surface-2)}
.disclaimer{background:#fff8e6;border-bottom:1px solid #f0e2b8;color:#6a5411;padding:9px 20px;font-size:.9rem;text-align:center}
.site-footer{margin-top:64px;background:var(--surface-2);border-top:1px solid var(--line);padding:28px 0;font-size:.92rem;color:var(--muted)}
.site-footer nav{display:flex;gap:8px 18px;flex-wrap:wrap;margin:.5em 0}
.site-footer a{min-height:40px;display:inline-flex;align-items:center}
.publisher{font-weight:700;color:var(--texto);margin:.2em 0}
.link-btn{background:none;border:0;color:var(--acento);text-decoration:underline;cursor:pointer;font:inherit;padding:8px 0;min-height:40px}

main{padding-top:18px;padding-bottom:10px}
section{margin:2.2em 0}
.section-sub{color:var(--muted);margin:.1em 0 .8em}
.breadcrumb{font-size:.88rem;color:var(--muted);margin:.6em 0}
.breadcrumb a{text-decoration:none}
.intro{font-size:1.1rem;color:#33423b;margin:.3em 0 .8em;max-width:var(--read)}
.reading{max-width:var(--read)}
.reading p{margin:.7em 0}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:7px;background:var(--primario);color:#fff;text-decoration:none;
  padding:11px 17px;border-radius:var(--radius-btn,10px);font-weight:650;min-height:44px;line-height:1.2;border:1px solid transparent}
.btn:hover{background:var(--acento)}
.btn-ghost{background:#fff;color:var(--primario);border-color:var(--line)}
.btn-ghost:hover{background:var(--surface-2);color:var(--primario)}

/* Hero */
.hero{margin:12px 0 8px;padding:34px 26px;border-radius:var(--radius-hero,22px);color:#fff;
  background:linear-gradient(135deg,var(--primario),color-mix(in srgb,var(--acento) 80%,#000 6%))}
.hero h1{color:#fff;margin:0 0 .25em}
.hero-sub{color:rgba(255,255,255,.92);font-size:1.08rem;margin:0 0 1.2em}
.hero-search{position:relative;max-width:520px;margin:0 auto 4px}
.hs-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.hero-search select{width:100%;appearance:none;font:inherit;padding:14px 16px 14px 42px;border-radius:12px;border:0;background:#fff;color:var(--texto);min-height:52px;box-shadow:var(--shadow)}
.stat-cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 0;padding:0}
.stat-cards li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:14px 12px;text-align:center}
.stat-cards b{display:block;font-size:1.7rem;line-height:1.1}
.stat-cards span{font-size:.85rem;opacity:.9}

/* Rejilla de tarjetas (ciudades/estados) */
.card-grid{list-style:none;padding:0;margin:1em 0;display:grid;gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card-grid.compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.card-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius-card,12px);padding:13px 15px;text-decoration:none;color:var(--texto);
  min-height:52px;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.card-grid a:hover{border-color:var(--acento);transform:translateY(-1px)}
.cc-name{font-weight:650}
.cc-count{background:color-mix(in srgb,var(--primario) 12%,#fff);color:var(--primario);
  border-radius:999px;padding:3px 11px;font-size:.85rem;font-weight:700;flex:none}

/* Mapa tile */
.tilemap{display:grid;grid-template-columns:repeat(11,1fr);gap:6px;max-width:720px;margin:0 auto}
.tile{aspect-ratio:1;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-decoration:none;font-size:.72rem;line-height:1;border:1px solid var(--line);color:#44524b;background:#eef2f0}
a.tile:hover{outline:2px solid var(--primario);outline-offset:1px}
.tile .t-ab{font-weight:800}
.tile .t-n{font-size:.62rem;opacity:.8;margin-top:2px}
.tile.l0{color:#9aa8a1;background:#eef2f0}
.tile.l1{background:color-mix(in srgb,var(--primario) 14%,#fff);color:var(--primario)}
.tile.l2{background:color-mix(in srgb,var(--primario) 30%,#fff);color:#0f3f28}
.tile.l3{background:color-mix(in srgb,var(--primario) 48%,#fff);color:#fff}
.tile.l4{background:color-mix(in srgb,var(--primario) 68%,#fff);color:#fff}
.tile.l5{background:var(--primario);color:#fff}

/* Lista mejor valoradas */
.rated-list{list-style:none;padding:0;margin:1em 0;display:grid;gap:8px}
.rated-list a{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);
  border-radius:12px;padding:12px 15px;text-decoration:none;color:var(--texto);box-shadow:var(--shadow)}
.rated-list a:hover{border-color:var(--acento)}
.rl-name{font-weight:650}
.rl-loc{color:var(--muted);font-size:.9rem;margin-right:auto}
.rating{display:inline-flex;align-items:center;gap:4px;color:#b8860b;font-weight:700;white-space:nowrap}
.rating .ic{fill:#f3b32b}
.rating .reviews{color:var(--muted);font-weight:500;font-size:.88rem}

/* Tarjetas de entidad */
.entity-list{list-style:none;padding:0;margin:1em 0;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,14px);padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.ec-head{display:flex;justify-content:space-between;align-items:start;gap:10px}
.ec-name{margin:0;font-size:1.1rem}
.ec-row{display:flex;gap:8px;align-items:flex-start;color:#3b4842;margin:.5em 0 0}
.ec-row .ic{color:var(--muted);margin-top:3px}
.ec-hours{display:flex;gap:8px;align-items:flex-start;margin:.6em 0 0;color:#3b4842}
.ec-hours .ic{color:var(--muted);margin-top:3px}
.ec-hours table{border-collapse:collapse;font-size:.9rem;width:100%;max-width:260px}
.ec-hours th{text-align:left;font-weight:600;color:var(--muted);padding:1px 10px 1px 0;width:3em}
.ec-hours td{padding:1px 0}
.ec-hours tr.today{color:var(--primario);font-weight:700}
.ec-contact{display:flex;flex-wrap:wrap;gap:8px 16px;margin:.7em 0 0}
.ec-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:600;font-size:.95rem}
.ec-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.ec-actions .btn{padding:9px 14px;font-size:.95rem}

/* Mapa de ciudad (Leaflet, lazy) */
.map-city{margin:1.6em 0}
#parkmap{height:420px;width:100%;border:1px solid var(--line);border-radius:var(--radius,14px);
  box-shadow:var(--shadow);background:var(--surface-2);z-index:0}
#parkmap .pm-rating{color:#b8860b;font-weight:700}
.leaflet-popup-content{font:inherit;margin:10px 12px}
@media (max-width:620px){#parkmap{height:320px}}

/* Ficha de parque */
.ficha-hero{margin:.2em 0 1.4em;padding-bottom:1.3em;border-bottom:1px solid var(--line)}
.ficha-hero h1{margin:.1em 0 .2em}
.ficha-sub{color:var(--muted);font-size:1.05rem;margin:0;display:flex;flex-wrap:wrap;gap:.45em;align-items:center}
.ficha-sub .muted{font-weight:400}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:1em 0 0;padding:0}
.chip{display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--primario) 10%,#fff);
  color:var(--primario);border:1px solid color-mix(in srgb,var(--primario) 22%,#fff);
  border-radius:999px;padding:6px 13px;font-size:.9rem;font-weight:600}
.chip .ic{width:.95em;height:.95em}
.chips-sm{margin:.7em 0 0}
.chips-sm .chip{font-size:.8rem;padding:4px 10px}

/* Tira de estadisticas (estado / ciudad) */
.stat-strip{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:1.1em 0 .4em;padding:0}
.stat-strip li{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;
  padding:9px 16px;max-width:260px}
.stat-strip b{display:block;font-size:1.3rem;line-height:1.15;color:var(--primario)}
.stat-strip span{font-size:.82rem;color:var(--muted);display:block;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}

/* Top-Rated en tarjetas con ranking (preview) */
.rank-cards{list-style:none;padding:0;margin:1em 0;display:grid;gap:8px}
.rank-cards a{display:flex;align-items:center;gap:12px;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;padding:12px 15px;text-decoration:none;
  color:var(--texto);box-shadow:var(--shadow)}
.rank-cards a:hover{border-color:var(--acento)}
.rank-no{flex:0 0 auto;width:30px;height:30px;border-radius:50%;font-weight:800;font-size:.95rem;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--primario) 12%,#fff);color:var(--primario)}
.rank-cards li:nth-child(1) .rank-no{background:#f6e27a;color:#6b5600}
.rank-cards li:nth-child(2) .rank-no{background:#e3e6ea;color:#4a4f57}
.rank-cards li:nth-child(3) .rank-no{background:#f0cba0;color:#7a4a1e}
.rank-body{margin-right:auto;display:flex;flex-direction:column;min-width:0}
.rank-name{font-weight:650}
.rank-loc{color:var(--muted);font-size:.9rem}

/* Resumen agregado de amenidades (preview, ciudad con fichas) */
.amen-grid{list-style:none;padding:0;margin:.6em 0 0;display:flex;flex-wrap:wrap;gap:10px}
.amen-grid li{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:9px 15px}
.amen-grid b{color:var(--primario);font-size:1.1rem;margin-right:3px}
.region-h{font-size:1.02rem;margin:1.3em 0 .5em;color:var(--muted);font-weight:700;
  text-transform:uppercase;letter-spacing:.04em}
.region-h a{color:inherit;text-decoration:none}
.region-h a:hover{color:var(--acento)}
.more-link{margin:1em 0 0}

/* Guías */
.guide-body{max-width:var(--read)}
.guide-body p{margin:.7em 0}
.guide-date{color:var(--muted);font-size:.9rem;margin:.2em 0 1em}
.guide-list{list-style:none;padding:0;margin:1em 0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.guide-list a{display:block;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius,14px);padding:15px 18px;text-decoration:none;color:var(--texto);
  box-shadow:var(--shadow)}
.guide-list a:hover{border-color:var(--acento)}
.gl-title{display:block;font-weight:700;font-size:1.05rem;margin-bottom:.25em}
.gl-desc{display:block;color:var(--muted);font-size:.92rem;line-height:1.45}

.ficha-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:38px;align-items:start}
.ficha-main{min-width:0}
.ficha-main>section{margin:1.9em 0}
.ficha-main>section:first-child{margin-top:0}
.ficha-desc{max-width:none}
.ficha-desc p{margin:0;font-size:1.07rem;color:#33423b}

.ficha-aside{position:sticky;top:76px}
.qf-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,14px);
  box-shadow:var(--shadow);padding:18px}
.qf-title{font-size:1.05rem;margin:0 0 .7em}
.btn-block{display:flex;width:100%;justify-content:center;margin-bottom:8px}
.qf{margin:1em 0 0;display:grid;gap:.85em}
.qf>div{display:grid;gap:3px}
.qf dt{display:flex;align-items:center;gap:5px;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted);font-weight:700}
.qf dt .ic{color:var(--muted);width:.95em;height:.95em}
.qf dd{margin:0;color:var(--texto);line-height:1.45}
.qf-verified{display:flex;flex-wrap:wrap;align-items:center;gap:.4em;color:var(--muted);
  font-size:.85rem;border-top:1px solid var(--line);margin:1em 0 0;padding-top:.9em}
.qf-verified .ic{color:var(--primario)}

.rules-list{margin:.5em 0 0;padding-left:1.2em}
.rules-list li{margin:.35em 0}

/* Perfil de Google (enriquecimiento gratuito) */
.small{font-size:.82rem}
.badge-verified{display:inline-flex;align-items:center;gap:.4em;margin:.8em 0 0;
  font-size:.82rem;font-weight:600;color:var(--primario)}
.badge-verified .ic{width:1em;height:1em}
.services{margin:1.6em 0 0}
.services .muted{margin:.6em 0 0}
.rating-breakdown{margin:1.6em 0 0}
.rbars{list-style:none;margin:.6em 0 0;padding:0;display:grid;gap:6px;max-width:360px}
.rbars li{display:grid;grid-template-columns:2.6em 1fr 2.4em;align-items:center;gap:8px}
.rb-star{display:inline-flex;align-items:center;gap:2px;font-size:.82rem;color:var(--muted);font-weight:700}
.rb-star .ic{width:.85em;height:.85em;color:#f5a623}
.rb-track{height:8px;background:var(--surface-2);border-radius:5px;overflow:hidden}
.rb-fill{display:block;height:100%;background:var(--primario);border-radius:5px}
.rb-n{font-size:.8rem;color:var(--muted);text-align:right}

.nearby-list{list-style:none;padding:0;margin:.6em 0 0;display:grid;gap:8px}
.nearby-list a{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 15px;
  text-decoration:none;color:var(--texto);box-shadow:var(--shadow)}
.nearby-list a:hover{border-color:var(--acento)}
.nb-name{font-weight:650}
.nb-meta{color:var(--muted);font-size:.9rem;display:inline-flex;align-items:center;gap:.4em}
.back-link{margin-top:1.4em}

@media (max-width:860px){
  .ficha-layout{grid-template-columns:1fr;gap:0}
  .ficha-aside{position:static;order:-1;margin:0 0 1.6em}
}

/* Desbordamiento (ciudades sin página) — compacto y multicolumna */
.overflow{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px 22px;margin-top:.6em}
.of-city{margin:.1em 0 .45em;font-size:1rem;padding-bottom:5px;border-bottom:2px solid var(--line)}
.mini-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.emini{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 13px;display:flex;flex-direction:column;gap:3px}
.em-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.em-name{font-weight:600;font-size:.96rem}
.em-addr{display:flex;gap:5px;color:var(--muted);font-size:.84rem}
.em-addr .ic{margin-top:2px;flex:none;width:.95em;height:.95em}
.em-dir{display:inline-flex;align-items:center;gap:5px;color:var(--acento);font-weight:600;font-size:.88rem;text-decoration:none;margin-top:2px;min-height:34px}

/* FAQ acordeón */
.faq{max-width:var(--read)}
.faq-list{display:grid;gap:10px}
.faq-item{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-mark{width:12px;height:12px;flex:none;position:relative}
.faq-mark::before,.faq-mark::after{content:"";position:absolute;background:var(--primario);border-radius:2px;transition:transform .2s}
.faq-mark::before{top:5px;left:0;width:12px;height:2px}
.faq-mark::after{top:0;left:5px;width:2px;height:12px}
.faq-item[open] .faq-mark::after{transform:scaleY(0)}
.faq-a{padding:0 18px 16px;color:#36443d}

/* Chips / vecinos */
.chip-row{list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:.6em 0}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 15px;border-radius:999px;background:var(--surface-2);
  border:1px solid var(--line);text-decoration:none;color:var(--texto);font-weight:600;font-size:.93rem}
.chip:hover{border-color:var(--acento);color:var(--acento)}
.of-city{margin:1.1em 0 .4em;padding-bottom:4px;border-bottom:1px solid var(--line)}

/* Verify CTA */
.verify-cta{display:flex;gap:16px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:22px 24px}
.verify-cta>.ic{width:34px;height:34px;color:var(--primario);flex:none}
.verify-cta h2{margin:.1em 0 .3em}
.verify-cta p{margin:0 0 .8em;max-width:60ch;color:#3b4842}

/* Prosa de páginas fijas */
.prose{max-width:var(--read)}
.prose p{margin:.7em 0}
.contact-form{display:grid;gap:12px;max-width:480px;margin:1em 0}
.contact-form label{display:grid;gap:6px;font-weight:600}
.contact-form input,.contact-form textarea{font:inherit;padding:11px;border:1px solid #c4ccc8;border-radius:10px}
.contact-form button{justify-self:start;background:var(--primario);color:#fff;border:0;padding:12px 22px;border-radius:10px;font:inherit;min-height:44px;cursor:pointer}

/* Anuncios: altura reservada (sin CLS) */
.ad-unit{margin:26px 0;text-align:center;overflow:hidden}

@media (max-width:620px){
  body{font-size:16px}
  .hero{padding:26px 18px;border-radius:var(--radius-hero,18px)}
  .stat-cards b{font-size:1.4rem}
  .entity-list{grid-template-columns:1fr}
  .tilemap{gap:4px}
  .tile{font-size:.64rem;border-radius:7px}
}

/* ============================================================
   CAPA DE REDISENO (2026-11). Overrides al final: respeta el
   sistema de variables/temas; solo eleva el tratamiento visual.
   ============================================================ */
:root{
  --muted:#6c6a7d; --line:#ebe9f2; --surface-2:#f6f5fb;
  --ink:var(--c-texto,#191626);
  --tint:color-mix(in srgb,var(--primario) 7%,#fff);
  --tint-2:color-mix(in srgb,var(--primario) 13%,#fff);
  --ring:color-mix(in srgb,var(--primario) 24%,#fff);
  --shadow:0 1px 2px rgba(20,16,40,.04),0 12px 32px -14px rgba(20,16,40,.16);
  --read:64rem;
}
body{color:var(--ink);line-height:1.65}

/* Escala tipografica mas firme y con mas contraste de peso */
h1{font-size:clamp(2rem,5.2vw,3rem);font-weight:800;letter-spacing:-.028em;line-height:1.07}
h2{font-size:clamp(1.42rem,3vw,1.95rem);font-weight:760;letter-spacing:-.02em;line-height:1.14;margin:1.9em 0 .55em}
h3{font-size:1.16rem;font-weight:700;letter-spacing:-.012em}
.intro{font-size:1.17rem;color:var(--muted);max-width:60ch}

/* Hero: fondo con mas profundidad (radial + linear) y buscador mayor */
.hero{padding:46px 32px;border-radius:26px;
  background:
    radial-gradient(130% 130% at 100% 0%,color-mix(in srgb,var(--acento) 60%,transparent),transparent 58%),
    linear-gradient(152deg,var(--primario),color-mix(in srgb,var(--primario) 58%,#000 12%))}
.hero h1{font-size:clamp(2.1rem,5.6vw,3.15rem);letter-spacing:-.03em}
.hero-sub{font-size:1.15rem;max-width:56ch;margin-inline:auto}
.hero-search{max-width:560px}
.hero-search select{min-height:58px;border-radius:14px;font-size:1.02rem;
  box-shadow:0 14px 34px -12px rgba(0,0,0,.4)}
.stat-cards{gap:14px;margin-top:26px}
.stat-cards li{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.28);border-radius:16px;padding:16px 12px}
.stat-cards b{font-size:2rem;font-weight:800;letter-spacing:-.02em}
.stat-cards span{opacity:.93;font-weight:500}

/* Botones con mas cuerpo y micro-respuesta al uso */
.btn{border-radius:12px;font-weight:700;box-shadow:0 1px 2px rgba(20,16,40,.07);transition:transform .14s,background .14s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* Tarjetas: profundidad y realce coherente al hover */
.card-grid a,.rated-list a,.rank-cards a,.nearby-list a,.guide-list a{
  border-radius:14px;transition:border-color .15s,box-shadow .15s,transform .15s}
.card-grid a:hover,.rated-list a:hover,.rank-cards a:hover,.nearby-list a:hover,.guide-list a:hover{
  border-color:var(--ring);box-shadow:var(--shadow);transform:translateY(-2px)}
.cc-count{background:var(--tint);border:1px solid var(--ring)}

/* Rating: estrella dorada como elemento recurrente */
.rating{color:#8a6300;font-weight:750}
.rating .ic{fill:#f5a623}

/* Ficha hero: panel suave con acento superior; rating prominente */
.ficha-hero{background:linear-gradient(180deg,var(--tint),transparent 70%);
  border:1px solid var(--line);border-top:3px solid var(--primario);
  border-radius:16px;padding:24px 26px 20px;margin:0 0 1.7em}
.ficha-hero h1{font-size:clamp(1.85rem,4.6vw,2.6rem);margin:.05em 0 .25em}
.ficha-sub{font-size:1.06rem;gap:.5em}

/* Chips limpios sobre fondo claro */
.chip{background:#fff;border:1px solid var(--ring);border-radius:10px;font-weight:600}
.chip:hover{border-color:var(--primario)}
.badge-verified{background:var(--tint);border:1px solid var(--ring);border-radius:999px;padding:5px 12px}

/* Rating breakdown: barras mas legibles */
.rbars{max-width:420px;gap:9px}
.rbars li{grid-template-columns:3em 1fr 2.6em}
.rb-track{height:10px;border-radius:6px;background:var(--surface-2)}
.rb-fill{background:linear-gradient(90deg,var(--primario),var(--acento))}

/* Etiquetas de region: sin all-caps (tell generico) */
.region-h{text-transform:none;letter-spacing:0;font-size:.98rem;color:var(--primario);
  font-weight:800;border-bottom:1px solid var(--line);padding-bottom:.35em;margin-bottom:.6em}

/* Caja 'How we verify' mas integrada */
.verify-cta{background:var(--tint);border:1px solid var(--ring);border-radius:20px}

/* Tira de stats (estado/ciudad): acento en la cifra */
.stat-strip b{color:var(--primario);font-weight:800}
