:root{--primary-color:#0056b3;--primary-light:#1976d2;--primary-dark:#003d82;--primary-gradient:linear-gradient(135deg, #0056b3 0%, #1976d2 100%);--accent-color:#00acc1;--accent-light:#4dd0e1;--success-color:#4caf50;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#7a8699;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#e2e8f0;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 6px 18px #0f172a1a;--shadow-lg:0 14px 30px #0f172a1f;--shadow-xl:0 24px 48px #0f172a29;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}html,body{height:100%}body{min-height:100vh;color:var(--text-primary);background-color:var(--bg-primary);flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6;display:flex}main{flex:1 0 auto}footer{margin-top:auto;position:relative;background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 100%)!important}footer:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-color) 50%, transparent 100%);height:1px;position:absolute;top:0;left:0;right:0}footer p{font-weight:400;color:#fffc!important}footer a{color:#ffffffe6}footer a:hover{color:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:var(--text-primary);margin-bottom:.75rem;font-family:Poppins,sans-serif;font-weight:600;line-height:1.3}h1,.h1{font-size:2.5rem;font-weight:700}.display-4{background:linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Poppins,sans-serif;font-size:3rem;font-weight:800;line-height:1.2}.lead{color:var(--text-secondary);font-size:1.125rem;font-weight:400;line-height:1.7}.site-logo{align-items:center;gap:.85rem;margin-bottom:2rem;display:inline-flex;transform:translateY(-.75rem)}.site-logo__mark{filter:drop-shadow(0 8px 16px #0056b32e);flex:none;width:3.25rem;height:3.25rem}.site-logo__parcel{fill:#0056b314;stroke:var(--primary-color);stroke-width:2.4px;stroke-linejoin:round}.site-logo__grid{fill:none;stroke:var(--primary-light);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;opacity:.65}.site-logo__pin{fill:var(--accent-color);stroke:#fff;stroke-linejoin:round;stroke-width:2px}.site-logo__pin-dot{fill:#fff}.site-logo__text{color:var(--primary-dark);white-space:nowrap;font-family:Poppins,sans-serif;font-size:1.3rem;line-height:1}.site-logo__text-strong{font-weight:800}.site-logo__text-light{font-weight:500}a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .2s}a:hover{color:var(--primary-light);text-decoration:none}.small{font-size:.875rem;line-height:1.5}.trust-note{max-width:36rem;color:var(--text-muted);align-items:center;font-size:.82rem;line-height:1.45;display:inline-flex}.trust-note:before{content:"";background:var(--primary-color);border-radius:999px;flex:none;width:.45rem;height:.45rem;margin-right:.5rem;box-shadow:0 0 0 4px #0056b31f}.leaflet-tooltip.parcel-building-tooltip{color:#222;text-align:center;white-space:nowrap;border:1px solid #0003;border-radius:3px;padding:.25rem .45rem;font-size:.72rem;font-weight:600;line-height:1.2;box-shadow:0 1px 3px #00000059}.parcel-building-tooltip__content,.parcel-building-tooltip__title,.parcel-building-tooltip__location{display:block}.parcel-building-tooltip__title{font-weight:700}.hero,.bg-light{background-image:radial-gradient(1200px 600px at 20% -10%,#0056b31f,#0000),linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)!important}.hero{align-items:center;min-height:calc(100vh - 78px);display:flex}.legal-page{background-image:radial-gradient(1200px 600px at 20% -10%,#0056b31f,#0000),linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.legal-hero{min-height:calc(100vh - 78px);padding:4rem 0}.legal-shell{border-radius:var(--radius-lg);max-width:900px;box-shadow:var(--shadow-lg);background:#ffffffe6;border:1px solid #0056b31f;margin:1rem auto 0;padding:clamp(1.5rem,4vw,3rem)}.legal-shell h1{color:var(--primary-color);margin-bottom:.5rem}.legal-shell h2{margin-top:2rem;font-size:1.2rem}.legal-shell p,.legal-shell li{color:var(--text-secondary)}.legal-shell ul{padding-left:1.25rem}.seo-content{color:var(--text-secondary)}.seo-content__inner{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffc7;border:1px solid #0056b31a;padding:clamp(1.5rem,4vw,2.5rem)}.seo-content h2{color:var(--primary-color);font-size:clamp(1.6rem,3vw,2.1rem)}.seo-content h3{color:var(--text-primary);font-size:1.05rem}.seo-content__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.seo-content__grid>div{border-top:2px solid #0056b324;padding-top:1rem}.seo-faq{margin-top:1.75rem}.seo-faq details{border-top:1px solid var(--border-color);padding:.9rem 0}.seo-faq summary{color:var(--text-primary);cursor:pointer;font-weight:700}.seo-faq p{margin:.6rem 0 0}.legal-kicker{text-transform:uppercase;margin-bottom:.25rem;font-size:.8rem;font-weight:700;color:var(--accent-color)!important}.legal-updated{color:var(--text-muted)!important}.legal-back{align-items:center;margin-left:max(0px,50% - 450px);display:inline-flex}.bg-primary{background:var(--primary-gradient)!important}.text-primary{color:var(--primary-color)!important}.text-dark{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.search-panel{z-index:2000;box-shadow:none;background:0 0;border:0;border-radius:0;position:relative;padding:0!important}body.catastro-map-fullscreen .search-panel{z-index:100000;width:min(640px,100vw - 2rem);position:fixed;top:4rem;left:50%;transform:translate(-50%)}.search-input-wrapper{position:relative}.search-input-wrapper #buscar,.search-input-wrapper .autocomplete{padding-right:2.75rem}.search-input-wrapper.is-searching #buscar,.search-input-wrapper.is-searching .autocomplete{padding-right:5rem}.form-control{border:2px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary-color);background-color:var(--bg-primary);box-shadow:0 0 0 3px #0056b31a}.form-control::placeholder{color:var(--text-muted)}#buscar::-webkit-search-cancel-button{appearance:none}#buscar::-webkit-search-decoration{appearance:none}#buscar[type=search]{appearance:none}#buscar.has-value,.autocomplete.has-value{box-shadow:0 0 0 2px #0056b326;border-color:var(--primary-color)!important}#search-help{color:var(--text-muted)}.btn-search-clear{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s,background-color .2s,box-shadow .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.btn-search-clear:hover{color:var(--primary-color);background-color:#0056b314}.btn-search-clear:focus{outline:none;box-shadow:0 0 0 2px #0056b340}.btn-search-clear.d-none{display:none!important}.btn-search-clear:not(.d-none){display:flex!important}.btn-search-clear svg{width:1.125rem;height:1.125rem}.progress{border-radius:var(--radius-md);background-color:#0056b31a;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--primary-color) 0%, var(--accent-color) 100%)}.shadow{border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:transform .25s,box-shadow .25s;box-shadow:var(--shadow-lg)!important}.shadow:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)!important}.card{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.border-dark{border-color:var(--primary-color)!important;border-width:3px!important}.rounded-2{border-radius:var(--radius-lg)!important}#map-shell{z-index:1;position:relative}.map-fullscreen-notice{z-index:100001;border-radius:var(--radius-md);width:min(560px,100% - 2rem);box-shadow:var(--shadow-xl);background:#fffffff5;border:1px solid #0056b32e;align-items:center;gap:1rem;padding:.875rem 1rem;display:none;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.map-fullscreen-notice.is-visible{display:flex}.map-fullscreen-notice__text{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.4}.map-fullscreen-notice__button{border-radius:var(--radius-md);background:var(--primary-gradient);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:0;flex:none;padding:.5rem .875rem;font-weight:700;line-height:1}.map-fullscreen-notice__button:hover,.map-fullscreen-notice__button:focus{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 100%)}#map{border-radius:var(--radius-md);width:100%;height:clamp(380px,58vh,680px);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}#map,#map .leaflet-container{cursor:grab}#map.map-click-target-active,#map.map-click-target-active .leaflet-container{cursor:crosshair}#map .leaflet-dragging,#map .leaflet-dragging .leaflet-container{cursor:grabbing}#map .leaflet-control,#map .leaflet-control *,#map .leaflet-marker-icon,#map .leaflet-popup,#map .leaflet-popup *{cursor:auto}.leaflet-control-locate__button{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;padding:0;display:flex}.leaflet-control-locate__button:hover,.leaflet-control-locate__button:focus{color:var(--primary-color);background:#f4f8ff}.leaflet-control-locate__button:disabled{cursor:wait;opacity:.7}.leaflet-control-locate__button svg{width:1rem;height:1rem}.leaflet-control-locate__button.is-loading svg{animation:.9s linear infinite locate-spin}@keyframes locate-spin{to{transform:rotate(360deg)}}.dropdown-menu{z-index:3000;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);padding:.5rem 0}.dropdown-item{color:var(--text-primary);padding:.5rem 1rem;font-weight:400;transition:background-color .2s,color .2s}.dropdown-item:hover{color:var(--primary-color);background-color:#0056b31a}.inmueble-card-highlighted{border:1px solid var(--primary-color);box-shadow:0 0 0 3px #0066cc24, var(--shadow-md);background:linear-gradient(135deg,#0066cc0f,#00aacc0d);position:relative;transform:translateY(-1px)}.inmueble-card-highlighted>.card-header{border-bottom-color:#0056b347;background:linear-gradient(135deg,#0066cc2e,#00aacc29)!important}.inmueble-card-highlighted .badge.bg-primary{box-shadow:0 2px 6px #0056b340;background:var(--primary-gradient)!important}.btn-copy-ref{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.btn-copy-ref:hover{background:var(--bg-tertiary);color:var(--primary-color);border-color:var(--primary-color)}.btn-copy-ref.copied{color:var(--success-color);border-color:var(--success-color)}.btn-copy-ref svg{flex-shrink:0;width:.875rem;height:.875rem}.search-status{width:1.5rem;height:1.5rem;color:var(--primary-color);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:2.65rem;transform:translateY(-50%)}.search-feedback{color:#315574;min-height:1.4em}.autocomplete-menu .dropdown-item{white-space:normal;padding:.65rem .85rem}.suggestion-address,.suggestion-detail{display:block}.suggestion-address{font-weight:600}.suggestion-detail{opacity:.85;font-size:.8rem}.building-filter{flex:7rem;min-width:7rem;font-size:.875rem}.building-filters{border:1px solid #d5e1ec;border-radius:.5rem;padding:1rem}.inmueble-card[hidden]{display:none!important}#infocatastro h2{scroll-margin-top:1rem}@media (width<=768px){#map{height:320px!important}body.catastro-map-fullscreen #map{height:100%!important}}@media (prefers-reduced-motion:reduce){.search-status__spinner{animation:none}}.search-status.d-none{display:none!important}.search-status__spinner{border:3px solid #0056b333;border-top-color:var(--primary-color);border-radius:999px;width:1.25rem;height:1.25rem;animation:.8s linear infinite search-spin;box-shadow:0 0 0 3px #0056b314}@keyframes search-spin{to{transform:rotate(360deg)}}@media (width<=768px){.display-4{font-size:2.25rem}h1,.h1{font-size:2rem}.lead{font-size:1rem}.hero{min-height:auto}.map-fullscreen-notice{flex-direction:column;align-items:stretch;bottom:1rem}.map-fullscreen-notice__button{width:100%}.seo-content__grid{grid-template-columns:1fr}}.fullscreen-icon{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2026%2052'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20.6%2036.7H16a.9.9%200%200%201-.8-.8v-4.5c0-.2.2-.4.4-.4h1.4c.3%200%20.5.2.5.4v3h3c.2%200%20.4.2.4.5v1.4c0%20.2-.2.4-.4.4zm-9.9-.8v-4.5c0-.2-.2-.4-.4-.4H8.9c-.3%200-.5.2-.5.4v3h-3c-.2%200-.4.2-.4.5v1.4c0%20.2.2.4.4.4H10c.4%200%20.8-.4.8-.8zm0%2010.7V42c0-.4-.4-.8-.8-.8H5.4c-.2%200-.4.2-.4.4v1.4c0%20.3.2.5.4.5h3v3c0%20.2.2.4.5.4h1.4c.2%200%20.4-.2.4-.4zm6.9%200v-3h3c.2%200%20.4-.2.4-.5v-1.4c0-.2-.2-.4-.4-.4H16c-.4%200-.8.4-.8.8v4.5c0%20.2.2.4.4.4h1.4c.3%200%20.5-.2.5-.4zM5%2010.3V5.9c0-.5.4-.9.9-.9h4.4c.2%200%20.4.2.4.4V7c0%20.2-.2.4-.4.4h-3v3c0%20.2-.2.4-.4.4H5.4a.4.4%200%200%201-.4-.4zm10.3-4.9V7c0%20.2.2.4.4.4h3v3c0%20.2.2.4.4.4h1.5c.2%200%20.4-.2.4-.4V5.9c0-.5-.4-.9-.9-.9h-4.4c-.2%200-.4.2-.4.4zm5.3%209.9H19c-.2%200-.4.2-.4.4v3h-3c-.2%200-.4.2-.4.4v1.5c0%20.2.2.4.4.4h4.4c.5%200%20.9-.4.9-.9v-4.4c0-.2-.2-.4-.4-.4zm-9.9%205.3V19c0-.2-.2-.4-.4-.4h-3v-3c0-.2-.2-.4-.4-.4H5.4c-.2%200-.4.2-.4.4v4.4c0%20.5.4.9.9.9h4.4c.2%200%20.4-.2.4-.4z'%20fill='currentColor'/%3e%3c/svg%3e");background-size:26px 52px}.fullscreen-icon.leaflet-fullscreen-on{background-position:0 -26px}.leaflet-touch .fullscreen-icon{background-position:2px 2px}.leaflet-touch .fullscreen-icon.leaflet-fullscreen-on{background-position:2px -24px}.leaflet-container:fullscreen{z-index:99999;width:100%!important;height:100%!important}.leaflet-pseudo-fullscreen{z-index:99999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}#map-shell.leaflet-pseudo-fullscreen{box-sizing:border-box;background:#fffffffa;border-width:0!important;border-color:#0000!important;padding:16px!important}#map-shell.leaflet-pseudo-fullscreen #map{height:100%!important}
