@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--primary-color:#f97316;--primary-hover:#ea580c;--secondary-color:#374151;--secondary-hover:#1f2937;--danger-color:#ef4444;--danger-hover:#dc2626;--warning-color:#f59e0b;--bg-main:#f3f4f6;--bg-card:#fff;--bg-sidebar:#111827;--text-main:#111827;--text-muted:#6b7280;--text-sidebar:#f3f4f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--border-radius-sm:.375rem;--border-radius-md:.5rem;--border-radius-lg:.75rem;--transition-fast:.15s ease-in-out;--transition-normal:.25s ease-in-out}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-main);color:var(--text-main);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}*,:before,:after{box-sizing:border-box}img,video,iframe,svg{max-width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:var(--text-main);margin-top:0;margin-bottom:1rem;font-weight:600}.admin-container{min-height:100vh;display:flex}.admin-main-content{background-color:var(--bg-main);flex-direction:column;flex:1;min-width:0;display:flex}.admin-page-content{flex:1;padding:2rem;overflow-y:auto}.card{background-color:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-normal), transform var(--transition-normal);padding:1.5rem}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 14px #f9731663}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover);box-shadow:0 4px 14px #ef444463}.btn-secondary{color:#374151;background-color:#e5e7eb}.btn-secondary:hover{background-color:#d1d5db}.form-group{flex-direction:column;margin-bottom:1rem;display:flex}.form-label{color:var(--text-main);margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-control{border-radius:var(--border-radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;background-color:#f9fafb;border:1px solid #d1d5db;width:100%;padding:.625rem .75rem;font-family:Inter,sans-serif;font-size:.875rem}.form-control:focus{border-color:var(--primary-color);background-color:#fff;outline:none;box-shadow:0 0 0 3px #f9731633}.grid{gap:1.5rem;display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.sidebar{background-color:var(--bg-sidebar);width:260px;color:var(--text-sidebar);z-index:10;flex-direction:column;padding:1.5rem 1rem;display:flex;box-shadow:4px 0 10px #0000000d}.sidebar h2{color:#fff;text-align:center;letter-spacing:.5px;margin-bottom:2rem;font-size:1.5rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-link{color:var(--text-sidebar);border-radius:var(--border-radius-md);transition:all var(--transition-fast);align-items:center;padding:.75rem 1rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{color:#fff;background-color:#ffffff1a;transform:translate(4px)}.header{background-color:var(--bg-card);z-index:5;justify-content:flex-end;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 1px 3px #0000000d}.header-user{color:var(--text-main);margin-right:1.5rem;font-weight:500}.page-title{color:var(--text-main);letter-spacing:-.025em;margin-bottom:1.5rem;font-size:1.875rem;font-weight:700}.dashboard-grid{gap:1.5rem;margin-top:2rem}.dashboard-card{align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.dashboard-card-icon{background-color:var(--bg-main);border-radius:var(--border-radius-lg);justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:2.25rem;display:flex}.dashboard-card-content{flex-direction:column;display:flex}.dashboard-card-value{font-size:1.75rem;font-weight:700;line-height:1.2}.dashboard-card-title{color:var(--text-muted);margin-top:.25rem;font-size:.875rem;font-weight:500}.table-container{background:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid #e5e7eb;overflow-x:auto}.table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}.table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem;font-size:.75rem;font-weight:600}.table td{color:var(--text-main);border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem;font-size:.875rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:#f9fafb}.table-actions{justify-content:center;gap:.5rem;display:flex}.admin-page-content .card:hover{transform:none}.admin-page-content .btn:disabled{opacity:.55;cursor:wait}.admin-filtros{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.admin-filtro{background:var(--bg-card);color:var(--text-main);cursor:pointer;border:1px solid #d1d5db;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.admin-filtro.activo{background:var(--secondary-color);border-color:var(--secondary-color);color:#fff}.admin-tabla-propiedades .col-titulo{max-width:260px}.admin-tabla-propiedades .col-acciones{background:var(--bg-card);text-align:center;z-index:1;position:sticky;right:0;box-shadow:-8px 0 12px -10px #00000040}.admin-tabla-propiedades th.col-acciones{z-index:2;background:#f9fafb}.admin-acciones{grid-template-columns:repeat(2,auto);gap:.4rem;display:grid}.admin-tabla-propiedades .fila-pausada td:not(.col-acciones){opacity:.6}.public-layout{flex-direction:column;min-height:100vh;display:flex}.public-main-content{flex:1;padding-top:92px}.public-navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;width:100%;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);background:#ffffffe6;position:fixed;top:0;left:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex}.navbar-logo{align-items:center;text-decoration:none;display:flex}.brand-logo{object-fit:contain;width:auto;display:block}.brand-logo-navbar{max-width:min(100%,34rem);height:5.2rem}.brand-text{letter-spacing:.02em;white-space:nowrap;font-weight:700;display:inline-block}.brand-text-navbar{color:#111827;font-size:1.28rem}.navbar-links{align-items:center;gap:2rem;display:flex}.nav-link{color:var(--text-main);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.nav-link:hover{color:var(--primary-color)}.nav-user{color:var(--text-muted);font-size:.9rem;font-weight:600}.nav-logout-btn{padding:.45rem .85rem;font-size:.82rem}.btn-primary-outline{border-radius:var(--border-radius-md);border:2px solid var(--primary-color);color:var(--primary-color);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.5rem 1.2rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary-outline:hover{background-color:var(--primary-color);color:#fff}.hero-section{text-align:center;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:85vh;padding:2rem 5%;display:flex;position:relative}.hero-overlay{z-index:1;background:#11182773;width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;flex-direction:column;align-items:center;max-width:900px;display:flex}.hero-title{color:#fff;text-shadow:0 4px 10px #0000004d;margin-bottom:1.5rem;font-size:4.5rem;font-weight:800;line-height:1.1}.hero-subtitle{color:#f1f5f9;text-shadow:0 2px 5px #0000004d;max-width:700px;margin-bottom:2.5rem;font-size:1.35rem}.hero-actions{justify-content:center;gap:1.5rem;display:flex}.hero-cta-btn{text-transform:uppercase;letter-spacing:.08em;border-radius:50px;padding:1rem 3rem;font-size:1.15rem;font-weight:700;text-decoration:none;transition:all .3s;box-shadow:0 6px 20px #f9731680}.hero-cta-btn:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 10px 30px #f9731699}.hero-dots{z-index:3;gap:.5rem;display:flex;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.hero-dot{cursor:pointer;background:0 0;border:2px solid #ffffffb3;border-radius:50%;width:11px;height:11px;padding:0;transition:all .2s}.hero-dot:hover{background:#ffffff73}.hero-dot.active{background:#f97316;border-color:#f97316;transform:scale(1.15)}.home-search-container{z-index:10;max-width:1050px;margin:-60px auto 4rem;padding:0 1rem;position:relative}.home-search-form{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);background:#fff;align-items:flex-end;gap:1.5rem;padding:1.5rem;display:flex}.search-field{flex-direction:column;flex:1;gap:.5rem;display:flex}.search-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.search-field input,.search-field select{border-radius:var(--border-radius-md);width:100%;color:var(--text-main);transition:all var(--transition-fast);background:#f9fafb;border:1px solid #e5e7eb;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.search-field input:focus,.search-field select:focus{border-color:var(--primary-color);background:#fff;outline:none;box-shadow:0 0 0 3px #f973161a}.custom-depto-select{width:100%;position:relative}.custom-depto-trigger{border-radius:var(--border-radius-md);width:100%;color:var(--text-main);transition:all var(--transition-fast);text-align:left;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;display:flex}.custom-depto-trigger:focus,.custom-depto-trigger.is-open{border-color:var(--primary-color);background:#fff;outline:none;box-shadow:0 0 0 3px #f973161a}.custom-depto-trigger-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-depto-chevron{color:#6b7280;font-size:.95rem}.custom-depto-menu{z-index:90;background:#2e2422;border:1px solid #ffffff24;border-radius:20px;width:100%;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 14px 26px #0f172a47}.custom-depto-option{color:#f8f5f2;cursor:pointer;text-align:left;background:0 0;border:none;border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;width:100%;padding:.95rem 1.1rem;font-size:1rem;font-weight:500;display:flex}.custom-depto-option:first-child{border-top:none}.custom-depto-option:hover{background:#ffffff0d}.custom-depto-option.is-selected{background:#ffffff14}.custom-depto-radio{border:2px solid #ffffffb8;border-radius:50%;flex:0 0 23px;justify-content:center;align-items:center;width:23px;height:23px;display:inline-flex}.custom-depto-radio-dot{opacity:0;background:#f9a373;border-radius:50%;width:11px;height:11px;transition:opacity .2s,transform .2s;transform:scale(.6)}.custom-depto-radio.is-selected{border-color:#f9a373}.custom-depto-radio.is-selected .custom-depto-radio-dot{opacity:1;transform:scale(1)}.search-btn{white-space:nowrap;height:48px;padding:.75rem 2rem;font-size:1rem}.categories-section{background-color:#f0f2f5;padding:3rem 2rem 4rem}.categories-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1100px;margin:0 auto;display:grid}.category-card{text-align:center;background:0 0;flex-direction:column;align-items:center;display:flex}.category-img-link{border-radius:4px;width:100%;margin-bottom:1.2rem;display:block;overflow:hidden}.category-img{object-fit:cover;width:100%;height:280px;transition:transform .4s;display:block}.category-img-link:hover .category-img{transform:scale(1.04)}.category-name{color:#1a2e5a;letter-spacing:.08em;margin-bottom:.75rem;font-size:1.15rem;font-weight:800}.category-divider{background-color:#c0c8d8;width:100%;height:1px;margin-bottom:.9rem}.category-link{color:#1a2e5a;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.category-link:hover{color:var(--primary-color)}.mt-3{margin-top:3rem}.services-section{background-color:#fff;margin:0;padding:2.2rem 2rem 2.8rem}.services-header{border-top:1px solid #d1d5db;max-width:1100px;margin:0 auto 1.4rem;padding-top:.7rem}.services-title{letter-spacing:.03em;color:#111827;margin-bottom:.5rem;font-size:1.9rem;font-weight:800;line-height:1}.services-subtitle{color:#4b5563;margin:0;font-size:1.05rem;font-weight:600}.services-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:1rem 2rem;max-width:1200px;margin:0 auto;display:grid}.service-item{color:#111827;align-items:flex-start;gap:.8rem;text-decoration:none;transition:transform .2s;display:flex}.service-item:hover{transform:translateY(-3px)}.service-icon{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:54px;min-width:54px;height:54px;font-size:1.6rem;line-height:1;display:flex}.service-copy h4{color:#111827;letter-spacing:.02em;margin:0 0 .18rem;font-size:1.08rem;font-weight:800}.service-copy p{color:#4b5563;margin:0;font-size:.93rem;line-height:1.35}.blog-section{max-width:1200px;margin:0 auto 6rem;padding:0 2rem}.blog-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;display:grid}.blog-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:#fff;border:1px solid #f3f4f6;flex-direction:column;display:flex;overflow:hidden}.blog-card:hover{box-shadow:var(--shadow-lg);border-color:#e5e7eb;transform:translateY(-8px)}.blog-img-container{background-color:#fff;justify-content:center;align-items:center;width:100%;height:260px;display:flex;position:relative;overflow:hidden}.news-flyer-img{object-fit:contain;object-position:center;box-sizing:border-box;background-color:#fff;width:100%;height:100%;padding:.75rem;transition:transform .5s;display:block}.blog-card:hover .news-flyer-img{transform:scale(1.02)}.blog-zoom-overlay{color:#fff;letter-spacing:.05em;opacity:0;z-index:2;background:#0006;justify-content:center;align-items:center;font-size:1rem;font-weight:700;transition:opacity .3s;display:flex;position:absolute;inset:0}.blog-card:hover .blog-zoom-overlay{opacity:1}.flyer-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#111827d9;justify-content:center;align-items:center;animation:.3s fadeInModal;display:flex;position:fixed;inset:0}.flyer-modal-content{justify-content:center;align-items:center;max-width:90%;max-height:90%;display:flex;position:relative}.flyer-modal-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:3rem;line-height:1;transition:color .2s;position:absolute;top:-45px;right:0}.flyer-modal-close:hover{color:var(--primary-color,#f97316)}.flyer-modal-img{object-fit:contain;border:1px solid #ffffff1a;border-radius:12px;max-width:100%;max-height:85vh;box-shadow:0 20px 50px #00000080}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.blog-content{flex-direction:column;flex:1;padding:2rem;display:flex}.blog-date{color:var(--primary-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.8rem;font-weight:700}.blog-title{color:var(--text-main);margin-bottom:1rem;font-size:1.25rem;line-height:1.4}.blog-excerpt{color:var(--text-muted);flex:1;margin-bottom:2rem;font-size:.95rem;line-height:1.6}.read-more{color:var(--primary-color);cursor:pointer;transition:transform var(--transition-fast);font-size:.95rem;font-weight:600;display:inline-block}.blog-card:hover .read-more{transform:translate(5px)}.about-hero{text-align:center;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:50vh;padding:2rem 5%;display:flex;position:relative}.about-hero-nosotros{min-height:72vh;padding:0;overflow:hidden;background-image:none!important}.about-hero-nosotros-image{object-fit:cover;object-position:center;width:100%;height:100%;min-height:72vh;display:block}.about-hero-nosotros .hero-content{width:min(90%,900px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:768px){.about-hero-nosotros{min-height:48vh}.about-hero-nosotros-image{object-position:center;min-height:48vh}}.btn-submit-contact{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--border-radius-lg);width:100%;transition:all var(--transition-normal);justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:1.25rem 2rem;font-size:1.15rem;font-weight:700;display:flex;box-shadow:0 4px 14px #f9731666}.btn-submit-contact:hover{transform:translateY(-3px);box-shadow:0 8px 25px #f9731680}.about-accordions{flex-direction:column;gap:1.5rem;max-width:800px;margin:4rem auto 2rem;display:flex}.accordion-item{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background:#fff;border:1px solid #e5e7eb;overflow:hidden}.accordion-item.active{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.accordion-header{cursor:default;transition:background var(--transition-fast);background:#f9fafb;justify-content:flex-start;align-items:center;padding:1.5rem 2rem;display:flex}.accordion-item.active .accordion-header{background:#fff;border-bottom:1px solid #f3f4f6}.accordion-header h3{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.accordion-icon{color:var(--primary-color);-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:400;line-height:1}.accordion-body{color:var(--text-muted);padding:2rem;font-size:1.05rem;line-height:1.7}.about-carousel-section{max-width:1100px;margin:4rem auto 0;padding:0 2rem}.about-main-carousel{height:520px;box-shadow:var(--shadow-lg);background-color:#f4f4f7;border-radius:24px;justify-content:center;align-items:center;margin-top:2.5rem;display:flex;position:relative;overflow:hidden}.carousel-slides-container{position:absolute;inset:0;overflow:hidden}.carousel-slide-item{opacity:0;z-index:1;justify-content:center;align-items:center;transition:opacity .8s ease-in-out;display:flex;position:absolute;inset:0}.carousel-slide-item.active{opacity:1;z-index:2}.carousel-slide-item img{object-fit:cover;width:100%;height:100%;display:block}.carousel-slide-item.contain-mode img{object-fit:contain;background-color:#f4f4f7}.carousel-slide-overlay{z-index:3;pointer-events:none;background:linear-gradient(#0000 0%,#111827bf 100%);padding:4rem 3rem 2.5rem;position:absolute;bottom:0;left:0;right:0}.carousel-slide-label{color:#fff;letter-spacing:.04em;text-shadow:0 2px 8px #00000080;font-size:1.35rem;font-weight:700;line-height:1.25;display:block}.carousel-nav-btn{z-index:10;-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff40;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.25rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #00000026}.carousel-nav-btn:hover{background:#ffffff73;transform:translateY(-50%)scale(1.08)}.carousel-nav-btn.prev{left:24px}.carousel-nav-btn.next{right:24px}.carousel-indicators{z-index:10;gap:.6rem;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.carousel-indicator-dot{cursor:pointer;background:0 0;border:2px solid #fff9;border-radius:50%;width:12px;height:12px;padding:0;transition:all .3s}.carousel-indicator-dot:hover{background:#fff6}.carousel-indicator-dot.active{background:var(--primary-color,#f97316);border-color:var(--primary-color,#f97316);transform:scale(1.25)}@media (max-width:768px){.about-main-carousel{border-radius:16px;height:360px}.carousel-slide-label{text-align:center;width:100%;max-width:calc(100% - .5rem);margin:0 auto;font-size:1.1rem}.carousel-slide-overlay{padding:2.5rem 1.5rem 3.9rem}.carousel-indicators{bottom:14px}.carousel-nav-btn{width:40px;height:40px;font-size:1rem}.carousel-nav-btn.prev{left:12px}.carousel-nav-btn.next{right:12px}}.mt-5{margin-top:5rem}.page-container{max-width:1200px;margin:0 auto;padding:4rem 2rem}.page-header{margin-bottom:3rem}.text-center{text-align:center}.page-subtitle{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.125rem}.properties-search-section{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);background:#fff;border:1px solid #f3f4f6;margin-bottom:3rem;padding:1.5rem 2rem}.catalog-search-form{grid-template-columns:2fr 1fr 1.5fr 1fr auto;align-items:flex-end;gap:1.5rem;display:grid}.catalog-search-form .search-field{flex-direction:column;gap:.5rem;display:flex}.catalog-search-form label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.catalog-search-form input,.catalog-search-form select{border-radius:var(--border-radius-md);width:100%;color:var(--text-main);transition:all var(--transition-fast);background:#f9fafb;border:1px solid #e5e7eb;padding:.85rem 1rem;font-family:inherit;font-size:.95rem}.catalog-search-form input:focus,.catalog-search-form select:focus{border-color:var(--primary-color);background:#fff;outline:none;box-shadow:0 0 0 3px #f973161a}.catalog-search-form .custom-depto-trigger{padding:.85rem 1rem;font-size:.95rem}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .icon{color:var(--text-muted);pointer-events:none;position:absolute;left:1rem}.input-with-icon input,.input-with-icon select{padding-left:2.5rem}.input-with-icon .custom-depto-select{width:100%}.input-with-icon .custom-depto-select.with-left-icon .custom-depto-trigger{padding-left:2.5rem}.search-action-btn{justify-content:center;align-items:center;gap:.5rem;height:48px;padding:0 2rem;font-size:1rem;font-weight:600;display:flex}@media (max-width:1024px){.catalog-search-form{grid-template-columns:1fr 1fr}.search-action-btn{grid-column:1/-1;margin-top:1rem}}@media (max-width:640px){.catalog-search-form{grid-template-columns:1fr}.custom-depto-menu{border-radius:18px}.custom-depto-option{padding:.9rem 1rem;font-size:.98rem}}.properties-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.property-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:#fff;flex-direction:column;display:flex;overflow:hidden}.property-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.property-img-placeholder{height:220px;color:var(--text-muted);background:linear-gradient(45deg,#e5e7eb,#d1d5db);justify-content:center;align-items:center;font-weight:500;display:flex}.property-info{flex-direction:column;flex:1;padding:1.5rem;display:flex}.property-title{margin-bottom:.5rem;font-size:1.25rem}.property-location{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.property-features{color:var(--text-main);border-bottom:1px solid #f3f4f6;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;font-size:.85rem;display:flex}.property-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.property-price{color:var(--primary-color);font-size:1.5rem;font-weight:700}.btn-small{background:var(--bg-main);color:var(--text-main);border-radius:var(--border-radius-md);transition:all var(--transition-fast);padding:.4rem .8rem;font-size:.8rem;font-weight:500;text-decoration:none}.btn-small:hover{background:var(--primary-color);color:#fff}.public-footer{color:#fff;background-color:#111827;margin-top:0;padding:1.5rem 2rem 1.8rem}.footer-brand-block{text-align:center;margin-bottom:1.1rem}.footer-brand-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.brand-logo-footer{max-width:min(100%,30rem);height:5.2rem}.brand-text-footer{color:#fff;font-size:clamp(1.3rem,2.8vw,2rem)}.footer-container{grid-template-columns:repeat(4,minmax(220px,1fr));gap:1.1rem;max-width:1200px;margin:0 auto;display:grid}.footer-contact-card{text-align:center;padding:.1rem .55rem}.footer-contact-icon{color:var(--primary-color);margin-bottom:.45rem;font-size:1.5rem;line-height:1}.footer-contact-text{color:#e5e7eb;margin:0;font-size:.9rem;line-height:1.3}.footer-social-links{justify-content:center;gap:.55rem;margin-top:.5rem;display:flex}.footer-social-links a{color:#e5e7eb;font-size:.85rem;font-weight:600;text-decoration:none}.footer-social-links a:hover{color:var(--primary-color);text-decoration:underline}.contact-layout{grid-template-columns:1fr 2fr;gap:4rem;margin-top:2rem;display:grid}.contact-info-centered{text-align:center;width:100%;margin:3rem 0}.contact-info-centered h3{color:var(--text-dark);margin-bottom:.75rem;font-size:2.2rem;font-weight:700}.contact-info-centered>p{color:var(--text-gray);margin-bottom:3rem;font-size:1.15rem}.contact-info-centered .info-list{flex-flow:wrap;justify-content:center;gap:4rem;display:flex}.contact-info-centered .info-item{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.75rem;min-width:200px;display:flex}.contact-info-centered .info-icon{font-size:2.5rem;line-height:1}.contact-info-centered .info-item strong{color:var(--text-dark);margin-bottom:.25rem;font-size:1.2rem;display:block}.contact-info-centered .info-item p{color:var(--text-gray);margin:0;font-size:1.05rem;line-height:1.6}.about-content{grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;display:grid}.about-image-placeholder{border-radius:var(--border-radius-lg);background:#e5e7eb;justify-content:center;align-items:center;min-height:400px;display:flex}.values-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;display:grid}.value-card{text-align:center;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:2rem}.value-icon{margin-bottom:1rem;font-size:3rem}.form-row{gap:1.5rem;display:flex}.form-row .half{flex:1}.detail-content-layout{grid-template-columns:2fr 1fr;gap:3rem;margin-top:2rem;display:grid}.detail-main-info{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:2rem}.detail-sidebar{flex-direction:column;gap:2rem;display:flex}.detail-price-box{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:2rem}.price-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.price-value{color:var(--primary-color);margin-top:.5rem;margin-bottom:0;font-size:2.5rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:3rem;display:grid}.feature-item{align-items:center;gap:.5rem;font-size:1rem;display:flex}.section-heading{border-bottom:2px solid #f3f4f6;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem;display:inline-block}.contact-agent-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:2rem;position:sticky;top:100px}.agent-contact-form input,.agent-contact-form textarea{border-radius:var(--border-radius-md);border:1px solid #d1d5db;width:100%;margin-bottom:1rem;padding:.75rem;font-family:inherit}.full-width{width:100%}.detail-gallery-placeholder{border-radius:var(--border-radius-lg);background:#e5e7eb;justify-content:center;align-items:center;width:100%;height:500px;margin-top:1.5rem;margin-bottom:2rem;display:flex}.back-link{color:var(--text-muted);transition:color var(--transition-fast);margin-bottom:1rem;font-weight:500;text-decoration:none;display:inline-block}.back-link:hover{color:var(--primary-color)}@media (max-width:1024px){.page-container{padding:3rem 1.5rem}.navbar-container{padding:1rem 1.25rem}.footer-container{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-container{flex-direction:column}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem}.sidebar h2{text-align:left;margin-bottom:0;font-size:1.1rem}.sidebar-nav{flex-flow:wrap;justify-content:flex-end;gap:.4rem}.sidebar-link{padding:.6rem .85rem}.header{flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.85rem 1rem}.admin-page-content{padding:1rem}.properties-page .properties-toolbar{gap:.75rem;align-items:stretch!important}.properties-page .properties-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}}@media (max-width:768px){.hero-section{min-height:70vh;padding-top:6rem}.hero-title{font-size:3rem}.hero-subtitle{font-size:1.1rem}.hero-actions{flex-direction:column;width:100%}.hero-actions a{width:100%;margin:0}.contact-layout,.about-content,.detail-content-layout,.values-grid{grid-template-columns:1fr}.home-search-form{flex-direction:column;align-items:stretch;gap:1rem;padding:1.5rem 1rem}.home-search-container{margin:-30px auto 3rem}.search-btn{margin-top:.5rem}.categories-grid{grid-template-columns:1fr;gap:1.5rem}.blog-grid{grid-template-columns:1fr;gap:2rem}.services-title{font-size:1.45rem}.services-subtitle{font-size:.92rem;line-height:1.4}.services-grid{grid-template-columns:1fr;gap:.9rem}.service-icon{width:46px;min-width:46px;height:46px;font-size:1.35rem}.service-copy h4{font-size:.95rem}.service-copy p{font-size:.86rem}.footer-container{grid-template-columns:1fr;gap:1rem}.footer-contact-text{font-size:.88rem}.footer-social-links a{font-size:.8rem}.page-container{padding:2rem 1rem}.page-header{margin-bottom:1.5rem}.page-title{margin-bottom:1rem;font-size:1.6rem}.page-subtitle{font-size:1rem}.public-main-content{padding-top:74px}.public-navbar .navbar-container{padding:.85rem 1rem}.brand-logo-navbar{max-width:12rem;height:3.2rem}.public-navbar .navbar-links{padding-top:7.5rem}.home-search-container{margin:-24px auto 2.5rem;padding:0 .75rem}.categories-section{padding:2rem 1rem 2.5rem}.category-img{height:220px}.services-section{padding:2rem 1rem 2.25rem}.footer-container{grid-template-columns:1fr}.brand-logo-footer{max-width:16rem;height:3.8rem}.contact-layout,.about-content{grid-template-columns:1fr;gap:1.75rem}.form-row{flex-direction:column;gap:1rem}.values-grid{grid-template-columns:1fr}.properties-search-section{padding:1.25rem}.catalog-search-form{gap:1rem;grid-template-columns:1fr!important}.catalog-search-form .search-action-btn{width:100%;grid-column:auto!important}.properties-page .properties-toolbar{flex-direction:column;align-items:stretch!important}.properties-page .properties-toolbar>span{text-align:center}.properties-page .vista-toggle{justify-content:space-between;width:100%}.properties-page .properties-grid{grid-template-columns:1fr!important;gap:1rem!important;padding:16px!important}.properties-page .property-card{border-radius:12px}.properties-page .property-card>a>div:first-child{height:210px!important}.property-detail-page .detail-topbar,.property-detail-page .detail-title-bar,.property-detail-page .detail-overview-layout{flex-direction:column!important;align-items:flex-start!important}.property-detail-page .detail-gallery{flex-direction:column!important;height:auto!important;display:flex!important}.property-detail-page .detail-gallery>div{width:100%;min-height:220px}.property-detail-page .detail-gallery>div:first-child{height:220px!important}.property-detail-page .detail-gallery>div:nth-child(2){height:260px!important;min-height:260px!important}.property-detail-page .detail-content-layout{grid-template-columns:1fr!important;gap:1.5rem!important}.property-detail-page .detail-main-column{gap:1rem!important}.property-detail-page .detail-section-card{padding:1.25rem!important}.property-detail-page .detail-overview-grid,.property-detail-page .detail-characteristics-grid{grid-template-columns:1fr!important;gap:1rem!important}.property-detail-page .detail-sidebar{position:static!important;top:auto!important}.property-detail-page .contact-agent-card{padding:1.25rem!important}.grid-cols-2>*,.grid-cols-3>*,.grid-cols-4>*{grid-column:auto!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr!important}.table-container{border-radius:.75rem;margin:0 -.25rem}.table th,.table td{padding:.75rem 1rem}.brand-text-navbar{font-size:1.05rem}.brand-text-footer{font-size:1.2rem}}@media (max-width:480px){.public-navbar .navbar-container{padding:.75rem .85rem}.brand-logo-navbar{max-width:10.5rem;height:2.9rem}.hero-title{font-size:1.9rem}.hero-subtitle{font-size:.95rem}.hero-cta-btn{width:100%;padding:.9rem 1.2rem;font-size:1rem}.home-search-container{margin-top:-18px}.vista-toggle{flex-direction:column;gap:.35rem}.vista-toggle-btn{justify-content:center;width:100%}.mapa-count-badge{max-width:calc(100% - 20px)}.login-card{padding:2rem 1.5rem}.login-title{font-size:1.3rem}}.hamburger-btn{cursor:pointer;z-index:101;width:36px;height:30px;color:var(--text-main);transition:transform var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:space-between;align-items:center;padding:0;display:flex}.hamburger-btn:hover{opacity:.85}.hamburger-btn.open{z-index:1002;width:36px;height:30px;color:var(--text-main);box-shadow:none;background:0 0;flex-direction:column;justify-content:space-between;padding:0;position:fixed;top:18px;right:18px}.hamburger-btn.open:hover{opacity:.85}.hamburger-line{background-color:var(--text-main);width:100%;height:3px;transition:transform var(--transition-normal), opacity var(--transition-normal);border-radius:10px;display:block;box-shadow:0 0 0 1px #ffffff8c}.hamburger-btn.open .hamburger-line{background-color:var(--text-main)}.hamburger-line.open:first-child{transform:translateY(11.5px)rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-10.5px)rotate(-45deg)}.public-navbar .navbar-links{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;height:100vh;transition:left var(--transition-normal);z-index:999;background-color:#fffffffe;flex-direction:column;justify-content:flex-start;gap:2rem;padding-top:8rem;display:flex;position:fixed;top:0;left:-100%;box-shadow:0 10px 40px #0000001f}.public-navbar .navbar-links.active{left:0}.public-navbar .nav-link{text-align:center;width:100%;font-size:1.25rem}.public-navbar .btn-primary-outline{width:auto;margin:0 auto}.login-page{background:linear-gradient(135deg,#111827 0%,#1f2937 50%,#374151 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#f9731614 0%,#0000 70%);width:100%;height:100%;position:absolute;top:-50%;right:-50%}.login-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#f973160d 0%,#0000 70%);width:100%;height:100%;position:absolute;bottom:-50%;left:-50%}.login-card{z-index:1;background:#fffffff7;border-radius:1rem;width:100%;max-width:420px;padding:3rem;animation:.5s ease-out loginSlideUp;position:relative;box-shadow:0 25px 60px #0000004d,0 0 0 1px #ffffff0d}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-logo{margin-bottom:.75rem;font-size:3rem;animation:2s ease-in-out infinite loginPulse;display:inline-block}@keyframes loginPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.login-title{color:var(--text-main);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.login-error{color:#991b1b;border-radius:var(--border-radius-md);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;animation:.4s loginShake;display:flex}@keyframes loginShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-field{flex-direction:column;gap:.5rem;display:flex}.login-field label{color:var(--text-main);font-size:.85rem;font-weight:600}.login-field input{border-radius:var(--border-radius-md);color:var(--text-main);box-sizing:border-box;background:#f9fafb;border:1.5px solid #e5e7eb;width:100%;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.login-field input:focus{border-color:var(--primary-color);background:#fff;outline:none;box-shadow:0 0 0 3px #f9731626}.login-field input::placeholder{color:#9ca3af}.login-btn{background:var(--primary-color);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .25s;display:flex}.login-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #f9731666}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;border-top:1px solid #f3f4f6;margin-top:2rem;padding-top:1.5rem}.login-back-link{color:var(--text-muted);font-size:.85rem;font-weight:500;text-decoration:none;transition:color .2s}.login-back-link:hover{color:var(--primary-color)}.login-spinner{border:3px solid #e5e7eb;border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin:0 auto;animation:.7s linear infinite spin}.login-spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:480px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.3rem}}.mapa-container{border:1px solid #e2e8f0;border-radius:12px;transition:box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 8px 30px #0000001f}.mapa-container:hover{box-shadow:0 12px 40px #00000029}.leaflet-container{width:100%;height:100%}.leaflet-container img,.leaflet-container svg,.leaflet-pane img,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{max-width:none!important;max-height:none!important}.property-detail-page .leaflet-container{min-height:250px}.mapa-count-badge{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1e293b;background:#fffffff2;border:1px solid #fffc;border-radius:25px;padding:8px 16px;font-size:.82rem;font-weight:600;position:absolute;bottom:15px;left:15px;box-shadow:0 4px 15px #0000001f}.mapa-empty-state{text-align:center;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;height:350px;padding:2rem;display:flex}.mapa-empty-icon{opacity:.6;margin-bottom:1rem;font-size:3.5rem}.mapa-empty-state h3{color:#475569;margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.mapa-empty-state p{color:#94a3b8;max-width:350px;font-size:.9rem;line-height:1.5}.custom-property-marker{background:0 0!important;border:none!important}.marker-pin{justify-content:center;align-items:center;width:40px;height:48px;display:flex;position:relative}.marker-pin:before{content:"";background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);border-radius:50% 50% 50% 0;width:36px;height:36px;transition:transform .2s;position:absolute;transform:rotate(-45deg);box-shadow:0 4px 12px #f9731673}.marker-pin span{z-index:2;filter:brightness(1.1);font-size:1.1rem;position:relative}.custom-property-marker:hover .marker-pin:before{transform:rotate(-45deg)scale(1.15)}@keyframes markerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.leaflet-marker-icon{animation:.5s ease-out markerBounce}.leaflet-popup-content-wrapper{overflow:hidden;border:none!important;border-radius:12px!important;padding:0!important;box-shadow:0 8px 30px #00000026!important}.leaflet-popup-content{min-width:240px;margin:0!important}.leaflet-popup-tip{box-shadow:0 4px 10px #00000014!important}.leaflet-popup-close-button{z-index:10;color:#64748b!important;padding:8px 10px 0 0!important;font-size:22px!important}.leaflet-popup-close-button:hover{color:#1e293b!important}.popup-content{font-family:Inter,sans-serif}.popup-image{width:100%;height:140px;position:relative;overflow:hidden}.popup-image img{object-fit:cover;width:100%;height:100%;display:block}.popup-no-image{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex}.popup-badge{color:#fff;letter-spacing:.5px;background:#000000bf;border-radius:4px;padding:3px 8px;font-size:.65rem;font-weight:700;position:absolute;top:8px;right:8px}.popup-info{padding:12px 14px 14px}.popup-title{color:#1e293b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-size:.95rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.popup-location{color:#64748b;margin:0 0 8px;font-size:.78rem}.popup-price{color:#1e293b;margin-bottom:8px;font-size:1.05rem;font-weight:800}.popup-features{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.popup-features span{color:#64748b;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:500}.popup-btn{text-align:center;background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);border-radius:8px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:all .2s;display:block;box-shadow:0 2px 8px #f973164d;color:#fff!important;text-decoration:none!important}.popup-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #f9731673}.vista-toggle{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:2px;padding:4px;display:flex;box-shadow:0 2px 10px #00000014}.vista-toggle-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;transition:all .25s;display:flex}.vista-toggle-btn:hover{color:#1e293b;background:#f8fafc}.vista-toggle-btn.active{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);color:#fff;box-shadow:0 3px 10px #f9731659}.vista-toggle-icon{font-size:1rem;line-height:1}@media (max-width:768px){.mapa-container{border-radius:8px}.mapa-count-badge{padding:6px 12px;font-size:.75rem;bottom:10px;left:10px}.mapa-empty-state{height:250px}.vista-toggle-btn{padding:6px 14px;font-size:.8rem}.popup-image{height:110px}.popup-info{padding:10px 12px 12px}}
.App{text-align:center}.App-logo{pointer-events:none;height:40vmin}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#fff;background-color:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(10px + 2vmin);display:flex}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
