/* responsive.css - 반응형 스타일 */

/* 큰 데스크톱 - 1400px 이상 */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

/* 일반 데스크톱 - 1200px 이상 1400px 미만 */
@media (min-width: 1200px) and (max-width: 1399px) {
    .container {
        max-width: 1140px;
    }
}

/* 작은 데스크톱/큰 태블릿 - 992px 이상 1200px 미만 */
@media (min-width: 992px) and (max-width: 1199px) {
    .container {
        max-width: 960px;
    }

    .content-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 15px; /* 화면이 좁아질 때 간격 조정 */
    }

    .intro-title {
        font-size: 26px;
    }
    
    /* 4열 유지 시 카드 크기 조정 */
    .card-image {
        height: 180px; /* 이미지 높이 줄임 */
    }
    
    .card-title {
        font-size: 16px; /* 제목 크기 조정 */
    }
}

/* 태블릿 - 768px 이상 992px 미만 */
@media (min-width: 768px) and (max-width: 991px) {
    .container {
        max-width: 720px;
    }

    .header-top {
        position: relative;
    }

    .menu-container {
        order: 2;
        margin-left: auto;
    }

    .search-container {
        order: 1;
        flex-grow: 0;
        margin-right: 15px;
    }

    .content-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .intro-title {
        font-size: 24px;
    }

    .card-image {
        height: 200px;
    }
}

/* 모바일 - 576px 이상 768px 미만 */
@media (min-width: 576px) and (max-width: 767px) {
    .container {
        max-width: 540px;
    }

    .header-top {
        flex-wrap: wrap;
        position: relative;
    }

    .search-container {
        order: 2;
        flex-grow: 1;
        margin: 15px 0 0;
        max-width: none;
    }

    .menu-container {
        order: 1;
        position: absolute;
        top: 0;
        right: 0;
    }

    .content-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .intro-title {
        font-size: 22px;
    }

    .intro-text {
        font-size: 14px;
    }

    .card-image {
        height: 180px;
    }

    .card-title {
        font-size: 16px;
    }
}

/* 작은 모바일 - 576px 미만 */
@media (max-width: 575px) {
    .container {
        padding: 0 15px;
        width: 100%;
    }

    .header-top {
        flex-wrap: wrap;
        position: relative;
    }

    .logo-animated {
        font-size: 24px;
    }

    .search-container {
        order: 2;
        flex-grow: 1;
        margin: 15px 0 0;
        max-width: none;
        width: 100%;
    }

    .menu-container {
        order: 1;
        position: absolute;
        top: 0;
        right: 0;
    }

    .filter-container {
        gap: 6px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 5px;
    }

    .filter-btn {
        padding: 6px 12px;
        font-size: 13px;
    }

    .filter-btn[data-filter="all"] {
        display: none;
    }

    .filter-btn[data-filter="트렌드"] {
        display: none;
    }

    .content-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .intro-section {
        padding: 10px 7px;
        margin: 40px;
    }

    .intro-title {
        font-size: 20px;
    }

    .intro-text {
        font-size: 14px;
    }

    .card-image {
        height: 180px;
    }

    .card-title {
        font-size: 16px;
    }

    .category-label {
        font-size: 12px;
        padding: 4px 10px;
    }

    .like-button, .indicator.evaluate {
        padding: 4px 8px;
        font-size: 11px;
    }

    .tags-container {
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .tag {
        font-size: 11px;
        padding: 4px 8px;
    }

    .domain-name {
        font-size: 13px;
    }

    .date {
        font-size: 11px;
    }

    .load-more {
        padding: 8px 20px;
        font-size: 13px;
    }

    .footer-text {
        font-size: 12px;
    }

    /* 모달 스타일 조정 */
    .eval-modal-content {
        width: 95%;
    }

    .eval-modal-header h3 {
        font-size: 16px;
    }

    .criteria-item label {
        font-size: 14px;
    }

    .star-rating i {
        font-size: 20px;
    }

    .eval-actions button {
        padding: 6px 12px;
        font-size: 13px;
    }
}

/* 특히 작은 화면 대응 추가 (Galaxy Fold 등) */
@media (max-width: 375px) {
    .header-top {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
    }

    .logo-animated {
        margin-bottom: 0;
        flex-grow: 0;
    }

    .menu-container {
        position: absolute;
        top: 0;
        right: 0;
        order: 1;
    }

    .search-container {
        width: 100%;
        margin-top: 15px;
        order: 2;
    }

    .card-image {
        height: 160px;
    }

    .like-button {
        right: 10px;
        top: 10px;
    }

    .indicator.evaluate {
        right: 65px;
        top: 10px;
    }

    .category-label {
        left: 10px;
        top: 10px;
    }
}

/* 인쇄 스타일 */
@media print {
    header, footer, .filter-container, .like-button, .indicator, .load-more {
        display: none !important;
    }

    body {
        background-color: white;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    .content-grid {
        display: block;
    }

    .card {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-bottom: 20px;
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .card-image {
        height: auto;
        max-height: 150px;
    }

    .tags-container {
        position: static;
        display: block;
        margin-top: 10px;
    }

    .tag {
        background-color: transparent;
        color: #333;
        border: 1px solid #ddd;
    }
}