@media (max-width: 1300px) {
    :root {
        --sticky-top: 80px;
    }

    /* 이 페이지 전용: 서브 헤더 상단 여백 (head.responsive의 768px 132px·1300px 80px 등 덮어씀) */
    body.sub-body {
        padding-top: 90px !important;
        margin-top: 0;
    }

    body.sub-body.hide-top-header {
        padding-top: 90px !important;
    }

    .main_container {
        padding: 0 24px;
        box-sizing: border-box;
    }

    .main_text {
        margin-top: 28px;
        gap: 14px;
    }

    .main_text h5 {
        font-size: 24px;
        line-height: 1.35;
        margin: 0;
        word-break: keep-all;
    }

    .main_text .cont_search_box {
        flex-shrink: 0;
    }

    #cont_search_header {
        width: 360px;
        font-size: 16px;
        padding: 10px 46px 10px 16px;
    }

    .main_text .cont_search_box .search_clear_btn {
        right: 46px;
        width: 19px;
        height: 19px;
        font-size: 13px;
    }

    .main_text .cont_search_box .search_icon {
        right: 16px;
        width: 17px;
        height: 17px;
    }

    .fliter_tabs {
        margin-top: 44px;
        margin-bottom: 20px;
        padding-bottom: 18px;
        overflow-x: visible;
    }

    .fliter_b.join_menu {
        grid-template-columns: repeat(auto-fill, minmax(74px, 1fr)) !important;
        justify-items: center;
        gap: 22px;
        min-width: 0;
        width: 100%;
    }

    .fliter_b .join_menu_sub_box {
        width: 100%;
    }

    .fliter_b .join_menu_box {
        padding: 16px 22px !important;
        border-radius: 10px;
    }

    .fliter_b.grid-many .join_menu_box {
        padding: 12px 16px !important;
    }

    .fliter_b.grid-extra-many .join_menu_box {
        padding: 8px 12px !important;
    }

    .fliter_b .join_menu_text {
        font-size: 18px;
        margin-top: 16px;
    }

    .fliter_b.grid-many .join_menu_text {
        font-size: 15px;
        margin-top: 12px;
    }

    .fliter_b.grid-extra-many .join_menu_text {
        font-size: 13px;
    }

    .fliter_b .join_menu_icon {
        aspect-ratio: 1 / 1;
        height: auto;
    }

    .main_fliter {
        margin-top: 24px;
        border-radius: 20px;
        padding: 22px 24px 28px 24px;
    }

    .filter-group {
        margin-top: 16px;
        align-items: flex-start;
    }

    .group_box {
        width: 100px;
        min-width: 100px;
        font-size: 16px;
        padding-left: 0;
        padding-top: 10px;
    }

    .group_radio {
        font-size: 16px;
        flex-wrap: wrap;
        gap: 12px 18px;
        padding-left: 16px;
        padding-right: 0;
    }

    .group_radio label {
        margin-right: 0;
        font-size: 15px;
    }

    .group_chip_wrap {
        padding-left: 16px;
        padding-right: 0;
    }

    .group_chip_wrap.has-scroll:not(.at-start)::before {
        left: 16px;
    }

    .group_chip_wrap.has-scroll:not(.at-end)::after {
        right: 0;
    }

    .group_chip_wrap .chip-scroll-right {
        right: 0;
    }

    .group_chip label,
    .group_chip a {
        font-size: 13px;
        padding: 8px 16px;
    }

    .reset_box {
        margin-top: 20px;
    }
}

