/* header & footer */
#w_header {
    background: #333;
    color: #fff;
    position: relative;
    z-index: 99;
}

/* ── 스크롤 시 상단 고정 ──────────────────────────────────────
   js/script.js 가 스크롤이 0보다 크면 #w_header 에 .fix, body 에 .hdr-fixed 를 붙인다.
   헤더가 position:fixed 로 흐름에서 빠지므로 본문이 헤더 높이만큼 위로 튄다.
   → body 에 같은 높이의 padding-top 을 줘서 상쇄 (PC = 상단 115px + GNB 44px = 159px).
   ※ .up(아래로 스크롤 중)은 현재 스타일 없음 — 헤더 전체를 항상 그대로 고정한다.
     스크롤 내릴 때 상단 줄을 접는 방식이 필요하면 별도 요청. */
#w_header.fix {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
body.hdr-fixed {
    padding-top: 159px;
}

#w_header .top .wrap {
    height: 115px;
}

#w_header .top .search_box fieldset {
    padding: 0 0 8px;
    width: 175px;
    border: none;
    border-bottom: 1px solid #7a7a7a;
}

#w_header .top .search_box fieldset legend {
    display: none;
}

#w_header .top .search_box #searchs {
    width: 135px;
    font-size: 17px;
    color: #fff;
    height: 25px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    padding-left: 3px;
}

#w_header .top .phone {
    font-size: 32px;
    background: url(/images/top_phone_bg.png) no-repeat left top -4px;
    padding-left: 40px;
    height: 40px;
    font-family: arial;
    font-weight: bold;
    margin-left: 30px;
}

#w_header .top .top_btn {
    gap: 20px;
    text-align: center;
    margin-left: 40px;
}

#w_header .top .top_btn span {
    display: block;
    font-size: 15px;
    margin-bottom: 15px;
}

#nav_btn .line {
    width: 30px;
    height: 2px;
    background-color: #fff;
    display: block;
    margin: 8px auto;
    transition: all 0.3s ease-in-out;
}

#nav_btn:hover {
    cursor: pointer;
}

#nav_btn.act .line:nth-child(2) {
    opacity: 0;
}

#nav_btn.act .line:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
}

#nav_btn.act .line:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
}

#w_header nav.pc {
    background: rgba(165, 0, 52, 0.9);
    height: 44px;
    position: relative;
}

/* 서브메뉴 전체 폭 흰 배경 */
#w_header nav.pc::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 44px;
    height: 0;
    background: #fff;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
    z-index: 10;
}
#w_header nav.pc.sub-open::after {
    height: 288px;
}

/* GNB 컨테이너 — 1200px 중앙, flex 가로 배열 */
#w_header .gnb-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
}

/* 각 메뉴 컬럼 */
#w_header .gnb-col {
    position: relative;
    flex: 0 0 auto;
}

/* 메인 메뉴 링크 */
#w_header .gnb-top {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 20px;
    white-space: nowrap;
}

/* 서브 메뉴 목록 */
#w_header .gnb-sub {
    position: absolute;
    top: 44px;
    left: 0;
    width: 100%;
    display: none;
    text-align: center;
    color: #222;
    padding-top: 7px;
    margin: 8px 0;
    z-index: 11;
}
#w_header nav.pc.sub-open .gnb-sub {
    display: block;
}
#w_header .gnb-sub li {
    line-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#w_header .gnb-sub li a {
    white-space: nowrap;
    color: #222;
}

/* 모바일: 서브메뉴 인라인 표시 */
@media (max-width: 1024px) {
    #w_header .gnb-col { position: static; }
    #w_header .gnb-sub { position: static; width: auto; }
}

#w_footer {
    color: #555;
}

#w_footer .bmenu {
    background: #333;
    line-height: 45px;
    font-size: 14px;
}

#w_footer .bmenu a {
    margin: 0 10px 0 10px;
    color: #949494;
}
#w_footer .bmenu a:first-child {
    margin-left: 0;
}

#w_footer .bmenu a strong {
    color: #fff;
}

#w_footer .addr {
    margin: 60px auto 145px;
    font-size: 13px;
    line-height: 1.8;
}

#w_footer .addr i {
    font-style: normal;
}

#w_footer .addr .blogo {
    margin-bottom: 18px;
    line-height: 100%;
}

#w_footer .addr .escrow {
    position: absolute;
    top: 50px;
    right: 0;
    opacity: 0.6;
}

#w_footer .addr .verify {
    text-decoration: underline !important;
}

.fix_order {
    background: rgba(165, 0, 52, 0.9);
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 98;
    width: 100%;
}

.fix_order .dc {
    position: absolute;
    left: 30px;
    top: -160px;
    opacity: 1;
    transition: opacity 0.5s ease;
}

.fix_order .wrap {
    height: 78px;
    background: url(/images/fix_bg.png) no-repeat left center;
}

.main_quick_order {
    position: relative;
    color: #fff;
}

.main_quick_order span.btns {
    display: block;
    text-align: right;
}

.main_quick_order .name {
    position: absolute;
    top: 25px;
    left: 460px;
    font-size: 14px;
    letter-spacing: -0.7px;
}

.main_quick_order .tel {
    position: absolute;
    top: 25px;
    left: 620px;
    font-size: 14px;
    letter-spacing: -0.7px;
}

.main_quick_order .tel input[type=text] {
    width: 140px;
}

.main_quick_order input[type=text] {
    font-size: 17px;
    width: 90px;
    padding: 4px;
    border: none;
    margin-left: 5px;
}

.main_quick_order input[type=text]::placeholder {
    color: transparent;
}

.main_quick_order .agree2 {
    position: absolute;
    top: 27px;
    left: 840px;
    width: 20px;
}

.main_quick_order .agree {
    position: absolute;
    top: 24px;
    left: 835px;
    width: 200px;
    line-height: 140%;
    font-size: 12px;
    letter-spacing: -1px;
}

.main_quick_order .agree input {
    float: left;
    width: 28px;
    height: 28px;
    margin-right: 4px;
    border: none;
}

.main_quick_order .agree label {
    transform: translateY(-3px);
    display: inline-block;
}

.main_quick_order .agree span {
    margin-top: -3px;
    display: inline-block;
}

.main_quick_order .privacy {
    display: none;
    width: 200px;
    float: left;
    text-align: left;
}

.main_quick_order .submit {
    position: absolute;
    top: 0px;
    left: 1050px;
    width: 145px;
}

.main_quick_order input[type=submit] {
    width: 145px;
    height: 78px;
    background: url(/images/btn_order.png);
    text-indent: -9999px;
    border: none;
    cursor: pointer;
}

.main_quick_order input[type=checkbox]+label:before {
    top: 6px;
}

.main_quick_order input[type=checkbox]:checked+label:before {
    padding-left: 2px;
    width: 18px;
}

/* index */
#main {
    background-color: #f7f7f7;
}

/* #main .swiper-slide img {
    height: 640px;
} */

#main .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
}

#main .swiper-pagination-bullet-active {
    background: #fff;
}

#main .swiper-button-next,
#main .swiper-button-prev {
    color: #Fff;
    opacity: 0;
    transition: 0.5s;
}

#main:hover .swiper-button-next,
#main:hover .swiper-button-prev {
    opacity: 1;
}

#best {
    background: #f7f7f7;
    padding-top: 85px;
    padding-bottom: 40px;
}

#best h2 {
    font-weight: 500;
}

.prdList {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 40px 0;
}

.prdList li {
    width: calc((100% - 20px) / 3);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #f0f0f0;
}

.prdList li:hover {
    border: 1px solid #cd043b !important;
}

.prdList li .item_img {
    position: relative;
    vertical-align: middle;
    padding: 0;
}

.prdList li .item_img img.thumb {
    width: 100%;
}

.prdList li .item_img .new_best {
    display: block;
    position: absolute;
    left: 20px;
    bottom: 20px;
}

.prdList li .item_img .new_best img {
    padding-bottom: 0;
    max-width: 62px;
}

.prdList li .item_img .icons {
    display: none;
}

.prdList li h3.title {
    margin: 0;
    font-size: 16px;
    text-align: left;
    padding: 15px 20px 30px;
    line-height: 25px;
    letter-spacing: -0.3px;
    box-sizing: border-box;
}

.prdList li h3.title a {
    color: #333;
    letter-spacing: -0.4px;
}

.prdList li h3.title a span {
    font-size: 14px;
    display: none;
    color: #808080;
    font-weight: normal;
    padding: 5px 0;
}

.agreement_hide {
    display: none;
}

.agreement_hide.agreement_on {
    display: block;
}

.sticker_label {
    margin: 0 20px;
    height: 25px;
}

.sticker_label:before {
    display: block;
    clear: both;
    content: '';
    height: 0;
}

.sticker_label span {
    display: inline-block;
    padding: 4px 6px;
    background: #fff;
    color: #999;
    margin-right: 3px;
    font-size: 13px;
    line-height: 18px;
    border-radius: 3px;
    border: 1px solid #999;
}

.sticker_label span.first_label {
    background: #fff;
    border: 1px solid #ce2157;
    color: #ce2157;
}

.custom-radio-wrap {
    display: flex;
    gap: 7px;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}

.custom-radio-wrap input[type="radio"] {
    display: none;
}

.custom-radio-wrap label.custom-radio {
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    height: 36px;
    line-height: 36px;
    white-space: nowrap;
    cursor: pointer;
    background: #eee;
    color: #333;
    text-align: center;
    font-size: 14px;
}

.custom-radio-wrap input[type="radio"]:checked+label.custom-radio {
    background: #ce2157;
    color: #fff;
}

.prdList .agree_button {
    width: 100%;
    margin: 0;
    padding: 0;
}

.prdList .radio_row {
    display: flex;
    align-items: center;
    margin: 10px 21px;
}

.prdList .radio_label {
    width: 70px;
    font-size: 14px;
}

.prdList .radio_button {
    flex: 1;
}

