/* Haven Guía · Medellín desde Haven
   Paleta oficial: oro #CDB371 · espresso #2E241E · tinta #191311 · champagne #F7DFAE · crema #FDF5E5
   Todo bajo .hg para no chocar con Elementor ni con el tema. */

.hg{
  --hg-ink:#191311;--hg-espresso:#2E241E;--hg-espresso-2:#3a2e26;--hg-gold:#CDB371;--hg-champagne:#F7DFAE;--hg-cream:#FDF5E5;
  --hg-fg:#FDF5E5;--hg-muted:rgba(253,245,229,.64);--hg-faint:rgba(253,245,229,.38);--hg-line:rgba(205,179,113,.26);--hg-line-2:rgba(205,179,113,.12);
  --hg-serif:"Playfair Display","Didot","Bodoni 72",Georgia,serif;
  --hg-sans:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --hg-r:26px;--hg-ease:cubic-bezier(.2,.7,.1,1);--hg-spring:cubic-bezier(.34,1.56,.64,1);
  --c-comer:#E8A87C;--c-cafe:#C49A6C;--c-noche:#A99BF5;--c-compras:#F7DFAE;--c-cultura:#86C3C9;--c-parques:#97C08A;--c-bienestar:#E9B9CB;--c-salida:#D8C7A0;--c-haven:#CDB371;
  color:var(--hg-fg);font:400 16px/1.6 var(--hg-sans);
  -webkit-tap-highlight-color:transparent;
}
section.hg{container-type:inline-size;container-name:hg}
/* Blindaje frente al tema (Hello/Elementor pinta botones y enlaces): */
.hg :is(button,[type=button],[type=submit]){background:none;border:0;padding:0;margin:0;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal;min-height:0;width:auto;font:inherit;color:inherit;text-decoration:none;white-space:normal}
.hg :is(button,[type=button],[type=submit]):is(:hover,:focus,:active){background-color:transparent;border-color:transparent;text-decoration:none}
.hg a:hover{color:inherit}
.hg fieldset{border:0;padding:0;margin:0}
.hg legend{padding:0;border:0}
.hg label{line-height:inherit;vertical-align:baseline}

.hg *,.hg *::before,.hg *::after{box-sizing:border-box}
.hg button{font:inherit;color:inherit}
.hg :focus-visible{outline:2px solid var(--hg-gold);outline-offset:3px;border-radius:8px}
.hg img{max-width:100%;display:block}
.hg a{color:inherit}
section.hg{position:relative;background:radial-gradient(120% 90% at 50% 0%,var(--hg-espresso) 0,var(--hg-ink) 72%);border-radius:var(--hg-r);padding:clamp(28px,5vw,72px) clamp(18px,4.5vw,64px);overflow:hidden;isolation:isolate}
section.hg::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(205,179,113,.13) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%)}
.hg .hg-guide{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3vw,36px)}
.hg .hg-guide>*{min-width:0}
.hg .hg-chapter{scroll-margin-top:110px}

/* Encabezados */
.hg .hg-head{max-width:820px;margin-bottom:clamp(26px,4vw,46px)}
.hg .hg-eyebrow{margin:0;font:500 12px/1 var(--hg-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--hg-gold);display:flex;align-items:center;gap:14px}
.hg .hg-eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.hg .hg-title{font-family:var(--hg-serif);font-weight:500;font-size:clamp(38px,6vw,88px);line-height:.98;letter-spacing:-.01em;margin:18px 0 0;color:var(--hg-fg);text-wrap:balance}
.hg .hg-title em{font-style:italic;color:var(--hg-champagne)}
.hg .hg-lede{margin:18px 0 0;color:var(--hg-muted);font-size:clamp(16px,1.4vw,19px);max-width:56ch}

