/* Custom CSS for Sea Mountain Vacations */

/* Custom Color Definitions */
:root {
    --seashell: #fdf6f0;
    --pearl: #f5f0eb;
    --oceanfoam: #e8f0f2;
    --coral-50: #fdf4f0;
    --coral-100: #fce8de;
    --coral-200: #f9d0bb;
    --coral-300: #f5ad8d;
    --coral-400: #ef7a53;
    --coral-500: #e06035;
    --coral-600: #cc4d28;
    --charcoal-50: #f6f6f7;
    --charcoal-100: #e2e3e5;
    --charcoal-200: #c4c5ca;
    --charcoal-300: #a1a3aa;
    --charcoal-400: #7e818b;
    --charcoal-500: #616470;
    --charcoal-600: #4a4d57;
    --charcoal-700: #3a3d46;
    --charcoal-800: #2d2f36;
    --charcoal-900: #23252b;
    --charcoal-950: #13151a;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--seashell);
}
::-webkit-scrollbar-thumb {
    background: var(--coral-300);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--coral-400);
}

/* Navbar Glass Effect */
.nav-scrolled {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 1px 20px rgba(35, 37, 43, 0.06);
}

/* Hero gradient background */
.bg-seashell { background-color: var(--seashell); }
.bg-pearl { background-color: var(--pearl); }
.bg-oceanfoam { background-color: var(--oceanfoam); }

/* Selection color */
::selection {
    background: var(--coral-200);
    color: var(--charcoal-900);
}

/* Subtle image hover zoom for gallery */
.gallery-img {
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.gallery-img:hover {
    transform: scale(1.05);
}

/* Fade-in animation for scroll reveals (progressive enhancement) */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                    transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }
}

/* Focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--coral-400);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Mobile menu transition */
#mobile-menu {
    animation: slideDown 0.3s ease-out;
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Button ripple effect */
button, .btn-ripple {
    position: relative;
    overflow: hidden;
}

/* Print styles */
@media print {
    nav, #contact, footer { display: none; }
    body { color: #000; background: #fff; }
}
