/** 공통 **/
.bt_mg {margin-bottom: 100px !important;}
.banner_box {border-radius: 8px; overflow: hidden; display: flex;}
.banner_box img {width: 100%;}
.ellipsis_wrap {display: inline-flex; align-items: center; width: auto; max-width: 100%;}
.text_ellipsis {white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; max-width: 100%;}
.lock_icon {display: inline-block; background: url('../images/ic_lock.png') no-repeat center / cover; width: 15px; height: 18px; vertical-align: middle; margin-left: 10px; margin-top: -3px; flex-shrink: 0;}
/* 로케이션 영역 */
.location_wrap {display:flex; align-items: center; gap: 20px; position:relative;  color:#7e8789; font-weight: 500; margin: 25px 0; z-index: 1;}
.location_wrap .divider {background: url('../images/location_arrow.png') no-repeat center / cover; width: 8px; height: 13px;}
.location_current {position:relative;}
.location_current .current_btn {color:#7e8789; font-weight: 500; display: flex; gap: 9px; align-items: center; position:relative;}
.location_current .current_btn .icon {display: flex; justify-content: center; align-items: center; border: 1px solid #ddd; width: 20px; height: 20px;}
.location_current .current_btn .icon span {display: inline-block; background: url('../images/location_btn.png') no-repeat center / cover; width: 10px; height: 5px; transition: all 0.3s;}
.location_current .current_btn.open .icon span {transform: rotate(180deg); transition: all 0.3s;}
.location_dropdown {position:absolute; top:39px; left:0; width:100px; background:#fff; border: 1px solid #e1e1e1; border-radius: 10px; padding: 10px 18px; display: none; z-index: 10;}
.location_dropdown li {display: block;}
.location_dropdown li a {display:inline-block; padding: 6px 0; color:#8a8a8a; font-weight: 500; line-height: 18px;}
.location_dropdown li a:hover {color:#7a7a7a; font-weight: 700;}
/* 서브페이지 타이틀 */
.sub_title {display: flex; justify-content: center; margin-bottom: 80px;}
.sub_title .f40 {font-weight: 800;}
.sub_heading {font-weight: 700; color: #2a3133; text-align: center; margin-bottom: 50px;}
/* 버튼 */
.btn_wrap {display: flex; margin-top: 70px; width: 100%; gap: 8px;}
.btn_wrap.center {justify-content: center; }
.btn_wrap.right {justify-content: flex-end;}
.common_btn {display: flex; justify-content: center; align-items: center; cursor: pointer;}
.common_btn {padding: 10px !important; border-radius: 4px !important; width: 180px; height: 64px; font-weight: 600; opacity: 1; transition: all 0.2s;}
.common_btn.dark {background: #2a3133; color: #fff;}
.common_btn.color {background: #31b9f2; color: #fff;}
.common_btn.line {border: 1px solid #2a3133; color: #2a3133; background: #fff !important;}
.common_btn.small {font-size: 16px !important; width: 140px !important; height: 52px !important; flex-shrink: 0;}
.common_btn.dark:hover {opacity: 0.8; transition: all 0.2s;}
.common_btn.color:hover {opacity: 0.8; transition: all 0.2s;}
.common_btn.line:hover {opacity: 0.6; transition: all 0.2s;}


/** 게시판 - 목록 **/
.board_list .board_wrap {width:100%;}
.board_list .board_top {display: flex; justify-content: space-between; align-items: flex-end; margin-bottom:16px; gap: 40px;}
.board_list .board_top .btn_wrap {margin: 105px 0 8px;}
.board_list .board_top .btn_wrap .common_btn {height: 56px;}
.board_list .select_box select {padding: 0; width: 150px; height: 42px; background-position: right 0 center; border: none; font-weight: 600; color: #2a3133; cursor: pointer;}
.board_list .search_box {display:flex; align-items:center; border:1px solid #dfdfdf; border-radius: 8px; width: 350px; overflow: hidden;}
.board_list .search_box input {width:100%; height: 50px; border: none;}
.board_list .search_box .btn_search {padding: 0 15px; height:50px;flex-shrink: 0;}
.board_list .search_box .btn_search .icon {display: inline-block; background:url('../images/ic_search.png') no-repeat center / cover; background-size:20px; width: 20px; height: 20px; border:none;cursor:pointer;}
.board_list .board_table {width: 100%; border-top: 2px solid #2a3133; border-collapse: collapse; table-layout: fixed; width: 100%;}
.board_list .board_table thead th {text-align: center; border-bottom: 1px solid #e6e8e8; font-weight: 600; color: #2a3133; padding: 25px 10px;}
.board_list .board_table tbody td {border-bottom: 1px solid #e6e8e8; color:#3c4244; text-align: center; padding: 22px 10px; white-space : nowrap;}
.board_list .board_table tbody .txtleft {text-align: left;}
.board_list .board_table tbody .title_cell {position: relative;}
.board_list .board_table .notice td {font-weight:600;color:#0078ff;}
.board_list .board_table .bold {font-weight: 700; color: #2a3133;}
.board_list .board_table .blue {color:#31b9f2;}
.board_list .board_table .date {color: #7e8789;}
.board_list .board_table .author {font-weight: 500;}
.board_list .board_table tr.clickable {cursor:pointer;transition:background-color 0.2s ease;}
.board_list .board_table tr.clickable:hover {background-color:#f6f9fc;}
.board_list .board_table tr.clickable:hover td {color:#000;}
.board_list .board_table tr.clickable:hover td.blue {color:#31b9f2;}
.state span {display: inline-block; border-radius: 2px; color: #fff; padding: 6px 12px; font-weight: 500;}
.state .color1 {color: #2a3133; background: #f3f3f3;}
.state .color2 {background: #76b5e5;}
.state .color3 {background: #97cf47;}
.notice .board_table tbody td {padding: 27px 10px;}
.inquiry .ellipsis_wrap {width: 100%;}
/* 게시판 - 필터 */
.filter_row {display: flex; align-items: center; justify-content: center; gap: 28px; padding: 30px 16px; border: 1px solid #e6e8e8; border-radius: 4px; background: #fff; margin-bottom: 65px;}
.filter_row .filter_label {font-weight: 700; color: #2a3133; white-space: nowrap;}
.search_period_wrap {display: flex; align-items: center; gap: 24px;}
.search_period_wrap .range_btns {display: flex; border: 1px solid #e2e5e5; border-radius: 4px; overflow: hidden;}
.search_period_wrap .range_btns, .search_period_wrap .date_input, .search_period_wrap .btn_search {height: 43px;}
.search_period_wrap .btn_range {width: 104px; padding: 0 10px; font-size: 16px; border-left: 1px solid #e2e5e5; background: #fff; color: #2a3133; font-weight: 500; cursor: pointer; transition: all 0.2s;}
.search_period_wrap .btn_range:first-child {border-left: none;}
.search_period_wrap .btn_range:hover, .search_period_wrap .btn_range.active {background: #f8f8f8;}
.search_period_wrap .range_cont {display: flex; gap: 20px; align-items: center;}
.search_period_wrap .range_inputs {display: flex; align-items: center; gap: 8px;}
.search_period_wrap .date_input_wrap {position: relative;}
.search_period_wrap .date_input {width: 160px; border: 1px solid #e2e5e5; border-radius: 4px; padding: 0 36px 0 16px; color: #2a3133;}
.search_period_wrap .icon_calendar {position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; background: url('../images/icon_calendar.png') no-repeat center / contain; pointer-events: none;}
.search_period_wrap .tilde {color: #2a3133;}
.search_period_wrap .btn_search {padding: 0 38px; background: #31b9f2; color: #fff; border-radius: 4px; border: none; cursor: pointer; white-space: nowrap; opacity: 1; transition: all 0.2s;}
.search_period_wrap .btn_search:hover {opacity: 0.8; transition: all 0.2s;}
/* 게시판 - 상품정보 */
.product_board { width: 100%; font-size: 14px; color: #333;}
.product_board .pb_top { margin-bottom: 10px;}
.product_board .pb_count {font-weight: 700; color: #000;}
.product_board .pb_num {font-weight: 700; color: #31b9f2; margin-left: 6px;}
.product_board .pb_head, .product_board .pb_item {display: grid; grid-template-columns: 60px 3fr 1fr 1fr 1fr 1fr 1fr; align-items: center; border-bottom: 1px solid #e6e8e8; gap: 10px;}
.product_board .pb_head {border-top: 2px solid #2a3133; padding: 23px 0;}
.product_board .pb_head .pb_col {text-align: center; color: #2a3133; font-weight: 700;}
.product_board .checkbox_wrap {padding: 0;}
.product_board .pb_item {padding: 25px 0;}
.product_board .pb_check { display: flex; justify-content: center; align-items: center; }
.product_board .pb_info {display: flex; align-items: center; gap: 40px;}
.product_board .pb_thumb {border-radius: 6px; border: 1px solid rgba(0,0,0,0.05); overflow: hidden; display: flex; width: 100%; max-width: 152px;}
.product_board .pb_thumb img {object-fit: cover; width: 100%;}
.product_board .pb_title {font-weight: 700; color: #2a3133; text-align: left;}
.pb_unit, .pb_sale, .pb_total, .pb_delivery {text-align: center; font-weight: 700; color: #2a3133;}
.product_board .pb_discount {color: #ef4f11; margin-right: 4px; font-weight: 700;}
.product_board .pb_price_main {color: #32b9f2; font-weight: 700; margin-top: 5px; text-align: left;}
.product_board .pb_price_old {color: #b8b9bc; text-decoration: line-through; font-weight: 500; margin-left: 6px;}
.product_board .pb_quantity {display: flex; flex-flow: column; align-items: center;}
.product_board .pb_quantity .qty_control, .product_board .pb_quantity .btn_change {width: 120px;}
.product_board .pb_quantity .btn_change {font-weight: 600; color: #3c4244; border: 1px solid #dfdfdf; border-radius: 4px; height: 48px; margin-top: 2px;}
.product_board .pb_quantity .btn_change:hover {opacity: 0.8;}
.product_board .pb_delivery {font-weight: 500;}
.product_board .pb_footer {display: flex; justify-content: flex-end; align-items: center; padding: 17px 0; border-bottom: 1px solid #464c4e; background: #f8f8f8;}
.product_board .pb_summary {font-weight: 500; color: #2a3133; padding: 0 18px;}
.product_board .pb_summary_total {color: #31b9f2; font-weight: 700; margin-left: 8px;}
.product_board .btn_delete {width: 105px; height: 44px; padding: 6px 12px; border: 1px solid #dfdfdf; cursor: pointer; margin-top: 14px; font-weight: 600; color: #2a3133; border-radius: 3px ;}
.product_board .btn_delete:hover {opacity: 0.8;}
.pb_total_wrap {border-top: 2px solid #2a3133; margin-top: 76px;}
.pb_total_wrap .pb_total_box { display: flex; justify-content: center; align-items: center; text-align: center; flex-wrap: wrap; }
.pb_total_wrap .pb_total_col {width: 25%; position: relative; border-right: 1px solid #e2e5e5; padding: 38px 0;}
.pb_total_wrap .pb_total_col:last-child {border: none;}
.pb_total_wrap .pb_total_label {margin-bottom: 10px; color: #2a3133; font-weight: 700; }
.pb_total_wrap .pb_total_value {font-weight: 700; color: #2a3133;}
.pb_total_wrap .pb_total_value .f20 {font-weight: 700;}
.pb_total_wrap .highlight {color: #31b9f2;}
.pb_total_wrap .pb_divider {position: absolute; right: -18px; top: 50%; transform: translateY(-50%);}
.pb_total_wrap .pb_total_symbol {font-size: 22px; width: 36px; height: 36px; line-height: 24px; border-radius: 50%; border: 1px solid #e2e5e5; display: flex; justify-content: center; align-items: center; background: #fff; color: #b8b9bc; padding-bottom: 4px;}
.pb_total_wrap .pb_total_notice {padding: 19px 28px; text-align: right; background: #f8f8f8; border-top: 1px solid #e6e8e8;  border-bottom: 1px solid #e6e8e8;}
.pb_total_wrap .pb_total_notice .f16 {color: #2a3133; font-weight: 500;}
.cart .common_btn {width: 300px;}


/** 게시판 - 작성 **/
.form_wrap {border-top: 2px solid #2a3133;}
.form_wrap .form_group {display: flex; align-items: stretch; gap: 24px; padding: 0; border-bottom: 1px solid #e2e5e5;}
.form_wrap .form_group label {width: 300px; background: #f8f8f8; padding: 35px 32px; font-size: 18px; font-weight: 700; color: #2a3133; flex-shrink: 0; position: relative; display: flex;}
.form_wrap .form_group .required {color: #cc2323; margin-left: 4px;}
.form_wrap .form_group .text_value  {line-height: 52px; color: #2a3133; font-weight: 600;}
.form_wrap .form_group .onlytext {line-height: 52px; font-weight: 600; color: #2a3133;}
.form_wrap .form_group > *:not(label) {margin: 20px 0; flex: 1;}
.form_wrap .form_group input[type="text"],
.form_wrap .form_group input[type="tel"],
.form_wrap .form_group input[type="number"],
.form_wrap .form_group input[type="password"],
.form_wrap .form_group input[type="email"],
.form_wrap .form_group select,
.form_wrap .form_group textarea {width: 100%; height: 52px; border: 1px solid #dfdfdf; border-radius: 4px; padding: 0 24px; font-size: 16px; line-height: 26px; color: #2a3133;}
.form_wrap .form_group textarea {height: 400px; padding: 24px; resize: none;}
.form_wrap .form_group input[readonly] {background: #f8f8f8; color: #5d6466;}
.form_wrap .input_short {max-width: 280px !important;}
.form_wrap .form_group .input_row {display: flex; gap: 10px; width: 100%; align-items: center;}
.form_wrap .form_group .input_row input {max-width: 148px;}
.form_wrap .form_group .input_row .hyphen {display: inline-block; text-align: center; font-size: 16px; color: #2a3133; font-weight: 500;}
.form_wrap .form_group .checkbox_wrap label {display: flex; align-items: center; font-size: 16px; font-weight: 600; gap: 12px; cursor: pointer; background: none; padding: 0; width: auto;}
.form_wrap .form_group .email_wrap {display: flex; gap: 10px; align-items: center;}
.form_wrap .form_group .email_wrap input, .form_wrap .form_group .email_wrap select {max-width: 196px;}
.form_wrap .form_group .file_wrap {display: flex; gap: 10px;}
.form_wrap .form_group .file_wrap input {max-width: 300px;}
.form_wrap .form_group .radio_label {background: none; width: auto; padding: 0;}
.form_wrap .form_group .radio_wrap.column_type {display: flex; flex-direction: column; gap: 30px;}
.form_wrap .form_group .radio_wrap .radio_line {display: flex; gap: 40px; align-items: center;}
.form_wrap .form_group .radio_wrap .radio_line:last-child {margin-bottom: 10px;}
.form_wrap .form_group .radio_wrap .radio_text {font-size: 16px;}
.form_wrap .form_group .address_fields > input {margin-top: 12px;}
.agree_row {margin-top: 30px;}
.agree_row .checkbox_label {display: inline-flex; align-items: center; font-size: 16px; color: #2a3133; font-weight: 500; gap: 10px; cursor: pointer;}
.agree_row .checkbox_label input[type="checkbox"] {display: none;}
.agree_row .checkbox_label .checkbox_icon {display: inline-block; width: 20px; height: 20px; border: 1px solid #ccc; border-radius: 3px; background: #fff; background-size: cover; background-repeat: no-repeat; background-position: center;}
.agree_row .checkbox_label input[type="checkbox"]:checked + .checkbox_icon {background-image: url('../images/check_on.png');}
.agree_row .link_policy {font-weight: 700; color: #2a3133;}
.agree_row .agree_policy_box {background: #f8f8f8; border: 1px solid #d1d1d1; border-radius: 8px; padding: 24px 30px; color: #5d6466; max-height: 120px; overflow-y: auto; margin-top: 22px;}
.form_wrap .content_attach_set .attach_wrap {display: flex; flex-direction: column; gap: 15px; margin-top: 25px;}
.form_wrap .content_attach_set .attach_list {display: flex; gap: 6px; flex-wrap: wrap;}
.form_wrap .content_attach_set .attach_list li {width: 100px; height: 100px; position: relative; border-radius: 4px; overflow: hidden; background: #f5f5f5; border: 1px solid #e2e5e5;}
.form_wrap .content_attach_set .attached_item .thumbnail img {width: 100%; height: 100%; object-fit: cover;}
.form_wrap .content_attach_set .btn_delete {position: absolute; top: 5px; right: 5px; width: 20px; height: 20px; background: url('../images/btn_delete.png') no-repeat center / contain; border: none;}
.form_wrap .content_attach_set .file_thumb {display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; cursor: pointer; padding: 0; background: none;}
.form_wrap .content_attach_set .icon_camera {display: inline-block; width: 30px; height: 24px; background: url('../images/icon_camera.png') no-repeat center / contain;}
.form_wrap .content_attach_set .attach_notice {color: #7e8789;}


/** 게시판 - 상세 **/
.board_view {border-top: 2px solid #2a3133;}
.board_view_header {text-align: center; padding: 40px 0;}
.board_view_header .board_title {font-weight: 700; color: #2a3133;}
.board_view_header .board_info {margin-top: 25px; display: flex; justify-content: center; gap: 30px;}
.board_view_header .board_date {color: #7e8789;}
.board_view_body {text-align: center; border-top: 1px solid #e6e8e8;}
.board_view_body .board_content {padding: 70px 30px 100px; color: #5d6466; line-height: 28px; font-weight: 500;}
.board_view_nav {border-top: 1px solid #e6e8e8;}
.board_view_nav > div {display: flex; align-items: center; padding: 29px 0;}
.board_view_nav .label {color: #5d6466; font-weight: 600; margin-right: 30px; flex-shrink: 0;}
.board_view_nav .type {color: #3c4244; font-weight: 700; margin-right: 35px; flex-shrink: 0;}
.board_view_nav .text {color: #3c4244; max-width: 80%;}
.board_view_nav .prev_item, .board_view_nav .next_item {border-bottom: 1px solid #e6e8e8; cursor: pointer;}
.board_view_nav .icon {display: flex; width: 13px; height: 9px; margin-right: 50px; flex-shrink: 0;}
.board_view_nav .prev_item .icon {background: url('../images/arrow_prev.png') no-repeat center / cover;}
.board_view_nav .next_item .icon {background: url('../images/arrow_next.png') no-repeat center / cover;}
.board_view_nav .disabled .text {color: #7e8789;}
.board_view_nav .disabled {cursor: default;}
.board_view_nav .prev_item:hover, .board_view_nav .next_item:hover {background-color:#f6f9fc;}
.board_view_nav .disabled:hover {background: none;}
.board_view .btn_wrap {margin-top: 52px;}
.board_view .btn_wrap .common_btn.dark {width: 160px;}
.board_view2 .board_view_header {text-align: left;}
.board_view2 .board_view_header .board_name {color: #2a3133;}
.board_view2 .board_view_header .lock_icon {width: 17px; height: 20px; margin-top: 0;}
.board_view2 .board_view_header .board_info {margin-top: 15px; justify-content: flex-start;}
.attachment_list {list-style:none; padding:0; margin:0; background: #f8f8f8;}
.attachment_list li {border-top: 1px solid #e5e8e8; padding: 19px 20px;}
.attachment_list .attachment_file {display:inline-flex; gap: 15px; align-items:center; color:#2a3133; font-weight: 600; text-decoration:none; text-decoration:underline; opacity: 1; transition: all .2s;}
.attachment_list .attachment_file:hover {opacity: 0.8;}
.attachment_list .attachment_file .icon {display: inline-block; width: 17px; height: 17px; background: url('../images/attachment_icon.png') no-repeat center / cover;}



/** 제품 목록 **/
.product .location_dropdown {width:160px;}
.product_list .prod_layout {display: flex; gap: 44px;}
/* 좌측 필터 영역 */
.product_list .filter_area {width:100%; max-width:220px; flex-shrink: 0;}
.filter_box + .filter_box {margin-top:18px; border-top: 2px solid #090909;}
.filter_box + .filter_box .filter_title {margin-top: 10px;}
.product_list .filter_title {display: flex; justify-content: space-between; align-items: center; height: 66px; cursor: pointer;}
.product_list .filter_title .f20 {color: #000; font-weight: 800;}
.product_list .filter_title .toggle_btn {width:16px; height:16px; background:url('../images/filter_minus.png') no-repeat center; background-size:contain; border:none; padding:0; cursor:pointer; transition: background-image 0.2s ease;}
.product_list .filter_title .toggle_btn[data-state="closed"] {background-image:url('../images/filter_plus.png'); transition: background-image 0.2s ease;}
.filter_box ul {border-top:2px solid #eee;}
.filter_box ul li {padding:14px 0; border-bottom:1px solid #eee; cursor:pointer; color:#5d6466; font-weight: 500; transition:0.2s;}
.filter_box ul.filter_txt li:last-child {border: none;}
.filter_box ul li.active {font-weight:700; color:#373f41;}
.filter_box .price_presets {display:flex; flex-wrap:wrap; gap:3px; padding: 16px 0 19px;}
.filter_box .price_presets li {display: flex; justify-content: center; align-items: center; border:1px solid #eee; border-radius:4px; padding: 0 12px; height: 37px; font-weight:500; background:#fff; font-size:15px; cursor:pointer; white-space : nowrap; transition:0.2s;}
.filter_box .price_presets li:hover, .filter_box .price_presets li.active {color:#000; font-weight:700; border-color:#aaa;}
.filter_box .price_range {display:flex; align-items:center; gap:3px;}
.filter_box .price_range .input_wrap {position:relative;}
.filter_box .price_range .input_wrap input {padding-right:20px; width:82px; height: 37px; border:1px solid #eee; text-align:right; font-size:13px; padding: 0 20px 0 6px; font-weight: 400; border-radius: 4px; margin: 0; color: #000;}
.filter_box .price_range .input_wrap .unit {position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:12px; color:#95999a; pointer-events:none;}
.filter_box .price_range .dash {font-size:15px; font-weight: 500; color: #5d6466;}
.filter_box .price_range .search_btn {border:1px solid #eee; border-radius: 4px; width: 37px; height: 37px; display: flex; justify-content: center; align-items: center; background:#fff; cursor:pointer; flex-shrink: 0;}
.filter_box .price_range .search_btn img {width: 100%; max-width: 16px;}
.filter_box .price_range .search_btn:hover {border-color:#aaa;}
.filter_box .price_reset {margin:15px 0; cursor:pointer; display:flex; align-items:center; gap:10px; color:#5d6466; font-weight: 600;}
.filter_box .price_reset img {width: 100%; max-width: 17px;}
/* 우측 리스트 영역 */
.prod_list_area {flex: 1; display: flex; flex-direction: column;}
/* 상품 정렬 상단 영역 */
.prod_list_area .product_sort {display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #eee; margin-top: 8px; margin-bottom: 26px;}
.prod_list_area .product_sort .total {color: #000; font-weight: 600; display: flex; align-items: center; gap: 8px;}
.prod_list_area .product_sort .count {color: #31b9f2; font-weight: 800;}
.prod_list_area .sort_area {display: flex; align-items: center; gap: 20px;}
.prod_list_area .sort_tab {display: flex; gap: 30px; padding-right: 40px; position: relative;}
.prod_list_area .sort_tab::after {content: ''; display: inline-block; width: 1px; height: 16px; background: #eee; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
.prod_list_area .sort_tab li button {font-size: 16px; color: #5d6466; font-weight: 500; white-space : nowrap; display: flex; align-items: center; gap: 8px; transition: all 0.2s;}
.prod_list_area .sort_tab li button:hover {color: #000; transition: all 0.2s;}
.prod_list_area .sort_tab li.on button::before {content: ''; display: inline-block; background: url('../images/ic_sort.png') no-repeat center / cover; width: 14px; height: 14px; flex-shrink: 0;}
.prod_list_area .sort_tab li.on button {color: #000; font-weight: 700;}
.prod_list_area .sort_select {position: relative; display: inline-block; width: 150px;}
.prod_list_area .select_btn {background: none; border: none; font-weight: 500; color: #3c4244; cursor: pointer; position: relative;  height: 58px; width: 100%; display: flex; align-items: center;}
.prod_list_area .select_btn::after {content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 12px; height: 8px; background: url('../images/select_arrow.png') no-repeat center / cover; transition: all 0.3s;}
.sort_select.active .select_btn::after {transform: translateY(-50%) rotate(180deg); transition: all 0.3s;}
.prod_list_area .select_list {transform: scaleY(0); transform-origin: top; opacity: 0; transition: transform 0.25s ease, opacity 0.25s ease; pointer-events: none; position: absolute; top: 100%; left: 0; margin-top: 1px; border: 1px solid #ddd; border-radius: 6px; background: #fff; width: 100%; z-index: 10; padding: 6px 0;}
.prod_list_area .sort_select.active .select_list {transform: scaleY(1); opacity: 1; pointer-events: auto;}
.prod_list_area .select_list li button {width: 100%; padding: 8px 12px; text-align: left; background: none; border: none; font-size: 14px; color: #333; cursor: pointer;}
.prod_list_area .select_list li button:hover {background: #f5f5f5;}
/* 상품 리스트 */
.prod_grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 70px 9px; margin-bottom: 20px;}
.prod_grid .prod_item a {display: block; text-decoration: none; color: inherit;}
.prod_grid .prod_item .thumb {width: 100%; aspect-ratio: 310 / 287; background: #f9f9f9; overflow: hidden; border: 1px solid #f6f6f6; border-radius: 12px; transition: all 0.3s;}
.prod_grid .prod_item:hover .thumb {border: 1px solid #32b9f2; transition: all 0.3s;}
.prod_grid .prod_item .thumb img {width: 100%; height: 100%; object-fit: cover;}
.prod_grid .prod_item .info {margin-top: 25px; padding-right: 20px;}
.prod_grid .prod_item .info .name {color: #333; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.prod_grid .prod_item .price_wrap {display: flex; align-items: center; gap: 12px; margin-top: 6px;}
.prod_grid .prod_item .discount {color: #ef4f11; font-weight: 700;}
.prod_grid .prod_item .price {color: #32b9f2; font-weight: 700;}
.prod_grid .prod_item .original {color: #b8b9bc; font-weight: 500; text-decoration: line-through;}


/** 제품 상세 **/
.prod_view {display: flex; gap: 150px; margin: 44px 0 94px;}
.prod_view .product_images {display: flex; flex: 1; gap: 25px;}
.prod_view .thumb_list {display: flex; gap: 8px; flex-direction: column;}
.prod_view .thumb_list .thumb {width: 95px; height: 95px; border: 2px solid #e8e8e8; background: #fff; cursor: pointer; display: flex; justify-content: center; align-items: center; border-radius: 3px;}
.prod_view .thumb_list .thumb.active {border-color: #31b9f2;}
.prod_view .thumb_list .thumb img {width: 100%; height: 100%; object-fit: cover;}
.prod_view .main_image {width: 100%; max-width: 600px; aspect-ratio: 1 / 1; }
.prod_view .main_image img {width: 100%; object-fit: cover;}
.prod_view .product_info {display: flex; flex: 1; flex-direction: column;}
.prod_view .prod_title_group .prod_eng {color: #2a3133; font-weight: 500;}
.prod_view .prod_title_group .prod_name {font-weight: 800; color: #111; margin: 10px 0 12px;}
.prod_view .prod_title_group .prod_desc {color: #5d6466; font-weight: 500;}
.prod_view .price_group {display: flex; align-items: flex-end; gap: 12px; font-size: 18px; margin-top: 10px;}
.prod_view .price_group .discount_rate {color: #31b9f2; font-weight: 800;}
.prod_view .price_group .price {color: #2a3133; font-weight: 800;}
.prod_view .price_group .original_price {color: #b8b9bc; text-decoration: line-through; font-weight: 500;}
.prod_view .prod_info_table {}
.prod_view .prod_info_table dl {display: flex; gap: 40px; border-bottom: 1px solid #dfdfdf; padding: 26px 0;}
.prod_view .prod_info_table dt {color: #31b9f2; font-weight: 600;}
.prod_view .prod_info_table dd {color: #2a3133; font-weight: 400;}
.prod_view .prod_info_table .fee dt {color: #2a3133;}
.prod_view .prod_info_table .delivery_msg  {gap: 20px; border-radius: 4px; border: 1px solid #dfdfdf; padding: 15px 20px; margin-top: 20px;}
.prod_view .prod_info_table .delivery_msg .icon {display: inline-block; width: 36px; height: 36px; background: url('../images/delivery_msg.png') no-repeat center/cover; margin-right: 4px; vertical-align: middle;}
.prod_view .prod_info_table .delivery_msg dd {font-weight: 600; margin-top: 4px;}
.prod_view .prod_info_table .delivery_msg span {color: #31b9f2; margin-right: 8px;}
.prod_view .quantity_wrap {display: flex; align-items: center; justify-content: space-between; color: #2a3133; font-weight: 600; padding: 16px 0 22px;}
.prod_view .total_price {color: #2a3133; font-weight: 500; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #dfdfdf; padding: 25px 0 30px;}
.prod_view .total_price strong {color: #2a3133; font-weight: 800;}
.product_detail .action_btns {display: flex; gap: 10px;}
.product_detail .action_btns button {height: 64px; cursor: pointer;  border-radius: 4px; width: 50%; opacity: 1; transition: all 0.2s;}
.product_detail .action_btns button:hover {opacity: 0.7; transition: all 0.2s;}
.product_detail .action_btns .btn_cart {background: #fff; border: 1px solid #b8b9bc; color: #3c4244; font-weight: 600;}
.product_detail .action_btns .btn_buy {background: #31b9f2; border: none; color: #fff; font-weight: 700;}
.product_detail .action_btns .btn_wish {border: 1px solid #b8b9bc; width: 68px; background: url('../images/btn_wish.png') no-repeat center/ 26px 25px; text-indent: -9999px; flex-shrink: 0;}
.qty_control {display: flex; border: 1px solid #dfdfdf; border-radius: 4px; overflow: hidden; height: 48px; padding: 0 12px; background: #fff;}
.qty_control button {flex: 1; height: 100%; width: 25px; background: none; border: none; font-size: 20px; color: #b8b9bc; cursor: pointer;}
.qty_control button:hover {color: #666;}
.qty_control>input[type="text"],.qty_control>input[type="number"] {width: 44px; height: 100%; text-align: center; border: none; color: #3c4244; padding: 0; margin: 0; font-weight: 400;}
/* 상세 탭 영역 */
.prod_detail_tab {position: sticky; top: 58px; z-index: 50; background: #fff; border-top: 1px solid #e2e5e5; border-bottom: 1px solid #e2e5e5; margin-top: 72px;}
.prod_detail_tab .tab_list {display: flex; gap: 0; justify-content: space-around; padding-right: 410px;}
.prod_detail_tab .tab_list li {position: relative; padding: 20px 10px; width: 100%; cursor: pointer; text-align: center;}
.prod_detail_tab .tab_list li button { font-weight: 500; color: #2a3133;}
.prod_detail_tab .tab_list .count {color: #b8b9bc; margin-left: 8px; font-weight: 500;}
.prod_detail_tab .tab_list li.on button, .prod_detail_tab .tab_list li:hover button {font-weight: 700;}
.prod_detail_tab .tab_list li.on::after {content: ''; position: absolute; left: 0; bottom: -1px; width: 100%; height: 3px; background: #2a3133;}
.prod_detail_tab .tab_list li.on .count, .prod_detail_tab .tab_list li:hover .count {color: #31b9f2;}
/* 상세페이지 전체 영역 */
.prod_detail_content .detail_area {display: flex; align-items: flex-start;}
.prod_detail_content .detail_inner {flex: 1; padding: 100px 0 120px; border-right: 1px solid #e2e5e5; padding-right: 70px; width: calc(100% - 410px);}
.prod_detail_content .detail_main {width: 100%; max-width: 1000px; height: auto;}
.prod_detail_content .detail_main img {width: 100%; height: auto; display: block;}
/* 우측 요약 박스 */
.prod_detail_content .detail_side {width: 410px;  display: flex; flex-direction: column; gap: 20px; position: sticky; top: 130px; align-self: flex-start;}
.prod_detail_content .detail_side .side_inner {height: 670px; padding: 24px; display: flex; flex-flow: column; justify-content: space-between;}
.prod_detail_content .detail_side .floating_box_wrap {overflow-y: auto;}
.prod_detail_content .detail_side .floating_box {background: #f8f8f8; border-radius: 4px; padding: 20px 28px; margin-bottom: 10px;}
.prod_detail_content .detail_side .floating_box .side_title {color: #2a3133; font-weight: 400;}
.prod_detail_content .detail_side .side_total {margin-top: 15px;}
.prod_detail_content .detail_side .price_line {display: flex; justify-content: space-between; align-items: center; margin-top: 35px; gap: 10px;}
.prod_detail_content .detail_side .side_price {text-align: right; font-weight: 700; color: #2a3133;}
.prod_detail_content .detail_side .side_total .price_summary {display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;}
.prod_detail_content .detail_side .side_total .label {color: #2a3133; font-weight: 700;}
.prod_detail_content .detail_side .side_total .price {font-weight: 700; color: #31b9f2;}
.prod_detail_content .detail_side .action_btns {gap: 4px;}
.prod_detail_content .detail_title {color: #2a3133; font-weight: 700; margin:  95px 0 30px;}
.prod_detail_content .detail_title span {color: #31b9f2; margin-left: 10px; display: inline-block;}
.prod_detail_content .detail_title_btn_wrap {display: flex; flex-wrap: nowrap; justify-content: space-between;}  /* kdi 추가 2025-09-07 */
.prod_detail_content .detail_title_btn_wrap .brd_btns_small {margin: 103px 0 30px;}  /* kdi 추가 2025-09-07 */

/* 리뷰 평점 요약 */
.review_wrap .review_summary {background: #f8f8f8; padding: 35px; border-radius: 4px;}
.review_wrap .rating_box {display: flex; gap: 30px; align-items: center;}
.review_wrap .rating_box .score_box {display: flex; flex-flow: column; align-items: center; width: 37%; padding-right: 35px; border-right: 1px solid #ededed;}
.review_wrap .rating_box .avg_score {display: flex; align-items: center; gap: 6px;}
.review_wrap .rating_box .star {display: flex;}
.review_wrap .rating_box .star img {width: 100%; max-width: 32px;}
.review_wrap .rating_box .score {font-weight: 700; color: #2a3133;}
.review_wrap .rating_box .desc {font-weight: 500; color: #2a3133; text-align: center; margin-top: 5px;}
.review_wrap .rating_box .desc span {font-weight: 700;}
.review_wrap .rating_detail {width: 63%;}
.review_wrap .rating_detail li {display: flex; align-items: center; margin-bottom: 0; font-size: 16px; color: #5d6466; font-weight: 500;}
.review_wrap .rating_detail li:not(:last-child) {margin-bottom: 9px;}
.review_wrap .rating_detail .label {width: 100px;}
.review_wrap .rating_detail li:first-child .label {font-weight: 800; color: #2a3133;}
.review_wrap .rating_detail .bar {flex: 1; height: 10px; background: #dddddd; border-radius: 10px; position: relative; overflow: hidden;}
.review_wrap .rating_detail .bar span {display: block; height: 100%; background: #f05642; border-radius: 10px;}
.review_wrap .rating_detail .value {width: 36px; text-align: right;}
.review_wrap .rating_detail li:first-child .value {font-weight: 800; color: #2a3133;}
/* 리뷰 필터 및 정렬 */
.review_wrap .review_tab_list {display: flex; border-bottom: 2px solid #dfdfdf; margin-top: 40px;}
.review_wrap .review_tab_list li {position: relative;}
.review_wrap .review_tab_list button {background: none; border: none; padding: 18px 16px; font-size: 16px; color: #2a3133; cursor: pointer; font-weight: 500; width: 160px; transition: all 0.3s;}
.review_wrap .review_tab_list button span {color: #7a7a7a;}
.review_wrap .review_tab_list li.on button::after, .review_wrap .review_tab_list li:hover button::after {content: ''; display: inline-block; width: 100%; height: 2px; background: #2a3133; position: absolute; bottom: -2px; left: 0; z-index: 9; transition: all 0.3s;}
.review_wrap .sort_type {display: flex; justify-content: flex-end; gap: 12px; margin: 40px 0 15px;}
.review_wrap .sort_type input[type="radio"] {margin-right: 4px;}
.review_wrap .radio_text {color: #7e8789;}
/* 리뷰 리스트 */
.review_wrap .review_list {margin: 0; padding: 0; list-style: none; border-top: 2px solid #2a3133;}
.review_wrap .review_item {position: relative; border-bottom: 1px solid #eee; padding: 28px 0; overflow: hidden;}
.review_wrap .scope_wrap {display: flex; align-items: center; gap: 10px;}
.review_wrap .scope_wrap .stars {position: relative; width: 92px; height: 16px; background: url('../images/star_empty.png') no-repeat; background-size: 92px 16px; overflow: hidden;}
.review_wrap .scope_wrap .star_fill {position: absolute; top: 0; left: 0; height: 100%; background: url('../images/star_fill.png') no-repeat; background-size: 92px 16px; pointer-events: none;}
.review_wrap .scope_wrap .blind {color: #2a3133; font-weight: 600;}
.review_wrap .user_info {color: #7e8789; font-weight: 500; display: flex; gap: 12px; margin: 8px 0 10px;}
.review_wrap .user_id::after {content: ''; display: inline-block;  background: #dfdfdf; width: 1px; height: 12px; margin-left: 12px;}
.review_wrap .review_content {max-height: 50px; overflow: hidden; padding-right: 10vw; transition: max-height 0.3s ease;}
.review_wrap .review_content .text {color: #2a3133; font-weight: 500; max-height: 60px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; transition: max-height 0.3s ease;}
.review_wrap .review_content.expanded {max-height: none;}
.review_wrap .review_content.expanded .text {display: block;-webkit-line-clamp: unset;-webkit-box-orient: unset; overflow: visible; max-height: none;}
.review_wrap .review_content .text.expanded {-webkit-line-clamp: unset;max-height: none;}
.review_wrap .photo_area {margin-top: 26px;}
.review_wrap .photo {display: flex; border: 1px solid #dfdfdf; border-radius: 4px; overflow: hidden; width: 100%; max-width: 500px;}
.review_wrap .photo:not(:last-child) {margin-bottom: 10px;}
.review_wrap .photo img {width: 100%; object-fit: cover;}
.review_wrap .review_footer {margin-top: 15px; position: relative;}
.review_wrap .btn_fold {color: #31b9f2; font-weight: 500; cursor: pointer;}
.review_wrap .btn_fold:hover {text-decoration: underline;}
.review_wrap .btn_fold span {display: inline-block; background: url('../images/fold_arrow.png') no-repeat center / cover; width: 11px; height: 7px; margin-left: 6px; vertical-align: middle; transition: transform 0.3s ease;}
.review_wrap .btn_fold.expanded span {transform: rotate(180deg);}
.review_wrap .help_btns {display: flex; gap: 25px; margin-top: 10px;}
.review_wrap .help_item {cursor: pointer;}
.review_wrap .help_item .icon {display: inline-block; width: 17px; height: 17px; background-size: contain; background-repeat: no-repeat; vertical-align: middle; margin-right: 6px;}
.review_wrap .help_item .icon_thumb_up {background-image: url('../images/thumb_up.png');}
.review_wrap .help_item .icon_thumb_down {background-image: url('../images/thumb_down.png');}
.review_wrap .help_item .text {vertical-align: middle; font-size: 15px; font-weight: 500; color: #7e8789;}
.review_wrap .help_item:hover .text, .review_wrap .help_item.active .text {color: #3c4244;}
.review_wrap .help_item:hover .icon_thumb_up, .review_wrap .help_item.active .icon_thumb_up {background-image: url('../images/thumb_up_active.png');}
.review_wrap .help_item:hover .icon_thumb_down, .review_wrap .help_item.active .icon_thumb_down {background-image: url('../images/thumb_down_active.png');}
.review_wrap .thumb_preview {position: absolute; top: 28px; right: 0; width: 100px; height: 100px; border-radius: 4px; overflow: hidden; z-index: 1; border: 1px solid #dfdfdf;}
.review_wrap .thumb_preview img {width: 100%; height: 100%; object-fit: cover;}
.review_wrap .thumb_preview .count {position: absolute; top: 5px; right: 5px;  background: rgba(17,17,17,0.5); color: #fff; width: 24px; height: 24px; border-radius: 2px; text-align: center;}
/* 페이지네이션 */
.product_detail .pagination {margin-top: 50px;}
/* 상품문의 */
.product_detail .inquiry_list {border-top: 2px solid #2a3133;}
.product_detail .inquiry_item {border-bottom: 1px solid #e2e5e5;}
.product_detail .inquiry_head {display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 23px 0; cursor: pointer;}
.product_detail .inquiry_head .inquiry_meta {display: flex; gap: 45px; font-weight: 500; max-width: calc(100% - 450px);}
.product_detail .inquiry_head .status {color: #2a3133; text-align: center; min-width: 70px;}
.product_detail .inquiry_head .category {color: #5d6466;}
.product_detail .inquiry_head .inquiry_info {display: flex; font-weight: 500; color: #7e8789; max-width: 240px;}
.product_detail .inquiry_head .inquiry_info .date {display: inline-flex; align-items: center;}
.product_detail .inquiry_head .inquiry_info  .user_id {display: inline-block;;}
.product_detail .inquiry_head .date::before {content: ''; display: inline-block; width: 1px; height: 13px; background: #e0e0e0; margin: 0 14px;}
.product_detail .inquiry_body {border-top: 1px solid #e2e5e5; padding: 30px 0 30px 115px; display: none;}
.product_detail .inquiry_body .question {color: #5d6466; font-weight: 500;}
.product_detail .answer_box {background: #f8f8f8; padding: 28px; display: flex; align-items: flex-start; border-radius: 4px; gap: 16px; margin-top: 30px;}
.product_detail .answer_box .label {font-weight: 500; background: #e2e5e5; color: #5d6466; width: 40px; height: 24px; border-radius: 4px; flex-shrink: 0; display: flex; justify-content: center; align-items: center; margin-left: 8px;}
.product_detail .answer_box .answer {color: #5d6466; font-weight: 500;}
.product_detail .answer_box .answer_icon {display: inline-block; background: url('../images/ic_answer.png') no-repeat center / cover; width: 12px; height: 13px;}


/** 임시결제 - 목록 **/
.preauth_list_grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 80px 20px;}
.preauth_list_grid .preauth_card {display: flex; flex-direction: column;}
.preauth_list_grid .preauth_card .img_wrap {width: 100%; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; background: #f5f5f5; display: flex;}
.preauth_list_grid .preauth_card .img_wrap img {width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1); transition: all 0.3s;}
.preauth_list_grid .preauth_card .order_number {margin-top: 30px; color: #2a3133; font-weight: 700; text-align: left; transition: all 0.3s;}
.preauth_list_grid .preauth_card:hover .order_number {color: #31b9f2; transition: all 0.3s;}
.preauth_list_grid .preauth_card:hover .img_wrap img {transform: scale(1.1); transition: all 0.5s;}


/** 임시결제 - 상세 **/
.preauth .action_btns button {width: 100%;}
.prod_view .total_price {margin-top: 20px;}


/** 로그인 **/
.login .form_wrap {max-width: 650px; margin: 0 auto; padding: 40px 0 60px;}
.login .form_wrap .form_group {gap: 10px; border-bottom: 0;}
.login .form_wrap .form_group.bottom {margin-top: 25px;}
.login .form_wrap .form_group input {height: 62px;}
.login .form_wrap .form_group input:first-child {margin-bottom: 12px;}
.login .form_wrap .form_group input::placeholder {color: #5d6466;}
.login .form_wrap .form_group .btn_login {background: #2a3133; color: #fff; font-weight: 600; border-radius: 4px; display: flex; justify-content: center; align-items: center; max-width: 160px; opacity: 1;}
.login .form_wrap .form_group .btn_login:hover {opacity: 0.9; transition: all 0.3s;}
.login .form_wrap .form_group > *:not(label) {margin: 0}
.login .checkbox_wrap {padding: 0;}
.login .form_wrap .login_links {flex: none;}
.login .form_wrap .login_links a {color: #5d6466; opacity: 1; font-weight: 500;}
.login .form_wrap .login_links a:hover {opacity: 0.8;}
.login .form_wrap .login_links .divider {display: inline-block; width: 1px; height: 16px; background: #e2e5e5; margin: 0 15px;}
.login .join_box {text-align: center; border-top: 1px solid #e2e5e5; margin-top: 70px; padding-top: 50px;}
.login .join_box .f16 {font-weight: 500; color: #111;}
.login .join_box a {width: 100%; margin-top: 16px; font-weight: 700;}


/** 회원가입 **/
.signup .form_wrap {max-width: 740px; margin: 0 auto; padding: 34px 0;}
.signup .form_wrap .form_group {border-bottom: 0; align-items: flex-start;}
.signup .form_wrap .form_group label {width: 180px; background: transparent; font-size: 16px;}
.signup .form_wrap .form_group input {max-width: 100%;}
.signup .form_wrap .form_group > *:not(label) {margin: 6px 0;}
.signup .form_wrap .form_group .row {width: 100%;}
.signup .form_wrap .form_group .input_row {justify-content: space-between;}
.signup .form_wrap .form_group .phone_input {position: relative; width: 100%;}
.signup .form_wrap .form_group .input_row .cert_timer {position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: #cc2323; font-size: 14px; font-weight: 500;}
.signup .common_btn {flex-shrink: 0;}
.signup .form_wrap .form_group .code_row {margin-top: 12px;}
.signup .common_btn {width: 140px;}
.signup .common_btn.goto {width: 100%;}
.signup .agree_row {margin-top: 60px;}
.signup .btn_wrap.center {margin-top: 40px;}
.signup .common_btn.goto {width: 100%;}


/** 마이페이지 **/
.mypage .mg_bt {margin-bottom: 90px;}
.mypage_layout {display: flex; gap: 72px;}
.mypage_sidebar {width: 200px;}
.mypage_sidebar .menu_group {margin-bottom: 45px;}
.mypage_sidebar .menu_group .menu_title {color: #000; font-weight: 700; margin-bottom: 20px;}
.mypage_sidebar .menu_group ul {}
.mypage_sidebar .menu_group li:not(:last-child) {margin-bottom: 8px;}
.mypage_sidebar .menu_group li a {color: #7e8789; font-weight: 400;  transition: all 0.2s;}
.mypage_sidebar .menu_group li a:hover {color: #000; transition: all 0.2s;}
.mp_title {margin-bottom: 30px; display: inline-block;}
.mp_title .f24 {font-weight: 700;}
.mp_title_arrow {display: inline-block; background: url('../images/mypage_name_arrow.png') no-repeat center / cover; width: 9px; height: 14px; margin-left: 15px; transition: all 0.3s;}
.mp_title:hover .mp_title_arrow {transform: translateX(8px); transition: all 0.3s;}
.mypage_content {width: 100%;}
.user_summary_box {background: #f8f8f8; border-radius: 8px; padding: 35px 32px 30px;}
.user_summary_box .user_name {font-weight: 700; color: #2a3133;}
.user_summary_box .user_name .f16 {font-weight: 700; color: #2a3133;}
.user_summary_box .user_name .mp_title_arrow {margin-bottom: 4px;}
.user_summary_box .user_name:hover, .user_summary_box .user_name:hover .f16 {color: #31b9f2;}
.user_summary_box .user_status_grid {display: flex; justify-content: space-between; background: #fff; border-radius: 4px; overflow: hidden;}
.user_summary_box .status_item {flex: 1; text-align: center; padding: 30px 0; border-right: 2px solid #f5f5f5;}
.user_summary_box .status_item:last-child {border-right: none;}
.user_summary_box .label {color: #2a3133; font-weight: 700;}
.user_summary_box .value {font-weight: 700; color: #2a3133;}
.user_summary_box .value.point {color: #31b9f2;}
.mp_product_board .pb_head, .mp_product_board .pb_item {grid-template-columns: 1fr 1fr 3fr 1fr 1fr 1fr;}
.mp_product_board .pb_item {border-bottom: 1px solid #2a3133;}
.mp_product_board .pb_item .f16 {text-align: center; color: #2a3133; font-weight: 500;}
.mp_etc_board .pb_head, .mp_etc_board .pb_item {grid-template-columns: 1fr 5fr 1fr 1fr;}
.mp_etc_board .pb_item {color: #2a3133;}
.mp_etc_board .pb_item .title {text-align: left;}
.mp_etc_board .pb_reply {display: grid; grid-template-columns: 1fr 5fr 1fr 1fr; grid-column: 2 / span 3; background: #f8f8f8; padding-right: 10px}
.mp_etc_board .answer_box {grid-column: 2 / 3; display: flex; align-items: flex-start; border-radius: 4px; gap: 16px;}
.mp_etc_board .answer_box .label {font-weight: 500; background: #e2e5e5; color: #5d6466; width: 40px; height: 24px; border-radius: 4px; flex-shrink: 0; display: flex; justify-content: center; align-items: center; margin-left: 8px;}
.mp_etc_board .answer_box .answer {color: #2a3133; font-weight: 700;}
.mp_etc_board .answer_box .answer_icon {display: inline-block; background: url('../images/ic_answer.png') no-repeat center / cover; width: 12px; height: 13px;}
.mp_etc_board .reply_btns {grid-column: 3 / span 2; display: flex; gap: 4px;}
.mp_etc_board .reply_btns .common_btn {color: #fff; width: 160px; height: 47px;}
/* 위시리스트 */
.wishlist .prod_grid {border-top: 2px solid #eeeeee; padding-top: 26px;}
/* 기타주문 조회 */
.tab_group {display: flex; border: 1px solid #e2e5e5; border-radius: 4px; overflow: hidden; margin-bottom: 68px;}
.tab_group li {flex: 1;}
.tab_group .tab_button {width: 100%; padding: 17px 0; text-align: center; font-weight: 700; color: #3c4244; background-color: #fff; border: none; border-right: 1px solid #e2e5e5; cursor: pointer; transition: background-color 0.2s;}
.tab_group .tab_group li:last-child .tab_button {border-right: none;}
.tab_group .tab_button:hover {background: #f5f5f5;}
.tab_group .tab_button.active {background-color: #2a3133; color: #fff;}











@media (min-width: 1201px) {
    .signup .common_btn {height: 52px;}
}


@media (min-width: 1601px) {
    .signup .form_wrap .form_group input {height: 62px;}
    .signup .common_btn {height: 62px;}
    .signup .common_btn.goto {height: 64px;}
    .signup .form_wrap .form_group label {padding: 27px 0px;}
}


@media (max-width: 1920px) {
    /** 공통 **/
    .sub_title {margin-bottom: 3vw;}
    .board_list .board_top .btn_wrap {margin-top: 5vw;}
}


@media (max-width: 1600px) {
    /** 게시판 - 목록 **/
    .filter_row {padding: 20px 16px; margin-bottom: 40px;}
    /** 게시판 - 작성 **/
    .form_wrap .form_group input[type="text"],
    .form_wrap .form_group input[type="tel"],
    .form_wrap .form_group input[type="number"],
    .form_wrap .form_group input[type="password"],
    .form_wrap .form_group input[type="email"],
    .form_wrap .form_group select,
    .form_wrap .form_group textarea {padding: 0 20px;}
    .form_wrap .form_group {gap: 20px;}
    .form_wrap .form_group > *:not(label) {margin: 15px 0;}
    .form_wrap .form_group label {padding: 30px 24px;}
    .agree_row .agree_policy_box {padding: 20px 24px; margin-top: 16px;}
    .form_wrap .form_group textarea {padding: 20px;}
    /** 게시판 - 상세 **/
    .board_view_header {padding: 30px 0;}
    .board_view_header .board_info {margin-top: 16px;}
    .board_view_body .board_content {padding: 60px 20px 80px;}
    .board_view_nav > div {padding: 20px 0;}
    /** 제품 상세 **/
    .prod_detail_content .detail_inner {width: 70%;}
    .prod_detail_content .detail_side {width: 30%;}
}


@media (max-width: 1600px) {
    /** 게시판 - 작성 **/
    .form_wrap .content_attach_set .attach_list li {width: 90px; height: 90px;}
    /** 제품 목록 **/
    .prod_grid .prod_item .info {margin-top: 15px;}
    .prod_grid .prod_item .price_wrap {gap: 8px; margin-top: 2px;}
    /** 제품 상세 **/
    .prod_detail_content .detail_inner {padding: 80px 60px 100px 0;}
    .prod_detail_content .detail_title {margin: 80px 0 20px;}
    .prod_detail_content .detail_title_btn_wrap .brd_btns_small {margin: 89px 0 20px;}  /* kdi 추가 2025-09-07 */
}


@media (max-width: 1440px) {
    /** 공통 **/
    .location_dropdown {top: 32px; padding: 8px 12px; font-size: 14px;}
    .location_dropdown li a {padding: 5px 0;}
    /** 게시판 - 목록 **/
    .board_list .board_table thead th, .board_list .board_table tbody td, .notice .board_table tbody td {padding: 20px 10px;}
    .filter_row {padding: 16px 16px; margin-bottom: 30px;}
    /** 게시판 - 작성 **/
    .form_wrap .form_group input[type="text"],
    .form_wrap .form_group input[type="tel"],
    .form_wrap .form_group input[type="number"],
    .form_wrap .form_group input[type="password"],
    .form_wrap .form_group input[type="email"],
    .form_wrap .form_group select,
    .form_wrap .form_group textarea {padding: 0 16px;}
    .form_wrap .form_group label {font-size: 17px;}
    .form_wrap .form_group textarea {padding: 16px; height: 340px;}
    .form_wrap .content_attach_set .attach_list li {width: 80px; height: 80px;}
    .form_wrap .content_attach_set .attach_wrap {gap: 10px; margin-top: 15px;}
    .form_wrap .content_attach_set .icon_camera {width: 26px; height: 20px;}
    /** 게시판 - 상세 **/
    .board_view .btn_wrap {margin-top: 30px;}
    .attachment_list li {padding: 14px 16px;}
    .board_view2 .board_view_header .board_info {margin-top: 12px; gap: 25px;}
    /* 게시판 - 상품정보 */
    .product_board .pb_head, .product_board .pb_item {grid-template-columns: 30px 3fr 1fr 1fr 1fr 1fr 1fr;}
    .product_board .pb_head {padding: 18px 0;}
    .product_board .pb_item {padding: 20px 0;}
    .product_board .pb_info {gap: 20px;}
    .product_board .pb_thumb {width: 10vw; min-width: 80px;}
    .product_board .pb_quantity .qty_control, .product_board .pb_quantity .btn_change {width: 100px; padding: 0 4px; height: 42px;}
    .pb_total_wrap .pb_total_col {padding: 30px 0;}
    .pb_total_wrap .pb_total_label {margin-bottom: 4px;}
    .pb_total_wrap {margin-top: 50px;}
    /** 제품 목록 **/
    .prod_grid {gap: 50px 9px;}
    .prod_grid .prod_item .info {margin-top: 12px;}
    .prod_grid .prod_item .info .name, .prod_grid .prod_item .price {font-size: 18px; line-height: 26px;}
    /** 제품 상세 **/
    .prod_view {gap: 60px; margin: 40px 0 70px;}
    .prod_view .product_images, .prod_view .product_info {width: 50%;}
    .prod_view .product_images {gap: 14px;}
    .prod_view .main_image {width: calc(100% - 94px);}
    .prod_view .thumb_list .thumb {width: 80px; height: 80px;}
    .prod_view .prod_title_group .prod_name {margin: 5px 0 8px;}
    .prod_view .prod_info_table dl {padding: 18px 0;}
    .prod_view .prod_info_table .delivery_msg {margin-top: 12px; padding: 10px 15px; gap: 12px; font-size: 16px; line-height: 26px;}
    .prod_view .prod_info_table .delivery_msg .icon {width: 30px; height: 30px;}
    .prod_view .prod_info_table .delivery_msg dd {margin: 2px;}
    .prod_view .quantity_wrap {padding: 8px 0 14px;}
    .prod_view .total_price {padding: 18px 0 24px;}
    .product_detail .action_btns {gap: 6px;}
    .prod_view .prod_info_table dl {gap: 20px;}
    .product_detail .action_btns button {height: 58px;}
    .prod_detail_content .detail_side .side_inner {height: 600px;}
    .prod_detail_content .detail_side .floating_box {padding: 16px 22px;}
    .prod_detail_content .detail_side .price_line {margin-top: 24px;}
    .product_detail .inquiry_head .inquiry_meta {gap: 25px;}
    /** 임시결제 - 목록 **/
    .preauth_list_grid {gap: 60px 20px;}
    .preauth_list_grid .preauth_card .order_number {margin-top: 20px;}
    /** 마이페이지 **/
    .mypage_layout {gap: 40px;}
    .mp_product_board .pb_head, .mp_product_board .pb_item {grid-template-columns: 1fr 1fr 3fr 1fr 1fr 1fr;}
    .mp_etc_board .pb_head, .mp_etc_board .pb_item {grid-template-columns: 1fr 4fr 1fr 1fr;}
    .mp_etc_board .pb_reply {grid-template-columns: 1fr 3fr 1fr 1fr;}
    .mp_title {margin-bottom: 22px;}
    .user_summary_box .user_name .mp_title_arrow {margin-bottom: 0;}
    .user_summary_box {padding: 25px 28px 24px;}
    .user_summary_box .status_item {padding: 20px 0;}
    .mypage .mg_bt {margin-bottom: 70px;}
    .tab_group {margin-bottom: 50px;}
    .tab_group .tab_button {padding: 15px 0;}
}


@media (max-width: 1200px) {
     /** 공통 **/
    .common_btn {width: 160px; height: 52px;}
    .lock_icon {width: 13px; height: 16px;}
    .location_wrap {gap: 15px; margin: 20px 0;}
    /** 게시판 - 목록 **/
    .board_list .board_top .btn_wrap {margin-bottom: 0;}
    .board_list .board_top .btn_wrap .common_btn {height: 52px;}
    .search_period_wrap .btn_range {width: 70px;}
    /** 게시판 - 작성 **/
    .form_wrap .form_group {gap: 16px;}
    .form_wrap .form_group > *:not(label) {margin: 10px 0;}
    .form_wrap .form_group label {padding: 25px 20px; font-size: 16px;}
    .agree_row .agree_policy_box {padding: 20px 24px; margin-top: 16px;}
    .form_wrap .form_group .radio_wrap.column_type {gap: 20px;}
    .form_wrap .form_group .address_fields > input {margin-top: 6px;}
    /** 게시판 - 상세 **/
    .board_view_header {padding: 20px 0;}
    .board_view_header .board_info {margin-top: 10px;}
    .board_view_body .board_content {padding: 40px 0 50px;}
    .board_view_nav > div {padding: 16px 0;}
    .board_view2 .board_view_header .board_info {margin-top: 8px; gap: 20px;}
    .board_view2 .board_view_header .lock_icon {width: 14px; height: 17px;}
    /** 제품 - 목록 **/
    .prod_grid {grid-template-columns: repeat(3, 1fr); gap: 40px 9px;}
    .prod_grid .prod_item .info {margin-top: 10px;}
    .prod_grid .prod_item .info .name, .prod_grid .prod_item .price {font-size: 16px; line-height: 24px;}
    /** 제품 상세 **/
    .prod_view {gap: 40px; margin: 30px 0 60px;}
    .prod_detail_tab {margin-top: 60px;}
    .prod_detail_tab .tab_list li {padding: 16px 8px;}
    .prod_detail_content .detail_side .floating_box {padding: 14px 16px;}
    .prod_detail_content .detail_side .price_line {flex-flow: column; align-items: flex-start; margin-top: 10px; gap: 6px;}
    .prod_detail_content .detail_side .side_inner {padding: 20px;}
    .prod_detail_content .detail_inner {padding: 60px 50px 80px 0;}
    .prod_detail_content .detail_title {margin: 60px 0 16px;}
    .prod_detail_content .detail_title_btn_wrap .brd_btns_small {margin: 60px 0 16px;}  /* kdi 추가 2025-09-07 */
    .review_wrap .rating_detail li {font-size: 15px;}
    .review_wrap .review_summary {padding: 25px;}
    .review_wrap .rating_detail .bar {height: 8px;}
    .review_wrap .review_tab_list {margin-top: 35px;}
    .review_wrap .sort_type {margin: 30px 0 12px;}
    .review_wrap .review_item {padding: 20px 0;}
    .review_wrap .thumb_preview {top: 20px;}
    .review_wrap .user_info {margin: 4px 0 6px;}
    .review_wrap .review_footer {margin-top: 6px;}
    .review_wrap .help_btns {margin-top: 6px;}
    .review_wrap .thumb_preview {width: 80px; height: 80px;}
    .review_wrap .thumb_preview .count {width: 20px; height: 20px; top: 2px; right: 2px; font-size: 14px; display: flex; justify-content: center; align-items: center;}
    .review_wrap .review_content {padding-right: 100px; max-height: 44px;}
    .review_wrap .photo_area {margin-top: 22px;}
    .product_detail .pagination {margin-top: 30px;}
    .product_detail .inquiry_head .date::before {margin: 0 10px;}
    .product_detail .inquiry_head .inquiry_meta {max-width: calc(100% - 350px);}
    .product_detail .inquiry_head .inquiry_meta {gap: 16px;}
    /** 임시결제 - 목록 **/
    .preauth_list_grid {gap: 50px 20px;}
    .preauth_list_grid .preauth_card .order_number {margin-top: 16px;}
}


@media (max-width: 1024px) {
    /** 공통 **/
    .bt_mg {margin-bottom: 90px !important;}
    .common_btn.small {width: 120px !important; height: 50px !important; font-size: 15px !important;}
    .btn_wrap {margin-top: 50px;}
    .location_dropdown {padding: 6px 12px; width: 90px;}
    /** 게시판 - 목록 **/
    .board_list .board_table thead th, .board_list .board_table tbody td, .notice .board_table tbody td {padding: 16px 10px;}
    .board_list .board_table .state span {padding: 4px 8px; font-size: 14px;}
    .filter_row {align-items: flex-start; gap: 20px;}
    .filter_row .filter_label {margin-top: 8px;}
    .search_period_wrap {flex-wrap: wrap; gap: 10px;}
    .search_period_wrap .range_btns {width: 100%;}
    .search_period_wrap .btn_range {width: 20%;}
    .search_period_wrap .range_inputs {width: calc(100% - 110px);}
    .search_period_wrap .range_cont {width: 100%; gap: 10px;}
    .search_period_wrap .date_input_wrap {width: 100%;}
    .search_period_wrap .date_input {width: 100%;}
    /** 게시판 - 작성 **/
    .form_wrap .form_group {gap: 10px;}
    .form_wrap .form_group > *:not(label) {margin: 6px 0;}
    .form_wrap .form_group label {padding: 22px 16px; font-size: 15px; width: 200px;}
    .agree_row .agree_policy_box {padding: 14px 18px; margin-top: 12px;}
    .form_wrap .form_group input[type="text"],
    .form_wrap .form_group input[type="tel"],
    .form_wrap .form_group input[type="number"],
    .form_wrap .form_group input[type="password"],
    .form_wrap .form_group input[type="email"],
    .form_wrap .form_group select,
    .form_wrap .form_group textarea {height: 50px; font-size: 15px; line-height: 23px;}
    .form_wrap .form_group .checkbox_wrap label {font-size: 15px; gap: 8px;}
    .form_wrap .form_group .checkbox_wrap input[type="checkbox"] + span {width: 18px; height: 18px;}
    .form_wrap .form_group .radio_wrap .radio_line {gap: 20px;}
    .form_wrap .form_group textarea {padding: 16px; height: 280px;}
    .agree_row {margin-top: 24px;}
    .form_wrap .form_group .radio_wrap .radio_text {font-size: 15px;}
    .form_wrap .form_group .text_value {line-height: 50px;}
    .form_wrap .content_attach_set .attach_list li {width: 60px; height: 60px;}
    .form_wrap .content_attach_set .attach_wrap {gap: 8px; margin: 10px 0 4px;}
    .form_wrap .content_attach_set .icon_camera {width: 22px; height: 16px;}
    .form_wrap .content_attach_set .btn_delete {right: 2px; top: 2px;}
    /** 게시판 - 상세 **/
    .board_view_header {padding: 15px 0;}
    .board_view_header .board_info {margin-top: 6px;}
    .board_view_body .board_content {padding: 30px 0 35px; line-height: 25px;}
    .board_view_nav .label {margin-right: 20px;}
    .board_view_nav .icon {margin-right: 30px;}
    .board_view_nav .type {margin-right: 15px;}
    .board_view .btn_wrap {margin-top: 20px;}
    .board_view2 .board_view_header .board_info {margin-top: 6px; gap: 14px;}
    /* 게시판 - 상품정보 */
    .product_board .pb_head, .product_board .pb_item {grid-template-columns: 20px 3fr 1fr 1fr 1fr 1fr 1fr;}
    .product_board .pb_head {padding: 14px 0;}
    .product_board .pb_item {padding: 14px 0;}
    .product_board .pb_info {gap: 14px;}
    .product_board .pb_thumb {width: 10vw; min-width: 60px;}
    .product_board .pb_quantity .qty_control, .product_board .pb_quantity .btn_change {width: 80px; padding: 0 4px; height: 40px;}
    .pb_unit, .pb_sale, .pb_total, .pb_delivery {font-size: 16px;}
    .pb_total_wrap .pb_total_col {padding: 20px 0;}
    /** 제품 목록 **/
    .product .location_dropdown {width: 140px;}
    .product_list .prod_layout {flex-flow: column;}
    .product_list .filter_area {max-width: none;}
    .product_list .filter_area .filter_box {display: flex; width: 100%; border: 1px solid #eee; border-radius: 4px; padding: 12px 20px; gap: 15px; margin-top: 0;}
    .product_list .filter_area .filter_box.cate {display: none;}
    .product_list .filter_box .filter_title {height: auto; margin-top: 0;}
    .product_list .filter_box .filter_title .toggle_btn {display: none;}
    .product_list .prod_layout {gap: 20px;}
    .filter_box .price_presets {border: none; padding: 0;}
    .filter_box .price_reset {margin: 0;}
    .filter_box .price_presets li {padding: 0 10px; font-size: 14px;}
    .product_list .filter_title .f20 {font-size: 16px; line-height: 24px; margin-right: 8px;}
    .filter_box .price_reset {gap: 6px;}
    .filter_box .price_reset img {max-width: 14px;}
    .filter_box .price_presets li, .filter_box .price_range .input_wrap input, .filter_box .price_range .search_btn {border: 1px solid #ddd; height: 40px;}
    .filter_box .price_range .search_btn {width: 40px;}
    .filter_box .price_range .input_wrap input {width: 120px;}
    .prod_list_area .sort_tab {gap: 20px; padding-right: 30px;}
    .prod_list_area .sort_tab li button {font-size: 15px; gap: 6px;}
    .prod_list_area .sort_tab li.on button::before {width: 12px; height: 12px;}
    .prod_list_area .select_btn {height: 52px;}
    /** 제품 상세 **/
    .prod_view .thumb_list {gap: 6px;}
    .prod_view .product_images {gap: 10px;}
    .prod_view .thumb_list .thumb {width: 60px; height: 60px;}
    .prod_view .main_image {width: calc(100% - 70px);}
    .prod_view .prod_info_table dl {padding: 12px 0;}
    .product_detail .qty_control {height: 42px;}
    .prod_view .prod_info_table .delivery_msg {margin-top: 8px; padding: 8px 10px; font-size: 15px; line-height: 25px; gap: 8px;}
    .prod_view .prod_info_table .delivery_msg .icon {width: 24px; height: 24px; margin-right: 0;}
    .prod_view .quantity_wrap {padding: 8px 0;}
    .prod_detail_content .detail_side {display: none;}
    .prod_detail_content .detail_inner {padding: 40px 0 70px; border: none;}
    .prod_detail_tab {margin-top: 50px; top: 52px;}
    .prod_detail_tab .tab_list {padding-right: 0;}
    .prod_detail_content .detail_title {margin: 50px 0 12px;}
    .prod_detail_content .detail_title_btn_wrap .brd_btns_small {margin: 50px 0 12px;}  /* kdi 추가 2025-09-07 */
    .review_wrap .review_tab_list {margin-top: 25px;}
    .review_wrap .sort_type {margin: 24px 0 10px;}
    .attachment_list li {padding: 12px 14px;}
    .attachment_list .attachment_file {gap: 8px;}
    .attachment_list .attachment_file .icon {width: 14px; height: 14px;}
    /** 임시결제 - 목록 **/
    .preauth_list_grid {grid-template-columns: repeat(4, 1fr); gap: 40px 16px;}
    .preauth_list_grid .preauth_card .order_number {margin-top: 12px;}
    /** 마이페이지 **/
    .mypage_sidebar {display: none;}
    .mp_product_board .pb_head, .mp_product_board .pb_item {grid-template-columns: 1fr 1fr 3fr 1fr 1fr 1fr;}
    .mp_etc_board .pb_head, .mp_etc_board .pb_item {grid-template-columns: 1fr 4fr 1fr 1fr;}
    .mp_etc_board .pb_reply {grid-template-columns: 1fr 3fr 1fr 1fr;}
    .mp_title {margin-bottom: 15px;}
    .mp_title_arrow {width: 7px; height: 12px; margin-left: 10px;}
    .mypage .mg_bt {margin-bottom: 50px;}
    .user_summary_box {padding: 22px 24px 20px;}
    .user_summary_box .status_item {padding: 14px 0;}
    .user_summary_box .label {font-size: 14px;}
}


@media (max-width: 960px) {
    /** 공통 **/
    .sub_title {margin-bottom: 36px;}
    .board_list .board_top .btn_wrap {margin-top: 40px;}
    /** 제품 - 목록 **/
	.prod_grid {grid-template-columns: repeat(2, 1fr);}
    .product_list .filter_area .filter_box {flex-wrap: wrap; gap: 8px; padding: 0; border: none;}
    .product_list .filter_box .filter_title {display: none;}
    .filter_box .price_presets {width: 100%;}
    .filter_box .price_presets li {width: calc(25% - 3px);}
    .filter_box .price_range {width: calc(100% - 100px);}
    .filter_box .price_range .input_wrap {width: 100%; min-width: 80px;}
    .filter_box .price_range .input_wrap input {width: 100%;}
}


@media (max-width: 768px) {
    /** 공통 **/
    .bt_mg {margin-bottom: 80px !important;}
    .text_ellipsis {max-width: 90%;}
    .banner_box img {height: 15vw; object-fit: cover; min-height: 80px;}
    .board_list .board_top .btn_wrap .common_btn {height: 50px;}
    .location_wrap {margin: 16px 0 26px; gap: 10px;}
    .location_wrap .divider {width: 5px; height: 10px;}
    .location_current .current_btn {gap: 6px;}
    .location_current .current_btn .icon {width: 16px; height: 16px;}
    .location_current .current_btn .icon span {width: 8px; height: 3px;}
    .location_dropdown {padding: 5px 10px; width: 85px; top: 26px;}
    .btn_wrap {margin-top: 40px;}
    .common_btn {width: 150px}
    .common_btn.small {width: 110px !important;}
    /** 게시판 - 목록 **/
    .board_list .board_table thead {display: none;}
    .board_list .board_table tbody tr {display: flex; flex-wrap: wrap; width: calc(100vw - 46px); padding: 18px 0; border-bottom: 1px solid #e6e8e8; border-radius: 8px; background: #fff; box-sizing: border-box; gap: 0 12px; align-items: center;}
    .board_list .board_table tbody td {text-align: left; border: none; border: none; padding: 0;}
    .board_table tbody td.title_cell {width: 100%; padding: 8px 0 10px; font-size: 17px; font-weight: 600;}
    .board_list .board_table tr.clickable:hover {background: none;}
    .board_list .board_table tbody td.state {order: 1;}
    .board_list .board_table tbody td.category {order: 2;}
    .board_list .board_table tbody td.title_cell {order: 3;}
    .board_list .board_table tbody td.author {order: 4;}
    .board_list .board_table tbody td.date {order: 5;}
    .notice .board_table tbody td:first-child {display: none;}
    .notice .board_table tbody td.category {width: 100%;}
    .filter_row {gap: 12px;}
    .search_period_wrap .btn_range {font-size: 15px;}
    .search_period_wrap .date_input {font-size: 14px; padding: 0 20px 0 10px;}
    .search_period_wrap .icon_calendar {width: 13px; height: 13px;}
    .search_period_wrap .btn_search {padding: 0 24px;}
    .search_period_wrap .range_inputs {width: calc(100% - 84px);}
    /** 게시판 - 작성 **/
    .form_wrap .form_group {flex-flow: column; padding: 12px 0; gap: 8px; border-bottom: 0;}
    .form_wrap .form_group input[type="text"],
    .form_wrap .form_group input[type="tel"],
    .form_wrap .form_group input[type="number"],
    .form_wrap .form_group input[type="password"],
    .form_wrap .form_group input[type="email"],
    .form_wrap .form_group select,
    .form_wrap .form_group textarea {padding: 0 12px;}
    .form_wrap .form_group > *:not(label) {flex: none; margin: 0;}
    .form_wrap .form_group textarea {padding: 12px; height: 200px;}
    .form_wrap .form_group label {padding: 0; background: none;}
    .form_wrap .input_short {max-width: none !important;}
    .form_wrap .form_group .checkbox_wrap {padding: 10px 0; gap: 24px;}
    .form_wrap .form_group .text_value {line-height: 28px;}
    .form_wrap .content_attach_set .attach_wrap {gap: 4px; margin: 6px 0 0;}
    .form_wrap .form_group .onlytext {line-height: 20px; font-weight:normal;}
    .form_wrap .form_group .file_wrap {flex-wrap: wrap;} /* 추가 2025-09-07 kdi*/
    .form_wrap .form_group .file_wrap .file_name {width:60%;} /* 추가 2025-09-07 kdi*/

    /** 게시판 - 상세 **/
    .board_view_header {padding: 12px 0;}
    .board_view_nav .label {margin-right: 10px;}
    .board_view_nav .icon {width: 10px; height: 6px; margin-right: 16px;}
    .board_view_nav .type {margin-right: 8px;}
    .board_view2 .board_view_header .lock_icon {width: 12px; height: 15px; margin-left: 8px;}
    /* 게시판 - 상품정보 */
    .product_board .pb_list {border-top: 2px solid #2a3133;}
    .product_board .pb_head { display: none; }
    .product_board .pb_item { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px 0; padding-left: 40px; border-bottom: 1px solid #e6e8e8; position: relative;}
    .product_board .checkbox_wrap {position: absolute; left: 0; top: 20px;}
    .product_board .pb_info {display: flex; gap: 12px;}
    .product_board .pb_thumb img { max-width: 90px; height: auto; }
    .product_board .pb_unit,
    .product_board .pb_sale,
    .product_board .pb_total,
    .product_board .pb_delivery { width: 100%; text-align: left; }
    .product_board .pb_quantity { display: flex; flex-direction: row; gap: 8px; justify-content: flex-start; align-items: center; width: 100%;}
    .product_board .qty_control,
    .product_board .btn_change {width: auto;}
    .product_board .pb_price_main {margin-top: 3px;}
    .pb_unit, .pb_sale, .pb_total, .pb_delivery {font-size: 15px; line-height: 23px;}
    .product_board .pb_quantity .qty_control, .product_board .pb_quantity .btn_change {height: 38px; font-size: 15px;}
    .product_board .pb_quantity .qty_control {width: 20vw; min-width: 110px;}
    .product_board .pb_title, .product_board .pb_price_main {font-size: 15px; line-height: 23px;}
    .product_board .pb_unit::before {content: '판매가 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px;}
    .product_board .pb_sale::before {content: '할인금액 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px;}
    .product_board .pb_total::before {content: '구매가'; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px;}
    .product_board .pb_delivery::before {content: '배송비'; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px;}
    .pb_total_wrap .pb_divider {right: -16px;}
    .pb_total_wrap .pb_total_col {padding: 15px 0;}
    .pb_total_wrap .pb_total_symbol {width: 28px; height: 28px; font-size: 20px;}
    .pb_total_wrap .pb_total_label {font-size: 14px; margin-bottom: 2px;}
    .pb_total_wrap .f36 {font-size: 16px;}
    .product_board .pb_footer {padding: 14px 0;}
    .pb_total_wrap .pb_total_notice {padding: 14px 18px;}
    /** 제품 목록 **/
    .product .location_dropdown {width: 130px;}
    .prod_list_area .product_sort {flex-flow: column; align-items: flex-start;margin-top: 0; margin-bottom: 14px; padding-bottom: 6px;}
    .prod_list_area .product_sort .total {order: 2;}
    .prod_list_area .sort_area {order: 1; justify-content: space-between; width: 100%;}
    .prod_list_area .sort_tab {padding-right: 0;}
    .prod_list_area .sort_tab::after {display: none;}
    /** 제품 상세 **/
    .prod_view {flex-flow: column; margin: 0 0 40px;}
    .prod_view .product_images {flex-flow: column; gap: 5px; width: 100%; max-width: 500px; margin: 0 auto;}
    .prod_view .product_info {width: 100%;}
    .prod_view .thumb_list {display: flex; order: 2; flex-direction: row;}
    .prod_view .main_image {order: 1; display: flex; width: 100%;}
    .product_detail .action_btns button {height: 54px;}
    .prod_view .prod_info_table dl {gap: 10px;}
    .prod_detail_content .detail_title {margin: 40px 0 10px;}
    .prod_detail_content .detail_title_btn_wrap .brd_btns_small {margin: 41px 0 10px;} /* kdi 추가 2025-09-07 */
    .review_wrap .rating_detail .label {width: 80px;}
    .review_wrap .rating_box {gap: 25px;}
    .review_wrap .rating_box .score_box {padding-right: 25px;}
    .review_wrap .thumb_preview {width: 60px; height: 60px;}
    .review_wrap .review_content {padding-right: 80px;}
    .review_wrap .review_tab_list button {width: auto; padding: 14px 24px; font-size: 15px;}
    .product_detail .pagination {margin-top: 20px;}
    .prod_detail_content .detail_inner {padding: 30px 0 70px;}

    .product_detail .inquiry_body {
        border-top: 1px solid #e2e5e5;
        padding: 30px 0 30px 20px;
        display: none;
    }

    /** 임시결제 - 목록 **/
    .preauth_list_grid {grid-template-columns: repeat(3, 1fr);}
    /** 로그인 **/
    .login .form_wrap {padding: 14px 0 0;}
    .login .form_wrap .form_group .btn_login {max-width: 100%; height: 60px;}
    .login .form_wrap .form_group input:first-child {margin-bottom: 6px;}
    .login .form_wrap .form_group.bottom {margin-top: 0; padding: 0;}
    .form_wrap .form_group .checkbox_wrap {padding: 0;}
    .login .form_wrap .login_links {text-align: center; padding-top: 20px;}
    .login .join_box {margin-top: 40px; padding-top: 30px;}
    /** 회원가입 **/
    .signup .agree_row {margin-top: 40px;}
    /** 마이페이지 **/
    .mp_product_board .pb_head, .mp_product_board .pb_item {padding-left: 0;}
    .mp_etc_board .answer_box {gap: 10px;}
    .mp_etc_board .reply_btns {margin-top: 6px;}
    .mp_etc_board .reply_btns .common_btn {width: 120px; height: 42px; font-size: 14px;}
    .mp_product_board .pb_date::before { content: '주문일 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px; }
    .mp_product_board .pb_ordernum::before { content: '주문번호 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px; }
    .mp_product_board .pb_qty::before { content: '수량 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px; }
    .mp_product_board .pb_price::before { content: '결제금액 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px; }
    .mp_product_board .pb_status::before { content: '진행상태 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px; }
    .mp_product_board .pb_pay_kb::before { content: '결제방법 '; display: inline; font-weight: 700; color: #999; margin-right: 8px; font-size: 14px; }
    .tab_group {margin-bottom: 32px;}
    .tab_group .tab_button {padding: 14px 0; font-size: 15px;}
}


@media (max-width: 640px) {
    /** 게시판 - 목록 **/
    .filter_row {padding: 0; border: none; margin-bottom: 20px;}
    .filter_row .filter_label {display: none;}
    /** 제품 상세 **/
    .product_detail .inquiry_head {flex-flow: column; align-items: flex-start; padding: 14px 0; gap: 4px;}
    .product_detail .inquiry_head .status {width: auto; min-width: auto;}
    .product_detail .inquiry_head .inquiry_info {font-size: 14px; line-height: 22px;}
    .product_detail .inquiry_head .inquiry_meta {width: 100%; max-width: none;}
    .product_detail .inquiry_head .inquiry_meta .title {width: calc(100% - 100px);}
    .prod_detail_tab {top: 56px;}
    /** 임시결제 - 목록 **/
    .preauth_list_grid {grid-template-columns: repeat(2, 1fr);}
}


@media (max-width: 540px) {
	/** 게시판 - 작성 **/
    .form_wrap .form_group .radio_wrap .radio_line {flex-flow: column; align-items: flex-start; gap: 10px;}
    .form_wrap .form_group .email_wrap {flex-wrap: wrap; gap: 6px 0;}
    .form_wrap .form_group .email_wrap .hyphen {margin: 0 6px;}
    .form_wrap .form_group .email_wrap input {width: calc(50% - 14px);}
    .form_wrap .form_group .email_wrap input, .form_wrap .form_group .email_wrap select {max-width: none;}
    .form_wrap .content_attach_set .attach_list li {width: 50px; height: 50px;}
    .form_wrap .form_group textarea {height: 160px;}
    /** 제품 목록 **/
    .filter_box .price_presets li {width: calc(33.3% - 2px); height: 36px;}
    .filter_box .price_range {width: 100%;}
    .prod_grid {gap: 30px 9px;}
    .prod_list_area .product_sort {margin-top: 16px;}
    .prod_list_area .sort_area {flex-flow: column; align-items: flex-start; gap: 12px;}
    .prod_list_area .sort_select {width: 100%; border: 1px solid #ddd; border-radius: 4px;}
    .prod_list_area .select_btn {padding: 0 12px; height: 50px;}
    .prod_list_area .select_btn::after {right: 12px;}
    .prod_list_area .product_sort .total {margin-top: 12px;}
    .prod_grid .prod_item .price_wrap {gap: 0 6px; flex-wrap: wrap;}
    .prod_grid .prod_item .info .name, .prod_grid .prod_item .price {font-size: 15px; line-height: 23px;}
    .prod_list_area .sort_tab {order: 2;}
    .prod_list_area .sort_select {order: 1;}
    .review_wrap .review_summary {padding: 18px 20px;}
    .review_wrap .rating_box {flex-flow: column; align-items: flex-start; gap: 16px;}
    .review_wrap .rating_box .score_box {width: 100%; border-right: 0; border-bottom: 1px solid #ededed; padding-right: 0; padding-bottom: 16px;}
    .review_wrap .rating_detail {width: 100%;}
    .prod_detail_tab .tab_list li {padding: 14px 8px;}
    .prod_detail_tab .tab_list li button {font-size: 15px; line-height: 21px;}
}


@media (max-width: 480px) {
    /** 공통 **/
    .location_wrap {margin: 12px 0 26px;}
    /** 게시판 - 목록 **/
    .board_list .board_top {flex-flow: column; align-items: start; gap: 10px; margin-bottom: 6px;}
    .board_list .select_box {order: 2;}
    .board_list .search_box {order: 1; width: 100%;}
    .board_list .board_table tbody tr {padding: 12px 0;}
    .board_list .board_table tbody td {font-size: 14px;}
    .board_table tbody td.title_cell {font-size: 16px; padding: 2px 0 6px;}
    .search_period_wrap {gap: 8px;}
    .search_period_wrap .range_cont {flex-wrap: wrap; gap: 8px;}
	.search_period_wrap .range_inputs {width: 100%;}
    .search_period_wrap .btn_search {width: 100%;}
     /** 게시판 - 작성 **/
    .form_wrap .form_group .input_row {gap: 4px;}
    .form_wrap .form_group .file_wrap {gap: 4px;}
    .agree_row {margin-top: 16px;}
    .agree_row .checkbox_label {flex-wrap: wrap;}
    .agree_row .agree_policy_box {padding: 12px 16px;}
    .agree_row .link_policy {width: 100%; margin-top: 6px;}
    /** 게시판 - 상세 **/
    .board_view_nav > div {font-size: 14px; line-height: 24px; padding: 15px 0;}
    .board_view_nav .label {margin-right: 6px;}
    .board_view_nav .icon {margin-right: 12px;}
    .board_view_nav .type {margin-right: 6px;}
    .attachment_list li {padding: 10px 12px;}
    /* 게시판 - 상품정보 */
    .pb_total_wrap .pb_total_box {flex-flow: column; justify-content: flex-start;}
    .pb_total_wrap .pb_total_col {display: flex; justify-content: space-between; width: 100%; border-bottom: 1px solid #e2e5e5; border-right: 0; padding: 10px 0;}
    .pb_total_wrap .pb_total_symbol {}
    .pb_total_wrap .pb_divider {left: 50%; transform: translate(-50%, 10px); right: auto; bottom: 0;}
    .pb_total_wrap {margin-top: 40px;}
    /** 제품 목록 **/
    .filter_box .price_presets li {width: calc(50% - 2px);}
    .prod_list_area .sort_tab {gap: 16px;}
    .prod_list_area .sort_tab li button {font-size: 14px;}
    .prod_list_area .sort_tab li.on button::before {width: 10px; height: 10px;}
    /** 제품 상세 **/
    .prod_view {gap: 30px;}
    .prod_view .thumb_list {gap: 4px;}
    .prod_view .thumb_list .thumb {width: 50px; height: 50px;}
    .prod_view .total_price {padding: 12px 0 20px;}
    .review_wrap .user_id::after {margin-left: 8px;}
    .review_wrap .review_tab_list button {width: auto; padding: 10px 19px; font-size: 15px;}
    .prod_detail_tab {top: 52px;}
    .prod_detail_tab .tab_list {justify-content: flex-start;}
    .prod_detail_tab .tab_list li {width: auto; padding: 14px 12px;}
    .prod_detail_tab .tab_list .count {margin-left: 4px;}
    /** 임시결제 - 목록 **/
    .preauth_list_grid {gap: 30px 12px;}
    .preauth_list_grid .preauth_card .order_number {margin-top: 10px; font-size: 15px; line-height: 23px;}
    /** 회원가입 **/
    .signup .common_btn {width: 100px;}
    /** 마이페이지 **/
    .location_wrap {flex-flow: wrap;}
    .location_current .current_btn {white-space: nowrap;}
    .mp_title {margin-bottom: 10px;}
    .user_summary_box {padding: 16px 18px 14px;}
    .user_summary_box .status_item {padding: 10px 0;}
    .user_summary_box .label {font-size: 13px;}
    .user_summary_box .value {font-size: 16px;}
}


@media (max-width: 375px) {
    /** 제품 상세 **/
    .prod_detail_tab .tab_list li button {font-size: 14px; line-height: 20px;}
    .prod_detail_tab .tab_list li {width: auto; padding: 10px 14px;}
    .agree_row .checkbox_label .checkbox_icon {width: 18px; height: 18px;}

}



/********************************************************

 *  Button Set : 버튼 셋

 ********************************************************/

.btn.txic a {display: inline-block;padding-right:15px;}
.btn.ictx a {display: inline-block;padding-left:15px;}
.btn.wh a {color:#fff;}
.btn.gr a {color:#444;font-weight: 600;}
.btn.bdr a {border:1px solid #ddd;border-radius: 10px;transition: all 0.3s ease;}
.btn.bdr a:hover {border:1px solid #bbb;box-shadow: 0 5px 10px rgba(0,0,0,0.1)}
button.bl {width:100%;background:#0f9adc;color:#fff;padding:20px;border-radius: 10px;font-size:16px;font-weight: 600;transition: all 0.3s ease;}
button.bl:hover {background:#0a83bd;}
.bott_btns {display: flex;margin-top:50px;}
.bott_btns.right {justify-content: flex-end;}
.bott_btns.right .btn {margin-left:10px;}
.bott_btns.center {justify-content: center;}
.bott_btns.center .btn {margin:0 5px;}
.bott_btns .btn a {width:100px;display: block;line-height:50px;padding:0 10px;border-radius: 10px;text-align: center;font-size:16px;font-weight: 500;}
.btn.bl a {color:#fff;background:#000;}
.btn.gray a {color:#666;background:#f4f4f4;}
.btn.gray a:hover {color:#222;background:#e5e5e5;}
.btn.sky a {color:#1981c5;background:#ebf4fa;}
.btn.sky a:hover {color:#0d6ead;background:#d6eaf7;}

@media screen and (max-width:1024px){
  .bott_btns .btn a {width: 100px;line-height: 50px;font-size: 16px;}
}
@media screen and (max-width:768px){
  button.bl {font-size:16px;}

  .bott_btns .btn a {width: 100px;font-size:16px;}
}
@media screen and (max-width:480px){

  button.bl {font-size: 16px; padding:18px 20px;}
  .bott_btns {margin-top: 40px;}
  .bott_btns.right .btn {margin-left:5px;}
  .bott_btns .btn a {width:68px;}
}