/* Índice de capítulos */
.hg .hg-chapters{position:sticky;top:12px;z-index:30;display:flex;justify-content:center;min-width:0}
.hg .hg-chapters ol{list-style:none;margin:0;padding:6px;display:flex;gap:4px;border-radius:999px;background:rgba(25,19,17,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(205,179,113,.2),0 18px 40px -20px rgba(0,0,0,.7);overflow-x:auto;max-width:100%;scrollbar-width:none}
.hg .hg-chapters a{display:flex;gap:10px;align-items:center;white-space:nowrap;text-decoration:none;font:500 13px/1 var(--hg-sans);letter-spacing:.04em;color:var(--hg-muted);padding:11px 16px;border-radius:999px;transition:color .3s,background .3s}
.hg .hg-chapters a span{font:600 11px/1 var(--hg-sans);color:var(--hg-gold);letter-spacing:.1em}
.hg .hg-chapters a:hover,.hg .hg-chapters a.is-active{color:var(--hg-fg);background:rgba(205,179,113,.12)}
.hg .hg-chapters a.is-active{box-shadow:inset 0 -2px 0 var(--hg-gold)}

/* Botones */
.hg .hg-btn{display:inline-flex;align-items:center;gap:12px;font:600 13px/1 var(--hg-sans);letter-spacing:.14em;text-transform:uppercase;padding:6px 6px 6px 22px;min-height:50px;border-radius:999px;cursor:pointer;border:0;text-decoration:none;transition:transform .35s var(--hg-ease),background .3s,opacity .3s}
.hg .hg-btn:active{transform:scale(.97)}
.hg .hg-btn__arrow{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;transition:transform .4s var(--hg-ease);flex:none}
.hg .hg-btn__arrow svg{width:16px;height:16px}
.hg .hg-btn:hover .hg-btn__arrow{transform:rotate(-45deg)}
.hg .hg-btn--gold{background:var(--hg-gold);color:var(--hg-ink)}
.hg .hg-btn--gold .hg-btn__arrow{background:var(--hg-ink);color:var(--hg-gold)}
.hg .hg-btn--gold:hover{background:var(--hg-champagne);color:var(--hg-ink)}
.hg .hg-btn--ghost{background:transparent;color:var(--hg-fg);box-shadow:inset 0 0 0 1px var(--hg-line);padding-right:22px}
.hg .hg-btn--ghost:hover{background:rgba(205,179,113,.08)}
.hg .hg-btn--sm{min-height:40px;padding:0 16px;font-size:11px}
.hg .hg-btn[disabled]{opacity:.4;pointer-events:none}

/* Chips */
.hg .hg-chips{display:flex;flex-wrap:wrap;gap:8px}
.hg .hg-chip{position:relative;display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--hg-sans);letter-spacing:.04em;padding:11px 15px;min-height:42px;border-radius:999px;border:0;background:rgba(253,245,229,.04);box-shadow:inset 0 0 0 1px var(--hg-line);color:var(--hg-muted);cursor:pointer;transition:background .3s,color .3s,box-shadow .3s,transform .3s var(--hg-spring);user-select:none}
.hg .hg-chip i{width:8px;height:8px;border-radius:50%;background:var(--chip,var(--hg-gold));box-shadow:0 0 0 3px color-mix(in srgb,var(--chip,var(--hg-gold)) 22%,transparent)}
.hg .hg-chip:hover{color:var(--hg-fg)}
.hg .hg-chip[aria-pressed="true"],.hg .hg-chip:has(input:checked){color:var(--hg-ink);background:var(--chip,var(--hg-gold));box-shadow:none}
.hg .hg-chip[aria-pressed="true"] i,.hg .hg-chip:has(input:checked) i{background:var(--hg-ink);box-shadow:none}
.hg .hg-chip:active{transform:scale(.95)}
.hg .hg-chip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.hg .hg-chip:has(input:focus-visible){outline:2px solid var(--hg-gold);outline-offset:3px}
.hg .hg-chips--lg .hg-chip{font-size:15px;padding:15px 20px;min-height:52px}
.hg .hg-chip--comer{--chip:var(--c-comer)}.hg .hg-chip--cafe{--chip:var(--c-cafe)}.hg .hg-chip--noche{--chip:var(--c-noche)}.hg .hg-chip--compras{--chip:var(--c-compras)}.hg .hg-chip--cultura{--chip:var(--c-cultura)}.hg .hg-chip--parques{--chip:var(--c-parques)}.hg .hg-chip--bienestar{--chip:var(--c-bienestar)}.hg .hg-chip--haven{--chip:var(--c-haven)}

/* Rango (deslizador) */
.hg input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:36px;background:transparent;cursor:pointer;margin:0;touch-action:pan-y}
.hg input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--hg-gold) var(--fill,50%),rgba(253,245,229,.14) var(--fill,50%))}
.hg input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:rgba(253,245,229,.14)}
.hg input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--hg-gold)}
.hg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;margin-top:-13px;background:var(--hg-champagne);border:6px solid var(--hg-gold);box-shadow:0 0 0 6px rgba(205,179,113,.18),0 6px 16px rgba(0,0,0,.5);transition:transform .25s var(--hg-spring)}
.hg input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--hg-champagne);border:6px solid var(--hg-gold);box-shadow:0 0 0 6px rgba(205,179,113,.18)}
.hg input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}

