/* ==========================================================================
   Hotel Nataraj Residency - Responsive Mobile-First Breakpoints
   Supports: 360px, 390px, 412px, Tablet (768px-1024px), Desktop (1440px+)
   ========================================================================== */

/* Large screens (1440px+) */
@media (min-width: 1440px) {
    :root {
        --site-max-width: 1360px;
    }
    .hero-title-main {
        font-size: 3.5rem;
    }
}

/* Tablets and Laptops (max 1080px) */
@media (max-width: 1080px) {
    .main-nav {
        display: none; /* Switch to mobile drawer */
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .header-right-actions .header-book-btn {
        display: none; /* Mobile sticky bar replaces it */
    }

    .why-us-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .main-cards-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin: 0 auto;
    }

    .quick-links-strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Tablets (max 820px) */
@media (max-width: 820px) {
    .top-bar-left {
        display: none; /* Hide long street text in topbar on small screens */
    }

    .top-bar-content {
        justify-content: center;
    }

    .rooms-catalog-grid {
        grid-template-columns: 1fr;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .booking-field-group {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .booking-divider {
        display: none;
    }

    .booking-submit-col .btn-check-avail {
        width: 100%;
        height: 48px;
    }

    .booking-bar-wrapper {
        margin-top: -20px;
    }

    .hero-section {
        min-height: 460px;
        padding: 40px 0 50px;
    }

    .hero-title-main {
        font-size: 2.25rem;
    }

    .hero-tagline {
        font-size: 1.125rem;
    }

    .quick-links-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile Screens (max 640px) */
@media (max-width: 640px) {
    body.site-body {
        padding-bottom: 60px; /* Offset for sticky mobile bar */
    }

    .sticky-mobile-bar {
        display: flex;
    }

    .top-bar {
        padding: 6px 0;
    }

    .phone-hotlines a:nth-child(n+3) {
        display: none; /* Show primary 2 numbers on mobile topbar */
    }

    .header-inner {
        height: 68px;
    }

    .logo-img {
        width: 42px;
        height: 42px;
    }

    .brand-title-main {
        font-size: 1.0625rem;
    }

    .hero-section {
        min-height: 420px;
        padding: 30px 0 40px;
    }

    .hero-title-main {
        font-size: 1.875rem;
    }

    .hero-tagline {
        font-size: 1rem;
    }

    .hero-direct-contacts {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .why-us-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .quick-links-strip {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .trust-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-top-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-contact-box {
        align-items: flex-start;
    }

    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .room-card-actions {
        grid-template-columns: 1fr;
    }
}

/* Small Handsets (360px - 390px) */
@media (max-width: 390px) {
    .site-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .hero-title-main {
        font-size: 1.625rem;
    }

    .hero-cta-group .btn {
        width: 100%;
    }

    .phone-hotlines {
        font-size: 0.75rem;
    }
}
