/* =====================================================================
   Calima 360 · Diseño V2 (Versión 1 del portal)
   Capa visual sobre styles.css. Sustituye a theme-v1/motion-v1/ambient-v1.
   2 familias (Outfit + DM Sans, alojadas en local) · paleta de lago, atardecer,
   bosque y oro precolombino · iconos SVG · fotos locales con ilustración de respaldo.
   ===================================================================== */
@font-face{font-family:'Outfit';src:url(../fonts/outfit-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url(../fonts/dm-sans-latin-wght-normal.woff2) format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}

:root{
  --font-display:'Outfit',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-body:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ink:#10292a;--ink-2:#2f4a47;--muted:#566a66;
  --cream:#fbf7ef;--sand:#f3ecdf;--paper:#ffffff;--line:#e7e0d2;
  --forest:#0d3b3a;--forest-2:#145c58;--forest-3:#0a2b2b;--lime:#d4f07a;--lime-2:#bfe35a;
  --lake:#1f6f9a;--lake-2:#2b8bb8;--lake-deep:#0f3f5c;--sky:#cfeaf3;
  --sunset:#ef8a5b;--coral:#d65f3e;--rose:#c4607a;--gold:#c98a2b;--gold-2:#f2c46b;--earth:#7a4a1c;
  --radius:20px;--radius-sm:12px;
  --shadow-1:0 1px 2px rgba(16,41,42,.06),0 6px 18px rgba(16,41,42,.07);
  --shadow-2:0 2px 6px rgba(16,41,42,.08),0 18px 44px rgba(16,41,42,.14);
  --tone:var(--lake);--tone-soft:#e3f1f8;--tone-ink:#0f3f5c;
}
.tone-agua{--tone:#1f6f9a;--tone-soft:#e2f0f7;--tone-ink:#0f3f5c}
.tone-viento{--tone:#13808a;--tone-soft:#dff3f2;--tone-ink:#0b4d53}
.tone-bosque{--tone:#2f7d5b;--tone-soft:#e3f1e8;--tone-ink:#1b4a37}
.tone-atardecer{--tone:#cf5f30;--tone-soft:#fcebe0;--tone-ink:#7a3418}
.tone-sabores,.tone-coral{--tone:#c34f33;--tone-soft:#fbe6df;--tone-ink:#74291a}
.tone-noche{--tone:#454aa0;--tone-soft:#e9eaf8;--tone-ink:#26296a}
.tone-oro{--tone:#9a6212;--tone-soft:#f8eedb;--tone-ink:#5a3a0d}
.tone-pizarra{--tone:#3e5a6b;--tone-soft:#e6edf1;--tone-ink:#24394a}

/* ---------- Base ---------- */
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body)!important;background:var(--cream);color:var(--ink);font-size:16px;line-height:1.55;overflow-x:clip}
h1,h2,h3,h4,.brand{font-family:var(--font-display)}
h1,h2,h3{letter-spacing:-.015em;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit}
:focus-visible{outline:3px solid var(--sunset)!important;outline-offset:3px;border-radius:6px}
.ic{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:3000;background:var(--forest);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;transition:top .2s}
.skip-link:focus{top:12px}
main:focus{outline:none}
.container{max-width:1240px;padding:0 28px}
.eyebrow{font:700 12.5px/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tone,var(--forest-2));display:flex;align-items:center;gap:10px}
.eyebrow::before{width:22px;height:2px;border-radius:2px}
.section{padding:88px 0}
.v2-head{display:flex;justify-content:space-between;align-items:end;gap:28px 48px;margin-bottom:34px;flex-wrap:wrap}
.v2-head h2{font:800 clamp(30px,3.6vw,48px)/1.06 var(--font-display);margin:10px 0 0;color:var(--ink);max-width:16ch}
.v2-head p{max-width:480px;margin:0;color:var(--muted);font-size:16.5px}
.v2-head--sub{margin-top:64px}
.v2-head--sub h2{font-size:clamp(26px,2.8vw,36px);max-width:22ch}
.v2-center{display:flex;justify-content:center;margin-top:36px}
.v2-footnote{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px;margin-top:26px}
.v2-meta{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:14px;font-weight:600}

/* Botones */
.btn{border-radius:999px;padding:13px 22px;font:700 15px/1.1 var(--font-body);gap:9px;min-height:46px}
.btn-small{padding:10px 16px;font-size:14px;min-height:40px}
.btn-lime{background:var(--lime);color:var(--forest-3);border-color:var(--lime)}
.btn-dark{background:var(--forest);color:#fff}
.btn-outline{background:transparent;border:1.5px solid currentColor;color:var(--forest)}
.btn[disabled],.btn:disabled{opacity:.45;cursor:not-allowed}
.soft-button{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--tone,var(--forest-2));color:var(--tone-ink,var(--forest));background:var(--tone-soft,#eef5e9);border-radius:999px;padding:9px 14px;font:700 14px/1 var(--font-body);cursor:pointer;min-height:40px}
.soft-button.added{background:var(--tone,var(--forest));color:#fff}
.text-action{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--forest-2);font:700 14px var(--font-body);cursor:pointer;padding:8px 0}

/* ---------- Barra superior y cabecera ---------- */
.v2-topbar{background:var(--forest-3)!important;color:#d9e8df!important;font:500 13px/1.3 var(--font-body)!important;padding:8px 0!important;text-align:left!important}
.v2-topbar-inner{display:flex;justify-content:space-between;gap:16px;align-items:center}
.v2-topbar-inner>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.v2-topbar abbr{text-decoration:none}
.v2-topbar-links{display:flex;gap:18px;flex:none}
.v2-topbar-links a{display:inline-flex;gap:6px;align-items:center;color:#fff;font-weight:700}
.v2-topbar-links a:hover{color:var(--lime)}
.v2-header{position:sticky!important;top:0;z-index:900!important;background:rgba(251,247,239,.86)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.v2-header.is-scrolled{box-shadow:0 8px 30px rgba(16,41,42,.08);border-color:var(--line)}
.v2-header nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px}
.v2-header .logo{gap:12px}
.v2-header .logo-mark{width:44px;height:44px;border-radius:14px;background:var(--forest);color:var(--lime);display:grid;place-items:center}
.v2-header .brand{font:800 23px/1 var(--font-display)!important;color:var(--forest)}
.v2-header .brand span{color:var(--lake)}
.v2-header .brand-sub{font:600 12px/1.2 var(--font-body)!important;letter-spacing:.02em!important;color:var(--muted);text-transform:none;display:block;margin-top:4px}
body[data-page] .v2-nav{display:flex;gap:4px;align-items:center;font-size:15px}
.v2-nav>a{position:relative;padding:10px 12px;border-radius:999px;font-weight:600;color:var(--ink-2);white-space:nowrap;border:0!important}
.v2-nav>a::after{content:'';position:absolute;left:14px;right:14px;bottom:4px;height:2.5px;border-radius:2px;background:var(--sunset);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.v2-nav>a:hover{color:var(--forest)}
.v2-nav>a:hover::after,.v2-nav>a[aria-current]::after{transform:scaleX(1)}
body[data-page] .v2-nav>a[aria-current]{color:var(--forest)!important;font-weight:800;padding-bottom:10px;border:0!important}
.v2-nav-extra{display:none}
.nav-cta{display:flex;align-items:center;gap:10px}
.v2-icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--forest);border:1.5px solid var(--line);background:#fff}
.v2-icon-btn .ic{width:20px;height:20px}
.v2-route-btn{position:relative}
.v2-route-count{min-width:22px;height:22px;border-radius:99px;background:var(--lime);color:var(--forest-3);font-size:12.5px;display:inline-grid;place-items:center;padding:0 6px}
.v2-route-count[hidden]{display:none}
.hamburger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--forest);place-items:center;cursor:pointer;padding:0}
.hamburger .ic{width:22px;height:22px}
.hamburger .ic-close{display:none}
.hamburger[aria-expanded="true"] .ic-open{display:none}
.hamburger[aria-expanded="true"] .ic-close{display:inline-block}
@media (max-width:1180px){body[data-page] .v2-nav{font-size:14px}.v2-nav>a{padding:10px 8px}.v2-header .brand-sub{display:none}}
@media (max-width:1040px){
  body[data-page] nav .hamburger{display:grid!important}
  body[data-page] nav .v2-nav{display:none!important}
  body[data-page] nav .v2-nav.open{display:flex!important;position:fixed;top:var(--hdr,74px);left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:2px;padding:18px 20px 40px;background:var(--cream);overflow:auto;z-index:950;box-shadow:none;border-top:1px solid var(--line)}
  .v2-nav.open>a{font:700 22px/1.2 var(--font-display);padding:14px 10px;border-radius:14px;border-bottom:1px solid var(--line)!important}
  .v2-nav.open>a::after{display:none}
  .v2-nav.open .v2-nav-extra{display:grid;gap:8px;margin-top:18px}
  .v2-nav-extra a{display:flex;gap:10px;align-items:center;padding:13px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--ink-2)}
  body.v2-menu-open{overflow:hidden}
  /* backdrop-filter convierte la cabecera en contenedor de los position:fixed: el menú quedaba de 59px y cortado */
  body.v2-menu-open .route-trigger{visibility:hidden}
  body.v2-menu-open .v2-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--cream)!important}
  body[data-page] header .logo>span:last-child{min-width:0!important}
}
@media (max-width:700px){
  .container{padding:0 16px}
  .v2-topbar-inner>span:first-child{font-size:12.5px}
  .v2-topbar-links a:not([href^="tel"]){display:none}
  .v2-header nav{min-height:64px}
  .v2-header .logo-mark{width:40px;height:40px}
  .v2-header .brand{font-size:21px!important}
  .v2-route-btn span{display:none}
  .v2-route-btn{padding:10px 13px!important}
  .v2-icon-btn{display:none}
  .section{padding:60px 0}
}

/* ---------- Bloque de foto + ilustración ---------- */
.ph{position:relative;overflow:hidden;background:linear-gradient(160deg,#cfe7ef,#f3d3b5);isolation:isolate}
.ph>.scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.ph>.ph-img,.ph>.ph-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--ph-pos,50% 50%);opacity:0;transition:opacity .7s ease}
.ph>.ph-img.is-loaded,.ph.has-video>.ph-video{opacity:1}

/* ---------- Héroes ---------- */
.v2-hero{position:relative;overflow:hidden;color:#fff;background:var(--forest-3);display:flex;align-items:flex-end;isolation:isolate}
.v2-hero-media{position:absolute;inset:-10% 0 -10% 0;z-index:-2;will-change:transform}
.v2-hero-media>.ph{position:absolute;inset:0}
.v2-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,26,30,.18) 0%,rgba(8,26,30,0) 35%,rgba(8,26,30,.55) 72%,rgba(8,26,30,.82) 100%),linear-gradient(90deg,rgba(8,26,30,.55),rgba(8,26,30,0) 65%)}
.v2-hero-inner{position:relative;width:100%;padding-top:110px;padding-bottom:56px}
.v2-hero .eyebrow{color:var(--lime);text-shadow:0 1px 10px rgba(8,26,30,.6),0 0 2px rgba(8,26,30,.35)}
.v2-hero h1{font:800 clamp(34px,4.6vw,60px)/1.04 var(--font-display);margin:14px 0 14px;max-width:20ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.v2-hero h1 em{font-style:normal;color:var(--gold-2)}
.v2-lead{font-size:clamp(16px,1.35vw,19px);line-height:1.6;max-width:640px;color:#eef5f0;margin:0}
.v2-hero--inner{min-height:clamp(320px,44vh,440px)}
.v2-hero--compact{min-height:clamp(260px,34vh,340px)}
.v2-hero--compact .v2-hero-inner{padding-top:80px;padding-bottom:40px}
.v2-hero--home{min-height:clamp(600px,90vh,860px)}
.v2-hero--home .v2-hero-inner{padding-bottom:80px}
.v2-hero--home h1{font-size:clamp(40px,6.4vw,88px);max-width:15ch;letter-spacing:-.025em}
.v2-hero--home::after{background:linear-gradient(180deg,rgba(8,26,30,.35) 0%,rgba(8,26,30,0) 30%,rgba(8,26,30,.35) 60%,rgba(8,26,30,.85) 100%),linear-gradient(90deg,rgba(8,26,30,.6),rgba(8,26,30,0) 70%)}
.v2-crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:#dbe9e1;margin-bottom:6px;flex-wrap:wrap}
.v2-crumbs a{color:#fff;font-weight:700;display:inline-flex;gap:6px;align-items:center}
.v2-crumbs a:hover{color:var(--lime)}
.v2-hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.v2-chip{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:14.5px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .25s,transform .25s}
.v2-chip:hover{background:rgba(255,255,255,.26)}
.v2-chip--alert{background:var(--coral);border-color:var(--coral)}
.v2-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:7px 7px 7px 20px;max-width:620px;margin-top:28px;box-shadow:0 20px 50px rgba(0,0,0,.25);color:var(--muted)}
.v2-search .ic{width:22px;height:22px}
.v2-search input{flex:1;border:0;outline:0;font:500 16.5px var(--font-body);color:var(--ink);background:transparent;min-width:0;padding:10px 0}
.v2-search .btn{flex:none}
.v2-scroll-hint{position:absolute;left:50%;bottom:20px;translate:-50% 0;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;border:1.5px solid rgba(255,255,255,.5);z-index:2}
.v2-hero--dark::after{background:linear-gradient(180deg,rgba(6,22,23,.35),rgba(6,22,23,.85))}
.v2-hero--place{min-height:clamp(380px,52vh,520px)}
.v2-hero--place .c4-chip{background:rgba(255,255,255,.16)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;backdrop-filter:blur(8px)}
.v2-hero--place .c4-chip.dim{background:rgba(0,0,0,.25)!important}
.v2-hero--place h1,.v2-hero--place h2{font:800 clamp(32px,4.4vw,58px)/1.04 var(--font-display);margin:16px 0 10px;color:#fff}
.v2-hero--place .c4-lead{color:#eef5f0;font-size:17.5px;max-width:680px}
.c4-place-hero.v2-hero{padding:0!important;background:var(--forest-3)!important}
.c4-account-hero.v2-hero{padding:0!important}
.c4-account-hero.v2-hero h1,.c4-account-hero.v2-hero h2{font:800 clamp(32px,4.4vw,56px)/1.05 var(--font-display);letter-spacing:-.02em;color:#fff;margin:12px 0}
.c4-account-hero p{color:#eef5f0;max-width:640px;font-size:17px}
@media (max-width:700px){
  .v2-hero--home{min-height:640px}
  .v2-hero--home .v2-hero-inner{padding-top:90px;padding-bottom:70px}
  .v2-hero--inner{min-height:250px}
  .v2-hero--compact{min-height:220px}
  .v2-hero-inner{padding-top:64px;padding-bottom:30px}
  .v2-hero--compact .v2-hero-inner{padding-top:52px;padding-bottom:26px}
  .v2-hero h1{font-size:clamp(30px,8.4vw,38px);margin:10px 0}
  .v2-hero--home h1{font-size:clamp(38px,11vw,48px)}
  .v2-lead{font-size:16px}
  .v2-hero--compact .v2-lead{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .v2-search{padding-left:14px}
  .v2-search .btn{padding:12px 16px}
  .v2-hero-chips{gap:8px}
  .v2-chip{font-size:14px;padding:9px 13px}
  .v2-scroll-hint{display:none}
}

/* ---------- Cifras y marquesina ---------- */
.v2-stats{background:var(--paper);border-bottom:1px solid var(--line)}
.v2-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.v2-stats-grid>div{padding:30px 22px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.v2-stats-grid>div:first-child{border-left:0}
.v2-stats b{font:800 clamp(34px,3.6vw,50px)/1 var(--font-display);color:var(--lake)}
.v2-stats-grid>div:nth-child(2) b{color:var(--coral)}
.v2-stats-grid>div:nth-child(3) b{color:var(--forest-2)}
.v2-stats-grid>div:nth-child(4) b{color:var(--gold)}
.v2-stats span{color:var(--muted);font-size:15px}
.v2-marquee{background:var(--lime);color:var(--forest-3);overflow:hidden;padding:14px 0;border-block:1px solid #bcd76a}
.v2-marquee-track{display:flex;width:max-content;gap:28px;align-items:center;font:800 19px/1 var(--font-display);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.v2-marquee-track i{display:inline-flex;color:var(--coral)}
@media (max-width:700px){.v2-stats-grid{grid-template-columns:1fr 1fr}.v2-stats-grid>div{padding:20px 14px}.v2-stats-grid>div:nth-child(3){border-left:0}.v2-stats-grid>div:nth-child(n+3){border-top:1px solid var(--line)}.v2-marquee-track{font-size:16px}}

/* ---------- Tarjetas de lugares (portada) ---------- */
.v2-place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.v2-place{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);display:flex;flex-direction:column;position:relative}
.v2-place-media{display:block;position:relative;aspect-ratio:16/11}
.v2-place-media .ph{position:absolute;inset:0}
.v2-badge{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--tone-ink,var(--forest));font:700 13px/1 var(--font-body);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.v2-badge .ic{color:var(--tone)}
.v2-place-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.v2-place-body h3{font:800 22px/1.15 var(--font-display);margin:0}
.v2-place-body p{margin:0;color:var(--muted);font-size:15.5px}
.v2-place-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:6px}
@media (max-width:980px){.v2-place-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.v2-place-grid{grid-template-columns:1fr;gap:18px}}

/* ---------- Historia horizontal ---------- */
.v2-story{background:var(--forest-3);color:#fff;position:relative;overflow-x:clip}
.v2-story-sticky{padding:88px 0 70px}
.v2-story-intro h2{font:800 clamp(28px,3.4vw,46px)/1.08 var(--font-display);margin:12px 0 30px;max-width:22ch}
.v2-story .eyebrow{color:var(--lime)}
.v2-story-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 max(16px,calc((100vw - 1240px)/2 + 28px))}
.v2-story-viewport::-webkit-scrollbar{display:none}
.v2-story-track{display:flex;gap:24px;list-style:none;margin:0;padding:0 0 10px;width:max-content}
.v2-story-panel{position:relative;width:min(78vw,520px);aspect-ratio:4/5;max-height:72vh;border-radius:26px;overflow:hidden;scroll-snap-align:start;flex:none;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.v2-story-panel>.ph{position:absolute;inset:0}
.v2-story-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(5,20,22,.88));pointer-events:none}
.v2-story-copy{position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:2}
.v2-story-time{display:inline-flex;gap:8px;align-items:center;background:var(--lime);color:var(--forest-3);padding:7px 12px;border-radius:999px;font:800 14px/1 var(--font-display)}
.v2-story-copy h3{font:800 clamp(24px,2.4vw,32px)/1.1 var(--font-display);margin:14px 0 8px}
.v2-story-copy p{margin:0 0 14px;color:#e6efe9;font-size:16px}
.v2-story-bar{height:3px;background:rgba(255,255,255,.15);max-width:1184px;margin:26px auto 0;border-radius:3px;overflow:hidden;display:none}
.v2-story-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--lime),var(--gold-2),var(--sunset));transform-origin:left;transform:scaleX(var(--story-p,0))}
.v2-story.is-pinned .v2-story-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:70px 0 40px;overflow:hidden}
.v2-story.is-pinned .v2-story-viewport{overflow:visible;scroll-snap-type:none}
.v2-story.is-pinned .v2-story-track{will-change:transform}
.v2-story.is-pinned .v2-story-panel{height:min(62vh,560px);aspect-ratio:auto;width:min(40vw,500px)}
.v2-story.is-pinned .v2-story-bar{display:block}

/* ---------- Planifica / viajeros / rutas / categorías ---------- */
.v2-plan-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px}
.v2-plan-card{background:var(--paper);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.v2-plan-card h3{font:800 22px/1.15 var(--font-display);margin:4px 0 0}
.v2-plan-card p{margin:0;color:var(--muted);font-size:15.5px}
.v2-plan-card a{color:var(--tone-ink,var(--forest));font-weight:700;display:inline-flex;gap:6px;align-items:center;margin-top:auto}
.v2-plan-card--wide{grid-row:span 2;padding:0}
.v2-plan-card--wide>.ph{aspect-ratio:16/10;flex:none}
.v2-plan-card--wide>div{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px}
.v2-plan-card:last-child{grid-column:span 2}
.v2-plan-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--tone-soft);color:var(--tone);flex:none}
.v2-plan-icon .ic{width:24px;height:24px}
.v2-traveler-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.v2-traveler{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow-1)}
.v2-traveler>.ph{position:absolute;inset:0}
.v2-traveler::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(6,20,22,.82));pointer-events:none}
.v2-traveler-body{position:relative;z-index:2;padding:20px;display:flex;flex-direction:column;gap:6px}
.v2-traveler-body .v2-plan-icon{background:rgba(255,255,255,.92);margin-bottom:6px}
.v2-traveler strong{font:800 26px/1 var(--font-display)}
.v2-traveler small{font-size:15px;color:#eef3ef}
.v2-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:1}
.v2-route{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);display:flex;flex-direction:column}
.v2-route-media{position:relative;aspect-ratio:16/10}
.v2-route-media>.ph{position:absolute;inset:0}
.v2-route-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.v2-route-body h2,.v2-route-body h3{font:800 25px/1.1 var(--font-display);margin:0}
.v2-route-body p{margin:0;color:var(--muted);font-size:15.5px}
.v2-stops{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:s}
.v2-stops li{counter-increment:s;display:inline-flex;align-items:center;gap:6px;background:var(--tone-soft);color:var(--tone-ink);padding:6px 11px 6px 6px;border-radius:999px;font-size:13.5px;font-weight:700}
.v2-stops li::before{content:counter(s);width:20px;height:20px;border-radius:50%;background:var(--tone);color:#fff;display:grid;place-items:center;font-size:12px}
.v2-route-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px}
.v2-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v2-cat{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3.3;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow-1)}
.v2-cat>.ph{position:absolute;inset:0}
.v2-cat::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(6,20,22,.8));pointer-events:none}
.v2-cat-body{position:relative;z-index:2;padding:16px;display:flex;flex-direction:column;gap:4px}
.v2-cat-body .v2-plan-icon{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.92);margin-bottom:6px}
.v2-cat strong{font:800 19px/1.1 var(--font-display)}
.v2-cat small{font-size:14px;color:#eef3ef}
.v2-cat small b{color:var(--lime);font-size:15px}
.v2-podband{position:relative;overflow:hidden;color:#fff;background:var(--forest-3);isolation:isolate}
.v2-podband-media{position:absolute;inset:-12% 0 -12% 40%;z-index:-1;opacity:.95}
.v2-podband-media .ph{position:absolute;inset:0}
.v2-podband::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--forest-3) 38%,rgba(10,43,43,.2))}
.v2-podband-inner{padding:90px 28px}
.v2-podband h2{font:800 clamp(32px,4vw,54px)/1.05 var(--font-display);margin:12px 0}
.v2-podband p{max-width:480px;color:#dfece5;font-size:17px;margin:0 0 24px}
.v2-podband .eyebrow{color:var(--lime)}
@media (max-width:980px){.v2-plan-grid{grid-template-columns:1fr 1fr}.v2-plan-card--wide{grid-column:span 2;grid-row:auto}.v2-traveler-grid,.v2-cat-grid{grid-template-columns:1fr 1fr}.v2-route-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.v2-plan-grid{grid-template-columns:1fr}.v2-plan-card--wide,.v2-plan-card:last-child{grid-column:auto}.v2-route-grid{grid-template-columns:1fr}.v2-traveler{aspect-ratio:4/5}.v2-traveler strong{font-size:22px}.v2-cat strong{font-size:16px}.v2-podband-media{inset:0;opacity:.45}.v2-podband::after{background:linear-gradient(180deg,rgba(10,43,43,.6),var(--forest-3))}.v2-podband-inner{padding:64px 16px}}

/* Alianzas */
.ecosystem{background:transparent}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.partner{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;padding:26px!important;display:flex;flex-direction:column;gap:8px;color:var(--ink)!important;box-shadow:var(--shadow-1)}
.partner h3{font:800 21px/1.15 var(--font-display);margin:8px 0 0}
.partner small{font:700 12.5px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--lake)}
.partner p{color:var(--muted);font-size:15px;margin:4px 0 8px}
.partner .v2-plan-icon{--tone-soft:#eaf3d4;--tone:var(--forest-2)}
.partner-cta{display:inline-flex;gap:6px;align-items:center;margin-top:auto;font-weight:800;color:var(--forest-2);font-size:14px}
.v2-eco-compact{padding-top:70px}
@media (max-width:900px){.partner-grid{grid-template-columns:1fr}}

/* ---------- Catálogo de establecimientos ---------- */
.v2-catalog{background:transparent!important;color:var(--ink)!important;padding:40px 0 90px!important;overflow:visible!important}
.v2-catalog::before,.v2-catalog::after{display:none!important}
.v2-catalog-tools{display:flex;flex-direction:column;gap:14px;margin-top:-80px;position:relative;z-index:5}
/* Los chips suben sobre el héroe (margin-top negativo): el contenedor va por encima del divisor de agua (.ag-divider, z-index 2) para que no los corte */
section.v2-catalog>.container{position:relative;z-index:3}
.v2-groupchips{display:flex;gap:8px;flex-wrap:wrap}
.v2-gchip{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.92);color:var(--ink-2);font:700 14.5px/1 var(--font-body);cursor:pointer;box-shadow:var(--shadow-1);min-height:44px;transition:background .2s,color .2s,transform .2s}
.v2-gchip small{font-size:12.5px;color:var(--muted);font-weight:700}
.v2-gchip.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.v2-gchip.active small{color:var(--lime)}
.v2-catalog .c360-filterline{grid-template-columns:2fr 1fr 1fr 1fr;padding:10px;border-radius:22px;box-shadow:var(--shadow-2);gap:6px}
.v2-field{padding:6px 12px!important;border-radius:14px;color:var(--ink-2)!important}
.v2-field+.v2-field{border-left:1px solid var(--line)}
.v2-field small{font:700 12px/1.2 var(--font-body)!important;letter-spacing:.06em!important;text-transform:uppercase;color:var(--muted)}
.v2-catalog .c360-filterline input,.v2-catalog .c360-filterline select{font-size:16px!important;color:var(--ink)!important;padding:6px 0!important;background:transparent!important}
.v2-input-icon{display:flex;align-items:center;gap:8px;color:var(--muted)}
.v2-input-icon .ic{width:20px;height:20px}
.v2-catalog .c360-countline{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 0 18px;color:var(--ink-2);font-size:16px}
.v2-catalog .c360-countline b{font:800 22px var(--font-display);color:var(--forest)}
.v2-catalog .c360-countline small{color:var(--muted);font-size:14px}
.v2-catalog .c360-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.v2-catalog .c360-summary span{background:var(--paper)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;border-radius:999px;padding:7px 12px;font-size:13.5px;display:inline-flex;gap:6px;align-items:center}
.v2-catalog .c360-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.c360-card{position:relative;padding:0!important;overflow:hidden;border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:var(--shadow-1);min-height:0!important}
.c360-card-media{display:block;position:relative;aspect-ratio:16/9}
.c360-card-media .ph{position:absolute;inset:0}
.c360-card-cat{position:absolute;left:12px;bottom:12px;display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.95);color:var(--tone-ink);padding:7px 11px;border-radius:999px;font:700 13px/1 var(--font-body);z-index:2}
.c360-card-cat .ic{color:var(--tone)}
.c360-card-seal{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:6px;align-items:center;background:var(--lime);color:var(--forest-3);padding:7px 11px;border-radius:999px;font:800 12.5px/1 var(--font-body);z-index:2}
.c360-card-save{position:absolute;top:12px;right:12px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:var(--coral);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.15);transition:transform .2s}
.c360-card-save .ic{width:21px;height:21px}
.c360-card-save.added .ic,.mini-circle.saved .ic{fill:currentColor}
.c360-card-body{padding:18px 20px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.c360-card h3{font:800 20px/1.2 var(--font-display)!important;margin:0!important;color:var(--ink)!important}
.c360-card h3 a:hover{color:var(--tone)}
.c360-card-place{display:flex;gap:6px;align-items:center;margin:0;color:var(--tone-ink);font-weight:700;font-size:14.5px}
.c360-card-addr{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.c360-chips{display:flex;flex-wrap:wrap;gap:6px}
.c360-chip{background:var(--tone-soft);color:var(--tone-ink);padding:5px 10px;border-radius:999px;font-size:13px;font-weight:700}
.c360-chip--soft{background:#f2efe7;color:var(--ink-2)}
.c360-chip--dup{background:#fff4d6;color:#6b4a00}
.c360-card-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px}
.c360-card .c360-pill{font-size:12.5px!important;padding:5px 10px!important;border-radius:999px;background:#f2efe7!important;color:var(--ink-2)!important;border:0!important}
.c360-card .c360-pill.verified{background:var(--lime)!important;color:var(--forest-3)!important}
.c4-rating-preview{font-size:13px!important;color:var(--muted)!important;display:inline-flex;gap:4px;align-items:center}
.c360-cardactions{display:flex!important;flex-wrap:wrap;gap:8px!important;align-items:center;margin-top:auto!important;padding-top:10px;border-top:1px solid var(--line)}
.c360-cardactions>button,.c360-cardactions>a{display:inline-flex!important;align-items:center;gap:6px;min-height:40px;padding:8px 12px!important;border-radius:999px!important;font:700 13.5px/1 var(--font-body)!important;background:#f4f1ea!important;color:var(--ink-2)!important;border:0!important;cursor:pointer}
.c360-cardactions .c4-cardlink{background:var(--forest)!important;color:#fff!important;margin-left:auto}
.c360-dups{font-size:13.5px;color:var(--muted)}
.c360-dups summary{cursor:pointer;font-weight:700;color:var(--ink-2);padding:4px 0}
.c360-dups a{display:block;padding:4px 0;text-decoration:underline}
.c360-paging{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:34px;flex-wrap:wrap}
.c360-paging button{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;justify-content:center;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:700 14.5px var(--font-body);cursor:pointer}
.c360-paging button.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.c360-paging button:disabled{opacity:.4;cursor:default}
.v2-pages{display:flex;gap:6px;align-items:center}
.v2-gap{padding:0 4px;color:var(--muted)}
.v2-pageof{display:none;font-weight:700;color:var(--muted)}
.v2-catalog-note{display:flex;gap:16px;margin-top:46px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;color:var(--ink-2)}
.v2-catalog-note p{margin:6px 0 0;font-size:14.5px;color:var(--muted)}
.v2-note-icon{width:44px;height:44px;border-radius:14px;background:#e9f2d2;color:var(--forest-2);display:grid;place-items:center;flex:none}
.v2-note-kpis{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.v2-note-kpis span,.v2-note-kpis a{display:inline-flex;gap:6px;align-items:center}
.v2-note-kpis a{font-weight:700;color:var(--forest-2);text-decoration:underline}
@media (max-width:1100px){.v2-catalog .c360-card-grid{grid-template-columns:1fr 1fr}.v2-catalog .c360-filterline{grid-template-columns:1fr 1fr}.v2-field+.v2-field{border-left:0}.v2-field--search{grid-column:span 2}}
@media (max-width:700px){
  .v2-catalog-tools{margin-top:-46px}
  .v2-groupchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:4px 16px 8px}
  .v2-groupchips::-webkit-scrollbar{display:none}
  .v2-gchip{flex:none}
  .v2-catalog .c360-card-grid{grid-template-columns:1fr}
  .v2-catalog .c360-filterline{grid-template-columns:1fr 1fr;padding:8px}
  .v2-field{padding:4px 8px!important}
  .v2-catalog .c360-summary{display:none}
  .v2-pages{display:none}.v2-pageof{display:inline}
  .c360-cardactions .c4-cardlink{margin-left:0}
}

/* ---------- Lugares (tarjetas generadas por core.js) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:28px}
.filter{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;padding:10px 16px!important;border-radius:999px!important;border:1px solid var(--line)!important;background:var(--paper)!important;color:var(--ink-2)!important;font:700 14.5px var(--font-body)!important;cursor:pointer}
.filter.active{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important}
.search-wrap{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 16px;min-height:46px;color:var(--muted)}
.search-wrap input{border:0;outline:0;background:transparent;font:500 16px var(--font-body);min-width:200px;color:var(--ink)}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.location-card{border-radius:var(--radius)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-1)!important;display:flex;flex-direction:column;background:var(--paper)}
.card-visual{height:auto!important;aspect-ratio:16/11;padding:0!important;background:none!important;display:block!important}
.card-visual>.ph{position:absolute;inset:0}
.card-visual .tag{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.95);color:var(--tone-ink);padding:8px 12px;border-radius:999px;font:700 13px/1 var(--font-body)}
.card-visual .tag .ic{color:var(--tone)}
.mini-circle{position:absolute!important;top:12px;right:12px;z-index:3;width:44px!important;height:44px!important;border-radius:50%!important;border:0;background:rgba(255,255,255,.95)!important;color:var(--coral)!important;display:grid!important;place-items:center;cursor:pointer}
.location-card .card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.location-card h3{font:800 22px/1.15 var(--font-display);margin:0}
.location-card .card-body p{margin:0;color:var(--muted);font-size:15.5px}
.episode-line{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--tone-ink);background:var(--tone-soft);padding:8px 12px;border-radius:12px;font-weight:600}
.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:10px}
@media (max-width:980px){.location-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.location-grid{grid-template-columns:1fr}.search-wrap{margin-left:0;width:100%}.search-wrap input{min-width:0;flex:1}.filters{gap:8px}}

/* ---------- Rutas (página) ---------- */
.routes{background:transparent!important}
.v2-route-grid--page .v2-route-media{aspect-ratio:16/11}
.c360-routes-row{display:grid!important;grid-template-columns:repeat(5,1fr);gap:16px}
.c360-route-mini{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:20px!important;display:flex;flex-direction:column;gap:8px;color:var(--ink)!important}
.c360-route-mini small{font:700 12.5px/1.2 var(--font-body)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--tone)!important}
.c360-route-mini h3{font:800 19px/1.15 var(--font-display);margin:0}
.c360-route-mini p{margin:0;font-size:14.5px;color:var(--muted)}
.v2-warn{display:flex;gap:6px;align-items:flex-start;font-size:13px;color:#7a4a10;background:#fff4d6;border-radius:10px;padding:8px 10px;margin-top:auto}
.v2-trail-host{position:relative;overflow:hidden}
.v2-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.v2-trail path{fill:none;stroke-linecap:round}
.v2-trail-base{stroke:rgba(31,111,154,.14);stroke-width:2;stroke-dasharray:6 10}
.v2-trail-line{stroke:var(--sunset);stroke-width:3;opacity:.55}
.v2-trail-host>.container{position:relative;z-index:1}
@media (max-width:1100px){.c360-routes-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.c360-routes-row{grid-template-columns:1fr}}

/* ---------- Podcast ---------- */
.podcast{background:var(--forest-3)!important;color:#fff}
.podcast .v2-head p{color:#cfe0d7}.podcast .v2-head h2{color:#fff}.podcast .eyebrow{color:var(--lime)}
.pod-feature{border-radius:28px!important}
.pod-copy h2{font:800 clamp(28px,3vw,40px)/1.1 var(--font-display);margin:14px 0}
.pod-copy .pill{background:#1f4f4b!important;color:var(--lime)!important;font-size:12.5px!important;padding:7px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.pod-caption{font-size:14px!important;color:#cfe0d7!important}
.v2-steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
.v2-steps li{display:flex;gap:12px;align-items:center;font-size:16px}
.v2-steps b{font:800 15px var(--font-display);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--lime);color:var(--forest-3)}
.v2-episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v2-episode{border-radius:var(--radius);overflow:hidden;background:#123b3a;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08)}
.v2-episode>.ph{aspect-ratio:16/10}
.v2-episode-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px}
.v2-ep-n{display:inline-flex;gap:6px;align-items:center;color:var(--lime);font:700 13px var(--font-body);text-transform:uppercase;letter-spacing:.05em}
.v2-episode h3{font:800 21px/1.15 var(--font-display);margin:2px 0;color:#fff}
.v2-episode p{margin:0;color:#cfe0d7;font-size:15px}
.v2-soon{align-self:flex-start;margin-top:8px;background:rgba(212,240,122,.15);color:var(--lime);padding:5px 10px;border-radius:999px;font-size:12.5px;font-weight:800}
.editorial-strip{background:var(--cream)!important;color:var(--ink)!important}
.editorial-strip .v2-head h2{color:var(--ink)}
.editorial-cards{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px}
.editorial-card{padding:0!important;min-height:0!important;border-radius:var(--radius)!important;overflow:hidden;background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)!important;display:flex!important;flex-direction:column;box-shadow:var(--shadow-1)}
.editorial-card>.ph{aspect-ratio:16/10;position:relative}
.v2-ed-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px}
.editorial-card .issue{font:700 12.5px var(--font-body)!important;color:var(--coral)!important;text-transform:uppercase;letter-spacing:.06em;position:static!important}
.editorial-card h3{font:800 24px/1.1 var(--font-display)!important;margin:4px 0!important;color:var(--ink)!important}
.editorial-card p{color:var(--muted)!important;margin:0;font-size:15px}
.flow-line{list-style:none;padding:0;margin:34px 0 0;display:flex!important;flex-wrap:wrap;gap:10px;justify-content:center;background:none!important}
.flow-line li{display:inline-flex;gap:8px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:11px 16px;border-radius:999px;font-weight:700;font-size:14.5px;color:var(--ink-2)}
.flow-line li .ic{color:var(--lake)}
@media (max-width:900px){.v2-episode-grid,.editorial-cards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.v2-episode-grid,.editorial-cards{grid-template-columns:1fr}}

/* ---------- Comunidad ---------- */
.community-layout h2{font:800 clamp(30px,3.4vw,46px)/1.06 var(--font-display);letter-spacing:-.02em;margin:12px 0}
.community-layout>div>p{color:var(--muted);font-size:16.5px}
.community-metrics .metric{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:18px!important;display:flex;flex-direction:column;gap:6px}
.community-metrics .metric:nth-child(1){--tone:#1f6f9a;--tone-soft:#e2f0f7}.community-metrics .metric:nth-child(2){--tone:#c34f33;--tone-soft:#fbe6df}.community-metrics .metric:nth-child(3){--tone:#9a6212;--tone-soft:#f8eedb}.community-metrics .metric:nth-child(4){--tone:#2f7d5b;--tone-soft:#e3f1e8}
.community-metrics .metric b{font:800 19px var(--font-display);color:var(--ink)!important}
.community-metrics .metric span:not(.v2-plan-icon){font-size:14.5px!important;color:var(--muted)!important}
.proposal-form{border-radius:24px!important;box-shadow:var(--shadow-2)!important;border:1px solid var(--line)}
.proposal-form h3{font:800 26px/1.15 var(--font-display)}
.field label,.c4-formfield label,.c4-formfield strong{font-size:14.5px!important;font-weight:700;color:var(--ink-2)}
.field input,.field select,.field textarea,.c4-formfield input,.c4-formfield select,.c4-formfield textarea,.directory-search{font-size:16px!important;border-radius:12px!important;border:1.5px solid #d9d2c3!important;padding:12px 14px!important;background:#fff!important;color:var(--ink)!important}
.form-note,.desc{font-size:14px!important;color:var(--muted)!important}

/* ---------- Mapa ---------- */
.v2-mapsec{padding-top:44px}
.map-layout{grid-template-columns:1.6fr 1fr!important;gap:24px!important;align-items:start}
.map-frame{height:600px!important;border-radius:24px!important;box-shadow:var(--shadow-2)!important;background:#e3eedc!important}
#mapFallback.map-fallback{display:block;padding:0;background:#e3eedc;z-index:2}
.map-fallback .imap{position:absolute;inset:0;width:100%;height:100%;display:block}
.imap-pin{cursor:pointer;outline:none}
.imap-pin:hover circle,.imap-pin:focus circle{opacity:.7}
.imap-pin:focus-visible path{stroke:#10292a;stroke-width:4}
.v2-mapfallback-note{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.94);border-radius:14px;padding:12px 14px;font-size:14px;color:var(--ink-2);box-shadow:var(--shadow-1);max-width:460px}
.v2-mapfallback-note strong{display:block;color:var(--ink)}
#map{position:absolute!important;inset:0;z-index:1;background:#cfe2c6!important;background-image:none!important}
.map-top-label{left:62px!important;max-width:calc(100% - 80px);z-index:4!important;display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.95)!important;color:var(--ink)!important;border-radius:999px!important;padding:9px 14px!important;font-size:13.5px!important;font-weight:700}
.c360-map-notice{position:absolute;left:14px;bottom:14px;right:auto;top:auto!important;max-width:360px;z-index:500!important;background:rgba(255,255,255,.95)!important;border-radius:14px!important;padding:12px 14px!important;font-size:13.5px!important;color:var(--ink-2)!important;box-shadow:var(--shadow-1);border:0!important}
.c360-map-notice strong{font-size:12.5px;letter-spacing:.06em;color:var(--coral)}
.c360-map-notice p{margin:4px 0;font-size:13.5px}
.c360-map-notice a{font-weight:700;color:var(--lake)}
.v2-map-illustrated .c360-map-notice strong{color:var(--forest-2)}
.pin-icon{background:var(--coral)!important;border:3px solid #fff!important;box-shadow:0 6px 16px rgba(0,0,0,.25)!important}
.info-panel{padding:0!important;overflow:hidden;border-radius:24px!important;box-shadow:var(--shadow-2)!important;min-height:0!important}
.info-art{height:220px!important;margin:0!important;border-radius:0!important;background:none!important;position:relative}
.info-art>.ph{position:absolute;inset:0}
.info-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px}
.info-body h3{font:800 26px/1.1 var(--font-display);margin:2px 0}
.info-body p{margin:0;color:var(--muted);font-size:15.5px}
.info-body .pill{display:inline-flex;gap:6px;align-items:center;width:fit-content;background:var(--tone-soft)!important;color:var(--tone-ink)!important;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:700}
.info-list{display:flex;gap:6px;flex-wrap:wrap}
.info-list .pill{background:#f2efe7!important;color:var(--ink-2)!important}
.info-body .small-note{font-size:14px;color:var(--muted);line-height:1.7}
.info-bottom{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.v2-map-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:18px;font-size:14px;color:var(--muted)}
.v2-map-legend span{display:inline-flex;gap:8px;align-items:center}
.v2-map-legend a{margin-left:auto;display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--forest-2)}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.dot-place{background:var(--coral)}.dot-listed{background:#f7c77d}.dot-verified{background:#b8e96b}
.c360-gps-callout{display:flex;gap:10px;align-items:center;background:var(--lime)!important;border:0!important;color:var(--forest-3)!important;border-radius:16px!important;font-size:16px}
@media (max-width:900px){.map-layout{grid-template-columns:1fr!important}.map-frame{height:440px!important}}
@media (max-width:640px){.map-frame{height:380px!important}.v2-mapfallback-note{font-size:13px}.v2-map-legend a{margin-left:0}}

/* ---------- Directorio municipal ---------- */
.directory-section{background:transparent!important}
.directory-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.directory-kpis span{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:8px 14px!important;font-size:14px!important;color:var(--ink-2)!important}
.directory-kpis b{font-family:var(--font-display);color:var(--lake)}
.essentials-heading h2{font:800 clamp(26px,2.8vw,36px)/1.1 var(--font-display);margin:8px 0}
.essentials-heading p{color:var(--muted);font-size:15.5px!important;max-width:720px}
.essentials-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 48px}
.essential-card{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:20px!important;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-1);color:var(--ink)!important}
.essential-icon{width:50px;height:50px;border-radius:16px;display:grid!important;place-items:center;background:#fbe6df!important;color:var(--coral)!important;font-size:0!important;margin-bottom:6px}
.essential-icon .ic{width:26px;height:26px}
.essential-type{font:700 12.5px var(--font-body)!important;text-transform:uppercase;letter-spacing:.06em;color:var(--coral)!important}
.essential-card strong{font:800 18px/1.2 var(--font-display)}
.essential-card small{font-size:14px!important;color:var(--muted)!important}
.essential-go{margin-top:auto;display:inline-flex!important;gap:6px;align-items:center;align-self:flex-start;min-height:40px;border-radius:999px!important;padding:8px 14px!important;background:var(--forest)!important;color:#fff!important;border:0!important;font:700 14px var(--font-body)!important;cursor:pointer}
.directory-shell{border-radius:24px!important;border:1px solid var(--line)!important;background:var(--paper)!important;box-shadow:var(--shadow-1)!important}
.directory-sidebar{background:#f7f3ea!important}
.v2-side-title{font:800 20px var(--font-display);margin:0 0 12px}
.directory-nav-item{min-height:46px;font-size:15px!important;border-radius:12px!important;color:var(--ink-2)!important}
.directory-nav-item .nav-emoji{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--forest-2);font-size:0!important}
.directory-nav-item .nav-emoji .ic{width:19px;height:19px}
.directory-nav-item.active{background:var(--forest)!important;color:#fff!important}
.directory-nav-item.active .nav-emoji{background:rgba(255,255,255,.15);color:var(--lime)}
.directory-nav-item small{color:inherit!important;opacity:.7}
.directory-heading-icon{width:58px!important;height:58px!important;border-radius:18px!important;display:grid!important;place-items:center;background:#e2f0f7!important;color:var(--lake)!important;font-size:0!important}
.directory-heading-icon .ic{width:30px;height:30px}
.directory-heading h3{font:800 26px/1.15 var(--font-display)!important}
.directory-heading p,.directory-disclaimer,.directory-footer,.directory-detail p{font-size:14.5px!important;color:var(--muted)!important}
.directory-group h4{font:800 17px var(--font-display)!important}
.directory-chip{min-height:40px;font-size:14px!important;border-radius:999px!important;padding:8px 14px!important}
.directory-chip.active{background:var(--forest)!important;color:#fff!important}
.directory-detail{border-radius:20px!important}
.directory-detail .status{font-size:12.5px!important}
.municipal-entity{border-radius:18px!important}
.entity-line{display:flex;gap:6px;align-items:center;font-size:14.5px!important}
.entity-links a{display:inline-flex!important;gap:6px;align-items:center;font-size:14px!important}
.entity-verified{font-size:12.5px!important}
.v2-dir-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:18px}
.v2-dir-tile{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);font-family:var(--font-body);min-height:120px}
.v2-dir-tile strong{font:800 16px/1.2 var(--font-display)}
.v2-dir-tile small{font-size:13px;color:var(--muted)}
.v2-dir-tile .v2-plan-icon{width:40px;height:40px;border-radius:12px}
.v2-suggest{margin-top:22px;border:1.5px dashed #cfc6b2;border-radius:20px;background:#fffdf8}
.v2-suggest>summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center;padding:18px 20px;font:800 17px var(--font-display);color:var(--forest)}
.v2-suggest>summary::-webkit-details-marker{display:none}
.v2-suggest[open]>summary{border-bottom:1px solid var(--line)}
.v2-suggest .directory-editor{border:0!important;box-shadow:none!important;margin:0!important;background:transparent!important}
.v2-muted-note{font-size:14px;color:var(--muted);margin-bottom:0}
@media (max-width:980px){.essentials-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.essentials-grid{grid-template-columns:1fr}}

/* ---------- Ficha individual ---------- */
.c4-container{max-width:1240px!important;padding:0 28px!important}
.c4-place-layout{gap:26px!important;padding-top:34px!important;padding-bottom:70px}
.c4-place-layout>*{min-width:0}
.c4-box{border-radius:22px!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-1)!important;background:var(--paper)!important}
.c4-box h2{font:800 clamp(22px,2.2vw,28px)/1.15 var(--font-display)!important;margin:8px 0 12px!important}
.c4-box p,.c4-note,.c4-subtle{font-size:15px!important;color:var(--muted)}
.v2-boxhead{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.c4-chip{display:inline-flex;gap:6px;align-items:center;font-size:13px!important;padding:6px 11px!important;border-radius:999px!important}
.c4-action{display:inline-flex!important;align-items:center;gap:8px;min-height:46px;border-radius:999px!important;font:700 15px var(--font-body)!important;padding:12px 18px!important}
.c4-action.added{background:var(--coral)!important;color:#fff!important;border-color:var(--coral)!important}
.c4-action.added .ic{fill:currentColor}
.c4-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.c4-trust{border-radius:16px!important}
.c4-trust-icon{display:grid;place-items:center;font-size:0!important}
.c4-trust-icon .ic,.c4-mic .ic{width:26px;height:26px}
.v2-pod-pending{display:flex!important;gap:12px;text-align:left!important;align-items:flex-start}
.v2-pod-pending>.ic{width:26px;height:26px;color:var(--lake);flex:none;margin-top:2px}
.v2-no-reviews .c4-rating-layout{display:none!important}
.v2-few-reviews #c4RatingBreakdown{display:none}
.v2-inline-label{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:700;color:var(--ink-2)}
.v2-inline-label select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:500 14.5px var(--font-body);background:#fff}
.v2-gate-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e2f0f7;color:var(--lake);margin:0 auto 8px}
.v2-gate-icon .ic{width:26px;height:26px}
.c4-stars-input button{font-size:30px!important;min-width:44px;min-height:44px}
.v2-locate{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.v2-minimap{position:relative;height:140px;border-radius:16px;overflow:hidden}
.v2-minimap .scene{position:absolute;inset:0;width:100%;height:100%}
.v2-minimap-pin{position:absolute;left:50%;top:50%;translate:-50% -60%;width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.v2-locate p{margin:0;font-size:14.5px!important;color:var(--ink-2)!important}
.v2-about-data>summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center;font:800 18px var(--font-display);color:var(--ink)}
.v2-about-data>summary::-webkit-details-marker{display:none}
.v2-about-data[open]>summary{margin-bottom:10px}
.c4-split-pill span{display:inline-flex;gap:6px;align-items:center}
.v2-nearby{margin-top:10px}
.v2-near-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v2-near{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-1)}
.v2-near>.ph{aspect-ratio:16/10}
.v2-near>span{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.v2-near strong{font:800 17px/1.2 var(--font-display)}
.v2-near small{display:flex;gap:5px;align-items:center;font-size:13.5px;color:var(--muted)}
.c4-metadata span{font-size:12.5px!important}
.c4-metadata b{font-size:15px!important}
@media (max-width:700px){.c4-container{padding:0 16px!important}.v2-near-grid{grid-template-columns:1fr}.v2-hero--place{min-height:420px}}
/* Mi Ponwi */
.c4-account-body{padding-top:34px!important;padding-bottom:70px}
.v2-benefits{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.c4-account-stat>.v2-benefits{grid-column:1/-1}
.v2-benefits li{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--ink-2);background:#f7f3ea;padding:12px 14px;border-radius:14px}
.v2-benefits .ic{color:var(--lake)}

/* ---------- Estados vacíos ---------- */
.v2-empty{display:flex!important;gap:20px;align-items:center;text-align:left!important;background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:16px!important;grid-column:1/-1;color:var(--ink-2)}
.v2-empty>.scene{width:150px;height:110px;border-radius:14px;flex:none}
.v2-empty strong,.v2-empty b{font:800 19px/1.2 var(--font-display);color:var(--ink)}
.v2-empty p{margin:6px 0 10px;color:var(--muted);font-size:15px}
@media (max-width:560px){.v2-empty{flex-direction:column;align-items:flex-start}.v2-empty>.scene{width:100%;height:140px}}

/* ---------- Mi ruta: cajón y página ---------- */
.route-trigger{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;left:auto!important;z-index:1050!important;display:inline-flex!important;gap:8px;align-items:center;box-shadow:0 14px 34px rgba(10,43,43,.32)!important;min-height:52px;padding:12px 18px!important}
.route-trigger b{min-width:24px;height:24px;border-radius:99px;background:var(--forest);color:var(--lime);display:inline-grid;place-items:center;font-size:13px;padding:0 6px}
.drawer{border-radius:24px 0 0 24px}
.drawer-head h2{font:800 26px var(--font-display)}
.drawer .close{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;cursor:pointer}
.small-note{font-size:14px!important;color:var(--muted)}
.v2-route-list{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.drawer-item{display:flex!important;gap:12px;align-items:center;background:#f7f3ea!important;border-radius:16px!important;padding:12px 14px!important;border:0!important}
.drawer-item .idx{width:34px;height:34px;border-radius:50%;background:var(--forest)!important;color:var(--lime)!important;display:grid!important;place-items:center;font:800 15px var(--font-display);flex:none}
.drawer-item>div{flex:1;min-width:0}
.drawer-item strong{font:800 17px/1.2 var(--font-display);display:block}
.drawer-item strong a{text-decoration:underline;text-decoration-color:rgba(0,0,0,.2)}
.drawer-item small{display:flex;gap:5px;align-items:center;font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.drawer-item button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.drawer-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.v2-empty--route{margin:14px 0}
.v2-route-sugg{display:grid;gap:10px;margin-bottom:18px}
.v2-sugg{display:flex;gap:12px;align-items:center;padding:10px;border-radius:16px;border:1px solid var(--line);background:#fff}
.v2-sugg>.ph{width:72px;height:56px;border-radius:12px;flex:none}
.v2-sugg>div{flex:1;min-width:0}
.v2-sugg strong{display:block;font:800 16px/1.2 var(--font-display)}
.v2-sugg small{font-size:13.5px;color:var(--muted)}
body[data-page="mi-ruta"] #routeDrawer{max-width:820px!important;border-radius:24px!important;padding:28px!important;margin:-60px auto 70px!important;box-shadow:var(--shadow-2)!important}
.c360-route-page{padding:0 0 10px}

/* ---------- Modal y toasts ---------- */
.c360-dialog{border-radius:24px!important}
.c360-dialog-head h2{font:800 24px/1.2 var(--font-display);margin:0}
.c360-dialog-head button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.c360-modal-desc,.c360-note{font-size:14.5px!important}
.c360-facts span{font-size:12.5px!important}
.c360-facts b{font-size:14.5px!important}
.toast,.c360-toast{font-size:15px!important;border-radius:14px!important;background:var(--forest)!important;color:#fff!important;padding:14px 20px!important;bottom:92px!important;max-width:min(460px,92vw)!important;box-shadow:0 18px 40px rgba(0,0,0,.25)!important}

/* ---------- Panel editorial (discreto) ---------- */
.c360-dashboard{background:transparent!important;color:var(--ink)!important;padding-top:40px!important}
.c360-dashboard::before,.c360-dashboard::after{display:none!important}
.v2-access{display:flex;gap:16px;align-items:center;background:#fff4d6;border:1px solid #f0d58a;border-radius:20px;padding:18px 22px;margin-bottom:24px;color:#5a3d00}
.v2-access>.ic{width:30px;height:30px;flex:none}
.v2-access strong{font:800 18px var(--font-display)}
.v2-access p{margin:4px 0 0;font-size:14.5px}
.v2-access .btn{margin-left:auto;flex:none}
.v2-access[hidden]{display:none}
.c360-rolebar{background:var(--paper)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;border-radius:20px!important}
.c360-rolebar label{font-size:13px!important;color:var(--ink-2)!important}
.c360-button{display:inline-flex!important;gap:6px;align-items:center;min-height:42px;font-size:14px!important}
.c360-admin-tabs button{font-size:14px!important;min-height:42px;color:var(--ink-2)!important}
.c360-admin-tabs button:disabled{color:#6f7f7b!important}
.c360-table{font-size:14.5px}
.c360-table small{font-size:12.5px!important}
.c360-tableactions button{min-height:36px;font-size:13.5px!important}
.c360-adminstats,.c360-sourcefoot,.c360-warning{font-size:14px!important}
@media (max-width:700px){.v2-access{flex-direction:column;align-items:flex-start}.v2-access .btn{margin-left:0}}

/* ---------- Pie ---------- */
.v2-footer{background:var(--forest-3)!important;color:#d6e4dc;padding:64px 0 34px!important}
.v2-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px}
.v2-footer .logo-mark{width:44px;height:44px;border-radius:14px;background:#174745;color:var(--lime);display:grid;place-items:center}
.v2-footer .brand{font:800 23px var(--font-display);color:#fff}
.v2-footer .brand span{color:var(--lime)}
.v2-footer .brand-sub{display:block;font-size:12.5px;color:#a9c4b8;margin-top:4px}
.v2-footer p{font-size:14px;line-height:1.7;color:#b9cfc5}
.v2-foot-title{font:700 13px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:6px 0 14px}
.v2-foot-links{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.v2-foot-links a{font-size:15px;color:#e6f0ea}
.v2-foot-links a:hover{color:var(--lime)}
.v2-foot-links .ic-external,a>.ic-external{width:.85em;height:.85em;margin-left:2px;opacity:.75;vertical-align:-.08em}
.v2-credits{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:22px;font-size:13px!important}
.v2-credits a{text-decoration:underline}
.v2-footer .copyright{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:#a9c4b8;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:18px}
.v2-footer .copyright a{color:var(--lime);font-weight:700}
@media (max-width:900px){.v2-footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.v2-footer-grid{grid-template-columns:1fr;gap:28px}}

/* Secciones ocultas para scripts compartidos */
.v2-stubs,[hidden]{display:none!important}
.v2-story-intro{width:100%}
/* Foto de categoría con velo de color de su tono */
.c360-card-media .ph::after,.v2-near>.ph::after,.v2-cat>.ph::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--tone) 55%,transparent));opacity:0;transition:opacity .6s}
.c360-card-media .ph.has-photo::after,.v2-near>.ph.has-photo::after{opacity:1}
.c360-route-mini{padding:0!important;overflow:hidden}
.c360-route-mini>:not(.v2-mini-media){margin-left:20px;margin-right:20px}
.c360-route-mini>.v2-warn{margin-bottom:20px}
.v2-mini-media{aspect-ratio:16/10;margin-bottom:6px}
.c360-route-mini .v2-plan-icon{margin-top:-30px;position:relative;z-index:2;background:#fff;box-shadow:var(--shadow-1)}
nav.v2-crumbs,nav.c4-breadcrumbs.v2-crumbs{display:flex;justify-content:flex-start!important;min-height:0!important;padding:0!important;gap:8px}
body[data-page="mi-ruta"] #routeDrawer{margin-top:28px!important}
@media (max-width:640px){.c360-map-notice{left:10px;right:10px;bottom:10px;max-width:none;padding:10px 12px!important}.c360-map-notice p{font-size:13px}.c360-map-notice a{display:none}}
.essentials-heading{display:block!important}
/* Tamaños mínimos de lectura (≥12 px) */
.directory-counter,.v2-warn,.c360-identity small,.c360-table th,.c360-table .c360-pill,.c4-split-pill span,.c360-pill{font-size:12.5px!important}
.c360-table th{letter-spacing:.04em}
.v2-story.is-pinned .v2-story-sticky{padding-top:104px}
/* ---------- Iconos propios: acento de color y microanimaciones ---------- */
.ic .acc{fill:var(--ic-acc,currentColor);stroke:none;opacity:.2}
[class*="tone-"] .ic .acc,.v2-plan-icon .ic .acc{--ic-acc:var(--tone);opacity:.32}
.v2-hero .ic .acc,.v2-footer .ic .acc,.btn-dark .ic .acc,.c4-action.ink .ic .acc{--ic-acc:var(--lime);opacity:.45}
.v2-star{width:1.1em;height:1.1em;color:#d9902a}
.v2-star .acc{opacity:0}
.v2-star.on .acc{opacity:1;fill:#f2b33d}
.v2-stars{display:inline-flex;gap:2px;vertical-align:middle}
.c4-star-icons .v2-star{width:22px;height:22px}
.c4-stars-input .v2-star{width:30px;height:30px}
.ic .a-wave,.ic .a-sail,.ic .a-spin,.ic .a-bob,.ic .a-pulse{transform-box:fill-box;transform-origin:center}
.ic .a-sail{transform-origin:0% 100%}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  :is(a,button,summary,label,.v2-plan-card,.v2-cat,.v2-traveler,.partner,.metric,.c360-route-mini,.v2-dir-tile,.essential-card,.c360-card,.location-card,.v2-place,.v2-route,.ic-demo):hover .ic .a-wave{animation:icWave 1.1s ease-in-out infinite}
  :is(a,button,summary,label,.v2-plan-card,.v2-cat,.v2-traveler,.partner,.metric,.c360-route-mini,.v2-dir-tile,.essential-card,.c360-card,.location-card,.v2-place,.v2-route,.ic-demo):hover .ic .a-sail{animation:icSail .9s ease-in-out infinite alternate}
  :is(a,button,summary,label,.v2-plan-card,.v2-cat,.v2-traveler,.partner,.metric,.c360-route-mini,.v2-dir-tile,.essential-card,.c360-card,.location-card,.v2-place,.v2-route,.ic-demo):hover .ic .a-spin{animation:icSpin 1.4s cubic-bezier(.5,0,.3,1)}
  :is(a,button,summary,label,.v2-plan-card,.v2-cat,.v2-traveler,.partner,.metric,.c360-route-mini,.v2-dir-tile,.essential-card,.c360-card,.location-card,.v2-place,.v2-route,.ic-demo):hover .ic .a-bob{animation:icBob .8s ease-in-out infinite alternate}
  :is(a,button,summary,label,.c360-card,.location-card,.ic-demo):hover .ic .a-pulse{animation:icPulse .8s ease-in-out infinite}
  :is(a,button,summary,label,.v2-plan-card,.v2-cat,.partner,.metric,.c360-route-mini,.v2-dir-tile,.essential-card,.c360-card,.v2-route,.ic-demo):hover .ic .a-draw{stroke-dasharray:1;animation:icDraw .9s ease-out}
}
@keyframes icWave{50%{transform:translateX(1.6px)}}
@keyframes icSail{to{transform:scaleX(1.14) skewY(-2deg)}}
@keyframes icSpin{to{transform:rotate(360deg)}}
@keyframes icBob{to{transform:translateY(-1.6px)}}
@keyframes icPulse{50%{transform:scale(1.18)}}
@keyframes icDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* QA: fondo del mapa igual al de la ilustración (sin franjas vacías alrededor de la capa ilustrada) */
.v2-map-illustrated .leaflet-container{background:#e3eedc}
/* QA: tipos de viajero en móvil (2 columnas estrechas): más alto, degradado más denso para el texto sobre foto y menos apretado */
@media (max-width:560px){.v2-traveler{aspect-ratio:3/4}.v2-traveler-body{padding:14px;gap:4px}.v2-traveler-body .v2-plan-icon{width:38px;height:38px;margin-bottom:4px}.v2-traveler strong{font-size:20px}.v2-traveler small{font-size:13.5px;line-height:1.35}.v2-traveler::after{background:linear-gradient(180deg,rgba(0,0,0,0) 22%,rgba(6,20,22,.55) 50%,rgba(6,20,22,.92))}}
@media (max-width:560px){.v2-cat{aspect-ratio:1/1}.v2-cat-body{padding:12px;gap:3px}.v2-cat-body .v2-plan-icon{width:32px;height:32px;border-radius:10px;margin-bottom:4px}.v2-cat::after{background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(6,20,22,.88))}}
@media (max-width:560px){.c360-filterline .v2-field:nth-child(2){grid-column:span 2}}
@media (max-width:560px){.c4-review-head{flex-wrap:wrap}.c4-review-head .v2-inline-label{max-width:100%;min-width:0}.c4-review-head .v2-inline-label select{min-width:0;max-width:100%}}
/* QA: contraste AA (4,5:1 texto normal, 3:1 grande) en textos secundarios que no llegaban */
.v2-stats-grid>div:nth-child(4) b{color:#a36a17}
.essential-type{color:#b4472b!important}
.info-panel .eyebrow{color:#2a6e5f}
.c360-identity small,.c360-table td small,.c360-adminstats,.c4-metadata span{color:#5d7266}
.c4-empty{color:#4e6a5c}
.essentials-heading .eyebrow{color:#2f6a53}
svg.scene{pointer-events:none}