/* ============================== 01 MAPA ============================== */
.hg .hg-map__controls{display:grid;grid-template-columns:1fr minmax(260px,360px);gap:22px 40px;align-items:end;margin-bottom:22px}
.hg .hg-range label{display:block;font:600 11px/1 var(--hg-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hg-gold);margin-bottom:8px}
.hg .hg-range__row{display:flex;align-items:center;gap:16px}
.hg .hg-range__val{font:500 34px/1 var(--hg-serif);color:var(--hg-champagne);min-width:3.4em;text-align:right;font-variant-numeric:tabular-nums}
.hg .hg-map__count{margin:8px 0 0;color:var(--hg-muted);font-size:14px;min-height:1.5em}
.hg .hg-map__count b{color:var(--hg-fg);font-weight:600}
.hg .hg-map__stage{position:relative;height:min(76vh,720px);min-height:440px;border-radius:22px;overflow:hidden;background:radial-gradient(70% 70% at 50% 50%,#2a201b 0,#140f0d 100%);box-shadow:inset 0 0 0 1px var(--hg-line-2)}
.hg .hg-map__canvas{position:absolute;inset:0;cursor:grab;touch-action:pan-y;outline:none}
.hg .hg-map__canvas.is-dragging{cursor:grabbing}
.hg .hg-map__canvas svg{width:100%;height:100%;display:block;user-select:none}
.hg .hg-map__streets{position:absolute;inset:0;background:#111}
.hg .hg-map__streets .leaflet-container{background:#111;font-family:var(--hg-sans)}
.hg .hg-map__tools{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none;z-index:500}
.hg .hg-map__tools>*{pointer-events:auto}
.hg .hg-seg,.hg .hg-zoom{display:flex;padding:4px;border-radius:999px;background:rgba(25,19,17,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px var(--hg-line)}
.hg .hg-seg button{border:0;background:none;cursor:pointer;padding:9px 16px;border-radius:999px;font:600 11px/1 var(--hg-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--hg-muted);transition:.3s}
.hg .hg-seg button[aria-pressed="true"]{background:var(--hg-gold);color:var(--hg-ink)}
.hg .hg-zoom{flex-direction:column;border-radius:20px;gap:2px}
.hg .hg-zoom button{width:40px;height:40px;border:0;border-radius:14px;background:none;cursor:pointer;font:400 20px/1 var(--hg-sans);display:grid;place-items:center;color:var(--hg-champagne)}
.hg .hg-zoom button:hover{background:rgba(205,179,113,.14)}
.hg .hg-map__hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);margin:0;font:500 11px/1 var(--hg-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--hg-faint);pointer-events:none;white-space:nowrap;transition:opacity .6s;z-index:400}
.hg .hg-map__hint.is-alert{color:var(--hg-champagne);background:rgba(25,19,17,.85);padding:10px 14px;border-radius:999px}
.hg .hg-map.is-touched .hg-map__hint:not(.is-alert){opacity:0}

/* Pines SVG */
.hg .hg-ring{fill:none;stroke:rgba(205,179,113,.22);stroke-width:1;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}
.hg .hg-ring-label{font:600 10px var(--hg-sans);letter-spacing:.16em;fill:rgba(205,179,113,.55);text-transform:uppercase}
.hg .hg-live{fill:rgba(205,179,113,.07);stroke:var(--hg-gold);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:r .45s var(--hg-ease)}
.hg .hg-live-label{font:500 15px var(--hg-serif);font-style:italic;fill:var(--hg-champagne)}
.hg .hg-grid-line{stroke:rgba(253,245,229,.04);stroke-width:1;vector-effect:non-scaling-stroke}
.hg .hg-pin{cursor:pointer;transition:opacity .4s}
.hg .hg-pin circle.dot{fill:var(--pc);stroke:var(--hg-ink);stroke-width:2;vector-effect:non-scaling-stroke;transition:r .35s var(--hg-spring)}
.hg .hg-pin circle.halo{fill:var(--pc);opacity:0;transition:opacity .3s,r .35s}
.hg .hg-pin text{font:600 11px var(--hg-sans);fill:var(--hg-fg);paint-order:stroke;stroke:#140f0d;stroke-width:4px;stroke-linejoin:round;opacity:0;transition:opacity .3s;pointer-events:none}
.hg .hg-pin.is-out{opacity:.22}
.hg .hg-pin.is-hidden{display:none}
.hg .hg-pin:hover text,.hg .hg-pin.is-hot text,.hg .hg-pin.is-sel text,.hg .hg-map.is-zoomed .hg-pin:not(.is-out) text{opacity:1}
.hg .hg-pin:hover circle.halo,.hg .hg-pin.is-hot circle.halo,.hg .hg-pin.is-sel circle.halo{opacity:.25}
.hg .hg-pin.is-sel circle.dot{stroke:var(--hg-champagne)}
.hg .hg-hotel .core{fill:var(--hg-gold)}
.hg .hg-hotel .pulse{fill:none;stroke:var(--hg-gold);stroke-width:1.5;vector-effect:non-scaling-stroke;animation:hg-pulse 2.6s var(--hg-ease) infinite;transform-origin:center;transform-box:fill-box}
.hg .hg-hotel text{font:600 12px var(--hg-sans);letter-spacing:.2em;fill:var(--hg-gold)}
@keyframes hg-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.hg .hg-route{fill:none;stroke:var(--hg-champagne);stroke-width:2;stroke-dasharray:4 6;vector-effect:non-scaling-stroke;animation:hg-dash 1s linear infinite}
@keyframes hg-dash{to{stroke-dashoffset:-20}}
.hg .hg-landmark{font:italic 500 13px var(--hg-serif);fill:rgba(247,223,174,.42);pointer-events:none}
.hg .hg-north{font:600 10px var(--hg-sans);letter-spacing:.2em;fill:var(--hg-gold)}

/* Ficha del lugar */
.hg .hg-card{position:absolute;right:14px;bottom:14px;width:min(380px,calc(100% - 28px));max-height:calc(100% - 90px);overflow:auto;z-index:600;border-radius:22px;padding:22px;background:rgba(25,19,17,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px rgba(205,179,113,.25),0 30px 60px -20px rgba(0,0,0,.8);animation:hg-in .45s var(--hg-ease)}
@keyframes hg-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.hg .hg-card__img{margin:-22px -22px 18px;height:150px;background:var(--hg-espresso) center/cover no-repeat}
.hg .hg-card__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(25,19,17,.7);cursor:pointer;color:var(--hg-fg);display:grid;place-items:center;z-index:2}
.hg .hg-card__cat{font:600 11px/1 var(--hg-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--pc,var(--hg-gold));display:flex;gap:8px;align-items:center}
.hg .hg-card__cat::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.hg .hg-card h3{font:500 28px/1.05 var(--hg-serif);margin:10px 0 6px;color:var(--hg-fg)}
.hg .hg-card__zone{color:var(--hg-faint);font-size:13px;margin:0}
.hg .hg-card__stats{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0;border-block:1px solid var(--hg-line-2)}
.hg .hg-card__stats div{padding:12px 0;text-align:center}
.hg .hg-card__stats div+div{border-left:1px solid var(--hg-line-2)}
.hg .hg-card__stats b{display:block;font:500 24px/1 var(--hg-serif);color:var(--hg-champagne);font-variant-numeric:tabular-nums}
.hg .hg-card__stats span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--hg-faint)}
.hg .hg-card p.desc{color:var(--hg-muted);font-size:15px;margin:0 0 12px}
.hg .hg-card .tip{font-size:14px;color:var(--hg-cream);background:rgba(205,179,113,.08);border-left:2px solid var(--hg-gold);padding:10px 12px;border-radius:0 10px 10px 0;margin:0 0 16px}
.hg .hg-card .tip b{display:block;font:600 10px/1.4 var(--hg-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hg-gold)}
.hg .hg-card__actions{display:flex;flex-wrap:wrap;gap:8px}
.hg .hg-card__est{font-size:11px;color:var(--hg-faint);margin:10px 0 0}

/* Lista */
.hg .hg-map__list{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 28px;counter-reset:hg}
.hg .hg-item{border-top:1px solid var(--hg-line-2);transition:opacity .4s}
.hg .hg-item.is-out{opacity:.35}
.hg .hg-item.is-hidden{display:none}
.hg .hg-item__btn{display:flex;gap:12px;align-items:center;width:100%;border:0;background:none;padding:14px 0;cursor:pointer;text-align:left}
.hg .hg-item__dot{width:10px;height:10px;border-radius:50%;background:var(--pc,var(--hg-gold));flex:none}
.hg .hg-item__main{flex:1;min-width:0;display:grid}
.hg .hg-item__name{font:500 18px/1.2 var(--hg-serif);color:var(--hg-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg .hg-item__meta{font-size:12px;color:var(--hg-faint);letter-spacing:.04em}
.hg .hg-item__time{font:500 13px/1 var(--hg-sans);color:var(--hg-champagne);white-space:nowrap;font-variant-numeric:tabular-nums}
.hg .hg-item__desc,.hg .hg-item__route{display:none}
.hg-js .hg .hg-item__desc,.hg-js .hg .hg-item__route{display:none}
html:not(.hg-js) .hg .hg-item__desc{display:block;margin:0 0 6px 22px;color:var(--hg-muted);font-size:14px}
html:not(.hg-js) .hg .hg-item__route{display:inline-block;margin:0 0 14px 22px;font-size:13px;color:var(--hg-gold)}
.hg .hg-item.is-hot .hg-item__name{color:var(--hg-champagne)}
.hg [data-cat=comer]{--pc:var(--c-comer)}.hg [data-cat=cafe]{--pc:var(--c-cafe)}.hg [data-cat=noche]{--pc:var(--c-noche)}.hg [data-cat=compras]{--pc:var(--c-compras)}.hg [data-cat=cultura]{--pc:var(--c-cultura)}.hg [data-cat=parques]{--pc:var(--c-parques)}.hg [data-cat=bienestar]{--pc:var(--c-bienestar)}.hg [data-cat=salida]{--pc:var(--c-salida)}.hg [data-cat=haven]{--pc:var(--c-haven)}

/* ============================== 02 PLANIFICADOR ============================== */
.hg .hg-wizard{position:relative;max-width:900px}
.hg .hg-wizard__progress{height:2px;background:rgba(253,245,229,.1);border-radius:2px;margin-bottom:30px;overflow:hidden}
.hg .hg-wizard__progress span{display:block;height:100%;width:25%;background:var(--hg-gold);transition:width .6s var(--hg-ease);box-shadow:0 0 12px var(--hg-gold)}
.hg .hg-step{border:0;margin:0;padding:0;min-width:0}
.hg-js .hg .hg-step{display:none}
.hg-js .hg .hg-step.is-on{display:block;animation:hg-step .55s var(--hg-ease)}
.hg-js .hg .hg-step.is-back{animation-name:hg-step-back}
@keyframes hg-step{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes hg-step-back{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.hg .hg-step legend{font:500 clamp(28px,3.6vw,46px)/1.05 var(--hg-serif);color:var(--hg-fg);margin-bottom:26px;padding:0}
html:not(.hg-js) .hg .hg-step{margin-bottom:36px}
.hg .hg-stepper{display:flex;align-items:center;gap:clamp(18px,4vw,40px)}
.hg .hg-stepper__btn{width:72px;height:72px;border-radius:50%;border:0;background:rgba(205,179,113,.1);box-shadow:inset 0 0 0 1px var(--hg-line);color:var(--hg-gold);font:300 34px/1 var(--hg-sans);cursor:pointer;transition:transform .3s var(--hg-spring),background .3s}
.hg .hg-stepper__btn:hover{background:rgba(205,179,113,.2)}
.hg .hg-stepper__btn:active{transform:scale(.88)}
.hg .hg-stepper__val{font:400 clamp(110px,16vw,180px)/.85 var(--hg-serif);color:var(--hg-champagne);min-width:1.2ch;text-align:center;font-variant-numeric:tabular-nums}
.hg .hg-stepper__val b{font-weight:400;display:inline-block}
.hg .hg-stepper__val b.bump{animation:hg-bump .45s var(--hg-spring)}
@keyframes hg-bump{0%{transform:translateY(18px);opacity:.2}100%{transform:none;opacity:1}}
.hg .hg-daybar{display:flex;gap:6px;margin-top:22px;max-width:420px}
.hg .hg-daybar i{flex:1;height:6px;border-radius:6px;background:rgba(253,245,229,.1);transition:background .4s,transform .4s var(--hg-spring)}
.hg .hg-daybar i.on{background:var(--hg-gold);transform:scaleY(1.4)}
.hg .hg-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.hg .hg-tile{position:relative;display:grid;gap:14px;justify-items:start;padding:20px;border-radius:20px;background:rgba(253,245,229,.04);box-shadow:inset 0 0 0 1px var(--hg-line-2);cursor:pointer;transition:transform .35s var(--hg-spring),background .3s,box-shadow .3s;font:500 16px/1.2 var(--hg-sans)}
@media (hover:hover){.hg .hg-tile:hover{transform:translateY(-3px)}}
.hg .hg-tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.hg .hg-tile:has(input:checked){background:linear-gradient(140deg,rgba(205,179,113,.26),rgba(205,179,113,.08));box-shadow:inset 0 0 0 1.5px var(--hg-gold)}
.hg .hg-tile:has(input:focus-visible){outline:2px solid var(--hg-gold);outline-offset:3px}
.hg .hg-tile__ico{width:40px;height:40px;border-radius:50%;background:rgba(205,179,113,.14) center/22px no-repeat;color:var(--hg-gold)}
.hg .hg-pace{max-width:560px}
.hg .hg-pace__labels{display:flex;justify-content:space-between;margin-top:8px;font:500 13px/1 var(--hg-sans);color:var(--hg-faint)}
.hg .hg-pace__labels span.on{color:var(--hg-champagne)}
.hg .hg-dates{margin-top:34px;display:grid;gap:10px;max-width:360px}
.hg .hg-dates label{font:500 18px/1.3 var(--hg-serif);color:var(--hg-fg)}
.hg .hg-dates small{display:block;font:400 13px/1.4 var(--hg-sans);color:var(--hg-faint);margin-top:2px}
.hg input[type=date]{background:rgba(25,19,17,.6);border:0;box-shadow:inset 0 0 0 1px var(--hg-line);border-radius:14px;color:var(--hg-fg);font:500 16px/1 var(--hg-sans);padding:14px 16px;color-scheme:dark;min-height:50px}
.hg .hg-wizard__nav{display:flex;align-items:center;gap:12px;margin-top:40px;flex-wrap:wrap}
.hg .hg-wizard__count{margin-right:auto;color:var(--hg-faint);font-size:13px;letter-spacing:.1em;text-transform:uppercase;order:-1;flex-basis:100%}
html:not(.hg-js) .hg .hg-wizard__nav [data-nav]{display:none}

/* Resultado */
.hg .hg-result{margin-top:10px;animation:hg-in .6s var(--hg-ease)}
.hg .hg-summary{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 40px;padding-bottom:26px;border-bottom:1px solid var(--hg-line)}
.hg .hg-summary__nums{display:flex;gap:clamp(20px,4vw,48px)}
.hg .hg-summary__nums div b{display:block;font:400 clamp(42px,5vw,64px)/1 var(--hg-serif);color:var(--hg-champagne);font-variant-numeric:tabular-nums}
.hg .hg-summary__nums div span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--hg-faint)}
.hg .hg-days{display:grid;gap:18px;margin-top:26px}
.hg .hg-day{border-radius:22px;background:rgba(253,245,229,.03);box-shadow:inset 0 0 0 1px var(--hg-line-2);padding:clamp(18px,2.5vw,28px)}
.hg .hg-day__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.hg .hg-day__head h3{font:500 clamp(26px,3vw,38px)/1 var(--hg-serif);margin:0;color:var(--hg-fg)}
.hg .hg-day__head h3 small{font:500 12px/1 var(--hg-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--hg-gold);margin-left:12px;vertical-align:middle}
.hg .hg-day__meter{display:flex;gap:16px;font-size:13px;color:var(--hg-muted);font-variant-numeric:tabular-nums}
.hg .hg-day__meter b{color:var(--hg-champagne);font-weight:600}
.hg .hg-stops{list-style:none;margin:0;padding:0;position:relative;min-height:40px}
.hg .hg-stops::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:1px;background:linear-gradient(var(--hg-line),transparent)}
.hg .hg-stop{position:relative;display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:start;padding:12px 0;transition:transform .35s var(--hg-ease),opacity .3s;touch-action:pan-y}
.hg .hg-stop__node{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--hg-ink);box-shadow:inset 0 0 0 1.5px var(--pc,var(--hg-gold));color:var(--pc,var(--hg-gold));cursor:grab;touch-action:none;position:relative;z-index:1}
.hg .hg-stop__node svg{width:16px;height:16px}
.hg .hg-stop__body{min-width:0}
.hg .hg-stop__slot{font:600 10px/1 var(--hg-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--pc,var(--hg-gold))}
.hg .hg-stop__name{font:500 21px/1.2 var(--hg-serif);color:var(--hg-fg);margin:6px 0 4px;display:block;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.hg .hg-stop__name:hover{color:var(--hg-champagne)}
.hg .hg-stop__desc{font-size:14px;color:var(--hg-muted);margin:0}
.hg .hg-stop__leg{display:inline-flex;gap:6px;align-items:center;margin-top:8px;font-size:12px;color:var(--hg-faint);letter-spacing:.04em}
.hg .hg-stop__leg svg{width:14px;height:14px}
.hg .hg-stop__tools{display:flex;gap:4px}
.hg .hg-ibtn{width:38px;height:38px;border-radius:50%;border:0;background:rgba(253,245,229,.05);cursor:pointer;display:grid;place-items:center;color:var(--hg-muted);transition:background .3s,color .3s,transform .35s var(--hg-spring)}
.hg .hg-ibtn:hover{background:rgba(205,179,113,.16);color:var(--hg-champagne)}
.hg .hg-ibtn:active{transform:rotate(-90deg) scale(.9)}
.hg .hg-ibtn svg{width:16px;height:16px}
.hg .hg-stop.is-ghost{opacity:.25}
.hg .hg-stop.is-drag{position:fixed;z-index:9999;pointer-events:none;background:var(--hg-espresso);border-radius:18px;padding:12px 14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.9),inset 0 0 0 1px var(--hg-gold);transform:rotate(-1.5deg) scale(1.02)}
.hg .hg-stop.is-new{animation:hg-pop .6s var(--hg-spring)}
@keyframes hg-pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.hg .hg-day__add{margin-top:6px;border:0;background:none;color:var(--hg-gold);font:600 12px/1 var(--hg-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:12px 0 4px 54px}
.hg .hg-share{position:sticky;bottom:12px;z-index:20;margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border-radius:24px;background:rgba(25,19,17,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px var(--hg-line),0 20px 40px -20px rgba(0,0,0,.8)}
.hg .hg-share__book{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hg .hg-share input[type=date]{min-height:46px;padding:10px 12px;font-size:14px}
.hg-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:99999;background:var(--hg-gold);color:var(--hg-ink);font:600 13px/1 var(--hg-sans);letter-spacing:.1em;text-transform:uppercase;padding:14px 20px;border-radius:999px;animation:hg-in .4s var(--hg-ease);box-shadow:0 20px 40px -10px rgba(0,0,0,.6)}

/* ============================== 03 QUIZ ============================== */
.hg .hg-quiz__stage{position:relative;min-height:540px;perspective:1200px}
.hg .hg-quiz__intro{display:flex;align-items:center;gap:20px}
.hg .hg-q{position:relative;max-width:980px}
.hg .hg-q__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}
.hg .hg-q__dots{display:flex;gap:6px}
.hg .hg-q__dots i{width:26px;height:4px;border-radius:4px;background:rgba(253,245,229,.12);transition:background .4s,width .4s var(--hg-ease)}
.hg .hg-q__dots i.on{background:var(--hg-gold);width:40px}
.hg .hg-q__dots i.done{background:rgba(205,179,113,.5)}
.hg .hg-q h3{font:500 clamp(30px,4vw,54px)/1.04 var(--hg-serif);margin:0 0 8px;color:var(--hg-fg);text-wrap:balance}
.hg .hg-q__sub{color:var(--hg-faint);margin:0 0 26px;font-size:14px}
.hg .hg-q__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.hg .hg-opt{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--hg-espresso);isolation:isolate;text-align:left;transform-style:preserve-3d;transition:transform .5s var(--hg-ease),box-shadow .4s;box-shadow:0 30px 50px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(205,179,113,.16)}
.hg .hg-opt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--hg-ease),filter .5s}
.hg .hg-opt.noimg{background:linear-gradient(150deg,var(--hg-espresso-2),var(--hg-ink))}
.hg .hg-opt::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,19,17,.05) 30%,rgba(25,19,17,.9))}
.hg .hg-opt__ico{position:absolute;top:18px;left:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(25,19,17,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--hg-gold)}
.hg .hg-opt__ico svg{width:22px;height:22px}
.hg .hg-opt__txt{position:absolute;left:20px;right:20px;bottom:18px}
.hg .hg-opt__txt b{display:block;font:500 24px/1.1 var(--hg-serif);color:var(--hg-fg)}
.hg .hg-opt__txt span{display:block;font-size:13px;color:var(--hg-muted);margin-top:6px}
.hg .hg-opt__key{position:absolute;top:22px;right:20px;font:600 11px/1 var(--hg-sans);color:var(--hg-faint);letter-spacing:.1em}
.hg .hg-opt:hover img{transform:scale(1.07)}
.hg .hg-opt[aria-pressed="true"]{box-shadow:0 30px 50px -30px rgba(0,0,0,.9),inset 0 0 0 2px var(--hg-gold)}
.hg .hg-opt[aria-pressed="true"] .hg-opt__ico{background:var(--hg-gold);color:var(--hg-ink)}
.hg .hg-opt.is-picked{animation:hg-pick .5s var(--hg-spring)}
@keyframes hg-pick{50%{transform:scale(.96)}}
.hg .hg-q.is-leaving{animation:hg-leave .45s var(--hg-ease) forwards}
.hg .hg-q.is-entering{animation:hg-enter .55s var(--hg-ease)}
@keyframes hg-leave{to{opacity:0;transform:translateX(-80px) rotateY(12deg)}}
@keyframes hg-enter{from{opacity:0;transform:translateX(80px) rotateY(-12deg)}to{opacity:1;transform:none}}
.hg .hg-q__opts--compact .hg-opt{aspect-ratio:auto;min-height:120px}
.hg .hg-q__opts--compact .hg-opt__txt{position:relative;left:auto;right:auto;bottom:auto;padding:76px 18px 18px}
.hg .hg-q__big{display:flex;align-items:end;gap:20px;margin:6px 0 20px}
.hg .hg-q__big b{font:400 clamp(90px,12vw,150px)/.85 var(--hg-serif);color:var(--hg-champagne);font-variant-numeric:tabular-nums}
.hg .hg-q__big span{font:500 18px/1.3 var(--hg-serif);font-style:italic;color:var(--hg-muted);padding-bottom:12px;max-width:22ch}
.hg .hg-q__slider{max-width:640px}
.hg .hg-q__ticks{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--hg-faint)}
.hg .hg-glass{width:64px;height:110px;margin-left:auto}
.hg .hg-glass .liquid{transition:transform .6s var(--hg-spring)}
.hg .hg-q__next{margin-top:30px;display:flex;gap:10px;align-items:center}

