/* ===================================
   RESPONSIVE STYLES — Indian Delight
   All responsive overrides live here.
   =================================== */

/* Hamburger: hidden on desktop */
.hamburger {
    display: none;
    cursor: pointer;
    font-size: 1.8rem;
    color: white;
    transition: color 0.3s ease;
    background: none;
    border: none;
    padding: 0.5rem;
}

nav.scrolled .hamburger {
    color: var(--dark);
}

/* Mobile-only nav item: hidden on desktop */
.mobile-nav-item {
    display: none !important;
}

/* =======================
   TABLET — max-width 992px
   ======================= */
@media (max-width: 992px) {

    /* --- Navbar --- */
    .hamburger {
        display: block;
    }

    nav>.btn-primary {
        display: none;
        /* Hide desktop Order Online button */
    }

    .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: white;
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding: 0;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
        z-index: 998;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease, padding 0.4s ease;
    }

    .nav-links.active {
        max-height: 500px;
        padding: 1.5rem 0;
    }

    .nav-links li {
        width: 100%;
        text-align: center;
    }

    .nav-links a {
        color: var(--dark) !important;
        font-size: 1.1rem;
        display: block;
        padding: 0.8rem 2rem;
        transition: background 0.2s ease;
    }

    .nav-links a:hover {
        background: #f5f5f5;
    }

    .nav-links a::after {
        display: none;
        /* Remove underline animation in mobile menu */
    }

    .mobile-nav-item {
        display: block !important;
        padding: 0.5rem 2rem 0;
    }

    .mobile-nav-item .btn-primary {
        display: inline-flex !important;
        width: 80%;
        max-width: 280px;
        justify-content: center;
        font-size: 0.85rem;
        padding: 0.8rem 1.5rem;
        min-width: 0;
    }

    /* --- Hero --- */
    .hero h1 {
        font-size: 3rem;
        padding: 0 1rem;
    }

    .hero p {
        font-size: 1.1rem;
        padding: 0 1rem;
        margin-bottom: 2.5rem;
    }

    .hero-btns {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        width: 100%;
        padding: 0 2rem;
    }

    .hero-btns .btn-primary,
    .hero-btns .btn-secondary {
        width: 100%;
        max-width: 320px;
        min-width: 0;
        padding: 0.9rem 2rem;
        font-size: 0.85rem;
    }

    /* --- Content Sections --- */
    .content-section {
        padding: 5rem 5% !important;
        gap: 4rem !important;
    }

    .content-col {
        min-width: 0 !important;
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    .section-title {
        font-size: 2.8rem !important;
    }

    .section-desc {
        font-size: 1.15rem !important;
    }

    /* --- Quote Block --- */
    .quote-block {
        padding: 2.5rem !important;
        border-radius: 25px !important;
    }

    .quote-block p {
        font-size: 1.3rem !important;
    }

    /* --- Menu --- */
    .menu-section {
        padding: 5rem 1.5rem;
    }

    .menu-category-title {
        font-size: 2.5rem;
        margin: 4rem 0 3rem;
    }

    .text-menu-item {
        flex-direction: column;
    }

    .text-menu-price {
        margin-top: 0.8rem;
    }

    .text-menu-info h3 {
        font-size: 1.5rem;
    }

    .text-menu-info p {
        font-size: 1rem;
    }

    .decorative-img {
        height: 280px;
        border-radius: 25px;
        margin: 3rem 0;
        border-width: 6px;
    }

    /* --- Menu CTA --- */
    .menu-cta {
        padding: 4rem 2rem !important;
        border-radius: 25px !important;
    }

    .menu-cta h2 {
        font-size: 2.2rem !important;
    }

    .menu-cta p {
        font-size: 1.1rem !important;
    }

    /* --- Contact Page --- */
    .contact-hero {
        padding: 140px 5% 80px !important;
    }

    .contact-hero h1 {
        font-size: 3rem !important;
    }

    .contact-hero p {
        font-size: 1.2rem !important;
    }

    .contact-section {
        padding: 5rem 5% !important;
    }

    .contact-section h2 {
        font-size: 2.2rem !important;
    }

    .map-container {
        height: 380px !important;
        border-radius: 25px !important;
        border-width: 6px !important;
    }

    /* --- Footer --- */
    footer {
        padding: 5rem 5% 3rem;
    }

    .footer-content {
        grid-template-columns: 1fr !important;
        text-align: center;
        gap: 2.5rem !important;
    }

    .footer-content h3 {
        font-size: 1.4rem;
    }

    .footer-links a:hover {
        transform: none;
    }

    .footer-bottom {
        margin-top: 3rem;
    }

    /* Floating Order Button on mobile */
    .floating-order-btn {
        bottom: 1.2rem;
        right: 50%;
        transform: translateX(50%);
        padding: 0.8rem 1.5rem;
        font-size: 0.8rem;
        animation: none;
    }

    .floating-order-btn:hover {
        transform: translateX(50%) translateY(-3px);
    }

    /* About page hero */
    .hero[style*="65vh"] {
        height: 50vh !important;
    }
}