.prdList .detail_info {
    font-size: 14px;
    padding: 8px 0 15px;
    position: relative;
    margin: 0 21px;
}

.prdList .detail_info .price_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.prdList .detail_info .price_row .price_label {
    flex: 1;
    text-align: left;
}

.prdList .detail_info .price_row .price_text {
    flex: 1;
    text-align: right;
}

.prdList .detail_info .price_row .price_text .wol {
    display: none;
}

.prdList .detail_info .price {
    text-align: right;
    font-size: 14px;
}

.prdList .detail_info .price span.fee {
    display: inline-block;
    padding-right: 2px;
    font-size: 27px;
    font-weight: bold;
    color: #333;
    font-family: arial;
    letter-spacing: -0.5px;
}

.prdList .detail_info .price_text .fee.join_price_price {
    color: #ce2157;
    font-size: 27px;
    font-family: arial;
    font-weight: bold;
}

.prdList .detail_info .card_sale {
    margin: 2px 0;
    font-size: 14px;
}

.prdList .detail_info .card_sale span.card_sale_price {
    display: inline-block;
    padding-right: 2px;
    font-size: 27px;
    font-weight: bold;
    color: #666;
    font-family: arial;
    letter-spacing: -0.5px;
}

.prdList .detail_info .comment {
    font-size: 12px;
    text-align: left;
    color: #999;
    letter-spacing: -0.5px;
}

.prdList .buy_wrap {
    margin-top: 13px;
    margin-bottom: 5px;
}

.prdList .buy_wrap .btn {
    display: block;
    background: #fff;
    color: #333;
    font-size: 15px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    letter-spacing: -0.3px;
    border: 1px solid #e5e5e5;
    padding: 0 30px;
    border-radius: 22px;
}

.prdList .kakao_wrap {
    margin-top: 5px;
}

.prdList .kakao_wrap .btn {
    display: block;
    background: #fee500;
    color: #333;
    font-size: 15px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    letter-spacing: -0.3px;
    border: 1px solid #fee500;
    padding: 0 30px;
    border-radius: 22px;
    display: none;
}

#prdLine {
    background: #f7f7f7;
    padding-top: 30px;
    padding-bottom: 40px;
}

#prdLine h2 {
    font-weight: 500;
}

#prdLine ul.cate {
    display: flex;
    justify-content: space-between;
    text-align: center;
    margin: 30px 0;
}

#prdLine ul.cate li {
    display: block;
    padding: 0 22px;
    background: #fff;
    border: 1px solid #e9e9e9;
    border-radius: 23px;
    color: #aaa;
    cursor: pointer;
    font-weight: normal;
    line-height: 41px;
    font-size: 15px;
    text-align: center;
    height: 44px;
}

#prdLine ul.cate li.on {
    color: #fff;
    border-color: #ce2157;
    background-color: #ce2157;
}

#prdLine .tab {
    display: none;
}

#prdLine .tab.on {
    display: block;
}

#instagram {
    padding: 40px 0 60px;
    background: #f7f7f7;
}

#instagram ul:after {
    display: block;
    clear: both;
    content: '';
}

#instagram ul {
    padding: 0;
    margin: 0;
}

#instagram ul.title {
    border-bottom: 1px solid #d6d6d6;
    margin-bottom: 30px;
    padding-bottom: 25px;
}

#instagram ul.title li {
    float: right;
}

#instagram ul.title li.li1 {
    float: left;
}

#instagram ul.title li.li3 {
    font-size: 18px;
    color: #111;
    line-height: 40px;
    margin: 0 15px;
}

#instagram ul.title li.follow a {
    display: inline-block;
    line-height: 36px;
    background: #008fee;
    color: #fff;
    border-radius: 5px;
    padding: 0 15px;
    margin-top: 2px;
    font-size: 14px;
}

#instagram #instafeed li {
    width: calc((100% - 100px)/6);
    overflow: hidden;
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
    background: #fff;
    aspect-ratio: 1 / 1;
}

#instagram #instafeed li img {
    max-width: 100%;
    vertical-align: middle;
}

#instagram #instafeed li:nth-child(6n) {
    margin-right: 0;
}

#bnr {
    background: #ccd3ed;
}

#bnr img {
    max-width: 100%;
}

/* ---- #customer (.footer_wrap 대응) ---- */
#customer {
    padding: 40px 0 40px 0;
    background: #f0f0f0;
}

#customer .wrap {
    clear: both;
    font-size: 14px;
}

#customer .wrap:after {
    display: block;
    content: '';
    clear: both;
}

#customer h3 {
    font-size: 30px;
    color: #333;
    font-weight: 400;
}

#customer li.list {
    line-height: 25px;
    display: flex;
    justify-content: space-between;
}

#customer li.list .day {
    padding-left: 0;
    color: #999;
}

#customer .box_1_3 {
    width: 300px;
    height: 195px;
    float: left;
    overflow: hidden;
}

#customer .box_1_3 h3 {
    margin: 14px 0;
    letter-spacing: -0.8px;
}

#customer .box_1_3.end {
    margin-right: 0;
}

#customer .myclass4 ul {
    width: 100%;
}

#customer .myclass4 li {
    color: #666;
}

#customer .myclass4 li p {
    color: #666;
    width: calc(100% - 60px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#customer .myclass4 span {
    width: 52px;
    color: #999;
}

#customer .main_customer {
    width: 300px;
}

#customer .main_customer ul {
    margin: 0 0 0 2px;
    height: 100px;
}

#customer .main_customer ul li a {
    color: #666;
    width: calc(100% - 80px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#customer .main_customer ul li span {
    width: 72px;
}

#customer .main_customer .tel {
    font-size: 36px;
    font-weight: bold;
    padding: 0;
    margin: 0;
}

#customer .cu {
    width: 600px;
    height: 195px;
    background: url(/images/cu_bg.png) 20px 16px no-repeat;
}

#customer .cu h3,
#customer .cu p,
#customer .cu span {
    margin-left: 220px;
}

#customer .cu p {
    color: #ce2157;
    font-size: 48px;
    letter-spacing: -0.5px;
    font-family: arial;
}

#customer .cu span {
    display: block;
    font-size: 14px;
    letter-spacing: -0.5px;
    line-height: 150%;
    color: #666;
    margin-top: 20px;
}

#dong_bottom {
    margin-left: 28px;
}

#dongview_bottom {
    display: none;
    position: absolute;
    right: 0;
    top: -410px;
    background: #fff;
    border: 1px solid #ccc;
    width: 350px;
    height: 380px;
    color: #555;
    font-size: 11px;
    overflow: hidden;
    text-align: left;
    padding: 10px;
    z-index: 10000;
    line-height: 155%;
}

#dongview_bottom strong {
    font-weight: bold;
    color: rgba(165, 0, 52, 1);
}

#dongview_bottom .pl15 {
    margin: 0;
    padding: 0;
}

#dongview_bottom .pt10 {
    margin: 10px 0 0 0;
    padding: 0 0 0 10px;
}

#dongclose_bottom {
    cursor: pointer;
}

/* 퀵메뉴 */
aside.quick_menu {
    z-index: 20;
    position: absolute;
    top: 200px;
    left: calc(50% + 680px);
    width: 177px;
    text-align: center;
    padding: 0;
}

aside.quick_menu.fixed {
    position: fixed;
    top: 80px;
}

aside.quick_menu a {
    text-align: center;
    border-bottom: none;
}

aside.quick_menu a:hover {
    text-decoration: none;
}

aside.quick_menu a.btn4:hover {
    opacity: 1;
}

aside.quick_menu a.btn4 span {
    font-weight: bold;
    display: block;
    padding: 0 0 5px 0;
}

.quick_banner div {
    margin: 0 0 7px 0;
}

.quick_banner span {
    display: block;
}

.quick_banner_default {
    display: block;
    margin-bottom: 4px;
}

.quick_banner_default img {
    max-width: 100%;
    vertical-align: middle;
}

/* =============================================
   product/list.php
   ============================================= */

/* 브레드크럼 내비게이션 */
.navi {
    position: relative;
    vertical-align: middle;
    margin-top: 15px;
    color: #999;
    padding-bottom: 15px;
}

.navi select {
    height: 30px !important;
    padding: 0 14px 0 8px;
    border: 1px solid #ddd;
    border-radius: 3px;
    -webkit-appearance: none;
    font-size: 14px;
    color: #999;
    background: none;
    min-width: 135px;
}

.navi span.ar {
    display: inline-block;
    text-align: center;
    margin: 0 5px;
    color: #999;
    font-family: 'Nanum Barun Gothic';
}

/* 카테고리 타이틀 */
#product_list .product_list_title {
    margin: 10px 0 49px;
    font-size: 37px;
    text-align: center;
    letter-spacing: -2px;
}

/* 상단 롤링 배너 */
#product_list .roll {
    width:1200px; 
}
#product_list .roll .swiper-pagination-bullet-active { background-color: #ce2157; }


/* product_list_best_products */
.product_list_best_products {
    margin-top: 35px;
    text-align: center;
    padding: 40px 50px;
    box-sizing: border-box;
    background-color: #fff9f5;
}

.product_list_best_products h3 {
    font-size: 26px;
    margin-top: 5px;
    margin-bottom: 35px;
}

.product_list_best_products ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0;
}


.product_list_best_products .img_wrap {
    position: relative;
    background-color: #ffffff;
}

.product_list_best_products .img_wrap .number {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #ce2157;
    border: 1px solid #ce2157;
    color: #fff;
    font-size: 14px;
    width: 23px;
    height: 23px;
    line-height: 23px;
    text-align: center;
}

.product_list_best_products ul li:nth-child(4) .img_wrap .number,
.product_list_best_products ul li:nth-child(5) .img_wrap .number {
    background-color: #333333;
    border: 1px solid #333333;
    color: #ffffff;
}

.product_list_best_products .img_wrap img {
    width: 100%;
    height: auto;
}