/* Resultado del quiz */
.hg .hg-res{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,4vw,56px);align-items:center;animation:hg-in .7s var(--hg-ease)}
.hg .hg-res__card{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;background:var(--hg-espresso);transform-style:preserve-3d;transition:transform .5s var(--hg-ease);box-shadow:0 50px 80px -40px rgba(0,0,0,.95),inset 0 0 0 1px rgba(205,179,113,.3);touch-action:pan-y}
.hg .hg-res__card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,30%) var(--my,20%),rgba(255,255,255,.22),transparent 45%);mix-blend-mode:overlay}
.hg .hg-res__slides{position:absolute;inset:0;display:flex;transition:transform .6s var(--hg-ease)}
.hg .hg-res__slides img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.hg .hg-res__grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(25,19,17,.92));pointer-events:none}
.hg .hg-res__dots{position:absolute;top:16px;left:16px;right:16px;display:flex;gap:6px}
.hg .hg-res__dots button{flex:1;height:3px;border:0;padding:0;border-radius:3px;background:rgba(253,245,229,.3);cursor:pointer}
.hg .hg-res__dots button[aria-current="true"]{background:var(--hg-champagne)}
.hg .hg-res__name{position:absolute;left:24px;right:24px;bottom:22px}
.hg .hg-res__name small{font:600 11px/1 var(--hg-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--hg-gold)}
.hg .hg-res__name h3{font:500 clamp(32px,4vw,52px)/1 var(--hg-serif);margin:10px 0 0;color:var(--hg-fg)}
.hg .hg-match{display:flex;align-items:center;gap:18px}
.hg .hg-match svg{width:110px;height:110px;transform:rotate(-90deg)}
.hg .hg-match .track{fill:none;stroke:rgba(253,245,229,.1);stroke-width:6}
.hg .hg-match .bar{fill:none;stroke:var(--hg-gold);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1.6s var(--hg-ease);filter:drop-shadow(0 0 6px rgba(205,179,113,.6))}
.hg .hg-match b{font:400 54px/1 var(--hg-serif);color:var(--hg-champagne);font-variant-numeric:tabular-nums}
.hg .hg-match span{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--hg-faint)}
.hg .hg-res__desc{color:var(--hg-muted);margin:20px 0}
.hg .hg-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--hg-line);margin-bottom:22px}
.hg .hg-specs div{padding:13px 0;border-bottom:1px solid var(--hg-line);display:flex;gap:10px;align-items:center;font-size:15px}
.hg .hg-specs svg{width:18px;height:18px;color:var(--hg-gold);flex:none}
.hg .hg-res__actions{display:flex;flex-wrap:wrap;gap:10px}
.hg .hg-res__also{margin-top:28px;padding-top:20px;border-top:1px solid var(--hg-line-2);display:flex;gap:14px;align-items:center}
.hg .hg-res__also img{width:72px;height:72px;border-radius:14px;object-fit:cover;background:var(--hg-espresso)}
.hg .hg-res__also small{display:block;font:600 10px/1 var(--hg-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hg-gold)}
.hg .hg-res__also a{font:500 20px/1.2 var(--hg-serif);text-decoration:none;color:var(--hg-fg)}
.hg .hg-res__also em{font-style:normal;color:var(--hg-champagne);font-size:13px;margin-left:6px}
.hg .hg-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.hg .hg-confetti i{position:absolute;top:-10px;width:6px;height:12px;border-radius:2px;animation:hg-fall linear forwards}
@keyframes hg-fall{to{transform:translateY(720px) rotate(720deg);opacity:0}}

