/* =============================================
   MOBILE RESPONSIVE STYLES
   Baskets By D & B
   ============================================= */

/* Tablet - max-width: 992px */
@media (max-width: 992px) {
    .main-banner {
        padding: 60px 40px;
    }

    .banner-text h1 {
        font-size: 42px;
    }

    .banner-image {
        width: 350px;
        height: 260px;
    }

    .featured-grid {
        gap: 30px;
    }

    .basket-card {
        width: 260px;
    }

    .basket-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        padding: 40px;
        gap: 25px;
    }

    .thumbnail-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        padding: 40px;
        gap: 20px;
    }
}

/* Mobile - max-width: 768px */
@media (max-width: 768px) {
    nav {
        padding: 15px 20px;
    }

    .nav-links {
        gap: 20px;
    }

    .nav-links a:not(.contact-btn) {
        font-size: 13px;
    }

    .main-banner {
        flex-direction: column;
        padding: 40px 25px;
        text-align: center;
    }

    .banner-text {
        max-width: 100%;
        margin-bottom: 40px;
    }

    .banner-text h1 {
        font-size: 36px;
    }

    .banner-text p {
        font-size: 14px;
    }

    .banner-image {
        width: 100%;
        max-width: 350px;
        height: 250px;
    }

    .featured {
        padding: 50px 25px;
    }

    .featured h2 {
        font-size: 24px;
    }

    .featured-grid {
        flex-direction: column;
        align-items: center;
    }

    .basket-card {
        width: 100%;
        max-width: 320px;
    }

    .basket-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        padding: 30px 20px;
        gap: 20px;
    }

    .grid-item img {
        height: 180px;
    }

    .thumbnail-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        padding: 30px 20px;
        gap: 15px;
    }

    .contact {
        padding: 50px 25px;
    }

    .contact h2 {
        font-size: 24px;
    }

    .contact-info {
        flex-direction: column;
        gap: 30px;
    }

    .contact-item a {
        font-size: 16px;
    }

    footer {
        padding: 25px 20px;
    }

    .lightbox-close {
        top: 20px;
        right: 25px;
        font-size: 40px;
    }
}

/* Small Mobile - max-width: 480px */
@media (max-width: 480px) {
    .logo-text {
        font-size: 16px;
    }

    .nav-links {
        gap: 12px;
    }

    .nav-links a:not(.contact-btn) {
        font-size: 12px;
    }

    .nav-links .contact-btn {
        padding: 8px 16px;
        font-size: 11px;
    }

    .banner-text h1 {
        font-size: 30px;
    }

    .view-btn {
        padding: 14px 30px;
        font-size: 13px;
    }

    .basket-grid {
        grid-template-columns: 1fr 1fr;
        padding: 20px 15px;
        gap: 15px;
    }

    .grid-item img {
        height: 140px;
    }

    .thumbnail-grid {
        grid-template-columns: 1fr 1fr;
        padding: 20px 15px;
        gap: 12px;
    }

    .thumbnail-item {
        border-radius: 8px;
    }
}