/* Custom styles for Star-Lodge Motel & Grandma's Kitchen */

/* Smooth scroll behavior is handled inline in HTML */

/* Typography refinements */
h1, h2, h3, h4 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 400;
    line-height: 1.1;
}

/* Ensure all text meets contrast requirements */
.text-forest-900 { color: #1f331f; }
.text-forest-800 { color: #284228; }
.text-forest-700 { color: #305030; }
.text-forest-600 { color: #3d663d; }
.text-forest-500 { color: #4a7c4a; }
.text-forest-400 { color: #6b9e6b; }
.text-forest-300 { color: #98bf98; }
.text-cream-50 { color: #faf9f6; }
.text-cream-100 { color: #f5f3ed; }
.text-cream-200 { color: #ebe8df; }

/* Hover states for interactive elements */
a:hover {
    text-decoration: none;
}

/* Focus styles for accessibility */
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 2px solid #4a7c4a;
    outline-offset: 2px;
}

/* Image loading optimization */
img {
    max-width: 100%;
    height: auto;
}

/* Subtle hover transitions for cards */
.group:hover .group-hover\:scale-105 {
    transform: scale(1.05);
}

/* Custom line decoration */
.line-thin {
    height: 1px;
    background: rgba(46, 80, 46, 0.15);
}

/* Mobile menu transitions */
#mobile-menu {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Navbar scroll state */
.nav-scrolled {
    background: rgba(250, 249, 246, 0.95) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 rgba(46, 80, 46, 0.1);
}

.nav-scrolled .text-forest-700 {
    color: #305030 !important;
}

.nav-scrolled .text-forest-600 {
    color: #3d663d !important;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* Print styles */
@media print {
    nav,
    #mobile-menu,
    button,
    form {
        display: none !important;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    a {
        color: #000;
    }
}

/* High contrast mode support */
@media (forced-colors: active) {
    .line-thin {
        background: CanvasText;
    }
    
    button,
    a[href^="tel:"] {
        border: 1px solid CanvasText;
    }
}

/* Landscape orientation on mobile */
@media (max-height: 500px) and (orientation: landscape) {
    #hero {
        min-height: auto;
        padding: 4rem 0;
    }
}

/* Very small screens */
@media (max-width: 360px) {
    .font-serif {
        font-size: 1.5rem;
    }
    
    h2 {
        font-size: 2rem;
    }
}

/* Large screens */
@media (min-width: 1920px) {
    .max-w-7xl {
        max-width: 80rem;
    }
}
