/* Mallory House — Custom Styles */
/* This file provides additional custom styles beyond Tailwind CDN */

/* Smooth scrolling is handled inline for better control */
html {
    scroll-behavior: smooth;
}

/* Ensure proper font loading */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: local(''), url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
}

/* Custom focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid #C9A84C;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Ensure images don't overflow */
img {
    max-width: 100%;
    height: auto;
}

/* Print styles */
@media print {
    .nav, .mobile-menu, .hamburger { display: none !important; }
    body { background: white; color: black; }
    .hero { min-height: auto; }
    .hero-img-main { display: none; }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .room-card, .feature-item, .testimonial-card {
        border-width: 2px;
    }
    .btn-primary {
        border: 2px solid currentColor;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .hero-img-main { transform: none !important; }
    .room-card-img { transform: none !important; }
    .gallery-item img { transform: none !important; }
}

/* Landscape orientation on mobile */
@media (max-width: 768px) and (orientation: landscape) {
    .hero-content { padding: 40px 5vw; }
    .hero-visual { height: 40vh; }
}

/* Very small screens */
@media (max-width: 360px) {
    .hero-content { padding: 32px 4vw; }
    .room-card-body { padding: 20px; }
    .testimonial-card { padding: 24px; }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .room-card:hover { transform: none; }
    .room-card:active { transform: translateY(-4px); }
    .gallery-item:hover img { transform: none; }
    .gallery-item:active img { transform: scale(1.05); }
}
