/* Additional custom styles */

/* Smooth scroll offset for fixed navbar */
section[id] {
    scroll-margin-top: 80px;
}

/* Ensure all interactive elements have proper cursor */
a, button {
    cursor: pointer;
}

/* Selection color */
::selection {
    background: #ffd5c8;
    color: #1c1c22;
}

/* Image loading placeholder */
img {
    background: linear-gradient(135deg, #ececf0 0%, #d6d6e0 100%);
}

/* Subtle pattern for cream sections */
.bg-cream {
    background-image: radial-gradient(circle at 20% 80%, rgba(255, 145, 109, 0.03) 0%, transparent 50%),
                      radial-gradient(circle at 80% 20%, rgba(232, 240, 228, 0.4) 0%, transparent 50%);
}

/* Subtle pattern for white sections */
.bg-white {
    background-image: radial-gradient(circle at 80% 80%, rgba(255, 245, 242, 0.5) 0%, transparent 50%);
}

/* Button focus states */
.btn-primary:focus-visible,
.btn-secondary:focus-visible {
    outline: 3px solid #ff916d;
    outline-offset: 2px;
}

/* Form focus visible */
.form-input:focus-visible {
    outline: none;
}

/* Mobile menu backdrop */
.mobile-menu-overlay {
    backdrop-filter: blur(4px);
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .room-card:hover {
        transform: none;
    }
    .room-card:hover img {
        transform: none;
    }
    .animate-bounce {
        animation: none;
    }
}

/* Print styles */
@media print {
    .navbar, .mobile-menu, .mobile-menu-overlay {
        display: none !important;
    }
    .hero {
        min-height: auto;
        padding: 2rem 0;
    }
    body {
        color: #000;
        background: #fff;
    }
}
