html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Marcellus', serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Italiana', serif;
}

.hero-bg {
    background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url('img/hero.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.property-img-1 {
    background-image: url('img/wing A/masterbedroom.jpg');
    background-size: cover;
    background-position: center;
}

.property-img-2 {
    background-image: url('img/wing B/livingroom.jpg');
    background-size: cover;
    background-position: center;
}

.gallery-img-1 { background-image: url('img/wing A/beautiful outdoor with flowers.jpg'); }
.gallery-img-2 { background-image: url('img/wing A/masterbedroom.jpg'); }
.gallery-img-3 { background-image: url('img/wing A/kitchen.jpg'); }
.gallery-img-4 { background-image: url('img/wing B/livingroom.jpg'); }
.gallery-img-5 { background-image: url('img/wing B/terrace.jpg'); }
.gallery-img-6 { background-image: url('img/wing B/kitchen.jpg'); }
.gallery-img-7 { background-image: url('img/wing A/bathroom.jpg'); }
.gallery-img-8 { background-image: url('img/wing B/master bedroom.jpg'); }

.map-bg {
    background-image: url('https://images.unsplash.com/photo-1578662996442-48f60103fc96?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80');
    background-size: cover;
    background-position: center;
}

.gallery-img-1, .gallery-img-2, .gallery-img-3, .gallery-img-4,
.gallery-img-5, .gallery-img-6, .gallery-img-7, .gallery-img-8 {
    background-size: cover;
    background-position: center;
}

.sticky-header {
    backdrop-filter: blur(10px);
    background-color: rgba(250, 249, 246, 0.95);
} 

/* Standardize header container spacing for all pages */
header .container {
    max-width: none;
    padding-left: 0 !important;
    padding-right: 1rem;
}

/* WhatsApp Floating Button */
.whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    box-shadow: 0 10px 20px rgba(18, 140, 126, 0.35), 0 6px 10px rgba(0, 0, 0, 0.08);
    z-index: 100;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(18, 140, 126, 0.45), 0 8px 14px rgba(0, 0, 0, 0.1);
}

.whatsapp-ring {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    z-index: 90;
    animation: whatsapp-pulse 2s ease-out infinite;
}

@keyframes whatsapp-pulse {
    0% { transform: scale(1); opacity: 0.6; }
    70% { transform: scale(1.6); opacity: 0; }
    100% { transform: scale(1.6); opacity: 0; }
}

.whatsapp-label {
    position: fixed;
    bottom: 44px; /* align with the button's bottom */
    right: calc(24px + 56px + 12px); /* button right + button width + gap */
    transform: translateY(calc((56px - 100%) / 2)); /* vertical centering vs 56px button */
    background: #ffffff;
    color: #111827;
    border-radius: 9999px;
    padding: 10px 14px;
    box-shadow: 0 10px 20px rgb(103, 255, 141);
    border: 1px solid rgba(0,0,0,0.06);
    font-size: 14px;
    line-height: 1;
    z-index: 95;
}

@media (max-width: 767px) {
    .whatsapp-label { display: none; }
}

/* Premium minimal scroll indicator */
.scroll-indicator{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff;text-decoration:none;z-index:2}
.scroll-line{width:2px;height:56px;background:rgba(255,255,255,.25);border-radius:9999px;position:relative;overflow:hidden}
.scroll-dot{position:absolute;left:0;top:0;width:2px;height:14px;background:#fff;border-radius:9999px;box-shadow:0 0 10px rgba(255,255,255,.9);animation:scrollPulse 1.6s ease-in-out infinite}
.scroll-text{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
@keyframes scrollPulse{0%{transform:translateY(6px)}50%{transform:translateY(38px)}100%{transform:translateY(6px)}}