/* --- VARIABLES Y BASES --- */
:root {
    --azul-lujo: #0a1f44;
    --dorado: #c5a059;
    --turquesa: #40e0d0;
    --blanco-marfil: #fdfaf5;
}

body { 
    background-color: var(--blanco-marfil); 
    font-family: 'Poppins', sans-serif; 
    color: var(--azul-lujo);
}

h1, h2, h3, h4, h5, h6, .navbar-brand, .price-tag, .hero-title {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* --- NAVEGACIÓN --- */
.navbar-luxury { 
    background-color: var(--azul-lujo); 
    border-bottom: 2px solid var(--dorado); 
}
.navbar-luxury .nav-link { 
    color: var(--blanco-marfil) !important; 
    font-weight: 500; 
}
.navbar-luxury .nav-link:hover { color: var(--dorado) !important; }

/* --- HERO & CAROUSEL --- */
.carousel-item { height: 70vh; min-height: 500px; background: no-repeat center center scroll; background-size: cover; }
.overlay { background: rgba(10, 31, 68, 0.5); position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.hero-title { 
    font-size: 3.5rem; 
    color: var(--blanco-marfil); 
    border-bottom: 3px solid var(--dorado); 
    padding-bottom: 10px;
}

/* --- CARDS DE PROPIEDADES --- */
.card-property { 
    border: none; 
    transition: all 0.3s ease; 
    background: white; 
    border-radius: 12px; 
    overflow: hidden;
}
.card-property:hover { 
    transform: translateY(-10px); 
    box-shadow: 0 15px 35px rgba(10, 31, 68, 0.15); 
}
.card-img-container { height: 220px; overflow: hidden; position: relative; background-color: #eee; }
.card-img-luxury { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.card-property:hover .card-img-luxury { transform: scale(1.1); }

.card-title-luxury {
    font-size: 1rem;
    color: var(--azul-lujo);
    min-height: 2.8em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- DETALLE Y FICHA TÉCNICA --- */
.main-img { width: 100%; height: 350px; object-fit: cover; border-radius: 12px; }
.grid-img-item { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; }
.badge-amenity { background: white; color: var(--azul-lujo); border: 1px solid #ddd; margin: 3px; }
.price-tag { color: var(--dorado); font-size: 1.5rem; }
.icon-luxury { color: var(--dorado); }

/* --- BOTONES Y FOOTER --- */
.btn-detail { background-color: var(--azul-lujo); color: white; border-radius: 6px; border: none; padding: 10px; font-weight: 600; transition: 0.3s; }
.btn-detail:hover { background-color: var(--dorado); color: white; }

.btn-whatsapp { background-color: #25d366; color: white; padding: 12px 35px; border-radius: 50px; text-decoration: none; display: inline-block; transition: 0.3s; font-weight: 600; }
.btn-whatsapp:hover { background-color: #128c7e; transform: translateY(-3px); color: white; }

.main-footer { background-color: var(--azul-lujo); color: white; padding: 60px 0 20px; border-top: 5px solid var(--dorado); }

/* --- IMPRESIÓN --- */
@media print {
    .no-print, .navbar-luxury, .btn-whatsapp { display: none !important; }
    body { background: white; padding: 0; }
    .card { border: 1px solid #eee !important; box-shadow: none !important; }
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .hero-title { font-size: 2.2rem; display: block; margin: 0 auto; width: fit-content; }
}