@media (max-width: 1024px) {
    .main_container {
        padding: 0 20px;
    }

    .main_text {
        margin-top: 24px;
        gap: 12px;
    }

    .main_text h5 {
        font-size: 22px;
    }

    #cont_search_header {
        width: 320px;
        font-size: 15px;
        padding: 9px 44px 9px 14px;
    }

    .main_text .cont_search_box .search_clear_btn {
        right: 42px;
        width: 18px;
        height: 18px;
        font-size: 12px;
    }

    .main_text .cont_search_box .search_icon {
        right: 14px;
        width: 16px;
        height: 16px;
    }

    .fliter_tabs {
        margin-top: 38px;
        margin-bottom: 16px;
        padding-bottom: 14px;
        overflow-x: visible;
    }

    .fliter_b.join_menu {
        gap: 18px;
        min-width: 0;
        width: 100%;
    }

    .fliter_b .join_menu_box {
        padding: 14px 20px !important;
        border-radius: 9px;
    }

    .fliter_b.grid-many .join_menu_box {
        padding: 11px 15px !important;
    }

    .fliter_b.grid-extra-many .join_menu_box {
        padding: 8px 11px !important;
    }

    .fliter_b .join_menu_text {
        font-size: 17px;
        margin-top: 14px;
    }

    .fliter_b.grid-many .join_menu_text {
        font-size: 15px;
    }

    .fliter_b.grid-extra-many .join_menu_text {
        font-size: 13px;
    }

    .main_fliter {
        margin-top: 20px;
        border-radius: 18px;
        padding: 20px 20px 24px 20px;
    }

    .group_box {
        width: 92px;
        min-width: 92px;
        font-size: 15px;
        padding-top: 10px;
    }

    .group_radio {
        gap: 10px 14px;
        padding-left: 12px;
    }

    .group_radio label {
        font-size: 14px;
        padding-left: 24px;
    }

    .group_chip_wrap {
        padding-left: 12px;
    }

    .group_chip_wrap.has-scroll:not(.at-start)::before {
        left: 12px;
    }

    .group_chip label,
    .group_chip a {
        font-size: 12px;
        padding: 7px 14px;
    }
}

@media (max-width: 768px) {
    .main_container {
        padding: 0 20px;
    }

    .main_text {
        margin-top: 20px;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .main_text h5 {
        font-size: 20px;
        line-height: 1.4;
    }

    .main_text .cont_search_box {
        width: 100%;
    }

    #cont_search_header {
        width: 100%;
        box-sizing: border-box;
        font-size: 15px;
        padding: 10px 44px 10px 14px;
    }

    .main_text .cont_search_box .search_clear_btn {
        right: 40px;
    }

    .main_text .cont_search_box .search_icon {
        right: 12px;
        width: 16px;
        height: 16px;
    }

    .fliter_tabs {
        margin-top: 30px;
        margin-bottom: 12px;
        padding-bottom: 10px;
        overflow-x: visible;
    }

    .fliter_b.join_menu {
        grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)) !important;
        justify-items: center;
        gap: 14px;
        min-width: 0;
        width: 100%;
    }

    .fliter_b .join_menu_box {
        padding: 12px 16px !important;
        border-radius: 8px;
    }

    .fliter_b.grid-many .join_menu_box {
        padding: 10px 13px !important;
    }

    .fliter_b.grid-extra-many .join_menu_box {
        padding: 7px 10px !important;
    }

    .fliter_b .join_menu_text {
        font-size: 16px;
        margin-top: 12px;
    }

    .fliter_b.grid-many .join_menu_text {
        font-size: 14px;
        margin-top: 10px;
    }

    .fliter_b.grid-extra-many .join_menu_text {
        font-size: 12px;
    }

    .main_fliter {
        margin-top: 18px;
        border-radius: 16px;
        padding: 18px 16px 20px 16px;
    }

    .filter-group {
        flex-direction: column;
        gap: 10px;
        margin-top: 14px;
    }

    .group_box {
        width: 100%;
        min-width: 0;
        padding-top: 0;
        font-size: 15px;
    }

    .group_radio,
    .group_chip_wrap {
        width: 100%;
        padding-left: 0;
    }

    .group_radio label {
        font-size: 13px;
        padding-left: 22px;
    }

    .group_chip_wrap.has-scroll:not(.at-start)::before {
        left: 0;
    }

    .group_chip_wrap.has-scroll:not(.at-end)::after {
        right: 0;
    }

    .group_chip_wrap .chip-scroll-right {
        right: 0;
    }

    .group_chip label,
    .group_chip a {
        font-size: 12px;
        padding: 7px 12px;
    }

    .reset_box {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .main_container {
        padding: 0 16px;
    }

    .main_text {
        margin-top: 16px;
        gap: 10px;
    }

    .main_text h5 {
        font-size: 18px;
    }

    #cont_search_header {
        font-size: 14px;
        padding: 9px 40px 9px 12px;
    }

    .main_text .cont_search_box .search_clear_btn {
        right: 36px;
        width: 17px;
        height: 17px;
        font-size: 11px;
    }

    .main_text .cont_search_box .search_icon {
        right: 11px;
        width: 15px;
        height: 15px;
    }

    .fliter_tabs {
        margin-top: 24px;
        margin-bottom: 10px;
        padding-bottom: 8px;
        overflow-x: visible;
    }

    .fliter_b.join_menu {
        grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)) !important;
        justify-items: center;
        gap: 10px;
        min-width: 0;
        width: 100%;
    }

    .fliter_b .join_menu_sub_box {
        max-width: 118px;
    }

    .fliter_b .join_menu_box {
        padding: 8px 10px !important;
        border-radius: 8px;
    }

    .fliter_b.grid-many .join_menu_box {
        padding: 7px 9px !important;
    }

    .fliter_b.grid-extra-many .join_menu_box {
        padding: 5px 7px !important;
    }

    .fliter_b .join_menu_text {
        font-size: 11px;
        margin-top: 8px;
    }

    .fliter_b.grid-many .join_menu_text {
        font-size: 11px;
        margin-top: 6px;
    }

    .fliter_b.grid-extra-many .join_menu_text {
        font-size: 11px;
    }

    .main_fliter {
        margin-top: 16px;
        border-radius: 14px;
        padding: 16px 12px 18px 12px;
    }

    .filter-group {
        margin-top: 12px;
        gap: 8px;
    }

    .group_box {
        font-size: 14px;
    }

    .group_radio {
        gap: 8px 10px;
    }

    .group_radio label {
        font-size: 12px;
        padding-left: 20px;
    }

    .group_radio label::before {
        width: 18px;
        height: 18px;
    }

    .group_radio label::after {
        left: 3px;
        width: 12px;
        height: 12px;
    }

    .group_chip label,
    .group_chip a {
        min-width: 52px;
        font-size: 11px;
        padding: 6px 10px;
    }

    .reset_box span {
        font-size: 12px;
    }
}