/* Lista SEO */
.hg .hg-seo-list{list-style:none;padding:0;margin:0;display:grid;gap:26px}
.hg .hg-seo-item{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.hg .hg-seo-item img{border-radius:14px;aspect-ratio:3/2;object-fit:cover;width:100%}
.hg .hg-seo-meta{font-size:13px;letter-spacing:.06em;opacity:.7;margin:4px 0 8px}
.hg .hg-seo-tip{font-size:14px;opacity:.85}

/* Responsive */
@container hg (max-width:900px){
  .hg .hg-map__controls{grid-template-columns:1fr}
  .hg .hg-res{grid-template-columns:1fr}
  .hg .hg-res__card{aspect-ratio:4/4.4}
}
@container hg (max-width:640px){
  section.hg{border-radius:20px}
  .hg .hg-head,.hg .hg-map__controls,.hg .hg-wizard,.hg .hg-result,.hg .hg-quiz__stage{padding-inline:0}
  .hg .hg-map__stage{height:68vh;min-height:420px;border-radius:18px;margin-inline:-6px}
  .hg .hg-card{left:10px;right:10px;width:auto;bottom:10px;max-height:62%}
  .hg .hg-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:2px 16px 6px;scrollbar-width:none}
  .hg .hg-chips::-webkit-scrollbar{display:none}
  .hg .hg-chips--lg{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
  .hg .hg-stepper__btn{width:60px;height:60px}
  .hg .hg-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hg .hg-stop{grid-template-columns:40px 1fr}
  .hg .hg-stop__tools{grid-column:2;justify-content:flex-start}
  .hg .hg-share{border-radius:20px}
  .hg .hg-share__book{margin-left:0;width:100%}
  .hg .hg-share__book .hg-btn{flex:1;justify-content:space-between}
  .hg .hg-q__opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hg .hg-opt{aspect-ratio:3/4}
  .hg .hg-opt__txt b{font-size:19px}
  .hg .hg-opt__txt span{display:none}
  .hg .hg-specs{grid-template-columns:1fr}
  .hg .hg-seo-item{grid-template-columns:1fr}
  .hg .hg-glass{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hg *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

@media (max-width:640px){section.hg{border-radius:20px;padding:30px 16px}}
.hg .hg-more{margin-top:18px;border:0;background:none;color:var(--hg-gold);font:600 12px/1 var(--hg-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:12px 0}
.hg .hg-item.is-more{display:none}
.hg .hg-map__list.is-open .hg-item.is-more:not(.is-hidden){display:block}

.hg-ghost{position:fixed;inset:0;pointer-events:none;z-index:9999;background:none!important;padding:0!important;border-radius:0!important;overflow:visible}
.hg-ghost::before{display:none}

/* el índice de capítulos queda pegado debajo del menú del sitio al bajar */
.hg .hg-chapters{top:88px}
@media (max-width:820px){.hg .hg-chapters{top:84px}}
@media (max-width:820px){
  .hg .hg-chapters{padding:0 12px}
  .hg .hg-chapters ol{width:100%;overflow:visible;gap:2px;padding:4px}
  .hg .hg-chapters li{flex:1 1 0;min-width:0}
  .hg .hg-chapters a{flex-direction:column;gap:4px;justify-content:center;white-space:normal;text-align:center;padding:9px 6px;font-size:11.5px;line-height:1.2;letter-spacing:0;border-radius:22px;height:100%}
  .hg .hg-chapters a span{font-size:10px}
}
/* mapa de calles: teselas de OpenStreetMap oscurecidas con la paleta Haven */
.hg .hg-map__streets .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) sepia(.35) saturate(.7)}
.hg .hg-map__streets .leaflet-container{background:#191311}
/* índice de la guía más grande: se lee que son 3 herramientas */
@media (min-width:821px){
  .hg .hg-chapters ol{padding:8px;gap:6px;background:rgba(25,19,17,.86)}
  .hg .hg-chapters a{padding:16px 26px;font-size:16px;gap:12px;letter-spacing:.02em}
  .hg .hg-chapters a span{font:500 22px/1 var(--hg-serif,'Playfair Display',serif);letter-spacing:0;color:var(--hg-gold)}
}
.page-guia .ph-media img{opacity:.62;filter:saturate(.85) contrast(1.05)}
.page-guia .ph-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,19,17,.35),rgba(25,19,17,.15) 40%,rgba(25,19,17,.92))}