/* =======================
   SMALL TABLET — max-width 768px
   ======================= */
@media (max-width: 768px) {

    .hero h1 {
        font-size: 2.5rem;
    }

    .hero-location {
        font-size: 0.55em;
    }

    .section-title {
        font-size: 2.2rem !important;
    }

    .content-section {
        padding: 4rem 5% !important;
        gap: 3rem !important;
    }

    .content-col img {
        border-radius: 30px !important;
    }

    .contact-hero h1 {
        font-size: 2.5rem !important;
    }

    .menu-category-title {
        font-size: 2rem;
    }
}

/* =======================
   PHONE — max-width 480px
   ======================= */
@media (max-width: 480px) {

    .hero {
        height: 100svh;
    }

    .hero h1 {
        font-size: 2rem;
    }

    .hero p {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .hero-btns .btn-primary,
    .hero-btns .btn-secondary {
        padding: 0.8rem 1.5rem;
        font-size: 0.8rem;
        letter-spacing: 1px;
    }

    .nav-logo img {
        height: 36px;
    }

    .nav-logo span {
        font-size: 1.1rem;
    }

    .section-title {
        font-size: 1.8rem !important;
    }

    .section-desc {
        font-size: 1rem !important;
    }

    .quote-block {
        padding: 2rem !important;
    }

    .quote-block p {
        font-size: 1.1rem !important;
    }

    .content-col img {
        border-radius: 20px !important;
    }

    .menu-section {
        padding: 3rem 1rem;
    }

    .menu-category-title {
        font-size: 1.8rem;
        margin: 3rem 0 2rem;
    }

    .text-menu-info h3 {
        font-size: 1.3rem;
    }

    .decorative-img {
        height: 200px;
        border-radius: 18px;
        margin: 2rem 0;
        border-width: 4px;
    }

    .menu-cta {
        padding: 3rem 1.5rem !important;
        border-radius: 18px !important;
        margin-top: 4rem !important;
    }

    .menu-cta h2 {
        font-size: 1.8rem !important;
    }

    .contact-hero {
        padding: 120px 5% 60px !important;
    }

    .contact-hero h1 {
        font-size: 2rem !important;
    }

    .contact-hero p {
        font-size: 1rem !important;
    }

    .contact-section {
        padding: 3rem 5% !important;
    }

    .contact-grid {
        gap: 2rem !important;
    }

    .map-container {
        height: 280px !important;
        border-radius: 18px !important;
        border-width: 4px !important;
    }

    footer {
        padding: 3rem 5% 2rem;
    }

    .footer-content h3 {
        font-size: 1.2rem;
    }

    .footer-bottom {
        margin-top: 2rem;
        padding-top: 2rem;
    }
}