@media (max-width: 480px) {

    .product-grid-5,
    .shopping-results,
    .rec-grid-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .card-body,
    .rec-info,
    .shopping-item-body {
        padding: 8px !important;
    }

    .product-grid-5 .card-body h6,
    .rec-title,
    .shopping-item-title {
        font-size: 13px !important;
        margin-bottom: 4px !important;
        height: auto !important;
        -webkit-line-clamp: 2;
    }

    .product-grid-5 .card-body .fw-bold,
    .rec-price,
    .shopping-item-price {
        font-size: 14px !important;
    }

    .product-grid-5 .card-body .text-secondary,
    .rec-loc,
    .shopping-item-mall {
        font-size: 11px !important;
        margin-bottom: 4px !important;
    }

    .rec-img,
    .shopping-item-image {
        height: 140px !important;
    }

    .product-grid-5 .card>div:first-child {
        height: 140px !important;
    }

    .category-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .category-card {
        height: 140px !important;
        padding: 16px !important;
    }

    .category-card .icon {
        font-size: 28px !important;
        margin-bottom: 8px !important;
    }

    .category-card .name {
        font-size: 14px !important;
    }

    .search-bar-container {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 30px !important;
    }

    .main-search-input {
        padding: 14px 16px !important;
        padding-right: 50px !important;
        font-size: 14px !important;
    }

    .main-search-btn {
        padding: 0 16px !important;
        font-size: 18px !important;
    }

    .hero-title {
        font-size: 28px !important;
        margin-bottom: 12px !important;
    }

    .hero-title img {
        height: 60px !important;
    }

    .hero-subtitle {
        font-size: 14px !important;
        margin-bottom: 30px !important;
        padding: 0 20px;
        word-break: keep-all;
    }

    .hero-section {
        padding: 40px 0 60px !important;
    }

    .content-container {
        padding: 0 16px !important;
    }

    .section-header {
        margin-bottom: 16px !important;
    }

    .section-title {
        font-size: 18px !important;
    }

    .random-discover-section .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .btn-refresh {
        width: 100%;
        justify-content: center;
        padding: 10px !important;
        background: #f8f9fa !important;
    }

    .chart-container {
        height: 240px !important;
        padding: 16px !important;
    }

    .keyword-tags,
    .kw-cloud {
        padding: 16px 0 !important;
        gap: 8px !important;
    }

    .tag,
    .kw-cloud a {
        font-size: 13px !important;
        padding: 6px 14px !important;
    }

    .keyword-ranking-box {
        padding: 20px !important;
        height: auto !important;
    }

    .ranking-title {
        font-size: 16px !important;
        margin-bottom: 16px !important;
    }

    .ranking-list li {
        padding: 10px 0 !important;
        font-size: 14px !important;
    }

    /* 플로팅 버튼 모달 최적화 */
    .modal-box {
        width: 95% !important;
        padding: 24px 16px !important;
        /* 패딩 축소 */
    }

    .subscription-plans-table {
        margin-top: 10px !important;
        display: block;
        /* 가로 스크롤 가능하게 */
        overflow-x: auto;
        white-space: nowrap;
    }

    .subscription-plans-table th,
    .subscription-plans-table td {
        padding: 10px 8px !important;
        font-size: 13px !important;
    }

    .subscription-plans-table .plan-name {
        font-size: 14px !important;
    }

    /* 닫기 버튼 크기 확보 */
    .modal-close-btn {
        padding: 8px !important;
    }
}