.product_list_best_products .text_wrap {
    margin-top: 15px;
    text-align: left;
}

.product_list_best_products .text_wrap .title {
    font-size: 16px;
    color: #333333;
    margin: 5px 0;
    line-height: 1.5em;
    word-break: break-all;
    letter-spacing: -0.4px;
}

.product_list_best_products .text_wrap .model {
    font-size: 14px;
    color: #999;
    margin: 5px 0;
}

.product_list_best_products .text_wrap .price {
    font-size: 16px;
    color: #333333;
    margin: 7px 0;
}

.product_list_best_products .text_wrap .price strong {
    font-size: 20px;
    font-weight: bold;
    color: #333333;
    font-family: arial !important;
    display: block;
    float: left;
    padding: 0 1px 0 6px;
    letter-spacing: -0.4px;
    line-height: 130%;
}

.product_list_best_products .text_wrap .price span {
    display: block;
    float: left;
}

/* product_list */
.product_list { margin-top: 30px; }
.product_list .main_item h2:first-child { display: none; }

.main_item { position: relative; }
.main_item ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 40px 0; }
.main_item ul li.item_wrap { width: calc((100% - 20px) / 3); box-sizing: border-box; background: #fff; border: 1px solid #f0f0f0; }
.main_item h2 { color: #fff; background: rgba(165, 0, 52, 0.9); margin: 55px auto 35px; width: 140px; text-align: center; font-size: 18px; border-radius: 24px; line-height: 42px; }
.main_item ul:after { display: block; content: ''; clear: both; }
.main_item ul li:hover { border: 1px solid #cd043b !important; }
.main_item ul li.start { margin-left: 0; border-left: 1px solid #f0f0f0; }
.main_item ul li .item_img { position: relative; vertical-align: middle; padding: 0; }
.main_item ul li .item_img img.thumb { width: 100%; }
.main_item ul li .item_img .icon img { display: block; }
.main_item ul li .item_img .new_best { display: block; position: absolute; left: 20px; bottom: 20px; }
.main_item ul li .item_img .new_best img { padding-bottom: 0; max-width: 62px; }
.main_item ul li .item_img .icons { display: block; position: absolute; bottom: 18px; right: 18px; }
.main_item ul li .item_img .icons img { margin-top: 7px; width: 62px; }
.main_item ul li h3.title { margin: 0; font-size: 16px; text-align: left; padding: 15px 20px 30px; line-height: 25px; letter-spacing: -0.3px; }
.main_item ul li h3.title a { color: #333; letter-spacing: -0.4px; }
.main_item ul li h3.title a span { font-size: 14px; display: none; color: #808080; font-weight: normal; padding: 5px 0; }
.main_item .agree_button { width: 100%; margin: 0; padding: 0; }
.main_item .radio_row { display: flex; align-items: center; margin: 10px 21px; }
.main_item .radio_label { width: 70px; font-size: 14px; }
.main_item .radio_button { flex: 1; }
.main_item .detail_info { padding: 8px 0 15px; position: relative; margin: 0 21px; font-size: 14px; }
.main_item .detail_info:after { display: block; content: ''; clear: both; }
.main_item .detail_info .price_row { display: flex; align-items: center; justify-content: space-between; }
.main_item .detail_info .price_row .price_label { flex: 1; text-align: left; }
.main_item .detail_info .price_row .price_text { flex: 1; text-align: right; }
.main_item .detail_info .price_row .price_text .wol { display: none; }
.main_item .detail_info .price { text-align: right; font-size: 14px; }
.main_item .detail_info .price span.fee { display: inline-block; padding-right: 2px; font-size: 27px; font-weight: bold; color: #333; font-family: arial !important; letter-spacing: -0.5px; }
.main_item .detail_info .price_text .fee.join_price_price { color: #ce2157; font-size: 27px; font-family: arial !important; font-weight: bold; }
.main_item .detail_info .card_sale { margin: 2px 0; font-size: 14px; }
.main_item .detail_info .card_sale span.card_sale_price { display: inline-block; padding-right: 2px; font-size: 27px; font-weight: bold; color: #666; font-family: arial !important; letter-spacing: -0.5px; }
.main_item .detail_info .comment { font-size: 12px; text-align: left; color: #999; letter-spacing: -0.5px; }
.main_item .buy_wrap { margin-top: 13px; margin-bottom: 5px; }
.main_item .buy_wrap .btn { display: block; background: #fff; color: #333; font-size: 15px; height: 40px; line-height: 40px; text-align: center; letter-spacing: -0.3px; border: 1px solid #e5e5e5; padding: 0 30px; border-radius: 22px; }
.main_item .kakao_wrap { margin-top: 5px; }
.main_item .kakao_wrap .btn { display: none; background: #fee500; color: #333; font-size: 15px; height: 40px; line-height: 40px; text-align: center; border: 1px solid #fee500; padding: 0 30px; border-radius: 22px; }

/* 페이징 */
.pg_wrap { clear: both; margin: 0 0 70px; padding: 20px 0 0; text-align: center; }
.pg_page, .pg_current { display: inline-block; padding: 0 12px; height: 30px; line-height: 30px; color: #000; letter-spacing: 0; vertical-align: middle; border: 1px solid #ddd; font-size: 13px; border-radius: 2px; }
.pg_page { background: none; text-decoration: none; }
.pg_current { background: #ffffff; color: #F41977; font-weight: normal; border: 1px solid #F41977; }

/* filter_list_form */
.design_radio_checkbox ul { }
.design_radio_checkbox ul:after { display: inline-block; content: ''; clear: both; }
.design_radio_checkbox li { float: left; margin: 0 30px 0 0; color: #333; font-size: 14px; letter-spacing: -0.7px; }
.design_radio_checkbox label { position: relative; padding: 0px 5px; line-height: 25px; cursor: pointer; }
.design_radio_checkbox .label { display: inline-block; text-align: center; }
.design_radio_checkbox label input[type="radio"] { position: absolute; top: 4px; left: -9999px; }
.design_radio_checkbox label input[type="radio"]:checked + .label { display: inline-block; color: #ce2157; font-weight: 400; }
.design_radio_checkbox label input[type="checkbox"] { position: absolute; top: 4px; left: -9999px; }
.design_radio_checkbox label input[type="checkbox"]:checked + .label { display: inline-block; color: #ce2157; }

.sort_radio { clear: both; overflow: hidden; margin-bottom: -15px; }
.sort_radio .left_text { float: left; color: #333; letter-spacing: -0.5px; line-height:25px; }
.sort_radio .left_text strong { font-weight: bold; }
.sort_radio .right_sort_radio { float: right; }
.sort_radio .right_sort_radio.design_radio_checkbox li:after { content: ''; display: inline-block; width: 1px; height: 14px; margin-left: 8px; background: #ddd; vertical-align: middle; }
.sort_radio .right_sort_radio.design_radio_checkbox li:last-child:after { display: none; }
.sort_radio .right_sort_radio.design_radio_checkbox li { margin: 0 0 0 10px; }

.filter_wrap { overflow: hidden; margin: 35px 0 50px; border-top: 1px solid #ececec; }

.filter_wrap .filter_first { overflow: hidden; background: #333; border-bottom: 1px solid #ececec; }
.filter_wrap .filter_first p { float: left; width: 113px; margin: 0; padding: 11px 0 7px 20px; color: #fff; font-size: 14px; font-weight: 600; }
.filter_wrap .filter_first p a { color: #fff; font-weight: normal; }
.filter_wrap .filter_first ul { display: flex; flex-wrap: nowrap; overflow-x: auto; margin-left: 130px; padding: 8px 0 8px 39px; background: #f5f5f5; cursor: grab; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.filter_wrap .filter_first ul::-webkit-scrollbar { display: none; }
.filter_wrap .filter_first ul.dragging { cursor: grabbing; user-select: none; }
.filter_wrap .filter_first li { float: none; flex-shrink: 0; }
.filter_wrap .filter_first li { float: left; margin: 0 35px 0 0; color: #999; font-size: 14px; letter-spacing: -0.5px; }
.filter_wrap .filter_first li a:hover { color: #ce2157; }
.filter_wrap .filter_first li.active a { color: #666666; }
.filter_wrap .filter_first label { position: relative; padding: 2px 0px; line-height: 25px; cursor: pointer; }
.filter_wrap .filter_first .label { display: inline-block; text-align: center; }
.filter_wrap .filter_first label input[type="radio"] { position: absolute; top: 4px; left: -9999px; }
.filter_wrap .filter_first label input[type="radio"]:checked + .label { display: inline-block; color: #ce2157; font-weight: 400; }
.filter_wrap .filter_first label input[type="checkbox"] { position: absolute; top: 4px; left: -9999px; }
.filter_wrap .filter_first label input[type="checkbox"]:checked + .label { display: inline-block; color: #ce2157; font-weight: 400; }
.filter_wrap .filter_first .active label input[type="radio"] + .label { color: #ce2157; }

.filter_wrap .filter_wrap_inner { }
.filter_wrap .filter_list { overflow: hidden; padding: 8px 0px 8px 20px; border-bottom: 1px solid #ececec; }
.filter_wrap .filter_list p { float: left; width: 113px; margin: 0; padding: 0; color: #333; font-size: 14px; font-weight: 600; letter-spacing: -0.5px; }
.filter_wrap .filter_list ul { display: flex; flex-wrap: nowrap; margin-left: 147px; overflow-x: auto; cursor: grab; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.filter_wrap .filter_list ul::-webkit-scrollbar { display: none; }
.filter_wrap .filter_list ul.dragging { cursor: grabbing; user-select: none; }
.filter_wrap .filter_list li { float: none; flex-shrink: 0; }
.filter_wrap .filter_list li { float: left; margin: 0 30px 0 0; color: #333; font-size: 14px; letter-spacing: -0.7px; }
.filter_wrap .filter_list label { position: relative; padding: 0px 5px; line-height: 23px; cursor: pointer; }
.filter_wrap .filter_list .label { display: inline-block; text-align: center; }
.filter_wrap .filter_list .label em { font-style:normal; }
.filter_wrap .filter_list label input[type="radio"] { position: absolute; top: 4px; left: -9999px; }
.filter_wrap .filter_list label input[type="radio"]:checked + .label { display: inline-block; color: #f41977; font-weight: 600; }
.filter_wrap .filter_list label input[type="checkbox"] { position: absolute; top: 4px; left: -9999px; }
.filter_wrap .filter_list label input[type="checkbox"]:checked + .label { display: inline-block; color: #ce2157; }

.filter_wrap .filter_submit_wrap { position: relative; min-height: 42px; border-bottom: 1px solid #ececec; }
.filter_wrap .filter_submit_wrap ul { overflow: hidden; margin-left: 20px; }
.filter_wrap .filter_submit_wrap li:first-child { margin-left: 150px; }
.filter_wrap .filter_submit_wrap li { float: left; margin: 7px 8px 7px 0; color: #fff; font-size: 14px; letter-spacing: -0.7px; border: 1px solid #ce2157; border-radius: 20px; padding: 0 10px 3px; background: #ce2157; }
.filter_wrap .filter_submit_wrap li .filter_option_remove { display: inline-block; width: 12px; height: 10px; margin: 0 0 0 3px; background: url(/images/filter_del.png) right 0 no-repeat; background-size: 9px; }
.filter_wrap .filter_submit_wrap .btn_reset { display: block; position: absolute; top: 9px; left: 20px; color: #333; font-size: 14px; font-weight: 600; cursor: pointer; }
.filter_wrap .filter_submit_wrap .btn_reset::after { content: ''; display: inline-block; width: 1px; height: 14px; margin: 0 29px; background: #ddd; vertical-align: middle; }
.filter_wrap .filter_submit_wrap .btn_reset img { margin-bottom: 3px; vertical-align: middle; width: 15px; }

/* s_ad override */
.s_ad { width: 100%; background: #0a0e1a; background: url(/images/s_ad.jpg) top center repeat; height: 380px; }
.s_ad h2 { margin: 0; padding: 80px 0 20px 0; color: #fff; font-size: 34px; line-height: 50px; text-align: center; font-weight: normal; }
.s_ad h2 strong { font-weight: bold; }
.s_ad .h2_below { text-align: center; font-size: 20px; color: #fff; }
.s_ad h3 span { font-size: 16px; display: inline-block; vertical-align: middle; }
.s_ad h3 { color: #fff; border: 1px solid #fff; text-align: center; line-height: 45px; margin: 30px auto 0; width: 400px; font-size:30px; }


/* 2026-08-14: 제품 이미지를 강조 — 좌측(이미지) 400→560px, 우측(정보) 764→600px.
   우측 결합박스를 정보 안으로 합치면서 정보 컬럼이 과하게 넓어 보이던 것 조정. */
#product_detail .detail_info { margin-top: 40px; display: flex; align-items: start; justify-content:space-between; }
#product_detail .detail_info .info_left { width: 560px; }
#product_detail .detail_info .info_right { width: 600px; }

/* default.css: 제품 상세 뷰 (#product_detail .photo) */
#product_detail .photo {
    position: relative;
}
#product_detail .photo .big_photo {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;   /* 컬럼 폭을 따라감 — PC 560px, 모바일은 자동 축소 */
    border: 1px solid #e9e9e9;
    border-radius: 4px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    box-sizing: border-box;
}
#product_detail .photo .big_photo img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
#product_detail .photo .big_photo .new_best {
    display: none;
    margin: 0 0 0 30px;
    left: -12px;
    position: absolute;
    top: 0px;
}
#product_detail .photo .big_photo .new_best img { display: block; }
#product_detail .photo .big_photo .mark_2 {
    position: absolute;
    right: 18px;
    bottom: 61px;
    width: 62px;
}
#product_detail .photo .big_photo .new_best .icon_11 { top: 77px; left: 313px; position: absolute; }
#product_detail .photo .big_photo .new_best .icon_11 img { width: 62px; }
#product_detail .photo .big_photo .new_best .icon_12 { top: 290px; position: absolute; width: 62px; display: none; }
#product_detail .photo .big_photo .new_best .icon_12 img { width: 62px; }
#product_detail .photo .big_photo div div { text-align: right; display: none; }
#product_detail .photo .big_photo div div img { padding-top: 7px; width: 62px; }
#product_detail .photo .big_photo .expand {
    position: absolute;
    right: 0px;
    bottom: 0px;
}

/* .scroller 관련 CSS 오버라이드 (출처: ref_c/css/default.css) */
.scrollerFrame img { max-width: 75px; max-height: 75px; }
#product_detail .scroller {
    height: 82px;
    overflow: hidden;
    padding: 5px 5px 14px 0;
    position: relative;
    width: 100%;
    margin-top: 5px;
}
#product_detail .scroller ul li {
    float: left;
    margin: 0 1px 0 2px;
    border: 1px solid #e9e9e9;
}
#product_detail .scroller ul li:hover {
    border: 1px solid #6fc40c;
}


/* =====================================================
   form#buy 및 자식 요소 CSS 오버라이드
   출처: ref_c/css/default.css
   ===================================================== */

/* --- .info 영역 ---
   2026-08-14: 우측 결합박스(.pk_combine)를 비활성하고 "선택하신 상품 요금"(#comb_result)을
   이 안으로 합쳤으므로, 400px 고정 + float 대신 info_right 폭을 그대로 사용한다. */
#product_detail .info {
    width: 100%;
    float: none;
}
#product_detail .info h1 { font-size: 17px; letter-spacing: -0.5px; line-height: 24px; font-weight: normal; color: #333; margin: 0 0 15px 0; }

#product_detail dl {
    width: 100%;
    margin-bottom: 12px;
    margin-top: 0;
    padding: 5px 0;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
}
#product_detail dl dt span { display: block; }
#product_detail dl dt {
    font-size: 14pt;
    font-weight: bold;
    color: #000;
    word-spacing: -2px;
    line-height: 22px;
    padding: 10px 5px;
    border-bottom: 2px solid #eee;
}
#product_detail dl dd {
    position: relative;
    padding: 2px 10px 2px 105px;
    font-size: 13px;
    color: #333;
    margin-left: 0;
}
#product_detail dl dd .dd_tit {
    position: absolute;
    left: 10px;
    top: 2px;
    color: #999;
    font-size: 13px;
    letter-spacing: -0.5px;
    font-weight: normal;
}
#product_detail dl dd.abss { border-bottom: none; padding: 11px 14px 0 110px; }
#product_detail dl dd.b_line { border-bottom: 1px solid #ddd; padding-bottom: 10px; }
#product_detail dl dd.won { font-size: 16px; color: #b09671; font-weight: bold; }
#product_detail dl dd img { width: 60px; }

/* 월 요금 */
#product_detail dd.fee span { font-size: 25px; color: #333; font-weight: bold; font-family: arial !important; letter-spacing: -0.5px; }
#product_detail dd.fee span.label { font-size: 13px; color: #999; font-weight: normal; padding-left: 4px; font-family: 'Noto Sans KR' !important; }
#product_detail dd.fee.fee_join span { color: #ce2157; }
#product_detail dd.fee.fee_join span.label { color: #999; }

/* 관리유형 (.care_option) */
#product_detail .info .care_option ul:after { display: block; content: ''; clear: both; }
#product_detail .info .care_option ul li {
    display: block;
    float: left;
    width: 50%;
    margin-top: 7px;
    cursor: pointer;
}
#product_detail .info .care_option ul li span,
#product_detail .info .care_option ul li a {
    display: block;
    border: 1px solid #F4F4F4;
    text-align: center;
    line-height: 250%;
    color: #333;
    background: #F4F4F4;
}
#product_detail .info .care_option ul li a:hover,
#product_detail .info .care_option ul li a:active,
#product_detail .info .care_option ul li a:visited,
#product_detail .info .care_option ul li a:link { color: #333; }
#product_detail .info .care_option ul li span { border: 1px solid #ce2157; background: #ce2157; color: #fff; }
#product_detail .info .care_option .care_option_text { line-height: 155%; margin: 7px 0 5px 0; color: #ce2157; }

/* --- 약정선택 라디오 (.custom-radio-wrap) --- */
.custom-radio-wrap {
    display: flex;
    gap: 7px;
    justify-content: space-between !important;
    margin: 0;
    padding: 0;
}
.custom-radio-wrap input[type="radio"] { display: none; }
.custom-radio-wrap label.custom-radio {
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    height: 36px;
    line-height: 36px;
    white-space: nowrap;
    cursor: pointer;
    background: #eee;
    color: #333;
    text-align: center;
}
.custom-radio-wrap input[type="radio"]:checked + label.custom-radio {
    background: #ce2157;
    color: #fff;
}

/* 약정 혜택 (.agree_option / .agreement_hide) */
.agreement_hide { display: none; }
.agreement_on { display: block; }
.agree_button { overflow: hidden; margin: -15px 0 12px; padding: 0 20px; }
.agree_button button { float: left; width: 50%; height: 35px; background: #ddd; border: 1px solid #ddd; color: #fff; text-align: center; font-size: 15px; font-family: 'Noto Sans KR'; }
.agree_button .agree_on { background: #ce2157; border: 1px solid #ce2157; color: #fff; }
.agree_button .agree_over { background: #fff; border: 1px solid #f41977; color: #f41977; }
.agree_button.agree_button_sum_1 button { width: 100%; }
.agree_button_blank { height: 35px; }
.agree_button_detail { overflow: hidden; margin-top: 7px; cursor: pointer; }
.agree_button_detail li { float: left; width: 49%; }
.agree_button_detail li label { display: block; background: #ddd; border: 1px solid #ddd; color: #fff; text-align: center; cursor: pointer; }
.agree_button_detail li span { display: inline-block; padding: 4px 0; }
.agree_button_detail em { display: inline-block; font-size: 13px; font-style: normal; line-height: 145%; margin-top: 4px; }
.agree_button_detail label input[type="radio"] { position: absolute; left: -9999px; }
.agree_button_detail label input[type="radio"]:checked + .label { display: block; margin: -1px; padding: 4px 0; background: #ce2157; border: 1px solid #ce2157; color: #fff; cursor: pointer; }
.agree_option { overflow: hidden; margin: 7px 0; line-height: 24px; }
.agree_option li { display: block; float: none; color: #ce2157; border: none; white-space: nowrap; line-height: 175%; }

/* --- 제휴카드 / 통신결합 선택 (.cc-select > .card_btn + .card_list2) ---
   2026-08-14: 화살표(:after)·"사용 시" 라벨·드롭다운 목록이 전부 dd 기준 position:absolute 라
   정보 컬럼이 넓어지자 우측으로 떨어져 나가고, 두 목록이 동시에 열려 서로 겹치던 것을 수정.
   → .cc-select 래퍼를 위치 기준으로 두고 목록을 버튼 바로 아래에 붙인다. */
.card_sale_cal .cc-select {
    position: relative;
    display: inline-block;
    width: 260px;
    max-width: 100%;
    vertical-align: top;
}
.card_btn {
    position: relative;
    border: 1px solid #ddd;
    display: block;
    line-height: 21px;
    padding: 7px 34px 7px 12px;
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.card_btn:hover { border-color: #bbb; }
.cc-select.on .card_btn { border-color: #ce2157; }
.cc-select.picked .card_btn { border-color: #ce2157; color: #ce2157; font-weight: 600; }

/* "사용 시" / "선택 시" — 예전엔 dd 우측 끝에 절대배치되어 선택박스와 떨어져 있었음.
   뒤에 붙는 할인 문구(.card_sale)와 한 덩어리라, 선택 전에는 이 라벨만 덩그러니 남지 않도록 같이 숨긴다. */
.card_btn_label {
    float: none;
    position: static;
    display: inline-block;
    margin-left: 10px;
    line-height: 37px;
    vertical-align: top;
    color: #999;
}
.cc-select:not(.picked) + .card_btn_label { display: none; }

.card_list2 {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    z-index: 999;
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    padding: 5px 5px 8px;
}
.card_list2 p { margin: 0 4px 4px; padding-bottom: 6px; border-bottom: 1px solid #eee; color: #999; font-size: 12px; line-height: 26px; }
.card_list2 li { display: block; min-height: 38px; line-height: 38px; padding: 2px 8px; cursor: pointer; font-size: 13px; border-radius: 3px; }
.card_list2 li:hover { background: #fbeef2; color: #ce2157; }
.card_list2 li img { height: 34px; padding-right: 6px; vertical-align: middle; }
.card_list2 li.no-select { color: #9aa0b0; border-bottom: 1px solid #eee; border-radius: 0; margin-bottom: 4px; }
.card_list2 li .bundle_memo { display: block; margin-top: -12px; padding-bottom: 6px; font-size: 12px; color: #9aa0b0; line-height: 16px; }
/* 선택 후 나오는 할인 문구 — 선택박스(높이 37px) 옆에 같은 줄로 정렬.
   예전엔 inline + line-height:22px 이라 "사용 시" 라벨과 베이스라인이 어긋나고,
   내부 <br> 때문에 카드 문의번호만 박스 아래로 떨어져 나갔음. */
.fb.card_sale {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 4px;
    line-height: 37px;
    font-weight: normal;
    letter-spacing: -0.2px;
}
.fb.card_sale span.card_sale_value,
.fb.card_sale span.card_sale_amount { color: #ce2157; font-size: 13px; font-weight: 700; }
/* 카드사 문의번호 — 할인 문구 바로 아래 작은 보조줄 */
.fb.card_sale .card_tel {
    display: block;
    margin-top: -12px;
    line-height: 18px;
    font-size: 12px;
    color: #9aa0b0;
}
.fb.card_sale .card_tel:empty { display: none; }
/* 드롭다운 화살표 — .card_btn 안쪽 우측 (예전엔 dd 기준이라 박스 밖으로 떨어져 있었음) */
.info .card_btn:after {
    content: '\e936';
    font-family: xeicon;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 18px;
    color: #888;
    transition: transform .15s ease;
}
.info .cc-select.on .card_btn:after { transform: translateY(-50%) rotate(180deg); color: #ce2157; }
.card_sale_cal { border-top: 1px solid #e9e9e9; margin-top: 6px; padding-top: 14px !important; padding-bottom: 6px !important; }
.card_sale_cal .dd_tit { margin-top: 12px; }
.card_notice { margin: 5px 0; font-size: 12px; line-height: 17px; color: #aaa; }

/* 구독전용 공지 */
.product_compare_detail { padding: 1px 22px 10px 22px; background: #f9f9f9; }
.product_compare_detail h3 { font-size: 14px; margin: 14px 0 3px; }
.product_compare_detail p { font-size: 12px; padding-bottom: 0; color: #777; }
.product_compare_detail hr { width: 85%; padding-top: 4px; }
.detail_check { margin-top:12px; margin-bottom: 12px; }

/* --- 결합상품 (.pk_combine) --- */
.pk_combine { position: relative; float: right; width: 327px; }
.pk_combine .shop_btns { position: relative; margin: 0; width: 310px; padding: 7px 13px 8px 13px; }
.pk_combine .shop_btns li.order { width: 100%; margin: 0; line-height: 41px; }
.pk_combine h3 { font-size: 18px; font-weight: normal; line-height: 20px; margin: 10px 0 14px 0; letter-spacing: -0.5px; display: none; }
.pk_combine h3:before { content: "ㆍ"; }
.pk_combine_not #comb_item { height: 150px; }
.pk_combine_not #none_dc { height: 270px; }
.pk_combine_not #none_dc .blk { height: 85px; }

#selector { border: solid 1px #ddd; width: 100%; height: 35px; letter-spacing: 0; padding: 0 0 0 11px; margin-bottom: 12px; color: #999; font-family: 'Noto Sans KR'; border-radius: 3px; }

#comb_item { padding: 14px 0; border: solid 1px #e9e9e9; height: 310px; overflow-y: scroll; background: #f1f1f1; }

#comb_item_ul li { position: relative; overflow: hidden; margin: 0 0 11px 0; font-size: 13px; line-height: 20px; color: #666; }
#comb_item_ul span { display: block; }
#comb_item_ul li.no_item { padding-left: 15px; }
#comb_item_ul .simg { position: relative; float: left; width: 64px; height: 64px; margin: 0 0 0 15px; background: #f7f7f7; border: 0; }
#comb_item_ul .simg .hovers { position: absolute; display: none; width: 64px; height: 64px; background-color: #5a5a5a; color: #fff; text-align: center; cursor: pointer; line-height: 64px; }
#comb_item_ul .simg .hovers img { width: 13px; height: 13px; margin: 9px 0 2px 0; }
#comb_item_ul .simg img { width: 64px; height: 64px; }
#comb_item_ul .simg:hover .hovers { display: block; }
#comb_item_ul .stt { margin: 12px 25px 0 95px; }
#comb_item_ul .spay { margin: 0; color: #000; font-size: 18px; letter-spacing: -0.3px; display: inline; }
#comb_item_ul .spay strong { color: #333; font-family: arial; }
#comb_item_ul .combines {
    position: absolute;
    top: 21px;
    right: 15px;
    width: 19px;
    height: 19px;
    line-height: 19px;
    cursor: pointer;
    text-align: center;
    border-radius: 1px;
    color: #fff;
    text-indent: -99999px;
    background: url(/images/plus_icon.png) center/19px no-repeat;
}

/* "선택하신 상품 요금" — 정보(.info) 영역 맨 아래 전체폭 박스.
   (기존엔 우측 .pk_combine 컬럼 안에서 pk_combine_top 바로 밑에 붙어 border-top:0 이었음) */
#comb_result { padding: 0 0 4px 0; border: solid 1px #e9e9e9; border-radius: 4px; margin: 24px 0 10px; color: #808080; }
#comb_result .comb_result_title {
    display: block;
    padding: 12px 20px;
    background: #f7f7f8;
    border-bottom: 1px solid #e9e9e9;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    letter-spacing: -0.5px;
}
/* 결합박스 안에 있을 때 적용되던 버튼 폭(.pk_combine .shop_btns)을 새 위치에서 재현 */
#comb_result .shop_btns { width: 100%; box-sizing: border-box; padding: 7px 20px 8px; margin: 0; }
#comb_result .shop_btns li.order { width: 100%; margin: 0; line-height: 41px; text-align: center; }
#comb_result_ul li { position: relative; margin: 0 10px; padding: 0 5px; line-height: 84px; font-size: 13px; border-bottom: solid 1px #e9e9e9; color: #666; }
#comb_result_ul li .thumb img { width: 64px; height: 64px; vertical-align: middle; border: solid 1px #e9e9e9; }
#comb_result_ul li .price { color: #222; font-family: arial; font-size: 18px; font-weight: bold; }
#comb_result_ul li .price span { font-weight: bold; color: #f41977; }
#comb_result_ul li .tit { position: absolute; left: 85px; top: 23px; line-height: 20px; }
#comb_result_ul li .delete {
    position: absolute;
    top: 28px;
    right: 15px;
    width: 19px;
    height: 19px;
    line-height: 19px;
    cursor: pointer;
    text-align: center;
    border-radius: 1px;
    color: #fff;
    text-indent: -99999px;
    background: url(../images/minus_icon.png) center/19px no-repeat;
}
#comb_result_ul li i { display: none; }

/* 가격 합계 */
.price_status { text-align: right; padding: 15px 25px 0 0; position: relative; }
#comb_result .price_status { padding: 16px 20px 12px 20px; }
.price_status ul li { color: #333; font-size: 14px; }
.price_status ul li span { padding-left: 10px; }
.price_status .r_price { color: #ce2157; font-size: 18px; margin-top: 7px; margin-bottom: 2px; }
.price_status .r_price #result_price { font-family: arial; font-size: 25px; font-weight: bold; letter-spacing: -0.5px; }
.price_status .vat { font-size: 12px; color: #333; padding: 0; }

/* 견적서 다운로드 */
.pdf_download_button {
    line-height: 39px;
    border-radius: 22px;
    border: 1px solid #e9e9e9;
    cursor: pointer;
    margin: 15px 11px 0 13px;
    text-align: center;
}
.pdf_download_button span {
    font-size: 15px;
    color: #666;
    display: inline-block;
    background: url(../images/download_pc.png) left 0 top 14px / 15px no-repeat;
    padding-left: 19px;
}
.pdf_download_button span:hover { opacity: .7; }

/* 구독신청/상담신청 버튼 (.shop_btns) */
.shop_btns { width: 100%; overflow: hidden; margin-bottom: 30px; }
.shop_btns li { float: left; padding-left: 0; margin: 0 auto; font-size: 16px; color: #fff; line-height: 40px; letter-spacing: -1px; }
.shop_btns li:first-child { padding-left: 0; }
.shop_btns li.list { display: none; }
.shop_btns li.order { width: 145px; margin-right: 10px; background: #ce2157; border-radius: 22px; }
.shop_btns li.list { width: 100px; background: #AFB4C1; }
.shop_btns li a { display: block; color: #fff; text-align: center; }
.shop_btns li:hover { opacity: .8; }
.shop_btns_bottom { padding-left: 443px; }

/* 상담 배너 (s_ad) */
.s_ad { width: 100%; background: #0a0e1a url(/images/s_ad.jpg) top center repeat; height: 380px; }
.s_ad h2 { margin: 0; padding: 80px 0 20px; color: #fff; font-size: 34px; line-height: 50px; text-align: center; font-weight: normal; }
.s_ad h2 strong { font-weight: bold; }
.s_ad .h2_below { text-align: center; font-size: 20px; color: #fff; }
.s_ad h3 { position: relative; top: 10px; left: 50%; width: 400px; margin-left: -200px; color: #fff; border: 1px solid #fff; text-align: center; line-height: 45px; }
.s_ad h3 span { font-size: 16px; display: inline-block; vertical-align: middle; }
.s_ad h3 a { color: #fff; font-size: 22px; font-weight: bold; }

/* 왼쪽 하단 고정 할인 아이콘 */
.common_dc { position: fixed; left: 0; bottom: 80px; z-index: 10000; width: 214px; text-align: center; }
.common_dc img { max-width: 100%; }
.common_dc p { margin: 0 0 10px; cursor: pointer; }
.common_dc .dc_pop { position: absolute; top: -50px; left: 36px; width: 860px; z-index: 1000; display: none; }
.common_dc .dc_pop span { display: block; margin: 0; text-align: right; }
.common_dc .dc_pop .close_btn { cursor: pointer; }

/* 상단 이동 버튼 */
.go_top { position: fixed; right: 20px; bottom: 100px; z-index: 99; }
.go_top a { display: block; cursor: pointer; }

/* 프리미엄 설치리뷰 (어드민 리뷰관리 "프리미엄" 체크 → 사진 그리드) */
.p_review { margin: 45px 0 30px 0; }
.p_review h3 { color: #222; letter-spacing: -1.5px; font-size: 22px; }
.p_review ul:after { display: block; clear: both; content: ''; }
.p_review ul { display: flex; flex-wrap: wrap; }
.p_review li { float: left; width: 25%; padding: 30px; border-right: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; box-sizing: border-box; }
.p_review li a { display: block; color: inherit; }
.p_review li.first { border-left: 1px solid #e3e3e3; }
.p_review li.first_row { border-top: 1px solid #e3e3e3; }
.p_review span { display: block; letter-spacing: -0.5px; }
.p_review span img { width: 100%; height: auto; margin: 0 0 12px 0; border-radius: 4px; }
.p_review li span.tt { margin: 0 5px 8px 0; color: #333; font-size: 16px; font-weight: 700; line-height: 26px; letter-spacing: -0.7px; }
.p_review li span.txt { margin: 0 5px 8px 0; color: #666; font-size: 14px; line-height: 22px; letter-spacing: -0.7px; }
.p_review li span.name { margin: 0 5px 0 0; color: #999; font-size: 13px; }

/* 설치리뷰 테이블 */
.product_review { margin-bottom: 30px; }
.product_review h2 { font-size: 22px; letter-spacing: -1px; padding: 18px 0; }
.product_review h2 span { font-size: 13px; letter-spacing: -1px; }
.product_review .bo_v_com { margin-top: 10px; }
.product_review .bo_v_com .btn_b02 { display: inline-block; padding: 8px 20px; background: #ce2157; color: #fff; border-radius: 4px; font-size: 14px; }
.product_review table.board-list { border-top: 3px solid #a40033; }
.product_review table.board-list th { color: #333; font-size: 16px; font-weight: normal; background: none; border-bottom: 1px solid #ddd; padding: 13px 0; text-align: center; }
.product_review table.board-list td { border-bottom: 1px solid #e1e1e1; padding: 6px 0 7px; text-align: center; color: #333; }
table.board-list { margin-top: 10px; width: 100%; border-top: 3px solid #d80647; }
table.board-list td.subject { text-align: left; padding-left: 20px; }
table.board-list td.subject a { color: #000; }

/* 제품 상세 이미지 영역 */
.list_center { width: 100%; max-width: 860px; margin: 0 auto; }
.list_center img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.list_center_memo img { max-width: 100%; height: auto; display: block; margin: 0 auto; }


/* 제품 탭 (.product_tab) */
.wrap.tab { margin-top: 10px; }
.product_tab { overflow: hidden; width: 100%; margin: 30px 0 30px 0; }
.product_tab ul { overflow: hidden; display: flex; }
.product_tab li { flex: 1; height: 50px; background: #fbfbfb; border: 1px solid #dedede; border-bottom: 1px solid #222; box-sizing: border-box; color: #a5a5a5; line-height: 50px; text-align: center; font-size: 16px; }
.product_tab li.on { border: 1px solid #222222; border-top: 2px solid #222; background: #fff; border-bottom: none; border-bottom: 1px solid #fff !important; color: #000; font-size: 16px; letter-spacing: -1px; }
.product_tab li a { color: #a5a5a5; }
.product_tab li a:hover { color: #f41977; }

/* ===== 구독신청 페이지 (product/buy.php) ===== */

/* 히어로 배너 */
.buy_hero { width: 100%; height: 130px; background: #f0f0f0 url(/images/buy_hero_bg.jpg) center center / cover no-repeat; position: relative; overflow: hidden; }
.buy_hero_inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.buy_hero h2 { font-size: 30px; font-weight: bold; color: #333; margin: 0 0 6px; letter-spacing: -1px; }
.buy_hero p { font-size: 14px; color: #555; margin: 0; }

.buy_bnr { height: 240px; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.buy_bnr h2 { font-size:36px; }
.buy_bnr p { margin-top: 20px; font-size:16px; color:#666; }

/* .row 공통 레이아웃 */
.row { width: 1185px; margin: 0 auto; margin-bottom: 0; }

/* checkbox 커스텀 스타일 (레퍼런스 동일) */
input[type=checkbox] { display: none; }
input[type=checkbox] + label { display: inline-block; cursor: pointer; position: relative; padding-left: 28px; margin-right: 0; font-size: 13.5px; }
input[type=checkbox] + label:before { content: "\2713"; color: #ccc; display: inline-block; font-size: 20px; line-height: 20px; width: 20px; height: 20px; position: absolute; left: 0; bottom: 3px; background-color: #fff; border-radius: 2px; box-shadow: inset 0px 1px 1px 0px rgba(0,0,0,.2), 0px 1px 0px 0px rgba(255,255,255,.8); border: 1px solid #eee; text-align: center; }
input[type=checkbox]:checked + label:before { content: "\2713"; text-shadow: 1px 1px 1px rgba(0,0,0,.2); font-size: 20px; font-weight: 600; color: #fff; background: #A20033; text-align: center; line-height: 18px; border-radius: 2px; }

/* 신청 폼 래퍼 */
.apply_form_wrap { border: none; margin: 25px 0 50px 0; padding: 0; }
.apply_form_wrap fieldset { margin: 0; padding: 0; border: none; }
.apply_form_wrap legend { display: none; }
.apply_form_wrap input[type="text"] { height: 30px !important; font-size: 16px; border: 1px solid #cecece; padding: 1px 3px 0; box-sizing: content-box; }
.apply_form_wrap textarea { width: 678px; height: 110px !important; background: #fff; border: 1px solid #d6d6d6; font-size: 16px; padding: 2px 2px 3px; box-sizing: content-box; }
.apply_form_wrap select { border: 1px solid #cecece; }
.apply_form_wrap .pimg { width: 230px; float: left; margin: 0 30px 0 0; }
.apply_form_wrap .pimg img { width: 230px; border: 1px solid #e9e9e9; }
.apply_form_wrap .ptt { float: left; width: 640px; margin: 50px 0; font-size: 17px; color: #555; line-height: 1.5; font-family: 'ntr', 'Noto Sans KR', sans-serif; font-weight: 400; }
.apply_form_wrap .ptt span { font-size: 14px; vertical-align: middle; display: inline; }
.apply_form_wrap .ptt strong { color: #f41977; font-family: arial; font-size: 27px; font-weight: 700; vertical-align: baseline; letter-spacing: -0.5px; }
.apply_form_wrap .tbl_frm01 th { border-right: none; }
.apply_form_wrap div.btn { border: none; margin: 20px 0 0; padding: 0; text-align: center; }
.apply_form_wrap div.btn input {
    display: inline-block;
    width: 197px;
    border: 1px solid rgba(165, 0, 52, 0.9);
    background-color: rgba(165, 0, 52, 0.9);
    font-size: 17px;
    color: #fff;
    height: 48px;
    line-height: 48px;
    letter-spacing: -1.7px;
    padding-left: 0;
    border-radius: 27px;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
}
.apply_form_wrap div.btn input:hover { background-color: rgba(130, 0, 30, 0.9); border-color: rgba(130, 0, 30, 0.9); }

/* tbl_frm01 */
.tbl_frm01 { margin: 0 0 20px; }
.tbl_frm01 .check_tt { text-align: center; color: #f41977; font-size: 16px; }
.tbl_frm01 textarea.short { height: 50px; }

/* tbl_wrap_new (dl/dt/dd 폼 행 구조) */
.tbl_wrap_new { width: 100%; border-top: 2px solid rgba(165, 0, 52, 0.9); }
.tbl_wrap_new dl { clear: both; margin: 0; border-bottom: 1px solid #e9e9e9; }
.tbl_wrap_new dl:after { content: ''; display: block; clear: both; }
.tbl_wrap_new dt { float: left; width: 100px; padding: 13px 13px 7px; border-left: 0; text-align: left; font-size: 16px; font-weight: normal; color: #222222; white-space: nowrap; }
.tbl_wrap_new dd { float: left; padding: 10px; background: transparent; width: calc(100% - 126px); box-sizing: border-box; }

/* 선택 제품 */
.tbl_wrap_new .pimg { float: left; margin: 0 30px 0 0; }
.tbl_wrap_new .pimg img { width: 230px; border: 1px solid #e9e9e9; display: block; }
.tbl_wrap_new .ptt { float: left; width: 640px; margin: 50px 0; font-size: 17px; color: #555; line-height: 1.5; font-family: 'ntr', 'Noto Sans KR', sans-serif; font-weight: 400; }
.tbl_wrap_new .ptt span { font-size: 14px; vertical-align: middle; display: inline; }
.tbl_wrap_new .ptt strong { color: #f41977; font-family: arial; font-size: 27px; font-weight: 700; vertical-align: baseline; letter-spacing: -0.5px; }
.no_product_msg { color: #999; font-size: 14px; margin: 0; }

/* 사은품 드롭다운 (레퍼런스 동일) */
.giftbx_title { width: 100%; height: 35px; padding: 0 20px 0 5px; background: url(/images/arr_down.png) 99% center no-repeat; border: 1px solid #cecece; line-height: 35px; cursor: pointer; box-sizing: border-box; }
.giftbx_wrap { display: none; width: 100%; margin: -1px 0 0 0; box-sizing: border-box; }
.giftbx_wrap ul { overflow-y: auto; height: 290px; border: 1px solid #767676; list-style: none; padding: 0; margin: 0; }
.giftbx_wrap li { clear: both; margin: 20px 26px; cursor: pointer; }
.giftbx_wrap li:after { display: block; clear: both; content: ''; }
.giftbx_wrap li:hover { opacity: 0.8; }
.giftbx_wrap .giftbx_g_img { float: left; width: 88px; border: 1px solid #e0e0e0; }
.giftbx_wrap .giftbx_g_img img { max-width: 100%; vertical-align: top; }
.giftbx_wrap .giftbx_g_info { margin: 4px 0 0 108px; }
.giftbx_wrap .giftbx_g_info span { display: block; font-size: 16px; }
.giftbx_wrap .giftbx_g_info .g_code { margin-bottom: 4px; color: #666; }
.giftbx_wrap .giftbx_g_info .g_name { color: #333; }

/* 입력 필드 */
.tbl_wrap_new .input { width: 195px; box-sizing: border-box; }
.tbl_wrap_new textarea.short { width: 678px; resize: vertical; }

/* 개인정보 동의 */
.check_tt { text-align: center; color: #f41977; font-size: 16px; margin: 16px 0 10px; }
.agree_check_wrap { text-align: center; font-size: 13px; color: #333; margin-bottom: 6px; }
.agree_check_wrap label { cursor: pointer; }
.agree_check_wrap #dong1 { color: #000; cursor: pointer; }
.agree_check_wrap #dong1:hover { text-decoration: underline; }
.privacy_full_wrap { position: relative; z-index: 100; }
#dongview1 { display: none; position: absolute; left: 50%; top: -570px; background: #fff; border: 1px solid #d6d6d6; width: 400px; overflow: hidden; text-align: left; padding: 10px; margin: 0 0 0 -200px; z-index: 10000; }
#dongview1 .pl15 { margin: 0; padding: 0; }
#dongview1 .pt10 { margin: 10px 0 0 0; padding: 0; }
#dongview1 dl { display: block; border: none; padding: 0; }
#dongview1 dt { display: block; }
#dongview1 dd { display: block; margin-left: 0; }
#dongview1 #dongclose { color: #000; cursor: pointer; }

/* ===== 이벤트 목록 페이지 (board/event_list.php) ===== */
.event_list ul { margin: 0 0 70px 0; padding: 0; }
.event_list img { max-width: 100%; }
.event_list li:first-child { border-top: 1px solid #ddd; }
.event_list li { padding: 0; margin: 0; border-bottom: 1px solid #ddd; }
.event_list li:after { display: block; content: ''; clear: both; }
.event_list .item_left { float: left; width: 400px; }
.event_list .item_right { float: left; width: 630px; padding: 25px 60px; line-height: 28px; }
.event_list .item_right table th { border: none; color: #333; padding-right: 20px; }
.event_list .item_right table td { border: none; }
.event_list .anchor { text-align: right; margin: 20px 0 10px; font-size: 16px; }
.event_list .anchor li { display: inline-block; padding: 3px 20px; border: none; }
.event_list .anchor li:first-child { border-right: 1px solid #ddd; }
.event_list .anchor li.on a { color: #666; }
.event_list .anchor li a { color: #999; }
#event_list { margin: 0 0 10px; }
#event_list img { width: 100%; display: block; }
.event_detail_title { font-size: 20px; font-weight: 500; padding: 20px 0 16px; border-bottom: 2px solid rgba(165,0,52,0.9); margin: 0 0 24px; }
.event_detail_body { text-align: center; margin: 0 0 30px; }
.event_detail_body img { max-width: 100%; height: auto; }
.event_detail_btn { text-align: center; margin: 10px 0 60px; }
.event_detail_btn a { display: inline-block; padding: 10px 36px; border: 1px solid #ccc; color: #555; font-size: 14px; }
.event_detail_btn a:hover { background: #f5f5f5; }

.event_list .bx-wrapper .bx-pager { bottom: 20px; }

.review_bnr { height: 240px; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.review_bnr h2 { font-size:36px; }
.review_bnr p { margin-top: 20px; font-size:16px; color:#666; }

/* ===== 설치리뷰 목록 페이지 ===== */
#bo_list { position: relative; }
#bo_list a.btn_b02 { color: #fff; }
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover { color: #fff; }

/* 게시판 카테고리 */
#bo_cate { margin-bottom: 20px; }
#bo_cate h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_cate ul { margin-bottom: 10px; padding-left: 1px; zoom: 1; }
#bo_cate ul:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_cate li { float: left; }
#bo_cate li:first-child a { border-left: none; }
#bo_cate a { display: block; position: relative; margin-left: -1px; padding: 6px 20px 5px; border: none; background: none; border-left: 1px solid #ddd; color: #888; text-align: center; letter-spacing: -0.5px; line-height: 1.2em; cursor: pointer; }
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active { text-decoration: none; }
#bo_cate #bo_cate_on { z-index: 2; background: none; color: #565e60; font-weight: bold; }

/* 게시판 테이블 */
.tbl_wrap table { width: 100%; border-collapse: collapse; border-spacing: 0; }
.tbl_head01 { margin: 0 0 10px; }
.tbl_head01 caption { padding: 0; font-size: 0; line-height: 0; overflow: hidden; }
.tbl_head01 thead th { padding: 13px 0 12px; border-top: 3px solid #a40033; border-bottom: 1px solid #d1dee2; color: #333; font-size: 16px; line-height: 14px; text-align: center; letter-spacing: -0.5px; font-weight: normal; }
.tbl_head01 thead a { color: #383838; }
.tbl_head01 tfoot th, .tbl_head01 tfoot td { padding: 10px 0; border-top: 1px solid #c1d1d5; border-bottom: 1px solid #c1d1d5; background: #d7e0e2; text-align: center; }
.tbl_head01 tbody th { padding: 8px 0; border-top: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; }
.tbl_head01 td { padding: 8px 5px; border-top: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; line-height: 1.5em; word-break: break-all; }

/* 목록 열 너비 */
#bo_list .td_thumb { width: 200px; text-align: center; }
#bo_list .td_name { width: 120px; text-align: center; }
#bo_list .td_num { width: 80px; text-align: center; }
.td_subject { padding: 0 10px; }
.td_subject div { line-height: 24px; padding: 5px 0 0 0; }
.td_subject img { margin-left: 3px; padding-top: 3px; width: 74px; }
.td_num strong { color: #000; }

/* 카테고리 링크 */
.bo_cate_link { display: inline-block; margin: 0 3px 0 0; padding: 0 6px 0 0; border-right: 1px solid #e7f1ed; color: #333 !important; font-weight: bold; text-decoration: none; }
.bo_current { color: #e8180c; }

/* 하단 버튼 영역 */
.bo_fx { margin-bottom: 5px; zoom: 1; }
.bo_fx:after { display: block; visibility: hidden; clear: both; content: ""; }
.bo_fx ul { margin: 0; padding: 0; list-style: none; }
#bo_list_total { float: left; padding-top: 5px; }
.btn_bo_user { float: right; margin: 0; padding: 0; list-style: none; }
.btn_bo_user li { float: left; margin-left: 5px; }

/* 공지 행 */
.bo_notice td { background: #f5f6fa; }
.bo_notice td a { font-weight: bold; }

/* 게시판 버튼 */
a.btn_b01 { display: inline-block; padding: 7px; border: 1px solid #d9ded9; background: #f2f5f9; color: #000; text-decoration: none; vertical-align: middle; border-radius: 0; }
a.btn_b01:focus, .btn_b01:hover { text-decoration: none; }
a.btn_b02 { display: inline-block; padding: 7px 35px; border: 1px solid #a40033; background: #a40033; color: #fff; text-decoration: none; vertical-align: middle; border-radius: 0; }
a.btn_b02:focus, .btn_b02:hover { text-decoration: none; }

/* 페이징 */
.pg_wrap { clear: both; margin: 0 0 70px; padding: 20px 0 0; text-align: center; }
.pg_page, .pg_current { display: inline-block; padding: 0 12px; height: 30px; line-height: 30px; color: #000; letter-spacing: 0; vertical-align: middle; border: 1px solid #ddd; font-size: 13px; border-radius: 2px; }
.pg a:focus, .pg a:hover { text-decoration: none; }
.pg_page { background: none; text-decoration: none; }
.pg_current { display: inline-block; margin: 0; background: #fff; color: #f41977; font-weight: normal; border: 1px solid #f41977; }
.sound_only { display: none; }

/* ===== 게시판 읽기 #bo_v ===== */
#bo_v { margin-bottom: 20px; padding-bottom: 20px; }
#bo_v_table { position: absolute; top: 0; right: 16px; margin: 0; padding: 0 5px; height: 25px; background: #ff3061; color: #fff; font-weight: bold; line-height: 2.2em; }
#bo_v_title { padding: 10px 0; width: 100%; font-size: 18px; }
#bo_v_info { padding: 0 0 10px; border-bottom: 1px solid #ddd; }
#bo_v_info h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_info strong { display: inline-block; margin: 0 15px 0 5px; font-weight: normal; }
#bo_v_info .sv_member, #bo_v_info .sv_guest, #bo_v_info .member, #bo_v_info .guest { font-weight: bold; }
#bo_v_file h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_file ul { margin: 0; padding: 0; list-style: none; }
#bo_v_file li { padding: 0 10px; border-bottom: 1px solid #eee; background: #f5f6fa; }
#bo_v_file a { display: inline-block; padding: 8px 0 7px; width: 100%; color: #000; word-wrap: break-word; }
#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active { text-decoration: none; }
#bo_v_file img { float: left; margin: 0 10px 0 0; }
.bo_v_file_cnt { display: inline-block; margin: 0 0 3px 16px; }
#bo_v_link h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_link ul { margin: 0; padding: 0; list-style: none; }
#bo_v_link li { padding: 0 10px; border-bottom: 1px solid #eee; background: #f5f6fa; }
#bo_v_link a { display: inline-block; padding: 8px 0 7px; width: 100%; color: #000; word-wrap: break-word; }
#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active { text-decoration: none; }
.bo_v_link_cnt { display: inline-block; margin: 0 0 3px 16px; }
#bo_v_top { margin: 0 0 10px; padding: 10px 0; zoom: 1; }
#bo_v_top:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_v_top h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_top ul { margin: 0; padding: 0; list-style: none; }
#bo_v_bot { zoom: 1; }
#bo_v_bot:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_v_bot h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_bot ul { margin: 0; padding: 0; list-style: none; }
.bo_v_nb { float: left; }
.bo_v_nb li { float: left; margin-right: 5px; }
.bo_v_com { float: right; }
.bo_v_com li { float: left; margin-left: 5px; }
#bo_v_atc { min-height: 200px; height: auto !important; }
#bo_v_atc_title { position: absolute; font-size: 0; line-height: 0; overflow: hidden; }
#bo_v_img { margin: 0 0 10px; width: 100%; overflow: hidden; zoom: 1; }
#bo_v_img:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_v_img img { margin-bottom: 20px; max-width: 100%; height: auto; }
#bo_v_con { margin-bottom: 50px; margin-top: 30px; width: 100%; line-height: 2em; word-break: break-all; overflow: hidden; font-size: 14px; }
#bo_v_con a { color: #000; text-decoration: underline; }
#bo_v_con img { max-width: 100%; height: auto; }
#bo_v_con table { border-collapse: collapse; width: 100%; }
#bo_v_con th { background: #efefef; }
#bo_v_con th, #bo_v_con td { border: 1px solid #ddd; padding: 5px; font-size: 13px; }
#bo_v_con table p { margin: 0; }
#bo_v_act { margin-bottom: 30px; text-align: center; }
#bo_v_act .bo_v_act_gng { position: relative; }
#bo_v_act a { margin-right: 5px; vertical-align: middle; }
#bo_v_act strong { color: #ff3061; }
#bo_v_sns { margin: 0 0 20px; padding: 0; list-style: none; zoom: 1; }
#bo_v_sns:after { display: block; visibility: hidden; clear: both; content: ""; }
#bo_v_sns li { float: left; margin: 0 5px 0 0; }

/* ===== 검색 결과 #sch_result ===== */
#sch_result { padding: 40px 0; }
#sch_result .wrap { max-width: 1000px; }
#contents.maincontwrap { width: 100%; overflow: hidden; }
.search_list { width: 100%; overflow: hidden; margin: 0 auto; padding: 20px 0; }
.search_list li { float: left; width: 25%; height: 310px; text-align: center; padding: 0 25px; box-sizing: border-box; }
.search_list li a { display: block; text-decoration: none; }
.search_list li a .photo { display: block; padding-bottom: 5px; }
.search_list li a .photo img { width: 150px; height: 150px; object-fit: cover; }
.search_list li a .txt { display: block; padding-bottom: 5px; color: #666; font-weight: bold; font-size: 12px; line-height: 1.3em; }
.search_list li a .main_fla_txt3 { display: block; color: #d80546; font-size: 17px; font-weight: bold; line-height: 1.5; }

/* ===== 개인정보처리방침 .privacy_page ===== */
#privacy { padding:50px 0; }
.privacy_page { position: relative; margin-bottom: 50px; font-size: 16px; color: #555; }
.privacy_page .navi { position: absolute; top: -17px; right: 0; border-bottom: 0; }
.privacy_page h1 { margin-bottom: 10px; }
.privacy_page h2 { display: none; }
.privacy_page textarea { width: 100%; box-sizing: border-box; padding: 30px; border: 1px solid #eee; font-size: 15px; height: 500px; line-height: 25px; color: #666; margin-bottom: 50px; }
.privacy_page .privacy_text { line-height: 1.8; }
.privacy_page .privacy_text strong { color: #333; font-weight: bold; }
.privacy_page .privacy_text h5 { margin: 0; padding: 0; font-size: 20px; margin-bottom: -10px; color: #333; font-weight: 600;}

#dong1 { cursor: pointer;}

#mob_search_modal { display: none; }

/* ===== 공용 신청/상담 모달 (inc/apply_modal.php) — 반드시 .ssb-apply-modal 안에서만 ===== */
.ssb-apply-modal[hidden] { display: none; }
.ssb-apply-modal { position: fixed; inset: 0; z-index: 9999; }
.ssb-apply-modal .ssb-apply-modal__dim { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.ssb-apply-modal .ssb-apply-modal__box { position: relative; width: 360px; max-width: calc(100% - 32px); margin: 12vh auto 0; background: #fff; border-radius: 10px; padding: 28px 24px 24px; box-shadow: 0 10px 40px rgba(0,0,0,.2); }
.ssb-apply-modal .ssb-apply-modal__x { position: absolute; top: 10px; right: 12px; border: 0; background: none; font-size: 22px; line-height: 1; cursor: pointer; color: #999; }
.ssb-apply-modal .ssb-apply-modal__tit { font-size: 19px; font-weight: 700; margin: 0 0 6px; }
.ssb-apply-modal .ssb-apply-modal__sub { font-size: 13px; color: #777; margin: 0 0 18px; }
.ssb-apply-modal .ssb-apply-modal__row { margin-bottom: 12px; }
.ssb-apply-modal .ssb-apply-modal__row label { display: block; font-size: 12.5px; color: #555; margin-bottom: 4px; }
.ssb-apply-modal .ssb-apply-modal__row input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; }
.ssb-apply-modal .ssb-apply-modal__agree { display: block; font-size: 12.5px; color: #666; margin: 14px 0; }
.ssb-apply-modal .ssb-apply-modal__agree a { color: #d80546; text-decoration: underline; }
/* 전역 룰 input[type=checkbox]{display:none}(체크박스+label:before 커스텀 아이콘 패턴) 때문에
   이 모달의 체크박스가 통째로 안 보이던 문제 — 모달 안에서는 네이티브 체크박스 그대로 노출 */
.ssb-apply-modal input[type="checkbox"] { display: inline-block !important; width: 16px; height: 16px; margin: 0 6px 0 0; vertical-align: middle; }
.ssb-apply-modal .ssb-apply-modal__err { color: #d80546; font-size: 12.5px; margin: 0 0 10px; }
.ssb-apply-modal .ssb-apply-modal__submit { width: 100%; padding: 13px; border: 0; border-radius: 6px; background: #d80546; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
.ssb-apply-modal .ssb-apply-modal__submit:disabled { opacity: .6; cursor: default; }

/* ===== 결합구매 혜택 배너 (product/detail.php, _lib/combo_benefit.php) ===== */
.combo-benefit-banner { display: flex; align-items: center; gap: 12px; background: #fff7ec; border: 1px solid #ffdca8; border-radius: 8px; padding: 10px 14px; margin: 0 0 14px; }
.combo-benefit-banner img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; flex: 0 0 auto; }
.combo-benefit-banner__text { display: flex; flex-direction: column; gap: 2px; }
.combo-benefit-banner__text strong { color: #b45300; font-size: 14px; }
.combo-benefit-banner__text span { color: #9a7a4f; font-size: 12px; }