@media (max-width: 345px) {
    .main_container {
        padding: 0 12px;
    }

    .main_text {
        margin-top: 14px;
        gap: 8px;
    }

    .main_text h5 {
        font-size: 16px;
    }

    #cont_search_header {
        font-size: 13px;
        padding: 8px 36px 8px 10px;
    }

    .main_text .cont_search_box .search_clear_btn {
        right: 33px;
        width: 16px;
        height: 16px;
        font-size: 10px;
    }

    .main_text .cont_search_box .search_icon {
        right: 10px;
        width: 14px;
        height: 14px;
    }

    .fliter_tabs {
        margin-top: 20px;
        margin-bottom: 8px;
        padding-bottom: 6px;
        overflow-x: visible;
    }

    .fliter_b.join_menu {
        grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)) !important;
        justify-items: center;
        gap: 8px;
        min-width: 0;
        width: 100%;
    }

    .fliter_b .join_menu_sub_box {
        max-width: 104px;
    }

    .fliter_b .join_menu_box {
        padding: 6px 8px !important;
        border-radius: 8px;
    }

    .fliter_b.grid-many .join_menu_box {
        padding: 6px 7px !important;
    }

    .fliter_b.grid-extra-many .join_menu_box {
        padding: 5px 6px !important;
    }

    .fliter_b .join_menu_text {
        font-size: 11px;
        margin-top: 6px;
        line-height: 1.3;
    }

    .fliter_b.grid-many .join_menu_text {
        font-size: 11px;
        margin-top: 5px;
    }

    .fliter_b.grid-extra-many .join_menu_text {
        font-size: 10px;
    }

    .main_fliter {
        margin-top: 14px;
        border-radius: 12px;
        padding: 14px 10px 16px 10px;
    }

    .group_box {
        font-size: 13px;
    }

    .group_radio label {
        font-size: 11px;
        line-height: 1.2;
        padding-left: 18px;
    }

    .group_radio label::before {
        width: 16px;
        height: 16px;
    }

    .group_radio label::after {
        left: 3px;
        width: 10px;
        height: 10px;
    }

    .group_chip {
        gap: 6px;
    }

    .group_chip label,
    .group_chip a {
        min-width: 46px;
        font-size: 10px;
        padding: 6px 9px;
        border-radius: 18px;
    }

    .group_chip_wrap .chip-scroll-btn {
        font-size: 12px;
        padding: 6px;
    }

    .reset_box {
        margin-top: 14px;
    }

    .reset_box span {
        font-size: 11px;
    }
}

