@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";
:root{--color-primary:#1b6b5a;--color-primary-light:#237a67;--color-primary-dark:#145546;--color-secondary:#e8a838;--color-secondary-light:#f0bd5e;--color-secondary-dark:#d49520;--color-accent:#2b8f7a;--color-neutral-900:#1a2332;--color-neutral-800:#2d3748;--color-neutral-700:#4a5568;--color-neutral-600:#718096;--color-neutral-500:#a0aec0;--color-neutral-400:#cbd5e0;--color-neutral-300:#e2e8f0;--color-neutral-200:#edf2f7;--color-neutral-100:#f7faf8;--color-background:#fafdf9;--color-surface:#fff;--color-text:var(--color-neutral-900);--color-text-muted:var(--color-neutral-600);--color-error:#dc3545;--color-success:#28a745;--color-warning:#ffc107;--font-family-heading:"Outfit", sans-serif;--font-family-body:"Inter", sans-serif;--font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #1a23320f;--shadow-md:0 4px 6px #1a233214;--shadow-lg:0 10px 24px #1a23321f;--shadow-xl:0 20px 40px #1a233229;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--z-dropdown:50;--z-sticky:100;--z-modal:1000;--z-tooltip:1500;--container-max:1280px;--container-padding:1.5rem}[data-theme=dark]{--color-primary:#2b9f85;--color-primary-light:#3aae94;--color-primary-dark:#1e8a72;--color-secondary:#e8a838;--color-secondary-light:#f0c96e;--color-secondary-dark:#d49520;--color-accent:#34b89a;--color-neutral-900:#e8ece9;--color-neutral-800:#cdd5cf;--color-neutral-700:#9aaba2;--color-neutral-600:#6b7f75;--color-neutral-500:#4d6058;--color-neutral-400:#3a4e45;--color-neutral-300:#2d4038;--color-neutral-200:#243830;--color-neutral-100:#1a2b25;--color-background:#0f1a17;--color-surface:#1a2b25;--color-text:#e8ece9;--color-text-muted:#6b7f75;--color-error:#f87171;--color-success:#4ade80;--color-warning:#fbbf24;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 8px #00000073;--shadow-lg:0 10px 28px #0000008c;--shadow-xl:0 20px 48px #000000a6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-family-body);font-size:var(--font-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-4xl)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-base)}p{margin-bottom:var(--space-4)}strong{font-weight:600}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-primary);color:var(--color-surface)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-padding);margin-inline:auto}.skip-link{top:-100%;left:var(--space-4);z-index:var(--z-tooltip);padding:var(--space-2) var(--space-4);background-color:var(--color-primary);color:var(--color-surface);border-radius:var(--radius-md);transition:top var(--transition-fast);font-weight:600;position:absolute}.skip-link:focus{top:var(--space-4);color:var(--color-surface)}.whatsapp-fab{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-sticky);border-radius:var(--radius-full);width:60px;height:60px;box-shadow:var(--shadow-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast);background-color:#25d366;justify-content:center;align-items:center;display:flex;position:fixed}.whatsapp-fab:hover{box-shadow:var(--shadow-xl);color:#fff;transform:scale(1.1)}.whatsapp-fab svg{fill:#fff;width:32px;height:32px}.cmp-pin{color:#fff;border:2px solid #fff;border-radius:50% 50% 50% 4px;place-items:center;width:32px;height:32px;display:grid;transform:rotate(45deg);box-shadow:0 3px 8px #00000059}.cmp-pin svg{width:16px;height:16px;transform:rotate(-45deg)}.leaflet-popup-content-wrapper{border-radius:12px;padding:0;overflow:hidden;box-shadow:0 6px 22px #00000038}.leaflet-popup-content{width:212px!important;margin:0!important}.leaflet-popup-content .cmp-name{margin:0 0 4px}.leaflet-popup-content .cmp-barrio{margin:0 0 8px}.leaflet-popup-content .cmp-rating{margin:0 0 10px}.cmp-photo{place-items:center;height:122px;display:grid}.cmp-photo img{object-fit:cover;width:100%;height:100%;display:block}.cmp-photo-empty{color:#fff;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%)}.cmp-photo-empty svg{opacity:.85;width:30px;height:30px}.cmp-body{padding:9px 11px 11px}.cmp-name{color:var(--color-text);margin:0 0 3px;font-size:13.5px;font-weight:700;line-height:1.25}.cmp-barrio{color:var(--color-text-muted);margin:0 0 6px;font-size:11.5px}.cmp-rating{color:var(--color-secondary-dark);margin:0 0 8px;font-size:12px;font-weight:700}.cmp-btn{text-align:center;background:var(--color-primary);color:#fff;border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:600;text-decoration:none;display:block}.cmp-btn:hover{background:var(--color-primary-dark)}
