:root{--primary-color:#1a3c40;--secondary-color:#2d6a6a;--accent-color:#d4af37;--light-color:#f8f9fa;--dark-color:#333}.social-icons{display: flex;justify-content: center;gap: 20px;margin-top: 1rem;}.social-icons a {color: white;font-size: 1.5rem;transition: color 0.3s;}.social-icons a:hover {color: var(--accent-color);}body{font-family:'Montserrat',sans-serif;color:var(--dark-color);overflow-x:hidden}h1,h2,h3,h4,h5{font-family:'Playfair Display',serif;font-weight:600}.hero-section{background:linear-gradient(rgba(26,60,64,0.7),rgba(26,60,64,0.7)),url('../imgs/hero-bg.webp');background-size:cover;background-position:center;height:100vh;display:flex;align-items:center;color:white;position:relative}.hero-content{max-width:600px}.footer-logo{max-height:50px;margin-right:20px}.btn-primary{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--primary-color);font-weight:600;padding:12px 30px;border-radius:30px;transition:all .3s}.btn-primary:hover{background-color:#c19b2c;border-color:#c19b2c;transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,0.1)}.section-title{color:var(--primary-color);margin-bottom:2rem;position:relative;padding-bottom:15px}.section-title:after{content:'';position:absolute;bottom:0;left:0;width:80px;height:3px;background-color:var(--accent-color)}.feature-card{border:0;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,0.05);transition:transform .3s;height:100%}.feature-card:hover{transform:translateY(-10px)}.feature-icon{font-size:2.5rem;color:var(--secondary-color);margin-bottom:1rem}.amenities-section{background-color:#f8f9fa;padding:80px 0}.amenity-item{text-align:center;margin-bottom:2rem}.amenity-icon{font-size:2rem;color:var(--secondary-color);margin-bottom:1rem}.location-section{padding:80px 0}.house-model{background-color:white;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.05);margin-bottom:2rem;height:100%;display:flex;flex-direction:column}.house-model img{width:100%;height:250px;object-fit:cover}.model-details{padding:1.5rem;flex:1;display:flex;flex-direction:column}.price-tag{background-color:var(--accent-color);color:var(--primary-color);font-weight:600;padding:5px 15px;border-radius:20px;display:inline-block;margin-bottom:1rem}.btn-calculate{background-color:var(--secondary-color);border-color:var(--secondary-color);color:white;font-weight:600;padding:12px 30px;border-radius:30px;transition:all .3s;width:100%;margin-top:auto}.btn-calculate:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:white;transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,0.2)}.modal-map-container{height:100%;display:flex;flex-direction:column;position:relative}.map-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.map-image{width:100%;height:100%;object-fit:cover}.overlay-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:scale(1.198) translate(2%,1%)}.casa-poligono{stroke:white;stroke-width:1.5;stroke-opacity:.9;fill-opacity:.65;cursor:pointer;transition:all .3s ease;pointer-events:all}.casa-poligono:hover{fill-opacity:.8;stroke-width:2}.disponible{fill:#28a745}.apartado{fill:#ffc107}.vendido{fill:#dc3545}.seleccionado-mapa{stroke:#2196f3;stroke-width:4;fill-opacity:.85;animation:pulse 1.5s infinite}@keyframes pulse{0%{stroke-width:4px}50%{stroke-width:6px}100%{stroke-width:4px}}.map-legend{position:absolute;top:15px;left:15px;background:rgba(255,255,255,0.95);padding:12px;border-radius:8px;font-size:.8rem;box-shadow:0 2px 8px rgba(0,0,0,0.15);z-index:10}.legend-item{display:flex;align-items:center;gap:6px;margin-bottom:5px}.legend-item:last-child{margin-bottom:0}.color-box{width:16px;height:16px;border-radius:3px}.map-info-panel{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.95);padding:10px 15px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.15);z-index:10;min-width:200px;text-align:center;font-size:.85rem}.modal-form-container{padding:2rem;height:100%;display:flex;flex-direction:column;justify-content:center}.modal-content{border-radius:15px;overflow:hidden;border:0}.modal-header{background-color:var(--primary-color);color:white;border-bottom:1px solid rgba(255,255,255,0.1)}.form-label{color:var(--primary-color);font-weight:600;margin-bottom:.5rem}.form-control,.form-select{border-radius:8px;border:1px solid #ddd;padding:10px 15px;font-size:.9rem}.form-control:focus,.form-select:focus{border-color:var(--secondary-color);box-shadow:0 0 0 .2rem rgba(45,106,106,0.25)}.selected-house-display{background-color:#e8f4fc;border:2px solid #2196f3;border-radius:8px;padding:10px;margin-top:5px;font-weight:600;color:var(--primary-color)}.modal-lg-custom{max-width:1200px}.cta-section{background:linear-gradient(rgba(26,60,64,0.9),rgba(26,60,64,0.9));background-size:cover;background-position:center;padding:80px 0;color:white;text-align:center}.form-container{background-color:white;border-radius:10px;padding:2rem;box-shadow:0 10px 30px rgba(0,0,0,0.1)}.counter-section{background-color:var(--secondary-color);color:white;padding:60px 0}footer{background-color:var(--primary-color);color:white;padding:40px 0 20px}.navbar{background-color:rgba(26,60,64,0.95);padding:15px 0;transition:all .3s}.navbar.scrolled{padding:10px 0;box-shadow:0 2px 10px rgba(0,0,0,0.1)}@media(max-width:992px){.modal-lg-custom{max-width:95%}.map-legend{left:10px;right:10px;top:10px;font-size:.7rem}.map-info-panel{left:10px;right:10px;transform:none;bottom:10px}.overlay-svg{transform:scale(1.75) translate(1.1%,1%)}}@media(max-width:768px){.hero-section{height:auto;padding:100px 0 60px}.hero-content{text-align:center}.modal-dialog{margin:10px}.modal-form-container{padding:1.5rem}}#modalPdfViewer .modal-dialog{max-width:95%;height:95vh;margin:2.5vh auto}#modalPdfViewer .modal-content{height:100%;display:flex;flex-direction:column}#modalPdfViewer .modal-body{flex:1;padding:0;overflow:hidden}.pdf-preview-container{width:100%;height:100%;background:#f8f9fa;display:flex;align-items:center;justify-content:center}#pdfViewer{width:100%;height:100%;border:0}#modalPdfViewer .modal-footer{padding:1rem;background:#f8f9fa;border-top:1px solid #dee2e6}@media(max-width:768px){#modalPdfViewer .modal-dialog{max-width:100%;height:90vh;margin:5vh auto}}