/* ====================================
   Bella Cucina - Responsive Stylesheet
   responsive.css
   Media Queries (Req #13)
   ==================================== */

/* ---------- Tablet (max-width: 992px) ---------- */
@media screen and (max-width: 992px) {
    .hero-content h2 {
        font-size: 2.2em;
    }

    .hero {
        padding: 80px 20px;
        min-height: 400px;
    }

    .home-about .about-image img {
        max-width: 300px;
    }

    .dish-grid,
    .quick-info,
    .specials-grid,
    .values-grid,
    .team-grid,
    .gallery-grid,
    .deal-grid,
    .parking-grid {
        gap: 15px;
    }

    .contact-container,
    .reservation-container {
        flex-direction: column;
    }

    .contact-form-wrapper,
    .contact-info-wrapper,
    .reservation-form-wrapper,
    .reservation-info {
        min-width: 100%;
    }

    .footer-container {
        gap: 20px;
    }
}

/* ---------- Mobile (max-width: 768px) ---------- */
@media screen and (max-width: 768px) {
    /* Show hamburger, hide nav */
    .menu-toggle {
        display: block;
    }

    nav ul#main-nav {
        display: none;
        flex-direction: column;
        width: 100%;
        margin-top: 15px;
        gap: 0;
    }

    nav ul#main-nav.show {
        display: flex;
    }

    nav ul#main-nav li a {
        padding: 12px 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .header-container {
        flex-wrap: wrap;
    }

    /* Hero */
    .hero {
        padding: 60px 20px;
        min-height: 300px;
    }

    .hero-content h2 {
        font-size: 1.8em;
    }

    .hero-content p {
        font-size: 1em;
    }

    .btn {
        padding: 10px 20px;
        font-size: 0.9em;
    }

    /* Float adjustments */
    .float-left {
        float: none;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .home-about .about-image img,
    .about-story .about-image img {
        max-width: 100%;
    }

    .home-about .about-text h2,
    .about-story .about-text h2 {
        text-align: center;
    }

    /* Page banner */
    .page-banner {
        padding: 40px 15px;
    }

    .page-banner h2 {
        font-size: 1.8em;
    }

    /* Main */
    main {
        padding: 25px 15px;
    }

    main h2 {
        font-size: 1.6em;
    }

    /* Cards - full width on mobile */
    .dish-card,
    .special-card,
    .value-card,
    .team-member,
    .gallery-item,
    .deal-card,
    .parking-card {
        min-width: 100%;
        max-width: 100%;
    }

    .info-card {
        min-width: 100%;
    }

    /* Tables */
    .menu-table,
    .hours-table {
        font-size: 0.9em;
    }

    .menu-table th,
    .menu-table td,
    .hours-table th,
    .hours-table td {
        padding: 8px 10px;
    }

    /* Menu nav */
    .menu-nav ul {
        gap: 5px;
    }

    .menu-nav ul li a {
        padding: 6px 12px;
        font-size: 0.9em;
    }

    /* Form */
    .form-row {
        flex-direction: column;
        gap: 0;
    }

    form {
        padding: 20px;
    }

    /* Footer */
    .footer-container {
        flex-direction: column;
        text-align: center;
    }

    .footer-col {
        min-width: 100%;
    }

    /* Map */
    .map-container iframe {
        height: 300px;
    }
}

/* ---------- Small Mobile (max-width: 480px) ---------- */
@media screen and (max-width: 480px) {
    .logo h1 {
        font-size: 1.5em;
    }

    .logo .tagline {
        font-size: 0.75em;
    }

    .hero-content h2 {
        font-size: 1.4em;
    }

    .hero {
        padding: 40px 15px;
        min-height: 250px;
    }

    .btn {
        display: block;
        text-align: center;
        margin: 8px 0;
    }

    main h2 {
        font-size: 1.4em;
    }

    .page-banner h2 {
        font-size: 1.5em;
    }

    .menu-table td:nth-child(2) {
        display: none; /* Hide description on very small screens */
    }

    .menu-table th:nth-child(2) {
        display: none;
    }
}