@media (max-width: 1300px) {
    /* list-search-result */
    #list-search-result.list_box {
        margin-top: 72px;
        gap: 20px;
        align-items: center;
        padding: 12px 16px;
        box-sizing: border-box;
    }
    #list-search-result.list_box.fixed { padding: 12px 16px; box-sizing: border-box; }
    #list-search-result .list_box_sub { width: 58%; gap: 18px; min-width: 0; }
    #list-search-result .blurArea { width: 100% !important; min-width: 0; }
    #list-search-result .fliter_list { padding: 0 8px; }
    #list-search-result .list_right_div { width: 40%; min-width: 320px; align-items: stretch; gap: 16px; }
    #list-search-result .all_search_box { width: 100%; padding-left: 0; }
    #list-search-result .all_search_box .cont_search_box { width: 100%; position: relative; }
    #list-search-result .cont_search_input { width: 100%; max-width: 100%; box-sizing: border-box; }
    #list-search-result .all_search_box .search_icon { right: 18px; }

    /* sort tabs */
    .fliter_cate_list {
        margin-top: 24px;
        justify-content: flex-start;
        gap: 0;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        white-space: nowrap;
        padding-bottom: 4px;
    }
    .fliter_cate_list::-webkit-scrollbar { display: none; }
    .fliter_cate_list li { flex-shrink: 0; font-size: 14px; padding: 0 16px; }
    .fliter_cate_list li:first-child { padding-left: 0; }

    /* result cards */
    .result_list_box {
        margin-top: 28px;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    .cate_card:nth-child(n+5) { margin-top: 0; }
    .best_card_img { height: 240px; }
    .best_card_info { gap: 12px; bottom: 6px; }
    .card_info { gap: 10px; font-size: 12px; }
    .info_icon img { width: 12px; }
    .best_card_content_main h3 { font-size: 17px; }
    .best_card_sub_text { font-size: 13px; }
    .price { font-size: 16px; margin-top: 12px; }

    /* pager */
    .page_div {
        margin-top: 72px;
        margin-bottom: 140px;
        justify-content: center;
    }
    .page_div a {
        position: static;
        transform: none;
        font-size: 16px;
        padding: 14px 56px;
        border-radius: 22px;
        margin-right: 24px;
    }
    .page_box { gap: 28px; }
    .page_box img { width: 14px; height: 22px; }
    .page_num { gap: 12px; }
    #page_search { width: 56px; padding: 4px 18px; font-size: 14px; }
    .all_page { font-size: 14px; }
}

@media (max-width: 1024px) {
    /* list-search-result */
    #list-search-result.list_box {
        margin-top: 56px;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 12px 14px;
    }
    #list-search-result.list_box.fixed { padding: 12px 14px; }
    #list-search-result .list_box_sub { width: 100%; gap: 14px; }
    #list-search-result .list_box_sub p { flex-shrink: 0; }
    #list-search-result .list_right_div { width: 100%; min-width: 0; align-items: stretch; }

    /* sort tabs */
    .fliter_cate_list { margin-top: 18px; padding-bottom: 3px; }
    .fliter_cate_list li { font-size: 13px; padding: 0 14px; }

    /* result cards */
    .result_list_box { margin-top: 24px; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .best_card_img { height: 220px; }

    /* pager */
    .page_div {
        margin-top: 56px;
        margin-bottom: 110px;
        flex-direction: column;
        gap: 14px;
        height: auto;
    }
    .page_div a { margin-right: 0; font-size: 15px; padding: 12px 46px; }
    .page_box { gap: 20px; }
}

