@media (max-width: 600px) {
    footer {
        padding: 20px 14px 24px;
    }

    .footer-container {
        gap: 10px;
    }

    .footer-section {
        flex-basis: 100%;
        padding: 14px 16px;
        border-radius: 10px;
    }

    .footer-section h3 {
        margin-bottom: 10px;
        font-size: 0.94rem;
    }

    .footer-section a,
    .footer-section ul:empty::after {
        font-size: 0.84rem;
    }
}

@media (max-width: 400px) {
    footer {
        padding: 20px 14px 24px;
    }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: stretch;
        gap: clamp(8px, 2.8vw, 12px);
    }

    .product-card {
        width: 100%;
        max-width: none;
        padding: clamp(9px, 2.5vw, 12px);
        border-radius: 8px;
    }

    .product-badge-new {
        top: 8px;
        right: 8px;
        min-width: 38px;
        min-height: 22px;
        padding: 4px 6px;
        font-size: 0.54rem;
    }

    .product-image {
        width: clamp(88px, 28vw, 108px);
        height: auto;
        aspect-ratio: 1 / 1;
        margin-bottom: 8px;
    }

    .product-title {
        min-height: 34px;
        margin-bottom: 6px;
        font-size: clamp(0.72rem, 2.3vw, 0.8rem);
    }

    .product-date {
        height: 20px;
        margin-bottom: 6px;
        font-size: clamp(0.62rem, 2vw, 0.68rem);
    }

    .product-price {
        min-height: 22px;
        margin-bottom: 8px;
    }

    .product-price span {
        font-size: clamp(0.86rem, 2.8vw, 0.96rem);
    }

    .product-card-button {
        min-height: 36px;
        font-size: clamp(0.72rem, 2.3vw, 0.8rem);
    }
}

@media (max-width: 300px) {
    html,
    body {
        min-width: 300px;
    }

    header,
    main,
    footer,
    .sidebar,
    .cart {
        min-width: 300px;
    }
}
