:root{
  --ink:#111827; --paper:#fff; --muted:#667085; --soft:#f3f6fb; --blue:#0088ff; --pink:#ec4899; --green:#10b981; --yellow:#fbbf24; --line:#111827;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--soft);color:var(--ink);overflow:hidden}
#mapa-principal{position:fixed;inset:0;background:#dbeafe;z-index:1}#no-map{position:fixed;inset:0;z-index:2;background:#eef6ff;overflow:auto}.pointer-auto{pointer-events:auto}.fw-black{font-weight:900;letter-spacing:-.03em}
.top-shell{position:fixed;top:16px;left:16px;right:16px;z-index:10;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;pointer-events:none}.brand-card{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.95);border:3px solid var(--line);border-radius:18px;padding:10px 14px}.brand-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--yellow);border:2px solid var(--line);border-radius:12px;font-size:24px}.brand-title{font-weight:900;text-transform:uppercase;line-height:1}.brand-subtitle{font-size:12px;color:var(--muted);font-weight:700}.shadow-turbo{box-shadow:5px 5px 0 var(--line)}
.action-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn-turbo{border:2px solid var(--line)!important;background:#fff;font-weight:900;border-radius:12px;box-shadow:3px 3px 0 var(--line);text-transform:uppercase;font-size:.82rem}.btn-turbo:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--line)}
.bottom-toolbar{position:fixed;right:16px;bottom:18px;z-index:10;display:grid;gap:10px}.round-action{width:50px;height:50px;border-radius:50%;border:3px solid var(--line);background:#fff;box-shadow:4px 4px 0 var(--line);font-size:20px}.category-dock{position:fixed;left:16px;bottom:18px;z-index:10;display:flex;gap:8px;max-width:calc(100vw - 92px);overflow:auto;padding-bottom:4px}.cat-pill{border:2px solid var(--line);border-radius:999px;background:#fff;font-weight:900;padding:8px 12px;white-space:nowrap;box-shadow:2px 2px 0 var(--line);font-size:.8rem}.cat-pill.active{background:var(--ink);color:#fff}.info-sheet{height:min(78vh,720px)!important;border-radius:28px 28px 0 0;border-top:4px solid var(--line)}.detail-img{width:100%;height:310px;object-fit:cover;border-radius:20px;border:3px solid var(--line)}.leadish{font-size:1.05rem;color:#344054}.eyebrow{text-transform:uppercase;color:var(--pink);font-weight:900;font-size:.76rem;letter-spacing:.12em}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.meta-chip{border:2px solid #e5e7eb;border-radius:12px;padding:8px 10px;font-weight:700;background:#fafafa}.review-card{background:#fff7ed;border-left:4px solid var(--yellow);border-radius:12px;padding:10px;margin-bottom:8px}.review-form{display:flex;gap:8px}.review-form input{max-width:360px}.card-list{display:grid;gap:12px}.content-card{border:2px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:3px 3px 0 var(--line);cursor:pointer}.content-card img{width:100%;height:160px;object-fit:cover}.content-card .p{padding:14px}.content-card h6{font-weight:900;margin-bottom:4px}.content-card p{color:var(--muted);font-size:.92rem;margin-bottom:0}.mini-card-list{display:grid;gap:8px}.mini-note{border:1px solid #e5e7eb;border-radius:12px;padding:9px;background:#f9fafb;cursor:pointer}.nota-hero{width:100%;height:min(420px,45vh);object-fit:cover}.article-content{font-size:1.08rem;line-height:1.75}.article-content img{max-width:100%;height:auto;border-radius:16px;margin:12px 0}.article-content h1,.article-content h2,.article-content h3{font-weight:900;letter-spacing:-.03em;margin-top:1.4em}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.gallery-grid img{width:100%;height:150px;object-fit:cover;border-radius:14px;border:2px solid var(--line)}.empty-state{max-width:720px;background:#fff;border:3px solid var(--line);border-radius:22px;box-shadow:6px 6px 0 var(--line);margin-top:12vh;padding:32px}.gm-style-cc,.gmnoprint{display:none!important}
@media(max-width:768px){.top-shell{display:grid;grid-template-columns:1fr;left:10px;right:10px;top:10px}.brand-card{width:100%}.action-row{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.btn-turbo{font-size:.75rem;white-space:nowrap}.category-dock{left:10px;bottom:10px;max-width:calc(100vw - 78px)}.bottom-toolbar{right:10px;bottom:10px}.info-sheet{height:82vh!important}.detail-img{height:210px}.review-form{display:grid}.review-form input{max-width:none}}

/* Hotfix Leaflet/OpenStreetMap */
.leaflet-container{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#dbeafe;z-index:1}
.leaflet-control-container{font-family:inherit}.leaflet-top,.leaflet-bottom{z-index:9}.leaflet-control-attribution{font-size:10px}
.turismo-leaflet-pin-wrap{background:transparent;border:0}.turismo-leaflet-pin{width:42px;height:42px;background:var(--pin,#0088ff);border:3px solid #111827;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:4px 4px 0 rgba(17,24,39,.95);display:grid;place-items:center}.turismo-leaflet-pin span{transform:rotate(45deg);display:grid;place-items:center;width:26px;height:26px;background:#fff;border:2px solid #111827;border-radius:50%;font-size:15px;line-height:1}.turismo-user-dot-wrap{background:transparent}.turismo-user-dot{width:22px;height:22px;border-radius:50%;background:#2563eb;border:4px solid #fff;box-shadow:0 0 0 3px #111827,0 0 18px rgba(37,99,235,.7)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(17,24,39,.18)}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#fff;border:3px solid #111827;color:#111827;font-weight:900;box-shadow:3px 3px 0 #111827}

/* Hotfix definitivo: capas y clics de interfaz sobre Leaflet */
#mapa-principal{z-index:0!important}
#no-map{z-index:20!important}
.leaflet-container{z-index:0!important}
.leaflet-control-container,.leaflet-top,.leaflet-bottom{z-index:25!important}
.top-shell{z-index:1100!important;pointer-events:none!important}
.top-shell .brand-card,
.top-shell .action-row,
.top-shell .action-row *,
.top-shell a,
.top-shell button{pointer-events:auto!important;position:relative;z-index:1102!important}
.bottom-toolbar{z-index:1095!important;pointer-events:auto!important}
.bottom-toolbar *{pointer-events:auto!important}
.category-dock{z-index:1095!important;pointer-events:auto!important}
.category-dock *{pointer-events:auto!important}
.offcanvas{z-index:1200!important}
.offcanvas-backdrop{z-index:1190!important}
.modal{z-index:1300!important}
.modal-backdrop{z-index:1290!important}
.info-sheet{z-index:1210!important}
.btn,.round-action,.cat-pill,.content-card,.mini-note{touch-action:manipulation}
.content-card,.content-card *,.mini-note,.mini-note *{pointer-events:auto}
body.ui-panel-open .top-shell,
body.ui-panel-open .bottom-toolbar,
body.ui-panel-open .category-dock{pointer-events:none!important}
body.ui-panel-open .offcanvas,
body.ui-panel-open .offcanvas *{pointer-events:auto!important}

@media(max-width:768px){
  .top-shell{z-index:1100!important}
  .action-row{scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .action-row::-webkit-scrollbar{display:none}
  .offcanvas.offcanvas-end{width:min(92vw,420px)!important}
}