@media (max-width: 768px) {
    /* list-search-result */
    #list-search-result.list_box { margin-top: 44px; gap: 12px; padding: 10px 12px; }
    #list-search-result.list_box.fixed { padding: 10px 12px; }
    #list-search-result .list_box_sub { flex-direction: column; align-items: flex-start; gap: 10px; }
    #list-search-result .list_box_sub p { font-size: 15px; }
    #list-search-result .fliter_list { width: 100%; padding: 0 6px; gap: 8px; }
    #list-search-result .fliter_list li { font-size: 13px; padding: 7px 10px; }
    #list-search-result .cont_search_input { font-size: 15px; padding: 10px 44px 10px 14px; }
    #list-search-result .all_search_box .search_clear_btn { right: 40px; width: 18px; height: 18px; font-size: 12px; }
    #list-search-result .all_search_box .search_icon { right: 12px; width: 16px; height: 16px; }

    /* sort tabs */
    .fliter_cate_list { margin-top: 14px; padding-bottom: 2px; }
    .fliter_cate_list li { font-size: 12px; padding: 0 12px; }

    /* result cards */
    .result_list_box { margin-top: 20px; gap: 14px; }
    .best_card_img { height: 200px; }
    .best_card_info { gap: 10px; }
    .card_info { font-size: 11px; gap: 8px; }
    .best_card_content_main h3 { font-size: 15px; }
    .best_card_sub_text { font-size: 12px; }
    .price { font-size: 15px; gap: 8px; margin-top: 10px; }

    /* pager */
    .page_div {
        margin-top: 44px;
        margin-bottom: 84px;
        gap: 12px;
    }
    .page_div a { font-size: 14px; padding: 10px 34px; border-radius: 18px; }
    .page_box { gap: 14px; }
    .page_box img { width: 12px; height: 19px; }
    #page_search { width: 50px; padding: 4px 12px; font-size: 13px; }
    .all_page { font-size: 13px; }
}

@media (max-width: 480px) {
    /* list-search-result */
    #list-search-result.list_box { margin-top: 36px; padding: 9px 10px; }
    #list-search-result.list_box.fixed { padding: 9px 10px; }
    #list-search-result .list_box_sub p { font-size: 14px; }
    #list-search-result .fliter_list { padding: 0 4px; gap: 6px; }
    #list-search-result .fliter_list li { font-size: 12px; padding: 6px 9px; }
    #list-search-result .cont_search_input { font-size: 14px; padding: 9px 40px 9px 12px; }
    #list-search-result .all_search_box .search_clear_btn { right: 36px; width: 17px; height: 17px; font-size: 11px; }
    #list-search-result .all_search_box .search_icon { right: 11px; width: 15px; height: 15px; }

    /* sort tabs */
    .fliter_cate_list { margin-top: 12px; }
    .fliter_cate_list li { font-size: 11px; padding: 0 10px; }

    /* result cards */
    .result_list_box { margin-top: 16px; grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .best_card_img { height: 190px; }
    .best_wish_box { top: 6px; right: 6px; }
    .wish_box { width: 20px; height: 20px; }
    .wish_btn { width: 14px; }
    .best_card_content_main h3 { font-size: 14px; }

    /* pager */
    .page_div {
        margin-top: 36px;
        margin-bottom: 68px;
        gap: 10px;
    }
    .page_div a { font-size: 13px; padding: 9px 26px; border-radius: 16px; }
    .page_box { gap: 10px; }
    .page_box img { width: 10px; height: 16px; }
    .page_num { gap: 8px; }
    #page_search { width: 44px; padding: 3px 9px; font-size: 12px; }
    .all_page { font-size: 12px; }
}

@media (max-width: 345px) {
    /* list-search-result */
    #list-search-result.list_box { margin-top: 28px; gap: 10px; padding: 8px 8px; }
    #list-search-result.list_box.fixed { padding: 8px 8px; }
    #list-search-result .list_box_sub p { font-size: 13px; }
    #list-search-result .fliter_list li { font-size: 11px; padding: 6px 8px; }
    #list-search-result .cont_search_input { font-size: 13px; padding: 8px 36px 8px 10px; }
    #list-search-result .all_search_box .search_clear_btn { right: 33px; width: 16px; height: 16px; font-size: 10px; }
    #list-search-result .all_search_box .search_icon { right: 10px; width: 14px; height: 14px; }

    /* sort tabs */
    .fliter_cate_list { margin-top: 10px; }
    .fliter_cate_list li { font-size: 10px; padding: 0 8px; }

    /* result cards */
    .result_list_box { grid-template-columns: 1fr; gap: 10px; }
    .best_card_img { height: 170px; }
    .best_card_sub_text { font-size: 11px; }
    .price { font-size: 14px; }
    .best_card_info .info_icon {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 2px;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }

    /* pager */
    .page_div {
        margin-top: 28px;
        margin-bottom: 56px;
        gap: 8px;
    }
    .page_div a { font-size: 12px; padding: 8px 20px; border-radius: 14px; }
    .page_box { gap: 8px; }
    .page_box img { width: 9px; height: 14px; }
    #page_search { width: 40px; padding: 3px 8px; font-size: 11px; }
    .all_page { font-size: 11px; }
}