:root{ --brand-1:#B67363; --brand-2:#655051; --brand-3:#F8EEBC; --brand-4:#FFFCEF; --text:#2b2b2b; }
.tdf-mapa-wrap{ background:var(--brand-4); }
.tdf-topbar{ display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; padding:.75rem 1rem; background:var(--brand-4); border-bottom:2px solid var(--brand-1); position:relative; z-index:1; }
.tdf-topbar h2{ margin:0; font-size:1rem; font-weight:700; color:var(--brand-2); letter-spacing:.3px; font-family:'Sink',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.tdf-legend{ display:inline-flex; align-items:center; gap:.5rem; font-size:.95rem; color:var(--brand-2); }
.tdf-badge{ display:inline-flex; align-items:center; justify-content:center; border-radius:999px; width:24px; height:24px; border:1.5px solid var(--brand-1); background:var(--brand-3); }
.tdf-controls{ margin-left:auto; display:flex; gap:.75rem; align-items:center; }
.tdf-controls label{ color:var(--brand-2); font-weight:600; }
.tdf-controls input[type=checkbox]{ accent-color:var(--brand-1); }
.tdf-controls button{ background:var(--brand-1); color:#fff; border:1px solid var(--brand-1); border-radius:999px; padding:.45rem .85rem; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.12); font-weight:700; letter-spacing:.2px; }
.tdf-controls button:hover{ background:var(--brand-2); border-color:var(--brand-2); }
.tdf-map{ width:100%; height:80vh; }
.leaflet-control-attribution{ font-size:11px; color:var(--brand-2); }
.leaflet-bar a, .leaflet-bar a:hover{ background:var(--brand-4); color:var(--brand-2); border:1px solid var(--brand-1); }
.leaflet-bar a:hover{ filter:brightness(.96); }
.emoji-marker{ background:transparent; border:none; }
.emoji-marker .pin{ font-size:20px; line-height:24px; width:28px; height:28px; display:flex; align-items:center; justify-content:center; background:#fff; border:2px solid var(--brand-1); border-radius:14px; box-shadow:0 2px 6px rgba(0,0,0,.15); transform:translateY(-6px); }
.leaflet-popup-content-wrapper{ border:2px solid var(--brand-1); border-radius:14px; }
.leaflet-popup-tip{ background:#fff; border:2px solid var(--brand-1); }
.popup h3{ margin:0 0 .25rem 0; font-size:1rem; color:var(--brand-2); }
.popup .muted{ color:#5c5c5c; font-size:.9rem; }
.popup a{ color:var(--brand-1); text-decoration:none; font-weight:600; }
.popup a:hover{ text-decoration:underline; }
.marker-cluster-small{ background:rgba(182,115,99,.12); }
.marker-cluster-small div{ background:var(--brand-1); color:#fff; border:2px solid #fff; }
.marker-cluster-medium{ background:rgba(101,80,81,.12); }
.marker-cluster-medium div{ background:var(--brand-2); color:#fff; border:2px solid #fff; }
.marker-cluster-large{ background:rgba(248,238,188,.35); }
.marker-cluster-large div{ background:var(--brand-3); color:#2b2b2b; border:2px solid var(--brand-2); }
