@charset "utf-8";

/* ==========================================
   NEW25 테마 - CSS 변수 시스템
   ========================================== */

:root {
    /* === 컬러 시스템 === */
    
    /* Primary Colors (메인 컬러) */
    --color-primary: #DE5A5A;
    --color-primary-dark: #AC3131;
    --color-primary-light: #FFE5E5;
    
    /* Secondary Colors (보조 컬러) */
    --color-secondary: #1469E8;
    --color-accent: #F9B000;
    
    /* Grayscale (회색조) */
    --color-black: #000000;
    --color-gray-900: #222222;
    --color-gray-800: #333333;
    --color-gray-700: #4C4C3F;
    --color-gray-600: #656565;
    --color-gray-500: #666666;
    --color-gray-400: #7A7267;
    --color-gray-300: #999999;
    --color-gray-200: #B5B5B5;
    --color-gray-100: #D9D9D9;
    --color-gray-50: #F7F7F7;
    --color-white: #FFFFFF;
    
    /* Semantic Colors */
    --color-success: #1469E8;
    --color-error: #700909;
    --color-warning: #F9B000;
    --color-info: #1469E8;
    
    /* Background Colors */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F7F7F7;
    --bg-light: #F4F4F4;
    --bg-accent: #FFE5E5;
    
    /* === 타이포그래피 === */
    
    /* Font Family */
    --font-primary: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
    --font-display: 'YDIYMjO320', 'Pretendard', sans-serif;
    
    /* Font Size */
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-base: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 20px;
    --font-size-2xl: 24px;
    --font-size-3xl: 32px;
    --font-size-4xl: 44px;
    
    /* Font Weight */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    /* Line Height */
    --line-height-tight: 1.2;
    --line-height-normal: 1.4;
    --line-height-relaxed: 1.6;
    
    /* Letter Spacing */
    --letter-spacing-tight: -0.04em;
    --letter-spacing-normal: -0.02em;
    --letter-spacing-wide: 0;
    
    /* === 간격 시스템 === */
    
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 24px;
    --spacing-2xl: 32px;
    --spacing-3xl: 48px;
    --spacing-4xl: 64px;
    
    /* === 레이아웃 === */
    
    --container-width: 1600px;
    --container-sm: 1200px;
    --grid-gap: 24px;
    --grid-gap-mobile: 16px;
    
    /* === Border Radius === */
    
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 20px;
    
    /* === Shadow === */
    
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
}

/* ==========================================
   메인 페이지 레이아웃
   ========================================== */

/* 컨테이너 기본 설정 */
#container_wr {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0;
}

/* 섹션 공통 스타일 */
.sct_wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: var(--spacing-4xl) var(--spacing-xl);
}

.sct_header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}

.sct_title {
    font-family: var(--font-primary);
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    letter-spacing: var(--letter-spacing-tight);
    margin-bottom: var(--spacing-md);
}

.sct_title a {
    color: inherit;
    text-decoration: none;
}

.sct_subtitle {
    font-size: var(--font-size-base);
    color: var(--color-gray-500);
    font-weight: var(--font-weight-regular);
    letter-spacing: var(--letter-spacing-normal);
}

.sct_content {
    width: 100%;
}

/* ==========================================
   메인 배너 (슬라이더)
   ========================================== */

#main_banner {
    position: relative;
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: var(--spacing-xl);
}

#main_banner .owl-carousel {
    position: relative;
}

#main_banner .owl-item {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

#main_banner .banner_item {
    position: relative;
    width: 100%;
    height: 480px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

#main_banner .banner_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_banner .banner_text {
    position: absolute;
    left: 60px;
    top: 100px;
    z-index: 2;
}

#main_banner .banner_title {
    font-family: var(--font-display);
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.1em;
    margin-bottom: var(--spacing-lg);
}

#main_banner .banner_desc {
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    color: var(--color-gray-600);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
}

/* 슬라이더 컨트롤 */
#main_banner .owl-nav {
    position: absolute;
    bottom: var(--spacing-xl);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--spacing-lg);
    z-index: 10;
}

#main_banner .owl-nav button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

#main_banner .owl-nav button:hover {
    background: white;
    box-shadow: var(--shadow-md);
}

#main_banner .owl-dots {
    position: absolute;
    bottom: var(--spacing-2xl);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--spacing-sm);
}

#main_banner .owl-dot {
    width: 58px;
    height: 23px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 12px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

#main_banner .owl-dot.active {
    background: rgba(0, 0, 0, 0.6);
}

#main_banner .owl-dot span {
    font-size: var(--font-size-sm);
    color: white;
    font-weight: var(--font-weight-medium);
}

/* ==========================================
   상품 카드 스타일 (공통)
   ========================================== */

.smt_40 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--grid-gap);
    width: 100%;
}

.smt_40 .item {
    position: relative;
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: all 0.3s ease;
}

.smt_40 .item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.smt_40 .item a {
    display: block;
    text-decoration: none;
}

/* 상품 이미지 */
.smt_40 .item .it_img {
    position: relative;
    width: 100%;
    padding-bottom: 114.2%;
    /* 426.413 / 373.112 = 1.142 */
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--bg-secondary);
}

.smt_40 .item .it_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 상품 정보 */
.smt_40 .item .it_info {
    padding: var(--spacing-lg) 0;
}

.smt_40 .item .it_name {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
    letter-spacing: var(--letter-spacing-normal);
    margin-bottom: var(--spacing-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 가격 정보 */
.smt_40 .item .it_price_wrap {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.smt_40 .item .it_cust_price {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-200);
    text-decoration: line-through;
}

.smt_40 .item .it_price {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
    letter-spacing: var(--letter-spacing-normal);
}

.smt_40 .item .it_discount {
    display: inline-flex;
    align-items: center;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
}

/* ==========================================
   히트상품, 최신상품, 추천상품, 할인상품 섹션
   ========================================== */

#idx_hit,
#idx_new,
#idx_best,
#idx_sale {
    background: var(--bg-primary);
}

/* ==========================================
   MD추천상품 섹션 (3단 큰 카드)
   ========================================== */

#idx_md {
    background: var(--bg-primary);
}

#idx_md .smt_40 {
    grid-template-columns: repeat(3, 1fr);
}

#idx_md .item {
    border-radius: var(--radius-lg);
    background: var(--bg-secondary);
}

#idx_md .item .it_img {
    padding-bottom: 114.17%;
    /* 578.667 / 506.333 = 1.1417 */
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

#idx_md .item .it_info {
    padding: var(--spacing-xl) var(--spacing-lg);
}

/* ==========================================
   회원가입/후기 배너 섹션
   ========================================== */

.info_banner {
    max-width: var(--container-width);
    margin: 0 auto var(--spacing-xl);
    padding: 0 var(--spacing-xl);
}

.info_banner .banner_item {
    position: relative;
    height: 160px;
    border-radius: var(--radius-md);
    overflow: hidden;
    padding: var(--spacing-3xl) var(--spacing-4xl);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

.info_banner .banner_title {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-black);
    letter-spacing: var(--letter-spacing-normal);
    margin-bottom: var(--spacing-sm);
}

.info_banner .banner_desc {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    letter-spacing: var(--letter-spacing-normal);
}

/* ==========================================
   사랑/고백 배너 (전체폭)
   ========================================== */

.full_banner {
    max-width: var(--container-width);
    margin: 0 auto var(--spacing-xl);
    padding: 0 var(--spacing-xl);
}

.full_banner .banner_item {
    position: relative;
    height: 160px;
    border-radius: var(--radius-md);
    overflow: hidden;
    padding: var(--spacing-3xl) var(--spacing-4xl);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

.full_banner .banner_title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    letter-spacing: var(--letter-spacing-normal);
    margin-bottom: var(--spacing-sm);
}

.full_banner .banner_desc {
    font-size: var(--font-size-lg);
    color: var(--color-white);
    letter-spacing: var(--letter-spacing-normal);
}

/* ==========================================
   화환/공기정화 2단 배너
   ========================================== */

.dual_banner {
    max-width: var(--container-width);
    margin: 0 auto var(--spacing-xl);
    padding: 0 var(--spacing-xl);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-xl);
}

.dual_banner .banner_item {
    position: relative;
    height: 220px;
    border-radius: var(--radius-md);
    overflow: hidden;
    padding: var(--spacing-3xl) var(--spacing-4xl);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dual_banner .banner_title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-black);
    letter-spacing: -0.04em;
    margin-bottom: var(--spacing-md);
}

.dual_banner .banner_desc {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
}

/* ==========================================
   카테고리별 랭킹 탭 메뉴
   ========================================== */

.category_tabs {
    display: flex;
    gap: var(--spacing-md);
    justify-content: center;
    margin-bottom: var(--spacing-3xl);
    padding: 0 var(--spacing-xl);
}

.category_tabs .tab_item {
    padding: var(--spacing-md) var(--spacing-xl);
    border-radius: var(--radius-xl);
    background: var(--bg-secondary);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.category_tabs .tab_item span {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
}

.category_tabs .tab_item.active {
    background: var(--color-secondary);
}

.category_tabs .tab_item.active span {
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
}

.category_tabs .tab_item:hover {
    background: var(--color-secondary);
}

.category_tabs .tab_item:hover span {
    color: var(--color-white);
}

/* 전체보기 버튼 */
.view_all_btn {
    max-width: 516px;
    margin: var(--spacing-4xl) auto 0;
    text-align: center;
}

.view_all_btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    width: 100%;
    height: 56px;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-sm);
    background: var(--bg-primary);
    font-size: var(--font-size-base);
    color: var(--color-black);
    text-decoration: none;
    letter-spacing: var(--letter-spacing-tight);
    transition: all 0.3s ease;
}

.view_all_btn a:hover {
    border-color: var(--color-secondary);
    color: var(--color-secondary);
}

/* ==========================================
   FOOTER - Phase 25 (Figma Node 382:21508)
   정확한 Figma 디자인 기반 재작성
   ========================================== */

/* Footer 공통 */
#ft {
    width: 100%;
    background: none; /* 섹션별 배경색을 보이게 하기 위해 제거 */
    margin: 0;
    padding: 0;
}

.footer-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 var(--spacing-xl);
}

/* ==========================================
   1. Footer Categories (상단 카테고리)
   배경: #f4f4f4 (밝은 회색)
   ========================================== */

section.footer-categories {
    display: block;
    clear: both;
    width: 100%;
    background: #f4f4f4 !important;
    padding: 78px 0 42px 0;
}

.footer-categories .category-grid {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 34px;
}

.footer-categories .category-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.footer-categories .category-item:hover {
    transform: translateY(-4px);
}

.footer-categories .category-icon {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 14px;
}

.footer-categories .category-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer-categories .category-name {
    font-size: 16px;
    font-weight: 500;
    color: #333333;
    font-family: 'Pretendard', sans-serif;
}

/* ==========================================
   2. Footer Links (중단 약관 섹션)
   배경: #656565 (진한 회색)
   ========================================== */

section.footer-links {
    display: block;
    clear: both;
    width: 100%;
    background: #656565 !important;
    padding: 22px 0 25px 0;
}

.footer-links .links-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 48px;
}

.footer-links .links-nav a {
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    font-family: 'Pretendard', sans-serif;
    transition: opacity 0.3s ease;
    white-space: nowrap;
}

.footer-links .links-nav a:hover {
    opacity: 0.8;
}

/* ==========================================
   3. Footer Info (하단 정보 섹션)
   배경: 흰색 (white)
   ========================================== */

section.footer-info {
    display: block;
    clear: both;
    width: 100%;
    background: #ffffff !important;
    padding: 80px 0 60px 0;
}

.footer-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 60px;
    align-items: start;
}

/* 고객상담센터 (왼쪽) */
.customer-service {
    text-align: left;
}

.customer-service h3 {
    font-size: 20px;
    font-weight: 500;
    color: #333333;
    margin: 0 0 24px 0;
    font-family: 'Pretendard', sans-serif;
}

.customer-service .contact-info {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}

.customer-service .contact-number {
    font-size: 28px;
    font-weight: 700;
    color: #e86514;
    letter-spacing: -0.56px;
    margin: 0;
    font-family: 'Pretendard', sans-serif;
    line-height: 1;
    flex-shrink: 0;
}

.customer-service .contact-time {
    font-size: 14px;
    font-weight: 500;
    color: #999999;
    line-height: 1.6;
    margin: 0;
    font-family: 'Pretendard', sans-serif;
}

.customer-service .contact-time p {
    margin: 0;
    line-height: 1.6;
}

.customer-service .btn-group {
    display: flex;
    gap: 10px;
}

.customer-service .btn-outline {
    width: 140px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    background: #ffffff;
    font-size: 14px;
    font-weight: 600;
    color: #333333;
    text-decoration: none;
    font-family: 'Pretendard', sans-serif;
    transition: all 0.3s ease;
}

.customer-service .btn-outline:hover {
    border-color: #e86514;
    color: #e86514;
}

/* 입금계좌번호 (중앙) */
.bank-account {
    text-align: left;
}

.bank-account h3 {
    font-size: 20px;
    font-weight: 500;
    color: #333333;
    margin: 0 0 24px 0;
    font-family: 'Pretendard', sans-serif;
}

.bank-account .bank-badge {
    width: 48px;
    height: 48px;
    margin: 0 0 16px 0;
    background: url('../images/kb-logo.png') no-repeat center;
    background-size: contain;
}

.bank-account .bank-info {
    font-size: 20px;
    font-weight: 700;
    color: #333333;
    letter-spacing: -0.4px;
    margin: 0 0 8px 0;
    font-family: 'Pretendard', sans-serif;
}

.bank-account .account-holder {
    font-size: 14px;
    font-weight: 500;
    color: #666666;
    margin: 0;
    font-family: 'Pretendard', sans-serif;
}

/* 회사 정보 (우측) */
.company-info {
    text-align: left;
}

.company-info .company-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 12px 0;
}

.company-info .company-icon {
    width: 32px;
    height: 32px;
    background: url('../images/company-logo.png') no-repeat center;
    background-size: contain;
    flex-shrink: 0;
}

.company-info .logo-main {
    font-size: 18px;
    font-weight: 800;
    color: #e86514;
    letter-spacing: -0.36px;
    font-family: 'Pretendard', sans-serif;
}

.company-info .slogan {
    font-size: 16px;
    font-weight: 600;
    color: #333333;
    letter-spacing: -0.32px;
    margin: 0 0 20px 0;
    font-family: 'Pretendard', sans-serif;
}

.company-info .company-details {
    font-size: 12px;
    font-weight: 500;
    color: #999999;
    line-height: 1.8;
    letter-spacing: -0.24px;
    font-family: 'Pretendard', sans-serif;
}

.company-info .company-details p {
    margin: 0 0 4px 0;
}

/* ==========================================
   4. Footer Copyright (최하단)
   배경: #f7f7f7 (약간 더 밝은 회색)
   ========================================== */

section.footer-copyright {
    display: block;
    clear: both;
    width: 100%;
    background: #f7f7f7 !important;
    padding: 17px 0 19px 0;
    text-align: center;
}

.footer-copyright .footer-container {
    padding: 0;
}

.footer-copyright p {
    font-size: 12px;
    font-weight: 500;
    color: #999999;
    line-height: 1.4;
    letter-spacing: -0.24px;
    margin: 0;
    font-family: 'Pretendard', sans-serif;
}

/* ==========================================
   Footer 반응형 - 태블릿
   ========================================== */

@media (max-width: 1200px) {
    .footer-categories .category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-3xl);
    }
    
    .footer-info-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-3xl);
    }
    
    .shop-guide .guide-buttons {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================
   Footer 반응형 - 모바일
   ========================================== */

@media (max-width: 768px) {
    .footer-top {
        padding: var(--spacing-3xl) 0;
    }
    
    .footer-categories {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-2xl);
        margin-bottom: var(--spacing-2xl);
    }
    
    .footer-categories .category-icon {
        width: 100px;
        height: 100px;
    }
    
    .footer-utilities {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-xl);
        padding: 0;
    }
    
    .footer-utilities .utility-item img {
        width: 32px;
        height: 32px;
    }
    
    .footer-utilities .utility-item span {
        font-size: var(--font-size-sm);
    }
    
    .footer-middle {
        padding: var(--spacing-3xl) 0;
    }
    
    .customer-service .contact-number {
        font-size: var(--font-size-2xl);
    }
    
    .shop-guide .guide-buttons {
        grid-template-columns: 1fr;
    }
    
    .footer-bottom .footer-links {
        flex-direction: column;
        gap: var(--spacing-md);
    }
}

/* ==========================================
   반응형 - 태블릿
   ========================================== */

@media (max-width: 1200px) {
    .smt_40 {
        grid-template-columns: repeat(3, 1fr);
    }
    
    #idx_md .smt_40 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================
   반응형 - 모바일
   ========================================== */

@media (max-width: 768px) {
    .sct_wrap {
        padding: var(--spacing-2xl) var(--spacing-lg);
    }
    
    .smt_40 {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--grid-gap-mobile);
    }
    
    #main_banner .banner_item {
        height: 300px;
    }
    
    .dual_banner {
        grid-template-columns: 1fr;
    }
    
    .category_tabs {
        flex-wrap: wrap;
    }
}

/* ==========================================
   초기화
   ========================================== */

html {overflow-y:scroll}
body {
    margin:0;
    padding:0;
    font-size:var(--font-size-base);
    font-family:var(--font-primary);
    font-weight:var(--font-weight-regular);
    line-height:var(--line-height-normal);
    color:var(--color-gray-800);
    background:var(--bg-primary);
}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:var(--font-primary)}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
ul {margin:0;padding:0;list-style:none}
ol,li,dl,dt,dd {margin:0;padding:0} 
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle}
input, button {margin:0;padding:0;font-family:var(--font-primary);font-size:1em}
button {cursor:pointer}
textarea, select {font-family:var(--font-primary);font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:var(--color-black);text-decoration:none}

*, :after, :before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}

input[type=text],input[type=password], textarea {
-webkit-transition:all var(--transition-base);
-moz-transition:all var(--transition-base);
-ms-transition:all var(--transition-base);
-o-transition:all var(--transition-base);
outline:none;
}
 
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
-webkit-box-shadow:0 0 5px rgba(222, 90, 90, 0.3);
-moz-box-shadow:0 0 5px rgba(222, 90, 90, 0.3);
box-shadow:0 0 5px rgba(222, 90, 90, 0.3);
border:1px solid var(--color-primary) !important;
}
 
.placeholdersjs {color:var(--color-gray-300) !important}

/* ==========================================
   레이아웃
   ========================================== */

#hd, #wrapper, #ft {min-width:var(--container-width)}

#hd_pop,
#hd_wrapper,
#container_wr,
#ft_wr {max-width:var(--container-width); margin:0 auto;}

/*safari*/
input, textarea {
 -webkit-appearance:none;
 -webkit-border-radius:0;
}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;max-width:var(--container-width);height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid var(--border-default);background:var(--bg-white)}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:var(--bg-dark);color:var(--text-white);text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:var(--spacing-sm);border:0;color:var(--text-white)}
.hd_pops_footer .hd_pops_reject {background:var(--bg-dark);text-align:left}
.hd_pops_footer .hd_pops_close {background:var(--gray-dark);position:absolute;top:0;right:0}

/* ==========================================
   헤더 스타일 (Figma 디자인)
   ========================================== */

#hd {
    background: var(--bg-primary);
    border-bottom: 1px solid var(--color-gray-100);
}

#hd_h1 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

/* 상단 전화번호 바 */
#hd_top {
    background: var(--color-secondary);
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#hd_top .hd_top_inner {
    max-width: var(--container-width);
    width: 100%;
    padding: 0 var(--spacing-xl);
}

#hd_top .hd_phone {
    text-align: center;
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

#hd_top .phone_icon {
    width: 20px;
    height: 20px;
}

#hd_top .phone_label {
    font-size: 18px;
    font-weight: var(--font-weight-medium);
}

#hd_top .phone_number {
    font-size: 30px;
    font-weight: var(--font-weight-bold);
    margin-left: var(--spacing-sm);
}

/* 메인 헤더 영역 */
#hd_wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 40px;
    max-width: 1600px;
    margin: 0 auto;
}

/* 로고 */
#logo {
    flex-shrink: 0;
}

#logo img {
    height: 73.3px;
    width: auto;
}

/* 검색 영역 */
.hd_sch_wrap {
    flex: 1;
    max-width: 450px;
    margin: 0 60px;
}

#hd_sch {
    position: relative;
}

#hd_sch legend {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#hd_sch #sch_str {
    width: 100%;
    height: 48px;
    padding: 0 60px 0 var(--spacing-lg);
    border: 2px solid var(--color-secondary);
    border-radius: 6px;
    font-size: var(--font-size-base);
    color: var(--color-gray-500);
}

#hd_sch #sch_str::placeholder {
    color: #9FA19F;
}

#hd_sch #sch_submit {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: var(--color-secondary);
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

#hd_sch #sch_submit img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

/* 사용자 메뉴 */
.hd_util {
    display: flex;
    gap: 32px;
    flex-shrink: 0;
}

.hd_util li {
    position: relative;
}

.hd_util li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0;
    color: var(--color-gray-600);
    text-decoration: none;
    transition: color 0.2s;
}

.hd_util li a:hover {
    color: var(--color-secondary);
}

.hd_util li a .icon_wrap {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.hd_util li a img {
    width: 50px;
    height: 50px;
    display: block;
}

.hd_util li a i {
    font-size: 24px;
}

.hd_util li a span:not(.icon_wrap):not(.cart_count) {
    font-size: 16px;
    font-weight: var(--font-weight-medium);
}

.hd_util .cart_count {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: var(--color-primary);
    color: var(--color-white);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* GNB 네비게이션 */
#hd_menu {
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    background: var(--bg-primary);
    position: relative;
}

.hd_menu_wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
}

.hd_menu_inner {
    display: flex;
    justify-content: center;
    align-items: center;
}

.menu_all_btn {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 20px;
    background: var(--bg-primary);
    border: 1px solid #ececec;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    color: #666666;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    height: 32px;
    display: flex;
    align-items: center;
    z-index: 10;
    letter-spacing: -0.32px;
}

.menu_all_btn:hover {
    background: var(--color-gray-50);
}

.gnb_list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gnb_divider {
    color: #cccccc;
    font-size: 16px;
    line-height: 16px;
    user-select: none;
    margin: 0 24px;
}

.gnb_list li a {
    display: block;
    padding: 21px 0;
    font-size: 20px;
    font-weight: 600;
    color: #000000;
    text-decoration: none;
    transition: color 0.2s;
    white-space: nowrap;
    letter-spacing: -0.8px;
}

.gnb_list li a:hover {
    color: var(--color-secondary);
}

/* ==========================================
   상품 리스트 카드 스타일
   ========================================== */

.item_list_wrap {
    width: 100%;
}

.item_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.item_card {
    background: var(--bg-primary);
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.item_card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 상품 이미지 */
.item_img_wrap {
    position: relative;
    width: 100%;
    padding-bottom: 114%;
    overflow: hidden;
    background: var(--bg-secondary);
}

.item_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item_soldout {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    font-size: 20px;
    font-weight: var(--font-weight-bold);
}

/* 상품 정보 */
.item_info {
    padding: 16px 12px;
}

.item_name {
    font-size: 20px;
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
    margin-bottom: 12px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.item_name a {
    color: var(--color-black);
    text-decoration: none;
    transition: color 0.2s;
}

.item_name a:hover {
    color: var(--color-secondary);
}

.item_price_wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.item_price_original {
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    color: #b5b5b5;
    text-decoration: line-through;
}

.item_price {
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
}

.item_discount {
    display: inline-block;
    padding: 4px 8px;
    background: var(--color-primary);
    color: var(--color-white);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    border-radius: 4px;
    margin-left: 8px;
}

.item_star {
    margin-top: 8px;
}

.item_star img {
    height: 14px;
    width: auto;
}

.no_item {
    text-align: center;
    padding: 60px 20px;
    font-size: 16px;
    color: var(--color-gray-400);
}

/* 그리드 변형 - 3개 열 */
.item_list.grid-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

/* 그리드 변형 - 8개 (카테고리별 랭킹) */
.item_list.grid-8 {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.item_list.grid-8 .item_card {
    font-size: 0.95em;
}


/* ==========================================
   메인 페이지 스타일
   ========================================== */

/* 메인 배너 슬라이더 - 전체 너비 */
.main_slider_wrap {
    width: 100%;
    margin-bottom: 80px;
    padding: 20px 0;
}

.main_slider {
    position: relative;
    width: 100%;
    height: 480px;
    overflow: visible;
}

.main_slider .swiper-wrapper {
    height: 480px;
}

.main_slider .swiper-slide {
    position: relative;
    height: 480px;
    width: 880px;
    transition: all 0.3s;
    opacity: 0.5;
    transform: scale(0.9);
}

.main_slider .swiper-slide-active {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
}

.main_slider .banner_content {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.main_slider .banner_content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main_slider .banner_text_wrap {
    position: absolute;
    left: 60px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-black);
    z-index: 2;
}

.main_slider .banner_title {
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    margin-bottom: 16px;
    letter-spacing: -0.1em;
}

.main_slider .banner_desc {
    font-size: 20px;
    line-height: 1.4;
    color: var(--color-gray-600);
    letter-spacing: -0.02em;
}

/* Swiper 네비게이션 */
.main_slider .swiper-button-prev,
.main_slider .swiper-button-next {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    top: 50%;
    transform: translateY(-50%);
}

.main_slider .swiper-button-prev {
    left: calc(50% - 520px);
}

.main_slider .swiper-button-next {
    right: calc(50% - 520px);
}

.main_slider .swiper-button-prev:after,
.main_slider .swiper-button-next:after {
    font-size: 20px;
    color: var(--color-secondary);
    font-weight: bold;
}

.main_slider .swiper-pagination {
    bottom: -40px;
}

.main_slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: var(--color-gray-300);
    opacity: 1;
}

.main_slider .swiper-pagination-bullet-active {
    background: var(--color-secondary);
}

.main_slider .swiper-pagination {
    bottom: 20px;
}

.main_slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: var(--color-white);
    opacity: 0.5;
}

.main_slider .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--color-secondary);
}

/* 섹션 공통 스타일 */
.sct_wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    margin-bottom: 100px;
}

.sct_header {
    text-align: center;
    margin-bottom: 60px;
}

.sct_title {
    font-size: 36px;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    margin-bottom: 12px;
    letter-spacing: -0.04em;
}

.sct_subtitle {
    font-size: 16px;
    color: var(--color-gray-500);
    letter-spacing: -0.02em;
}

/* 정보 배너 (회원가입, 후기) */
.info_banner_wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    margin-bottom: 40px;
}

.info_banner {
    height: 160px;
    border-radius: 10px;
    padding: 40px 60px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.info_banner .banner_title {
    font-size: 28px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-black);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}

.info_banner .banner_text {
    font-size: 18px;
    color: var(--color-black);
    letter-spacing: -0.02em;
    line-height: 1.4;
}

/* 전체 너비 배너 (사랑/고백) */
.full_banner_wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    margin-bottom: 40px;
}

.full_banner {
    height: 160px;
    border-radius: 10px;
    padding: 40px 60px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.full_banner .banner_title {
    font-size: 30px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}

.full_banner .banner_text {
    font-size: 18px;
    color: var(--color-white);
    letter-spacing: -0.02em;
    line-height: 1.4;
}

/* 듀얼 배너 */
.dual_banner_wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    margin-bottom: 100px;
}

.dual_banner_inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.dual_banner_item {
    height: 220px;
    border-radius: 10px;
    padding: 40px 60px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dual_banner_item .banner_title {
    font-size: 30px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-black);
    margin-bottom: 12px;
    letter-spacing: -0.04em;
}

.dual_banner_item .banner_text {
    font-size: 18px;
    color: var(--color-black);
    letter-spacing: -0.02em;
    line-height: 1.4;
}

/* 카테고리 탭 */
.category_tabs {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.category_tabs .tab_item {
    padding: 10px 20px;
    border-radius: 20px;
    border: 0;
    background: var(--bg-secondary);
    color: var(--color-gray-700);
    font-size: 16px;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all 0.3s;
}

.category_tabs .tab_item:hover {
    background: var(--color-secondary);
    color: var(--color-white);
}

.category_tabs .tab_item.active {
    background: var(--color-secondary);
    color: var(--color-white);
    font-weight: var(--font-weight-bold);
}

/* 탭 컨텐츠 */
.tab_contents {
    margin-bottom: 40px;
}

.tab_content {
    display: none;
}

.tab_content.active {
    display: block;
}

/* 전체보기 버튼 */
.view_all_wrap {
    text-align: center;
}

.btn_view_all {
    display: inline-block;
    padding: 14px 40px;
    border: 1px solid var(--color-gray-200);
    border-radius: 4px;
    background: var(--color-white);
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    transition: all 0.3s;
}

.btn_view_all:hover {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

.empty_list {
    text-align: center;
    padding: 100px 20px;
    font-size: 16px;
    color: var(--color-gray-400);
}


/*사이드 메뉴*/
#side_menu {height:100%;position:fixed;top:0;right:0;background:var(--bg-white);border-left:1px solid var(--border-default);z-index:120;padding-left:50px;-webkit-box-shadow:0 1px 5px var(--shadow-light);
-moz-box-shadow:0 1px 5px var(--shadow-light);
box-shadow:0 1px 5px var(--shadow-light)}

#quick {position:absolute;top:50%;left:0;width:50px;margin-top:-157.5px}
#quick li {position:relative}
#quick li button {width:50px;height:50px;border:0;font-size:1.325em;background:var(--bg-white);color:var(--text-secondary)}
#quick .qk_tit {display:none;position:absolute;top:12px;right:60px;white-space:pre;padding:0 var(--spacing-md);line-height:30px;background:var(--gray-600);color:var(--text-white);font-size:0.75em;border-radius:var(--radius-sm)}
#quick .qk_tit:after {content:"";position:absolute;top:10px;right:-8px;display:inline-block;width:0;height:0;border-style:solid;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid var(--gray-600);color:transparent}
#quick li:hover .qk_tit {display:block}

#tabs_con {height:100%;text-align:left}

.side_mn_wr1 {display:none;width:230px;overflow-y:auto;height:100%}
.side_mn_wr2 {display:none;width:230px;overflow-y:auto;height:100%}
.side_mn_wr3 {display:none;width:230px;overflow-y:auto;height:100%}
.side_mn_wr4 {display:none;width:230px;overflow-y:auto;height:100%}
.btn_sm_on i {color:var(--color-secondary)}

.qk_con {display:none;position:relative;width:230px;height:100%;background:#fff;border-left:1px solid #f0f0f0}
.qk_con h2.s_h2 {position:relative;margin:0;font-size:1.25em;padding:15px;border-bottom:1px solid #e5e7ea}
.qk_con h2.s_h2 span {display:inline-block;min-width:20px;padding:2px 8px;border-radius:30px;text-align:center;background:#eff5ff;color:#3b8afc;font-size:0.7em;font-weight:normal;vertical-align:text-bottom}
.qk_con_wr {padding:0;height:100%;overflow-y:auto}
.qk_con_wr .btn_side_shop {position:relative;width:100%;height:30px;background:none;border:0;text-align:left;font-weight:bold}
.qk_con_wr .btn_side_shop span {position:absolute;top:5px;right:0;padding:0 5px;line-height:20px;border-radius:10px;color:#fff;background:#ed1c24}
.qk_con_wr .con_close {position:fixed;top:0;right:230px;width:50px;height:50px;border:0;background:none;font-size:25px;color:#dedede}
.qk_con_wr .con_close:hover {color:rgba(0,0,0,0.8)}
.qk_con_wr .side_tnb {padding:25px}
.qk_con_wr .side_tnb li a {display:block;line-height:28px;color:#465168;padding:5px 0}
.qk_con_wr .side_tnb li:hover a {color:#3a8afd}

#category {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
box-shadow:0 2px 5px rgba(0,0,0,0.2)}
#category h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef}
#category ul:after {display:block;visibility:hidden;clear:both;content:""}
#category ul li:nth-child(5n+1) {border-left:0}
#category .cate_li_1 {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
#category .cate_li_1_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:var(--color-secondary)}
#category .cate_li_2 {line-height:2em}
#category .cate_li_2 a {color:var(--gray-600)}
#category .close_btn {position:absolute;top:0;right:0;width:50px;height:50px;background:var(--bg-white);color:var(--gray-200);border:0;vertical-align:top;font-size:18px}
#category_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}
#category .no-cate{text-align:center;padding:15px}


/* 중간 레이아웃 */
/* #wrapper {z-index:5;margin:0 auto;width:1200px;position:relative} */
#wrapper {z-index:5;position:relative;width:100%;background:var(--bg-white)}
#wrapper.is_community{background:var(--bg-white)}
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
#wrapper_title {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    padding: var(--spacing-md) 0;
    height: 16px;
}

.lt_wr {width:49%}
.lt_wr:nth-child(2n+1) {clear:both}

/* aside + wrapper */
#aside {position:absolute;top:0;left:0;margin:0 var(--spacing-sm) 0 0;width:265px}
#side_pd {position:relative;border:1px solid var(--border-default);background:var(--bg-white);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}
#side_pd h2 {border-bottom:1px solid var(--border-default);padding:var(--spacing-md)}
#side_pd .bx-wrapper {padding-bottom:var(--spacing-sm);height:400px;overflow:hidden}
#side_pd .bx-controls {display:inline-block;position:absolute;right:var(--spacing-sm);top:12px}
#side_pd .bx-prev {display:inline-block;width:20px;height:20px;text-indent:-9999em;background:url('../img/btn_prev.png') no-repeat}
#side_pd .bx-next {display:inline-block;width:20px;height:20px;text-indent:-9999em;background:url('../img/btn_next.png') no-repeat}

#container {position:relative;margin:0 auto;width:var(--container-width);min-height:500px;height:auto !important}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container .shop-content {position:relative;padding:1px 0}
/* #container .is_index {margin-left:285px} */
.shop-content #bo_v{margin-top:var(--spacing-md)}

#idx_hit {overflow:hidden}
#idx_hit:after {display:block;visibility:hidden;clear:both;content:""}
#idx_hit .owl-prev {position:absolute;top:50%;left:0;width:36px;height:36px;margin-top:-20px;text-indent:-9999em;background:url('../img/btn_idx_left.png') no-repeat}
#idx_hit .owl-next {position:absolute;top:50%;right:0;width:36px;height:36px;margin-top:-20px;text-indent:-9999px;background:url('../img/btn_idx_right.png') no-repeat}


.sale_prd h2 {font-size:1.167em;margin:20px 0 10px}
.st_bg {display:inline-block;width:1px;height:10px;margin:0 10px;background:var(--border-light);vertical-align:-1px}

/* 텍스트 크기 조절 */
#text_size {display:none;position:absolute;top:-31px;left:-1px}
#text_size button {padding:0 10px;height:30px;border:1px solid var(--border-default);border-bottom:0;background:var(--bg-dark);color:var(--text-white);cursor:pointer}

/* 하단 레이아웃 - 구버전 (Phase 25에서 재작성됨) */
/* #ft {background:var(--bg-dark);margin:0 auto;text-align:center} */
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ft_wr {max-width:1240px;margin:0;padding:var(--spacing-xl) 0;position:relative;display:inline-block;text-align:left}
#ft_wr:after {display:block;visibility:hidden;clear:both;content:""}
#ft_wr .ft_cnt {width:25%;float:left;padding:0 var(--spacing-md)}

#ft_link {text-align:left}
#ft_link a {display:block;color:var(--text-white);line-height:2em;font-weight:var(--font-weight-bold)}
#ft_company h2 {font-size:var(--font-size-md);margin-bottom:var(--spacing-md)}
#ft_company {font-weight:normal;color:var(--text-tertiary);line-height:2em}
#ft_catch {margin:var(--spacing-md) 0 var(--spacing-sm)}
#ft_copy {text-align:center;width:var(--container-width);margin:0 auto;padding:var(--spacing-md) 0;color:var(--text-secondary);font-size:var(--font-size-xs);border-top:1px solid var(--border-light)}
#top_btn {position:absolute;bottom:0;left:0;border:0;border-top:1px solid var(--border-default);margin-top:-25px;width:50px;height:50px;background:none;font-size:var(--font-size-lg);color:var(--text-tertiary)}
#top_btn:hover {border-color:var(--color-secondary);background:var(--color-secondary);color:var(--text-white)}

/* 쇼핑몰 회원가입 */
#container .register{margin-bottom:30px}
#register_form .register_form_inner{background:#fff}
.register #register_form{background-color:initial}

/* 쇼핑몰 로그인 페이지 */
.mb_log_cate {display:flex;border-bottom:none}
.mb_log_cate h2 {flex:1;padding:18px 0;text-align:center;font-size:16px;font-weight:600;color:#333333;background:#FFFFFF;cursor:pointer;border-bottom:none;margin-bottom:0;transition:all 0.2s}
.mb_log_cate h2:hover {color:#DE5A5A}
.mb_log_cate .join {flex:1;padding:18px 0;text-align:center;font-size:16px;font-weight:400;color:#898989;background:#F7F7F7;text-decoration:none;transition:all 0.2s;border-bottom:none;margin-bottom:0}
.mb_log_cate .join:hover {color:#333333}
.mb_log_cate:after {display:block;visibility:hidden;clear:both;content:""}
.mbskin .chk_box input[type="checkbox"] + label span{position:relative}

/* 쇼핑몰 비회원 주문조회 */
#mb_login_od_wr {max-width:480px;margin:40px auto 0;padding:30px;background:var(--bg-white);border:1px solid var(--color-gray-100);border-radius:8px;text-align:center}
#mb_login_od_wr h2 {font-size:20px;font-weight:600;color:var(--color-gray-900);margin:0 0 20px}
/*#mb_login_od_wr #mb_login_od {padding:0 35px}*/
#mb_login_od_wr .frm_input {width:100%;height:48px;margin:12px 0;padding:0 16px;border:1px solid var(--color-gray-100);border-radius:6px;font-size:16px;transition:border-color 0.2s}
#mb_login_od_wr .frm_input:focus {border-color:var(--color-secondary);outline:none}
#mb_login_od_wr .btn_submit {width:100%;height:48px;margin:20px 0 0;background:var(--color-secondary);color:var(--text-white);font-size:16px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background 0.2s}
#mb_login_od_wr .btn_submit:hover {background:var(--color-primary)}
#mb_login_od_wr p {background:var(--bg-secondary);margin:20px 0 0;padding:16px;font-size:14px;line-height:1.6;color:var(--color-gray-600);border-radius:6px}

/* SNS 로그인 */
#mb_login #sns_login {margin-top:0px;padding:30px;border-top:1px solid var(--color-gray-100)}
#mb_login #sns_login:after {display:block;visibility:hidden;clear:both;content:""}
#mb_login #sns_login h3 {font-size:16px;font-weight:500;color:var(--color-gray-700);text-align:center;margin-bottom:20px}
#mb_login #sns_login .sns-wrap {margin:0 !important}
#mb_login #sns_login .sns-icon {width:49% !important;float:left !important;margin-bottom:10px}
#mb_login #sns_login .sns-icon:nth-child(odd) {margin-right:2%}
#mb_login #sns_login .txt {font-size:15px;padding-left:8px !important;border-left:0 !important}

/* 쇼핑몰 비회원 구매 */
#mb_login_notmb {max-width:480px;margin:40px auto 0;padding:30px;background:var(--bg-white);border:1px solid var(--color-gray-100);border-radius:8px}
#mb_login_notmb h2 {font-size:20px;font-weight:600;color:var(--color-gray-900);margin:0 0 16px;text-align:center}
#mb_login_notmb p {font-size:14px;color:var(--color-gray-600);line-height:1.6;text-align:left;margin-bottom:16px}
#mb_login_notmb label {text-align:left}
#guest_privacy {border:1px solid var(--color-gray-100);background:var(--bg-secondary);padding:16px;height:150px;margin:16px 0;overflow-y:auto;font-size:13px;line-height:1.6;color:var(--color-gray-700);text-align:left}
#mb_login_notmb .chk_box {margin:16px 0}
#mb_login_notmb .btn_submit {display:block;width:100%;height:48px;margin-top:20px;background:var(--color-secondary);color:var(--text-white);font-size:16px;font-weight:600;border:none;border-radius:6px;text-align:center;line-height:48px;text-decoration:none;transition:background 0.2s}
#mb_login_notmb .btn_submit:hover {background:var(--color-primary)}

/* 새글 */
.is_community .tbl_head01 td {color:var(--text-secondary);padding:10px 5px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);border-left:0 none;line-height:1.4em;height:60px;word-break:break-all}

/* 글쓰기 및 글보기 */
.is_community .chk_box input[type="checkbox"] + label span{top:2px;left:0}
.is_community .bo_fx{margin-bottom:20px}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:var(--bg-dark);color:var(--text-white);font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* 이미지 등비율 리사이징 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid var(--gray-300);vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid var(--border-default);background:var(--bg-white);font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid var(--border-default) !important;background:var(--bg-light) !important;color:var(--text-primary) !important;text-decoration:none !important;line-height:1.9em;vertical-align:middle}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid var(--border-default);background:var(--color-info-light);text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid var(--border-light)}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* Mobile화면으로 */
#mobile_cng {display:block;margin:0.3em;padding:0.5em 0;border:1px solid var(--border-light);border-radius:2em;background:var(--bg-white);color:var(--text-primary);font-size:2em;text-decoration:none;text-align:center}

/* 목록 바로가기 */
.sanchor {margin:30px 0 20px;padding:0}
.sanchor:after {display:block;visibility:hidden;clear:both;content:""}
.sanchor li {float:left;width:20%;text-align:center;list-style:none}
.sanchor li a {display:block;position:relative;height:60px;margin-left:-1px;background-color:var(--bg-light);border:1px solid var(--border-default);border-bottom:1px solid var(--text-primary);font-size:1.25em;color:var(--text-secondary);line-height:58px;text-align:center;z-index:1}
.sanchor li .sanchor_on {margin:0 0 0 -1px;border:1px solid var(--text-primary);background:var(--bg-white);z-index:2;border-bottom-color:var(--bg-white);color:var(--text-primary);font-weight:bold}
.sanchor li a .item_qa_count,.sanchor li a .item_use_count {display:inline-block;background:var(--gray-300);padding:0 5px;line-height:23px;border-radius:15px;color:var(--text-white);min-width:23px;font-size:12px}
.sanchor li .sanchor_on .item_qa_count,.sanchor li .sanchor_on .item_use_count {background:var(--color-info)}

/* 콘텐츠별 스타일 */
.cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold}

/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid var(--gray-400);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--gray-600);text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid var(--border-default);background:var(--gray-100);color:var(--text-primary);text-decoration:none}
a.btn02 {display:inline-block;padding:7px;background:var(--color-secondary);color:var(--text-white);border-radius:var(--radius-sm);text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid var(--gray-700);background:var(--gray-600);color:var(--text-white);text-decoration:none}

.btn_confirm {text-align:center} /* 서식단계 진행 */

.btn_submit {border:1px solid var(--color-secondary);background:var(--color-secondary);color:var(--text-white);cursor:pointer;border-radius:var(--radius-sm)}
.btn_submit:hover {background:var(--color-secondary-dark)}
.btn_close {border:1px solid var(--border-default);cursor:pointer;border-radius:var(--radius-sm);background:var(--bg-white)}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:var(--gray-500);color:var(--text-white);text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:var(--gray-500);color:var(--text-white);text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:var(--gray-400)}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:var(--gray-700);border-radius:var(--radius-sm);color:var(--text-white);text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
a.btn_frmline {line-height:24px}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:var(--gray-400);text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:var(--text-primary)}
a.btn_b02,.btn_b02 {display:inline-block;background:var(--color-secondary);padding:0 10px;color:var(--text-white);text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:var(--color-secondary-dark)}
a.btn_b03, .btn_b03 {display:inline-block;background:var(--bg-white);border:1px solid var(--border-default);color:var(--text-secondary);text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:var(--gray-100)}
a.btn_b04, .btn_b04 {display:inline-block;background:var(--bg-white);border:1px solid var(--border-default);color:var(--gray-600);text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:var(--text-primary);background:var(--bg-light)}
a.btn_admin,.btn_admin {display:inline-block;color:var(--color-danger);text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:var(--color-danger-dark)}

/* 선택수정 버튼 */
.btn_list {margin:0 auto;width:93%}
.btn_list input, .btn_list button {background:var(--color-success);border:0 none;color:var(--text-white);height:28px;line-height:2.2em;padding:0 15px;vertical-align:middle}

/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}

.tbl_head01 {margin:0 0 10px}
.tbl_head01 table {}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:12px 0;border-top:2px solid var(--text-primary);border-bottom:1px solid var(--border-default);background:var(--bg-white);color:var(--text-primary);font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head01 thead a {color:var(--text-primary)}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--gray-200);text-align:center}
.tbl_head01 tbody th {padding:10px 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.tbl_head01 td {padding:15px 5px;border-top:1px solid var(--border-light);border-left:1px solid var(--border-light);line-height:1.5em;word-break:break-all}
.tbl_head01 td:first-child {border-left:0}
.tbl_head01 a {}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:7px;background:var(--gray-100);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.tbl_head02 thead a {color:var(--text-primary)}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--gray-200);text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.tbl_head02 td {padding:5px 3px;border-bottom:1px solid var(--border-light);line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

.tbl_head03 {margin:0 0 10px}
.tbl_head03 table {border-bottom:1px solid var(--border-default)}
.tbl_head03 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head03 thead th {padding:20px 0;border-top:2px solid var(--gray-500);border-bottom:1px solid var(--border-default);color:var(--text-primary);font-size:1.2em;text-align:center;letter-spacing:-0.1em}
.tbl_head03 thead a {color:var(--text-primary)}
.tbl_head03 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head03 tfoot th, .tbl_head03 tfoot td {padding:10px 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--gray-200);text-align:center}
.tbl_head03 tbody th {padding:10px 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.tbl_head03 td {background:var(--bg-white);background-clip:padding-box;padding:25px 15px;border-top:1px solid var(--border-default);border-left:1px solid var(--border-light);line-height:1.5em;word-break:break-all}
.tbl_head03 td:first-child {border-left:0}
.tbl_head03 a {}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:90px;padding:5px 10px;background:none;text-align:right;font-weight:normal}
.tbl_frm01 td {padding:5px 10px;background:transparent}
.wr_content textarea,
.tbl_frm01 textarea,
.form_01 textarea,
.frm_input {border:1px solid var(--input-border-color);background:var(--bg-white);color:var(--text-primary);vertical-align:middle;border-radius:var(--radius-sm);padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:45px}

.full_input, .frm_address {width:100%}
.half_input {width:49.5%}
.tbl_frm01 textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_address {margin-top:5px}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}

/*기본리스트*/
.list_01 li {position:relative;border:1px solid var(--border-default);border-radius:var(--radius-sm);margin:8px 0;padding:10px 15px;list-style:none}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:var(--bg-light)}

.list_02 ul:after {display:block;visibility:hidden;clear:both;content:""}
.list_02 li {float:left;width:225px;margin:10px 0 20px 18px}
.list_02 li:nth-child(5n+1) {clear:both;margin-left:0}

/*폼 리스트*/
.form_01 h2 {margin:0 0 10px;font-size:1.25em}
.form_01 li {margin:10px 0}
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 li .right_input {float:right}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}
.form_01 .form_left {float:left;width:49.5%}
.form_01 .form_right {float:right;width:49.5%}

/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center;color:var(--text-tertiary) !important}
.empty_list, .empty_li {padding:20px 0 !important;text-align:center !important;color:var(--text-tertiary) !important}

/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* 테이블 그리드 padding 0 5px 고려한 넓이 */
.grid_1 {width:40px}
.grid_2 {width:90px}
.grid_3 {width:140px}
.grid_4 {width:190px}
.grid_5 {width:240px}
.grid_6 {width:290px}
.grid_7 {width:340px}
.grid_8 {width:390px}
.grid_9 {width:440px}
.grid_10 {width:490px}
.grid_11 {width:540px}
.grid_12 {width:590px}
.grid_13 {width:640px}
.grid_14 {width:690px}
.grid_15 {width:740px}
.grid_16 {width:790px}
.grid_17 {width:840px}
.grid_18 {width:890px}

/* 테이블 항목별 정의 */
.td_board {width:120px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_default {width:60px;text-align:center}
.td_dvr {width:100px;text-align:center}
.td_group {width:100px;text-align:center}
.td_imgsmall {width:60px;text-align:center}
.td_num {width:80px;text-align:center}
.td_numbig {width:100px;text-align:center}
.td_nick {width:100px;text-align:center}
.td_name {width:100px;text-align:left}
.td_namesmall {width:50px;text-align:left}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_mngsmall {width:100px;text-align:center}
.td_statsmall {width:50px;text-align:center}

.text_left {text-align:left !important}
.text_center {text-align:center !important}
.text_right {text-align:right !important}

/* 새창 기본 스타일 */
.new_win {position:relative;background:var(--bg-white)}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:var(--bg-white);color:var(--text-primary);-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:var(--bg-white);text-align:center;padding:0 10px;border:1px solid var(--color-info-light);border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:var(--color-info)}
.new_win .win_ul .selected {background:var(--color-secondary);border-color:var(--color-secondary);position:relative;z-index:5}
.new_win .win_ul .selected a {color:var(--text-white);font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:var(--color-danger);color:var(--text-white);line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:var(--color-danger-dark);border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:var(--gray-300)}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:var(--color-secondary);background:var(--bg-light);padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center;padding-bottom:30px}
.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}


/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid var(--border-light);background:var(--bg-white)}

/* 사이드뷰 */
.sv_wrap {display:inline-block;position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid var(--bg-dark);background:var(--gray-900)}
.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:3px !important;width:94px;border-bottom:1px solid var(--bg-dark);color:var(--text-white) !important}
.sv_wrap a:focus, .sv_wrap a:hover, .sv_wrap a:active {text-decoration:none !important}
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {margin:10px 0 30px;text-align:center}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current,.qa_page {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page,.qa_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover,.qa_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

/* 팁 */
.tooltip_icon {display:inline-block;vertical-align:middle;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer}
.tooltip_icon:hover {color:#448bf5}
.tooltip {position:relative;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;position:absolute;z-index:9;font-weight:normal;margin-left:15px;margin-top:20px}
.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000}

.tooltip_txt {position:relative;text-align:left;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f2838f;margin:0 0 10px;padding:0 20px;border-radius:5px;font-weight:bold}
.tooltip_txt:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453}
.tooltip_txt i {font-size:1.2em;vertical-align:middle}


/* ########## 쇼핑몰 컨텐츠 ########## */
/* 인덱스 이미지 출력 */
#sidx_img {margin:0 0 20px}
#sidx_img img {max-width:100%;height:auto}


/* 상품 메일 추천하기 */
#sit_rec_new {}
#sit_rec_new th,
#sit_rec_new td {display:block;width:100%}
#sit_rec_new th {text-align:left;margin-top:20px;margin-bottom:5px}
#sit_rec_new textarea {width:100%;min-height:100px}
#sit_rec_new .win_btn {margin:20px 0}

/* ========================================
   마이페이지 (NEW25 디자인)
======================================== */

/* 전체 레이아웃 */
#smb_my.mypage_new25 {
    max-width: 1600px;
    margin: 0 auto 80px;
    padding: 0 40px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* 왼쪽 사이드바 - 통합 패널 */
#smb_my_ov.mypage_sidebar {
    width: 300px;
    flex-shrink: 0;
    float: none;
    margin: 0;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 12px;
    padding: 30px 24px;
}

#smb_my_ov.mypage_sidebar h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

/* 1. 프로필 영역 */
.sidebar_profile {
    text-align: center;
    padding-bottom: 24px;
    border-bottom: 1px solid #E5E5E5;
    margin-bottom: 24px;
}

.profile_img {
    width: 80px;
    height: 80px;
    margin: 0 auto 16px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #F7F7F7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile_default {
    font-size: 36px;
    color: #B5B5B5;
}

.profile_name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
}

.profile_id {
    display: block;
    font-size: 13px;
    color: #999;
    margin-bottom: 16px;
}

.profile_actions {
    display: flex;
    gap: 8px;
}

.profile_actions a {
    flex: 1;
    height: 38px;
    line-height: 38px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    text-align: center;
    transition: all 0.2s;
    border: 1px solid #E5E5E5;
    color: #666;
    background: #fff;
}

.profile_actions a:hover {
    background: #F7F7F7;
    color: #333;
}

/* 2. 포인트 & 쿠폰 영역 */
.sidebar_stats {
    padding-bottom: 24px;
    border-bottom: 1px solid #E5E5E5;
    margin-bottom: 24px;
}

.stats_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.stats_row:last-child {
    margin-bottom: 0;
}

.stats_item {
    flex: 1;
}

.stats_label {
    font-size: 14px;
    color: #666;
    margin-right: 8px;
}

.stats_value {
    font-size: 16px;
    font-weight: 700;
    color: #DE5A5A;
}

.btn_giftshop {
    display: inline-block;
    height: 32px;
    line-height: 32px;
    padding: 0 16px;
    background: #F7F7F7;
    color: #333;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
    border: 1px solid #E5E5E5;
    transition: all 0.2s;
    flex-shrink: 0;
}

.btn_giftshop:hover {
    background: #1469E8;
    color: #fff;
    border-color: #1469E8;
}

/* 3. 메뉴 리스트 */
.sidebar_menu {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    border-bottom: 1px solid #E5E5E5;
    padding-bottom: 24px;
}

.sidebar_menu li {
    margin-bottom: 2px;
}

.sidebar_menu li:last-child {
    margin-bottom: 0;
}

.sidebar_menu a {
    display: block;
    padding: 12px 16px;
    font-size: 14px;
    color: #666;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.2s;
}

.sidebar_menu a:hover {
    background: #F7F7F7;
    color: #333;
}

/* 4, 5. 최종접속/가입일시 */
.sidebar_info_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #F7F7F7;
}

.sidebar_info_item:last-child {
    border-bottom: none;
}

.info_label {
    font-size: 13px;
    color: #999;
}

.info_value {
    font-size: 13px;
    color: #666;
    font-weight: 500;
}

/* 오른쪽 메인 콘텐츠 */
#smb_my_list.mypage_main {
    flex: 1;
    min-width: 0;
    float: none;
    width: auto;
}

/* 최상단 카드 2개 */
.top_cards {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

/* 1. 왼쪽 카드 - 회원정보 */
.info_card {
    background: #F7F7F7;
    border: none;
    border-radius: 12px;
    padding: 30px;
    width: 620px;
    height: 260px;
    box-sizing: border-box;
}

.card_header {
    margin-bottom: 24px;
}

.member_name {
    font-size: var(--font-size-md, 20px);
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-gray-900, #222222);
    display: inline;
    margin-right: var(--spacing-2, 8px);
    letter-spacing: -0.02em;
}

.btn_modify {
    display: inline-block;
    padding: 6px 12px;
    background: var(--bg-primary, #fff);
    color: var(--color-gray-500, #666);
    font-size: var(--font-size-xs, 13px);
    font-weight: var(--font-weight-medium, 500);
    text-decoration: none;
    border-radius: var(--radius-sm, 4px);
    border: 1px solid var(--color-gray-100, #E5E5E5);
    transition: all 0.2s;
}

.btn_modify:hover {
    background: var(--bg-secondary, #F7F7F7);
    border-color: var(--color-gray-300, #999);
}

.member_info {
    margin: 0;
}

.member_info dt {
    display: inline;
    font-size: var(--font-size-sm, 16px);
    font-weight: var(--font-weight-medium, 500);
    color: var(--color-gray-500, #666666);
    margin: 0;
    letter-spacing: -0.02em;
}

.member_info dt:after {
    content: ' : ';
}

.member_info dd {
    display: inline;
    font-size: var(--font-size-sm, 16px);
    font-weight: var(--font-weight-medium, 500);
    color: var(--color-gray-500, #666666);
    margin: 0;
    line-height: var(--line-height-loose, 2);
    letter-spacing: -0.02em;
}

.member_info dd:after {
    content: '';
    display: block;
    margin-bottom: var(--spacing-2, 8px);
}

/* 2. 오른쪽 카드 - 주문금액 요약 */
.summary_card {
    background: #F7F7F7;
    border: none;
    border-radius: 12px;
    padding: 30px;
    width: 620px;
    height: 260px;
    box-sizing: border-box;
}

.summary_title {
    margin-bottom: 24px;
}

.summary_title span {
    font-size: var(--font-size-md, 20px);
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-gray-900, #222222);
    margin-right: var(--spacing-2, 8px);
    letter-spacing: -0.02em;
}

.summary_title strong {
    font-size: var(--font-size-md, 20px);
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-secondary, #1469E8);
    letter-spacing: -0.02em;
}

.summary_items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.summary_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    position: relative;
    width: 260px;
    height: 120px;
    box-sizing: border-box;
}

.summary_icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    object-fit: contain;
}

/* 세로 구분선 - 정중앙 */
.summary_item:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 20%;
    height: 60%;
    width: 1px;
    background: #E5E5E5;
    transform: translateX(-50%);
}

.summary_info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    flex: 1;
    line-height: 1.4;
}

.summary_info span {
    font-size: 16px;
    font-weight: 500;
    color: #666666;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}

.summary_info strong {
    font-size: 22px;
    font-weight: 700;
    color: #DE5A5A;
    letter-spacing: -0.02em;
}

/* 섹션 공통 스타일 */
.mypage_section {
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
    position: relative;
}

.section_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.section_header h2 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.smb_my_more {
    position: static;
}

.smb_my_more a {
    font-size: 14px;
    color: #666;
    text-decoration: none;
    padding: 8px 16px;
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    transition: all 0.2s;
    background: none;
    height: auto;
    line-height: normal;
}

.smb_my_more a:hover {
    background: #F7F7F7;
    color: #333;
}

/* 주문내역 테이블 스타일 */
#smb_my_od .tbl_head03 thead th {
    background: #F7F7F7;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    padding: 16px 12px;
    border-bottom: 2px solid #E5E5E5;
}

#smb_my_od .tbl_head03 tbody td {
    padding: 20px 12px;
    font-size: 14px;
    color: #666;
    border-bottom: 1px solid #F7F7F7;
}

#smb_my_od .tbl_head03 tbody tr:hover td {
    background: #F7F7F7;
}

/* 위시리스트 그리드 */
#smb_my_wish.mypage_section ul.wishlist_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

#smb_my_wish.mypage_section .wishlist_item {
    position: relative;
    background: transparent;
    border-bottom: none;
    padding: 0;
}

.wishlist_img_wrap {
    position: relative;
}

#smb_my_wish .smb_my_img {
    float: none;
    margin: 0 0 12px;
    border-radius: 8px;
    overflow: hidden;
}

#smb_my_wish .smb_my_img img {
    width: 100%;
    height: auto;
    display: block;
}

#smb_my_wish .smb_my_chk {
    position: absolute;
    top: 12px;
    left: 12px;
    float: none;
    margin: 0;
}

#smb_my_wish .wish_del {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 16px;
    color: #fff;
    background: rgba(0,0,0,0.5);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

#smb_my_wish .wish_del:hover {
    background: #FF4444;
}

.wishlist_info {
    padding: 0 8px;
}

#smb_my_wish .smb_my_tit {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    height: 42px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

#smb_my_wish .smb_my_tit a {
    color: #333;
    text-decoration: none;
}

#smb_my_wish .smb_my_tit a:hover {
    color: #1469E8;
}

#smb_my_wish .smb_my_price {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 14px;
}

.price_consumer {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
    font-weight: normal;
}

.price_sell {
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.soldout_badge {
    background: #FF4444;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
}

.empty_li {
    grid-column: 1 / -1;
    padding: 60px 20px;
    text-align: center;
    font-size: 16px;
    color: #999;
}

/* 위시리스트 액션 버튼 */
#smb_ws_act.wishlist_actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 24px 0 0;
}

#smb_ws_act.wishlist_actions button {
    width: 160px;
    height: 48px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}

#smb_ws_act.wishlist_actions .btn_cart {
    background: #fff;
    color: #666;
    border: 1px solid #E5E5E5;
}

#smb_ws_act.wishlist_actions .btn_cart:hover {
    background: #F7F7F7;
    color: #333;
}

#smb_ws_act.wishlist_actions .btn_order {
    background: #1469E8;
    color: #fff;
}

#smb_ws_act.wishlist_actions .btn_order:hover {
    background: #0F56C7;
    box-shadow: 0 4px 12px rgba(20, 105, 232, 0.3);
}

/* 반응형 */
@media (max-width: 1200px) {
    #smb_my.mypage_new25 ul.wishlist_grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    #smb_my.mypage_new25 {
        flex-direction: column;
    }
    
    #smb_my_ov.mypage_sidebar {
        width: 100%;
    }
    
    #smb_my.mypage_new25 ul.wishlist_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    #smb_my.mypage_new25 {
        padding: 0 20px 60px;
    }
    
    #smb_my.mypage_new25 ul.wishlist_grid {
        grid-template-columns: repeat(1, 1fr);
    }
}


/* 장바구니 주문서 공통 */
.od_prd_list .td_chk {}
.od_prd_list .td_prd {border-left:0;position:relative;padding-left:120px;min-height:100px}
.od_prd_list .td_prd .sod_img {position:absolute;top:25px;left:20px}
.od_prd_list .td_prd .sod_name {min-height:80px}
.od_prd_list .td_prd .prd_name {font-size:1.4em}
.od_prd_list .total_prc {color:var(--text-primary);font-weight:bold;font-size:1.4em}

.sod_opt {margin:5px 0}
.sod_opt ul {display:inline-block;margin:0;padding:0;list-style:none}
.sod_opt li {color:var(--text-primary);padding:3px 0;line-height:1.3em}
.sod_opt li:before {content:"옵션";display:inline-block;margin:1px 5px 2px 0;padding:3px;border-radius:var(--radius-sm);background:var(--color-secondary-light);line-height:1em;color:var(--color-secondary)}
.sod_option_btn .mod_options {height:30px;margin:5px 0 0;padding:0 5px;border:1px solid var(--border-default);color:var(--gray-600);background:var(--bg-white);border-radius:var(--radius-sm)}
.cp_btn {padding:0 10px;border:1px solid var(--border-default);color:var(--color-secondary);background:var(--bg-white);height:26px;border-radius:var(--radius-sm)}
.cp_cancel {padding:0 10px;border:1px solid var(--gray-400);color:var(--gray-600);background:var(--bg-white);height:26px;border-radius:var(--radius-sm)}

/* 장바구니 */
#sod_bsk {margin-bottom:30px}
.btn_cart_del {padding:20px 0;border-bottom:1px solid var(--border-default)}
.btn_cart_del button {height:30px;padding:0 10px;border:1px solid var(--border-default);border-radius:5px;background:var(--bg-white);color:var(--gray-600)}
#sod_bsk_list {position:relative}
#sod_bsk #sod_bsk_tot {border:1px solid var(--gray-800);margin:20px 0}
#sod_bsk #sod_bsk_tot ul:after {display:block;visibility:hidden;clear:both;content:""}
#sod_bsk #sod_bsk_tot li {float:left;width:33.333%;background:var(--gray-700);color:var(--text-white);border-left:1px solid var(--gray-800);text-align:right;padding:25px;font-size:1.167em}
#sod_bsk #sod_bsk_tot li:first-child {border:0}
#sod_bsk #sod_bsk_tot li span {display:inline-block;float:left}
#sod_bsk #sod_bsk_tot .sod_bsk_cnt {width:33.335%;background:var(--gray-800)}
#sod_bsk_act {text-align:center;margin-bottom:30px}
#sod_bsk_act .btn_submit {height:50px;padding:0 10px;width:160px;font-weight:bold;font-size:1.25em}
#sod_bsk_act .btn01 {height:50px;line-height:50px;padding:0 10px;width:160px;font-weight:bold;font-size:1.25em}
#sod_bsk_act p {margin:0 0 10px}

/* 장바구니 선택사항수정 */
#sod_bsk_list #mod_option_frm {z-index:10000;position:fixed;top:50%;left:50%;width:540px;height:auto !important;height:500px;max-height:500px;margin-left:-280px;
margin-top:-150px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-white);overflow-y:auto;overflow-x:inherit}
#sod_bsk_list .mod_option_bg {content:"";position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.1);display:block;z-index:9999}
#mod_option_frm h2 {border-bottom:1px solid var(--border-light);padding:0 20px;line-height:50px;font-size:1.25em}

.option_wr {padding:20px 20px 0}
.option_wr h3 {font-size:1.167em;margin-bottom:10px}
.option_wr .get_item_options,
.option_wr .get_item_supply {margin-bottom:10px}
.option_wr label {display:block;margin:10px 0 5px}
.option_wr select {width:100%;border:1px solid var(--border-default);height:48px}

#sit_opt_added {margin:0;padding:0;border-bottom:0;list-style:none}
#sit_opt_added li {padding:10px 15px;background:var(--bg-light);border:1px solid var(--border-default);margin:10px 0;position:relative}
#sit_opt_added li:after {display:block;visibility:hidden;clear:both;content:""}
#sit_opt_added li .opt_name {line-height:28px;font-weight:bold}
#sit_opt_added li .opt_count {}
#sit_opt_added button {float:left;width:30px;height:30px;border:1px solid var(--border-default);border-radius:0;background:var(--bg-white);color:var(--gray-600);font-size:0.92em}
#sit_opt_added button:hover {color:var(--text-primary)}
#sit_opt_added .num_input {float:left;border:0;height:30px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);text-align:center}
#sit_opt_added .sit_opt_del {position:absolute;right:0;top:0;font-size:15px;border:0;border-left:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
#sit_opt_added .sit_opt_del:hover {color:var(--color-danger)}
#sit_opt_added .sit_opt_prc {display:block;float:right;width:100px;padding:0 3px;text-align:right;line-height:30px;font-size:1.183em;font-weight:bold}

#mod_option_frm #sit_sel_option {margin:20px 20px 10px}
#mod_option_frm #sit_tot_price {float:left;display:inline-block;margin:0 20px 20px}
#mod_option_frm #sit_opt_added {}
#mod_option_frm .btn_confirm {float:right;display:inline-block;margin:0 20px 20px;background:yellow}
#mod_option_frm .btn_confirm .btn_submit {width:100px;height:40px;font-size:1.167em;font-weight:bold;cursor:pointer}
#mod_option_frm .btn_confirm .btn_close {position:absolute;top:0;right:0;width:50px;height:50px;border:0;background:none;font-size:1.25em;border-radius:0}
#mod_option_frm .btn_confirm .btn_close:hover {background:var(--gray-100)}

/* 주문서 작성 */
#sod_frm {}
#sod_frm p {margin:0 0 10px}
#sod_frm .od_prd_list {margin-bottom:20px}
#sod_list {position:relative}
#sod_list #cp_frm {z-index:10000;position:absolute;top:50%;left:50%;width:540px;height:auto !important;height:500px;max-height:500px;margin-left:-270px;margin-top:-150px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-white);overflow-y:auto;overflow-x:inherit}

.od_coupon h3{border-bottom: 1px solid var(--border-default);padding: 0 20px;line-height: 50px;margin: 0 0 15px;font-size: 1.25em;text-align:left;
-webkit-box-shadow: 1px 2px 2px var(--shadow-light);
-moz-box-shadow: 1px 2px 2px var(--shadow-light);
box-shadow: 1px 2px 2px var(--shadow-light);}
.od_coupon .btn_close {position: absolute;top: 0;right: 0;width: 50px;height: 50px;border: 0;background: none;border-left: 1px solid var(--border-default);font-size: 1.25em;}
.od_coupon .btn_close:hover{background:var(--gray-100)}
.od_coupon .tbl_head02{margin:20px}
.od_coupon .cp_apply{padding: 0 5px;border: 1px solid var(--color-info);color: var(--color-info);background: var(--bg-white);height: 23px;line-height: 21px;}
.od_coupon td,#sod_frm_pay .od_coupon td{text-align:left;border-left:0;padding:7px}
#sod_frm_pay .od_coupon th{width:auto;text-align:center;padding: 7px;background: var(--gray-100);border-top: 1px solid var(--border-default);border-bottom: 1px solid var(--border-default);}
.od_coupon .td_numbig,#sod_frm_pay .od_coupon .td_numbig{text-align:center;}
.od_coupon .td_mngsmall{width:60px}

/* 주문서 작성 - 왼쪽 */
.sod_left {display:inline-block;float:left;width:840px;margin-right:20px;vertical-align:top}

/* 주문서 작성 - 주문하시는 분 */
#sod_frm .tbl_frm01 {padding:20px 10px}
#sod_frm .tbl_frm01 th,#sod_frm .tbl_frm01 td {text-align:left;padding:10px;vertical-align:top}
#sod_frm .tbl_frm01 th{padding:0px 10px}
#sod_frm .tbl_frm01 td input {width:100%}
#sod_frm .tbl_frm01 td .addr input {width:20%}
#sod_frm .tbl_frm01 td .addr button {background:var(--gray-700);color:var(--text-white);width:128px;height:45px;border:0;border-radius:var(--radius-sm)}

/* 주문서 작성 - 받으시는 분 */
#sod_frm_taker .tbl_frm01 {padding:20px 10px}
#sod_frm_taker .tbl_frm01 .choice_place {display:block;background:var(--color-secondary-light);padding:10px 15px;border:1px solid var(--border-default);margin:0 10px 10px}
#sod_frm_taker .tbl_frm01 .choice_place:after {display:block;visibility:hidden;clear:both;content:""}
#sod_frm_taker .tbl_frm01 .choice_place .chk_box {float:left;display:inline-block;width:85%;line-height:30px}
#sod_frm_taker .tbl_frm01 .choice_tit {float:left;display:inline-block;width:15% !important;line-height:30px}
#sod_frm_taker .tbl_frm01 .choice_place input[type="radio"] + label span {top:7px}
#sod_frm_taker .tbl_frm01 .choice_place input,
#sod_frm_taker .tbl_frm01 .choice_place label {margin-left:10px}
#sod_frm_taker .tbl_frm01 .btn_frmline {width:80px;height:30px;line-height:28px;background:var(--bg-white);border:1px solid var(--border-default);color:var(--gray-600);text-align:center;float:right}

#sod_frm_taker .tbl_frm01 td input {width:100%}
#sod_frm_taker .tbl_frm01 td .addr input {width:20%}
#sod_frm_taker .tbl_frm01 td .addr button {background:var(--gray-700);color:var(--text-white);width:128px;height:45px;border:0;border-radius:var(--radius-sm)}
#sod_frm_taker .tbl_frm01 td .ad_choice {padding:5px 0}
#sod_frm_taker .tbl_frm01 td .ad_choice input {width:auto}

#sod_frm_orderer, #sod_frm_taker {margin:0 0 30px;border:1px solid var(--border-default);background:var(--bg-white)}
#sod_frm section h2 {border-bottom:1px solid var(--border-default);font-size:1.167em;padding:20px}
#sod_frm_orderer #od_addr_jibeon,
#sod_frm_taker #od_b_addr_jibeon {display:inline-block;margin:5px 0 0}

/* 5.4.1.3 버전이후 추가 css */
#sod_frm div.tbl_frm01, #sod_frm_taker div.tbl_frm01{padding:0px 10px !important}
#sod_frm .tbl_frm01 th, #sod_frm .tbl_frm01 td{padding:10px;line-height:45px}
#sod_frm .tbl_frm01 th{width:94px}
#sod_frm #od_name,#sod_frm #od_tel,#sod_frm #od_hp,#sod_frm #od_pwd,#sod_frm #od_b_name,#sod_frm #od_b_tel,#sod_frm #od_b_hp,#sod_frm #ad_subject,#sod_frm #od_hope_date{width:40%}
#sod_frm #od_zip,#sod_frm #od_b_zip{width:90px}
#sod_frm .tbl_frm01 td .btn_address {background:var(--gray-700);color:var(--text-white);width:128px;height:45px;border:0;border-radius:var(--radius-sm)}
#sod_frm #od_memo{min-height:100px}
#sod_frm_taker .order_choice_place{position:relative;background:var(--color-secondary-light);border:1px solid var(--border-default);padding-left:10px}
#sod_frm_taker .tbl_frm01 .btn_frmline{float:none;position:absolute;top:8px;right:10px}
#sod_frm  #sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""}
#sod_frm  #sod_bsk_tot li{position:relative;float:left;background:var(--bg-white);width:33.333%;height:70px;text-align:center;border-bottom:1px solid var(--border-light);padding:15px 0}
#sod_frm  #sod_bsk_tot li:after {display:block;visibility:hidden;clear:both;content:""}
#sod_frm  #sod_bsk_tot li span{display:block;color:var(--text-tertiary);margin-bottom:5px;font-weight:bold}
#sod_frm  #sod_bsk_tot .sod_bsk_sell,#sod_frm  #sod_bsk_tot .sod_bsk_coupon{border-right:1px solid var(--border-light)}
#sod_frm  #sod_bsk_tot .sod_bsk_point,#sod_frm  #sod_bsk_tot .sod_bsk_cnt{width:100%;clear:both;height:40px;padding:0 15px;line-height:40px;text-align:right}
#sod_frm  #sod_bsk_tot li:last-child {border-bottom:0 none}
#sod_frm  #sod_bsk_tot .sod_bsk_point span,#sod_frm  #sod_bsk_tot .sod_bsk_cnt span {float:left;margin:0}
#sod_frm  #sod_bsk_tot .sod_bsk_coupon:before{display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:var(--bg-white);color:var(--color-primary);border-radius:50%;border:1px solid var(--border-light);font-weight:bold;font-size: 16px;line-height: 14px;}
#sod_frm  #sod_bsk_tot .sod_bsk_dvr:before{display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:var(--bg-white);color:var(--color-primary);border-radius:50%;border:1px solid var(--border-light);font-weight:bold;font-size: 16px;line-height: 14px;}
#sod_frm  #sod_bsk_tot .sod_bsk_cnt strong{color:var(--color-primary);font-size:1.25em}
#sod_frm_pay {position:relative;margin:10px 0}
#sod_frm  #sod_frm_pay h2 {position:absolute;border:0;font-size:0;line-height:0;content:""}
#sod_frm_pay .pay_tbl table{width:100%;border-collapse:collapse}
#sod_frm_pay .pay_tbl th{text-align:left;padding:10px;width:80px;border-bottom:1px solid var(--border-light);background:var(--bg-white);font-weight:bold;color:var(--text-tertiary)}
#sod_frm_pay .pay_tbl td{text-align:right;padding: 10px;height:30px;border-bottom:1px solid var(--border-light);background:var(--bg-white)}
#sod_frm_pay .pay_tbl td .cp_cancel{margin:0 0 0 2px}
#sod_frm_pay .pay_tbl td .btn_frmline{padding: 0 7px;border: 1px solid var(--color-info);color: var(--color-info);background: var(--bg-white);height: 23px;line-height: 21px;margin: 0;}
#od_tot_price{margin:10px 0;background:var(--bg-white);line-height:40px;text-align:right;padding:0 10px}
#od_tot_price span{float:left;font-weight:bold}
#od_tot_price strong{font-size:1.5em;color:var(--color-primary)}
#sod_frm #sod_frm_pt_alert {margin:5px 0;color:var(--color-info) }
#od_pay_sl h3{font-size:1.167em;margin:20px 0 5px}
#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1px;}
#od_pay_sl .lb_icon {display: inline-block;float:left;width:50%;background:var(--bg-white);border:1px solid var(--border-light);margin:-1px 0 0 -1px;cursor: pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1}
#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid var(--color-primary);z-index:3}
#sod_frm_paysel {}
#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden}
#sod_frm_paysel .KPAY{background:url('../../../img/kpay.png') no-repeat 50% 50% var(--bg-white);overflow:hidden;text-indent:-999px}
#sod_frm_paysel .PAYNOW{background:url('../../../img/paynow.png') no-repeat 50% 50% var(--bg-white);overflow:hidden;text-indent:-999px}
#sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 50% 50% var(--bg-white);overflow:hidden;text-indent:-999px}
#sod_frm_paysel .inicis_lpay{background:url('../../../img/lpay_logo.png') no-repeat 50% 50% var(--bg-white);overflow:hidden;text-indent:-999px}
#sod_frm_paysel .inicis_kakaopay{position:relative;overflow:hidden;text-indent:-999px}
#sod_frm_paysel .inicis_kakaopay em{position:absolute;top:15px;left:45px;width:70px;height:30px;background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px}
#sod_frm_paysel .kakaopay_icon{background:url('../../../img/kakao.png') no-repeat 50% 50% #f4dc34;overflow:hidden;text-indent:-999px}
#sod_frm_paysel .bank_icon{background:url('../../../img/pay_icon1.png') no-repeat 15px 50% var(--bg-white)}
#sod_frm_paysel .vbank_icon{background:url('../../../img/pay_icon2.png') no-repeat 15px 50% var(--bg-white)}
#sod_frm_paysel .iche_icon{background:url('../../../img/pay_icon2.png') no-repeat 15px 50% var(--bg-white)}
#sod_frm_paysel .hp_icon{background:url('../../../img/pay_icon3.png') no-repeat 24px 50% var(--bg-white)}
#sod_frm_paysel .card_icon{background:url('../../../img/pay_icon4.png') no-repeat 17px 50% var(--bg-white)}
#forderform .sod_right #sod_bsk_tot {border:1px solid var(--border-default)}
#forderform .od_pay_buttons_el{margin-top:20px;border:1px solid var(--border-default);background:var(--bg-white);padding:10px}
#forderform .od_pay_buttons_el h3{font-size:1.167em;margin:0px 0 5px}
#forderform #sod_frm_pt{border-top:1px solid var(--border-default)}

.sod_right .pay_tbl{border:1px solid var(--border-default);border-bottom:0 none}
.sod_right #od_tot_price{border:1px solid var(--border-default)}
#sod_frm_pay .od_pay_buttons_el:after{display:block;visibility:hidden;clear:both;content:""}
#sod_frm_pay .sod_frm_point{margin-top:20px;border:1px solid var(--border-default)}
#sod_frm_pay .sod_frm_point div{background:var(--bg-white);padding:10px;text-align:left;text-align:right}
#sod_frm_pay .sod_frm_point div:after {display:block;visibility:hidden;clear:both;content:''}
#sod_frm_pay .sod_frm_point div label{float:left;line-height:30px;font-weight:bold}
#sod_frm_pay .sod_frm_point div span{display:block}
#sod_frm_pay .sod_frm_point div span:after {display:block;visibility:hidden;clear:both;content:''}
#sod_frm_pay .sod_frm_point div strong{float:left;color:var(--gray-600)}
#sod_frm_pay .sod_frm_point .max_point_box em{font-style:normal !important}
#sod_frm_pay .sod_frm_point #od_temp_point{height:30px;text-align:right;padding:0 5px;border:1px solid var(--border-default);}

/* 주문서 작성 - 오른쪽 */
.sod_right {display:inline-block;float:left;width:340px;height:100%;vertical-align:top}

.sod_right #sod_bsk_tot {border:1px solid var(--color-secondary)}
.sod_right #sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""}
.sod_right .sod_info li {position:relative;float:left;background:var(--bg-white);width:33.333%;height:70px;text-align:center;border-bottom:1px solid var(--border-light);padding:15px 0}
.sod_right .sod_info li:after {display:block;visibility:hidden;clear:both;content:""}
.sod_right .sod_info li span {display:block;color:var(--text-tertiary);margin-bottom:5px;font-weight:bold;color:var(--text-primary)}
.sod_right .sod_info .sod_bsk_sell, .sod_right .sod_info .sod_bsk_coupon {border-right:1px solid var(--border-light)}
.sod_right .sod_info .sod_bsk_coupon:before {display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:var(--bg-white);color:var(--gray-500);border-radius:50%;border:1px solid var(--border-light);font-weight:bold;font-size:16px;line-height:14px}
.sod_right .sod_info .sod_bsk_dvr:before {display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:var(--bg-white);color:var(--gray-500);border-radius:50%;border:1px solid var(--border-light);font-weight:bold;font-size:16px;line-height:14px}
.sod_right .sod_info .sod_bsk_cnt strong {font-size:1.25em}

.sod_right .sod_info_bt {clear:both;padding:10px 15px;background:var(--bg-white)}
.sod_right .sod_info_bt:after {display:block;visibility:hidden;clear:both;content:""}
.sod_right .sod_info_bt li {}
.sod_right .sod_info_bt li:after {display:block;visibility:hidden;clear:both;content:""}
.sod_right .sod_info_bt li span {display:inline-block;float:left;width:50%;line-height:28px;text-align:left;font-weight:bold;color:var(--text-primary)}
.sod_right .sod_info_bt li strong {display:inline-block;float:left;width:50%;line-height:28px;text-align:right}

.sod_right .sod_info_option {clear:both;border-top:1px solid var(--border-light)}
.sod_right .sod_info_option h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.sod_right .sod_info_option ul {padding:10px 15px;background:var(--bg-white)}
.sod_right .sod_info_option li {margin-bottom:5px}
.sod_right .sod_info_option li:after {display:block;visibility:hidden;clear:both;content:""}
.sod_right .sod_info_option .sod_ifop_tit {display:inline-block;float:left;width:50%;line-height:28px;text-align:left;font-weight:bold}
.sod_right .sod_info_option .sod_ifop_tit .btn_frmline {width:auto;height:30px;color:var(--color-secondary);background:var(--bg-white);border:1px solid var(--border-default)}
.sod_right .sod_info_option .sod_ifop_tit .cp_cancel {width:auto;height:30px;border:1px solid var(--border-default);padding:0 5px;margin-left:5px;color:var(--text-tertiary);vertical-align:baseline}
.sod_right .sod_info_option .sod_ifop_tit .od_coupon {z-index:10000;position:absolute;top:50%;left:50%;min-width:300px;height:auto !important;height:500px;max-height:500px;margin-left:-200px;margin-top:-150px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-white);overflow-y:auto;overflow-x:inherit}
.sod_right .sod_info_option .sod_ifop_tit .od_coupon>td {text-align:left}
.sod_right .sod_info_option>td, .sod_right .sod_info_option .sod_ifop_t {display:inline-block;float:left;width:50%;line-height:28px;text-align:right}
.sod_right .sod_info_option>td {text-align:right;padding:10px;height:30px}
.sod_right .sod_info_option>td .cp_cancel {margin:0 0 0 2px}
.sod_right .sod_info_option>td .btn_frmline {padding:0 7px;border:1px solid var(--color-info);color:var(--color-info);background:var(--bg-white);height:23px;line-height:21px;margin:0}


/* 주문서 작성 - 포인트사용 */
#sod_point {clear:both;background:var(--bg-white);margin-top:10px;border:1px solid var(--border-default)}
#sod_point h2 {font-size:1.167em;padding:15px;border-bottom:1px solid var(--border-default)}
#sod_point h2:after {display:block;visibility:hidden;clear:both;content:''}

#sod_point .point_tit {vertical-align:baseline;float:left;line-height:28px}
#sod_point .point_tit label {vertical-align:baseline}
#sod_point .point_ipt {float:right;display:inline-block;margin-left:35px;text-align:left;text-align:right;font-weight:normal}
#sod_point .point_ipt:after {display:block;visibility:hidden;clear:both;content:''}
#sod_point .point_ipt #od_temp_point {width:100px;height:30px;text-align:right;padding:0 5px;border:1px solid var(--input-border-color);border-radius:var(--radius-sm)}

#sod_frm_pt {padding:20px}
/*
#sod_frm_pt strong {display:inline-block;width:45%;color:#000;line-height:28px;text-align:left}
#sod_frm_pt span {display:inline-block;width:55%;color:#000;text-align:right}
#sod_frm_pt span:after {display:block;visibility:hidden;clear:both;content:''}
*/
#sod_frm_pt .max_point_box em {font-style:normal !important}

/* 주문서 작성 - 결제수단 */
/* #sod_frm_pay {position:relative;margin:10px 0 0;background:#fff;border:1px solid #e3e5e8} */
#sod_frm_pay {position:relative;margin:10px 0 0}
#sod_frm_pay h2 {font-size:1.167em;padding:15px;border-bottom:1px solid #e3e5e8}
#sod_frm_pay .tooltip_txt {height:auto;line-height:18px;font-weight:normal;font-size:1em;padding:10px 20px;margin:10px}
#sod_frm_pay .tooltip_txt i {float:left;line-height:36px;font-size:2em;margin-right:15px}
#sod_frm_pay .tooltip_txt:before {height:100%}
#sod_frm_pay input[type="radio"] {}
#sod_frm_pay .lb_icon {display:inline-block;position:relative;cursor:pointer;z-index:1}
#sod_frm_pay input[type="radio"]:checked+.lb_icon {color:#3a8afd;z-index:3}
#sod_frm_pay input[type="radio"] + label span {top:7px}

#sod_frm_paysel {}
#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden}
/*
#sod_frm_paysel .PAYCO {display:inline-block;width:75px;background:url('../../../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #fa1417}
#sod_frm_paysel .PAYNOW {display:inline-block;width:75px;background:url('../../../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #c01734}
#sod_frm_paysel .kakaopay_icon {display:inline-block;width:60px;background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px}
#sod_frm_paysel .KPAY {display:inline-block;width:58px;background:url('../../../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #22096a}
#sod_frm_paysel .inicis_lpay {display:inline-block;width:50px;background:url('../../../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #009bd7}
*/
#sod_frm_paysel ul.pay_way {margin:0;padding:15px}
#sod_frm_paysel ul.pay_way input[type="radio"] + label span {top:7px}
#sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""}
#sod_frm_paysel li {position:relative;line-height:28px;text-align:left;list-style:none}

#settle_bank {border:1px solid #e3e5e8;border-top:0 none;background:#fff;padding:10px;clear:both;line-height:32px}
#settle_bank:after {display:block;visibility:hidden;clear:both;content:''}
#settle_bank label {float:left;width:30%;line-height:30px}
#settle_bank select, #settle_bank input {width:70%;height:32px;margin:0 0 5px;border:1px solid #e3e5e8;border-radius:3px;text-align:left}
#settle_bank option {padding:3px 0}
#settle_bank #od_deposit_name {height:32px;padding:0 5px;border:1px solid #e3e5e8}

#display_pay_button {background:#fff;padding:20px;border:1px solid #e3e5e8;border-top:0}
#display_pay_button .btn_submit {width:100%;height:50px;font-weight:bold;font-size:1.25em;cursor:pointer;border:1px solid #3a8afd}
#display_pay_button .btn01 {width:100%;height:50px;line-height:38px;font-weight:bold;font-size:1.25em;margin:5px 0;border:1px solid #ccd1d9}

.display_setup_message {margin:0 0 10px;padding:15px;border:1px solid #fccdff;background:#ffeef9}
.display_setup_message strong {display:block;margin:0 0 10px}

#sod_frm_taker td input[type="radio"], #sod_frm_taker td input[type="checkbox"]{width:auto;-webkit-appearance:radio;-webkit-border-radius:initial}
#sod_frm_taker label {display:inline-block;font-weight:normal;margin-right:1em}
#sod_frm_same {margin:0 0 10px}

#sod_frm #display_pay_process {text-align:center}
#sod_frm #display_pay_process span {display:block;margin:5px 0 0}

#od_tot_price {background:var(--color-secondary-light);line-height:20px;text-align:right;padding:15px}
#od_tot_price span {float:left;font-weight:bold}
#od_tot_price strong {font-size:1.5em;color:var(--color-primary)}
#sod_frm_pay_info {margin:0 0 10px}

#sod_frm_pay #sc_coupon_frm, #sod_frm_pay #od_coupon_frm {z-index:10000;position:absolute;top:0;right:0;width:500px;height:auto !important;height:500px;max-height:500px;border:1px solid var(--text-primary);background:var(--bg-white);overflow-y:auto}
#sod_frm_deli {position:relative;line-height:2em}

#sod_frm_escrow {margin:30px 0 0}
#sod_frm #sod_frm_escrow h2 {margin:0;border:0}
#sod_frm #sod_frm_escrow p {margin:5px 0}
#display_pay_process {padding:20px;text-align:center}
/* 위시리스트 */
#sod_ws {}
.sod_ws_img {width:90px;text-align:center}
#sod_ws_act {text-align:center;margin:20px 0 30px}
#sod_ws_act button {height:50px;width:180px;font-weight:bold;font-size:1.167em;border-radius:var(--radius-sm)}
#sod_ws_act .btn01 {border:1px solid var(--gray-400)}
#sod_ws_act .btn02 {border:1px solid var(--color-secondary);background:var(--color-secondary)}

#sod_ws li .info_link {display:block;margin:10px 0 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:var(--gray-600);font-weight:bold}
#sod_ws li .info_date {color:var(--gray-600);font-size:0.92em}
#sod_ws li .wish_chk {position:absolute;top:0;left:0;width:30px;text-align:center;line-height:35px;color:var(--color-danger)}
#sod_ws li .wish_info {padding:0 35px 10px 30px;position:relative;border-bottom:1px solid var(--border-light);margin-top:10px;height:45px}
#sod_ws li .wish_del {position:absolute;top:0;right:0;width:35px;height:35px;line-height:35px;text-align:center;background:var(--gray-200);display:block;font-size:1.25em;color:var(--text-tertiary)}
#sod_ws li .wish_del:hover {background:var(--text-tertiary);color:var(--text-white)}

/* 배송지 목록 */
#sod_addr .tbl_wrap {margin:30px}
#sod_addr .td_mng .sel_address {color:var(--text-white);background:var(--text-white);border:1px solid var(--color-success);color:var(--color-success);padding:0 5px;height:26px;border-radius:var(--radius-sm)}
#sod_addr .td_mng .del_address {display:inline-block;border:1px solid var(--gray-400);color:var(--gray-500);padding:0 5px;height:26px;line-height:24px;vertical-align:middle;border-radius:var(--radius-sm)}
#sod_addr input[type="radio"] {position:absolute;left:0;z-index:-1;visibility:hidden;width:0;height:0;overflow:hidden;text-indent:-999px}
#sod_addr .default_lb {display:inline-block;background:var(--bg-white);border:1px solid var(--color-secondary);color:var(--color-secondary);cursor:pointer;position:relative;padding:0 5px;height:26px;line-height:24px;border-radius:var(--radius-sm)}
#sod_addr input[type="radio"]:checked+.default_lb {background:var(--color-secondary);color:var(--text-white)}
#sod_addr td {height:40px;vertical-align:top}
#sod_addr .td_name {width:100px}
#sod_addr .frm_input {height:30px}
#sod_addr .td_sbj {width:155px;text-align:left}
#sod_addr .td_sbj .chk_box {display:inline-block;float:left}
#sod_addr .td_sbj .chk_box input[type="checkbox"]:checked + label span {background:url(../img/chk.png) no-repeat 50% 50% var(--color-secondary);border-color:var(--color-secondary);border-radius:var(--radius-sm)}
#sod_addr .ad_tel {display:block;color:var(--gray-600)}
#sod_addr .td_mng {width:100px;padding:10px}
#sod_addr .td_mng .mng_btn {width:100%;margin:2px 0}

/* 주문내역 */
#sod_v {margin-bottom:30px}
#sod_v:after {display:block;visibility:hidden;clear:both;content:''}
#sod_v td {text-align:center}
#sod_v td a {font-weight:bold}
#sod_v .basic_tbl {text-align:center}
.status_01 {display:inline-block;background:var(--color-success-light);color:var(--color-success);padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px}
.status_02 {display:inline-block;background:var(--color-success);color:var(--text-white);padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px}
.status_03 {display:inline-block;background:var(--color-info-light);color:var(--color-info);padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px}
.status_04 {display:inline-block;background:var(--color-secondary-light);color:var(--color-secondary);padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px}
.status_05 {display:inline-block;background:var(--color-secondary);color:var(--text-white);padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px}
.status_06 {display:inline-block;background:var(--bg-white);color:var(--color-danger);padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px}

/* 주문상세내역 */
#sod_fin {}
#sod_fin_no {margin:0 0 20px;padding:15px;border:1px solid var(--border-default);background:var(--color-secondary-light);font-size:1.2em;border-radius:5px;color:var(--color-secondary)}

#sod_sts_wrap {margin:0 0 10px;text-align:right}
#sod_sts_explan {display:none}

#sod_fin_legend {padding:20px;line-height:20px;background:var(--bg-white);margin:10px 0;border:1px solid var(--border-light);text-align:left}
#sod_fin_legend:after {display:block;visibility:hidden;clear:both;content:''}
#sod_fin_legend dt {clear:both;float:left;margin:0 0 5px;width:50px;font-weight:bold}
#sod_fin_legend dd {float:left;margin:0}

#sod_fin #sod_bsk_tot li {background:var(--bg-white);border-bottom:1px solid var(--border-light);height:40px;padding:0 15px;line-height:40px;text-align:right}
#sod_fin #sod_bsk_tot li span {float:left;clear:both;color:var(--text-tertiary)}
#sod_fin #sod_bsk_tot li strong {}
#sod_fin #sod_bsk_tot .sod_bsk_cnt strong {color:var(--color-primary);font-size:1.25em}

#sod_bsk_tot2 {border:1px solid var(--color-secondary);margin-bottom:20px}
#sod_bsk_tot2 li {background:var(--bg-white);padding:0 15px;line-height:40px;text-align:right}
#sod_bsk_tot2 li span {float:left;clear:both;font-size:1em}
#sod_bsk_tot2 li strong {font-size:1em}
#sod_bsk_tot2 li.sod_fin_tot {background:var(--color-secondary-light);border-top:1px solid var(--border-default)}
#sod_bsk_tot2 li#alrdy {border-bottom:0 !important}
#sod_bsk_tot2 li#alrdy div {padding:5px 0 15px;text-align:right}
#sod_bsk_tot2 li#alrdy div p {position:relative;background:var(--gray-200);padding:0 10px;margin-bottom:1px}
#sod_bsk_tot2 li.sod_fin_tot strong {color:var(--color-secondary);font-size:1.2em}

#request_form {position:relative}
#request_form div {display:none;z-index:10000;position:absolute;top:23px;left:0;padding:20px 0;width:520px;border:1px solid var(--text-primary);background:var(--gray-100);text-align:center}
#request_form .frm_input {width:300px;background:var(--bg-white) !important}
#request_form .btn_frmline, #request_form .btn_cancel {vertical-align:middle !important}
#request_form .btn_frmline {padding:0 10px;line-height:1.6em}

#sod_req_btn {margin:0 0 10px}
#sod_req_btn button {background:var(--gray-600)}

#sod_req_log {margin:0 0 20px}
#sod_req_log ul {margin:0;padding:0;border-top:1px solid var(--border-light);background:var(--gray-100);list-style:none}
#sod_req_log li {padding:10px 10px 20px;border:1px solid var(--border-light);border-top:0}
#sod_req_log h3 {margin:20px 0 10px}
.sod_req_log_view table {margin:0}
.sod_req_log_view caption {padding:10px 0;font-size:1em;font-weight:bold;text-align:left;line-height:1em}
.sod_req_log_view caption span {color:var(--color-danger)}
.sod_req_log_view th {border-top:1px solid var(--border-light);background:var(--bg-light) !important;color:var(--text-primary) !important;text-align:center}
.sod_req_log_view td {background:var(--bg-white);color:var(--text-primary)}
.sod_req_log_view p {padding:10px 15px;border-bottom:1px solid var(--border-light);background:var(--bg-white);color:var(--text-primary)}
.sod_req_log_view .sod_req_it {width:270px}
.sod_req_log_view button {margin:0;padding:0;border:0;background:transparent;color:var(--color-danger);text-decoration:underline;vertical-align:middle;cursor:pointer}

#sod_fin_list h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#sod_fin_list .td_prd {border-left:0;position:relative;padding-left:90px;min-height:100px}
#sod_fin_list .sod_img {position:absolute;top:25px;left:20px}
#sod_fin_list .sod_name a {font-weight:bold;line-height:1.5em}
#sod_fin_list .sod_name .sod_opt:before {content:"옵션";display:inline-block;margin:1px 5px 2px 0;padding:3px;border-radius:var(--radius-sm);background:var(--color-secondary-light);line-height:1em;color:var(--color-secondary)}
#sod_fin_list #th_itst {width:80px}

#sod_fin_view {border:1px solid var(--border-light)}
#sod_fin_view h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#sod_fin_view h3 {margin:0 0 10px}
#sod_fin_view .basic_tbl th {padding:0 10px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:var(--gray-100);text-align:left}

#sod_fin_pay {margin:0 0 20px;background:var(--bg-white);border:1px solid var(--border-default)}
#sod_fin_pay h3 {background:var(--bg-white);font-size:1.167em;padding:15px 20px;border-bottom:1px solid var(--border-default)}
#sod_fin_pay ul {margin:0;padding:15px 20px}
#sod_fin_pay li {line-height:24px;padding:5px 0}
#sod_fin_pay li:after {display:block;visibility:hidden;clear:both;content:""}
#sod_fin_pay li>span, #sod_fin_pay li>strong {display:inline-block;float:left}
#sod_fin_pay li>strong {margin-right:10px;width:50px}
#sod_fin_pay li>span {width:238px}
#sod_fin_pay li .letter-2px{letter-spacing:-2px}
a.btn_frmline.is-long-text{height:auto;width:160px}

#sod_fin_orderer, #sod_fin_receiver, #sod_fin_dvr {margin:0 0 20px}
#sod_fin_orderer .tbl_wrap, #sod_fin_receiver .tbl_wrap, #sod_fin_dvr .tbl_wrap {padding:20px}
#sod_fin_dvr .tbl_wrap {padding:20px}
#sod_fin .sod_left h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#sod_fin .sod_left h3 {background:var(--bg-white);font-size:1.167em;padding:15px 20px;border:1px solid var(--border-default);border-bottom:0}
#sod_fin .sod_left .tbl_head01 {background:var(--bg-white);border:1px solid var(--border-default)}
#sod_fin .sod_left th {padding:10px 0;border:0;text-align:left;width:100px;color:var(--gray-600);background:var(--bg-white)}
#sod_fin .sod_left td {padding:10px 0;border:0;background:var(--bg-white)}

#sod_fin_dvr .dvr_link {color:var(--color-danger);text-decoration:underline}

#sod_fin_cancel {text-align:center}
#sod_fin_cancel .sod_fin_c_btn {height:50px;border:1px solid var(--gray-400);border-radius:var(--radius-sm);font-weight:bold;width:100%;background:none;color:var(--gray-600)}
#sod_fin_cancel .sod_fin_c_btn:hover {background:var(--bg-white)}
#sod_fin_cancel h2 {padding:15px;border-bottom:1px solid var(--border-light);text-align:left}
#sod_fin_cancel p {text-align:center;background:var(--color-danger-light);border:2px solid var(--color-danger);padding:15px;color:var(--color-danger);font-size:1.167em;font-weight:bold}

#sod_cancel_pop {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
#sod_fin_cancelfrm {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:245px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}  
#sod_fin_cancelfrm form {padding:20px}
.sod_fin_bg {background:rgba(0,0,0,0.1);width:100%;height:100%}
.sod_cls_btn {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}

#sod_fin_cancelfrm .frm_input {background:#fff;margin:0 0 5px;width:100%}
#sod_fin_cancelfrm .btn_frmline {background:#5e6b6f;color:#fff;border:0;padding:10px;width:100%;cursor:pointer}
#sod_fin_test {padding:10px}

/* 주문상세내역 중 현금영수증 발급 */
#scash {}
#scash section {padding:10px 0}
#scash h2 {margin:0 0 10px;text-align:center}
#scash .basic_tbl th {padding:0 10px;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#f2f5f9;text-align:left}
#scash_apply {padding:10px 0 20px;text-align:center}
#scash_apply button {padding:10px;border:0;background:#565e60;color:#fff}
#scash_copy {text-align:center}

/* 배너 인덱스 출력 */
#sbn_idx {}

/* 쇼핑몰 이벤트 */
#sev {}
.sev_admin {margin:0 0 10px;text-align:right}
.sev_admin a {line-height:35px;padding:0 10px}

/* 쿠폰 */
#coupon {text-align:center}
#coupon h1 {text-align:left}
#coupon ul:after {display:block;visibility:hidden;clear:both;content:""}
#coupon li {padding:15px;border-bottom:1px solid #ececec;text-align:left}
#coupon .cou_top {margin-bottom:10px}
#coupon .cou_tit {font-size:1.25em;font-weight:bold}
#coupon .cou_pri {font-size:1.25em;color:#3a8afd;font-weight:bold;float:right}
#coupon .cou_target {color:#8cc152;background:#edfbde;padding:5px;line-height:20px;font-size:0.92em;border-radius:5px}
#coupon .cou_date {float:right;color:#888d92}
#coupon .btn_close {margin:20px auto}

/* 모바일일때 피시버전 주문폼 */
.sod_frm_mobile .sod_list{margin:10px 0}
.sod_frm_mobile .sod_list .sod_li{background:#fff;border-bottom:1px solid #e5e5e5;margin:10px 0}
.sod_frm_mobile .sod_list .li_name{font-size:1.083em}
.sod_frm_mobile .sod_list .li_op_wr{position:relative;padding:10px 10px 0 110px;min-height:75px}
.sod_frm_mobile .sod_list .li_op_wr .chk_box{position:absolute;top:10px;left:10px}
.sod_frm_mobile .sod_list .total_img{position:absolute;top:10px;left:35px}
.sod_frm_mobile .sod_list .mod_options{padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#606060;background:#fff;line-height:24px;margin:5px 0 0;font-size:.923em}
.sod_frm_mobile .sod_list .li_prqty{padding:10px;border-top:1px solid #f8f8f8}
.sod_frm_mobile .sod_list .li_prqty:after{display:block;visibility:hidden;clear:both;content:''}
.sod_frm_mobile .sod_list .li_prqty_sp{float:left;width:50%;display:block;line-height:20px;padding:0 5px;text-align:right}
.sod_frm_mobile .sod_list .li_prqty_sp span{float:left;color:#696969}
.sod_frm_mobile .sod_list .prqty_sc,.sod_frm_mobile .sod_list .prqty_price{border-right:1px solid #e5e5e5}
.sod_frm_mobile .sod_list .total_price{background:#f2f7ff;display:block;clear:both;margin:0 10px 10px;text-align:right;padding:5px 10px;line-height:20px}
.sod_frm_mobile .sod_list .total_price span{float:left}
.sod_frm_mobile .sod_list .total_price strong{font-size:1.25em;color:#3a8afd}
.sod_frm_mobile .sod_opt{padding:5px 10px 5px 35px}
.sod_frm_mobile .sod_opt li{color:#777;margin:3px 0;line-height:1.3em}
.sod_frm_mobile .sod_opt li:before{content:"옵션";display:inline-block;margin:1px 5px 2px 0;font-size:11px;padding:0 5px;border-radius:3px;background:#e2eaf6;line-height:20px;color:#3a8afd}
.sod_frm_mobile .sod_opt .opt_name:before{content:"옵션";display:inline-block;margin:1px 5px 2px 0;font-size:11px;padding:0 5px;border-radius:3px;background:#e2eaf6;line-height:20px;color:#3a8afd}
.sod_frm_mobile #sod_frm_orderer,.sod_frm_mobile #sod_frm_taker{margin:0 0 30px;border:1px solid #e3e5e8;background:#fff}
.sod_frm_mobile #sod_frm_orderer #od_addr_jibeon,.sod_frm_mobile #sod_frm_taker #od_b_addr_jibeon{display:inline-block;margin:5px 0 0}
.sod_frm_mobile #m_sod_bsk_tot{background:#4a505a;color:#fff}
.sod_frm_mobile #m_sod_bsk_tot:after{display:block;visibility:hidden;clear:both;content:""}
.sod_frm_mobile #m_sod_bsk_tot dt{float:left;width:40%;padding:10px;line-height:20px;clear:both}
.sod_frm_mobile #m_sod_bsk_tot dd{float:left;width:60%;padding:10px;text-align:right;line-height:20px}
.sod_frm_mobile #m_sod_bsk_tot .sod_bsk_cnt{font-weight:700;margin-top:5px;line-height:25px;background:#212a37}
.sod_frm_mobile #m_sod_bsk_tot .sod_bsk_cnt strong{color:#3a8afd;font-size:1.25em}
.sod_frm_mobile .sod_list .li_op_wr{padding-left:100px}
.sod_frm_mobile .sod_list .total_img{left:10px}
.sod_frm_mobile .sod_opt{padding-left:10px}
.sod_frm_mobile #m_sod_frm_paysel{margin:10px 0}
.sod_frm_mobile #m_sod_frm_paysel h3{background:#fff;padding:15px 10px;border:1px solid #e3e5e8;border-bottom:0}
.sod_frm_mobile #m_sod_frm_paysel ul{margin:0;background:#fff;padding:10px;border:1px solid #e3e5e8}
.sod_frm_mobile #m_sod_frm_paysel ul:after{display:block;visibility:hidden;clear:both;content:""}
.sod_frm_mobile #m_sod_frm_paysel li{float:left;padding:5px;width:46%;height:25px}
.sod_frm_mobile #m_sod_frm_paysel .KPAY{background:url(../../../img/kpay.png) no-repeat;width:37px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
.sod_frm_mobile #m_sod_frm_paysel .PAYNOW{background:url(../../../img/paynow.png) no-repeat;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
.sod_frm_mobile #m_sod_frm_paysel .PAYCO{background:url(../../../img/payco.png) no-repeat 1px;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
.sod_frm_mobile #m_sod_frm_paysel .inicis_lpay{background:url(../../../img/lpay_logo.png) no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%}
.sod_frm_mobile #m_sod_frm_paysel .inicis_kakaopay{background:url(../../../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
.sod_frm_mobile #m_sod_frm_paysel .kakaopay_icon{background:url(../../../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto}
.sod_frm_mobile #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url(../../../img/samsungpay.png) no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px}
.sod_frm_mobile #sod_frm_pay{border-top:1px solid #f3f3f3}
.sod_frm_mobile #sod_frm_pay h2{margin:10px 0;font-size:1.25em}
.sod_frm_mobile #sod_frm_pay .cp_btn1,.sod_frm_mobile #sod_frm_pay .cp_cancel1{margin-top:0}
.sod_frm_mobile .odf_tbl{position:relative}
.sod_frm_mobile .odf_tbl table{background:#fff;width:100%;border-collapse:collapse;border-bottom:1px solid #ccc}
.sod_frm_mobile .odf_tbl table th{border-top:1px solid #eceff4;padding:10px;text-align:left;width:120px;font-weight:400}
.sod_frm_mobile .odf_tbl table td{border-top:1px solid #eceff4;padding:7px 10px;text-align:right}
.sod_frm_mobile#sod_frm #sod_frm_pt_alert{margin:10px 0;text-align:left;color:#fff;line-height:18px;background:#f2838f;padding:10px 10px 10px 13px;border-radius:5px;position:relative}
.sod_frm_mobile #sod_frm_pt_alert::before{content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453;height:100%}
.sod_frm_mobile#sod_frm .sod_frm_point{padding:10px 0;clear:both;border:0 none}
.sod_frm_mobile .sod_frm_point div{background:#fff;border:1px solid #e3e5e8;padding:10px;text-align:right}
.sod_frm_mobile .sod_frm_point div:after{display:block;visibility:hidden;clear:both;content:''}
.sod_frm_mobile .sod_frm_point div label{float:left;line-height:30px}
.sod_frm_mobile .sod_frm_point div span{display:block;margin:5px 0}
.sod_frm_mobile .sod_frm_point div span:after{display:block;visibility:hidden;clear:both;content:''}
.sod_frm_mobile .sod_frm_point .max_point_box em{font-style:normal!important}
.sod_frm_mobile .sod_frm_point div strong{float:left;color:#666;font-weight:400}
.sod_frm_mobile .sod_frm_point #od_temp_point{height:30px;border:1px solid #d0d3db;text-align:right;background:#fff;border-radius:3px;-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1)}
.sod_frm_mobile #settle_bank{background:#fff;border:1px solid #e3e5e8;padding:10px;clear:both;line-height:30px}
.sod_frm_mobile #settle_bank:after{display:block;visibility:hidden;clear:both;content:''}
.sod_frm_mobile #settle_bank select{height:30px;margin:0 0 5px;width:100%;border:1px solid #d0d3db}
.sod_frm_mobile #settle_bank #od_deposit_name{height:30px;border:1px solid #d0d3db;text-align:center;border-radius:3px;float:right;-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1)}
.sod_frm_mobile #settle_bank label{float:left;line-height:30px}
.sod_frm_mobile #sod_frm_pt_info{border-top:0}
.sod_frm_mobile .od_coupon{position:absolute;top:0;left:0;background:#fff;width:100%;z-index:99;border-radius:0 0 3px 3px;-webkit-box-shadow:1px 1px 5px rgba(0,0,0,0.4);-moz-box-shadow:1px 1px 5px rgba(0,0,0,0.4);box-shadow:1px 1px 5px rgba(0,0,0,0.4)}
.sod_frm_mobile .od_coupon h3{height:45px;line-height:45px;font-size:1.167em;background:#333;color:#fff;padding:0 15px;text-align:left}
.sod_frm_mobile .od_coupon .tbl_head02 .btn_frmline{background:#3b67c2;color:#fff;border:0;padding:0 5px;line-height:25px}
.sod_frm_mobile .od_coupon .tbl_head02 td{text-align:left}
.sod_frm_mobile .od_coupon .tbl_head02 th{width:auto!important}
.sod_frm_mobile .od_coupon .tbl_head02 .td_mngsmall{width:60px;text-align:center}
.sod_frm_mobile .od_coupon .tbl_head02 .td_numbig{width:80px;text-align:right}
.sod_frm_mobile .od_coupon .btn_confirm{margin:20px}
.sod_frm_mobile .od_coupon .btn_confirm .btn_submit{height:40px;font-size:1.167em;font-weight:700;width:100%}
.sod_frm_mobile .od_coupon .btn_confirm .btn_close{position:absolute;top:0;right:0;width:45px;height:45px;border:0;background:none;color:#fff;font-size:1.25em}
.sod_frm_mobile .cp_btn,.sod_frm_mobile .cp_btn1{padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#3a8afd;background:#fff;line-height:24px;margin:5px 0 0;font-size:.923em}
.sod_frm_mobile .cp_apply{padding:0 5px;border:1px solid #3a8afd;color:#3a8afd;background:#fff;height:23px;line-height:21px}
.sod_frm_mobile .cp_cancel,.sod_frm_mobile .cp_cancel1{padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#aaa;background:#fff;line-height:24px;margin:5px 0 0 2px;font-size:.923em}
.sod_frm_mobile #sod_frm_escrow{margin:10px}
.sod_frm_mobile #sod_frm_escrow h2{font-size:1.25em}
.sod_frm_mobile #od_pay_sl h3{font-size:1.25em}
.sod_frm_mobile .sod_list .li_name{border-bottom:1px solid #dcdcdc;line-height:1.3em;padding:10px;font-size:1.083em}
#sod_frm.sod_frm_mobile .odf_list .frm_input{width:100%!important}
#sod_frm.sod_frm_mobile input[type="radio"],.sod_frm_mobile #sod_frm.sod_frm_mobile input[type="checkbox"]{width:auto;-webkit-appearance:radio;-webkit-border-radius:initial}
#sod_frm.sod_frm_mobile #od_memo{min-height:50px}
.sod_frm_mobile .od_prd_list{margin:10px;background:#fff;padding:15px}
.sod_frm_mobile .od_prd_list .td_chk{border-left:0}
.sod_frm_mobile .od_prd_list .td_prd{border-left:0;position:relative;padding-left:90px;min-height:100px}
.sod_frm_mobile .od_prd_list .td_prd .sod_img{position:absolute;top:15px;left:0}
.sod_frm_mobile .od_prd_list .td_prd .sod_name{min-height:80px}
.sod_frm_mobile .od_prd_list .td_prd .prd_name{font-size:1.167em}
.sod_frm_mobile .od_prd_list .total_prc{color:#ff006c;font-weight:700;font-size:1.167em}
.sod_frm_mobile #sod_frm_orderer{padding:10px;border-bottom:1px solid #d6d3d3}
.sod_frm_mobile #sod_frm_taker{padding:10px;border-bottom:1px solid #d6d3d3;border-top:1px solid #f3f3f3}
.sod_frm_mobile #sod_frm_taker h2,.sod_frm_mobile #sod_frm_orderer h2{margin:10px 0;font-size:1.25em}
.sod_frm_mobile .odf_list label,.sod_frm_mobile .odf_list strong{display:block;margin:7px 0 5px;color:#444;font-weight:400}
.sod_frm_mobile .odf_list .frm_input{width:100%;margin:0 0 5px}
.sod_frm_mobile .odf_list .dlv_slt{background:#edf3fc;position:relative;border:1px solid #d1ddee;margin:5px 0;padding:10px}
.sod_frm_mobile .odf_list .dlv_slt strong{margin:0;font-weight:700;line-height:30px}
.sod_frm_mobile .odf_list .dlv_slt div label{display:inline-block;margin:3px 0;color:#000}
.sod_frm_mobile #order_address{display:block;position:absolute;top:5px;right:5px;text-align:center;border:1px solid #d4d6db;background:#fff;border-radius:3px;color:#606060;height:30px;line-height:28px;margin:5px 0 0;padding:0 5px}
.sod_frm_mobile .odf_list .ad_default{display:inline-block;margin:0}
.sod_frm_mobile .odf_list .btn_addsch{position:absolute;top:5px;right:5px;border-radius:3px;height:30px}
.sod_frm_mobile .odf_list .add_num{position:relative;display:block}
.sod_frm_mobile .odf_list textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:70px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
.sod_frm_mobile .sod_ta_wr{background:#fff;margin-bottom:1em}
.sod_frm_mobile .btn_confirm{margin:0 0 10px}
.sod_frm_mobile .btn_submit{width:100%;height:45px;font-size:1.167em;font-weight:700;margin:5px 0;border-radius:4px}
.sod_frm_mobile .btn_cancel,.sod_frm_mobile .btn01{width:100%;height:45px;line-height:43px;font-size:1.167em;font-weight:700;padding:0;border-radius:4px}
.sod_frm_mobile #sod_frm_escrow{margin:10px}
.sod_frm_mobile #sod_frm_escrow h2{font-size:1.25em}
.sod_frm_mobile #od_pay_sl h3{font-size:1.25em}
.sod_frm_mobile #od_tot_price{background:none;font-weight:700}

html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_frm {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#sod_frm_pay_info {margin:0 0 10px}

/* 네이버페이 */
.itemform-naverpay {margin:15px 0;clear:both}
.cart-naverpay {margin-top:15px}

/* theme.config.php 파일에서 G5_COMMUNITY_USE 를 false로 한 경우 1:1 문의와 게시판 css 처리 */
#bo_list table td, #fqalist table td {border-left:0;border-right:0}
#bo_v_top .btn_admin, #bo_list .btn_admin {padding-top:0}

/* 개인결제 */
.pesonal {background:#fff;border:1px solid #e3e5e8;margin-bottom:30px}
.pesonal h2 {border-bottom:1px solid #e2e4e7;font-size:1.167em;padding:20px}
.pesonal .tbl_frm01 {padding:20px 10px;margin:0}
.pesonal th {text-align:left}
.pesonal td {text-align:left;font-weight:bold}
.pesonal td input {width:100%}
.pesonal .half_tr {width:50%}

#personal_pay {background:#fff;border:1px solid #e3e5e8}
#personal_pay h2 {background:#fff;border-bottom:1px solid #e2e4e7;font-size:1.167em;padding:20px}
#personal_pay input[type="radio"] {}
#personal_pay .lb_icon {position:relative;display:inline-block;cursor:pointer;z-index:1}
#personal_pay input[type="radio"]:checked+.lb_icon {z-index:3}

#personal_pay legend {position:absolute;font-size:0;line-height:0;overflow:hidden}
#personal_pay .KPAY {width:58px;background:url('../../../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px}
#personal_pay .PAYNOW {width:75px;background:url('../../../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px}
#personal_pay .PAYCO {width:75px;background:url('../../../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px}
#personal_pay .kakaopay_icon {width:60px;background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px}
#personal_pay .pay_way {border-bottom:1px solid #e2e4e7}
#personal_pay #display_pay_button {border:0}


/* input, radio */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70}
.chk_box input[type="checkbox"] + label:hover{color:#2172f8}
.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url('../img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}

.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70}
.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#fff;border:1px solid #cdd6df;border-radius:50%}
.chk_box input[type="radio"]:checked + label {color:#305af9}
.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#305af9;content:'';position:absolute;top:3px;left:3px;border-radius:50%}

/* ====================================
   전체메뉴 모달 스타일
==================================== */
.all-menu-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: none;
}

.all-menu-modal.active {
    display: block;
}

/* 배경 오버레이 */
.all-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    cursor: pointer;
    z-index: 10000;
}

/* 메뉴 컨텐츠 */
.all-menu-content {
    position: fixed;
    top: 240px;
    left: 50%;
    transform: translateX(-50%);
    width: 1600px;
    max-width: 95%;
    height: auto;
    max-height: calc(100vh - 280px);
    background: white;
    border-radius: 50px;
    border: 1px solid #dedede;
    overflow: visible;
    padding: 0;
    z-index: 10001;
}

/* 닫기 버튼 */
.all-menu-close {
    position: absolute;
    top: 8px;
    right: 30px;
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10002;
    padding: 0;
}

.all-menu-close svg {
    display: block;
    width: 24px;
    height: 24px;
}

.all-menu-close:hover svg path {
    stroke: #666;
}

/* 상단 아이콘 영역 */
.all-menu-top {
    background: #f4f4f4;
    border-radius: 50px 50px 0 0;
    padding: 50px 80px;
}

.menu-icon-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-icon-list li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #333333;
    transition: opacity 0.2s;
}

.menu-icon-list li a:hover {
    opacity: 0.7;
}

.menu-icon-list .icon-wrap {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-icon-list .icon-wrap img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.menu-icon-list li span {
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 17px;
    text-align: center;
    color: #333333;
}

/* 메뉴 섹션 */
.all-menu-section {
    padding: 32px 80px 30px 80px;
}

.all-menu-section:first-of-type {
    padding-top: 32px;
}

.all-menu-section:last-of-type {
    padding-bottom: 50px;
}

.menu-section-title {
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: normal;
    color: #000000;
    letter-spacing: -1.08px;
    text-align: center;
    margin: 0 0 33px 0;
}

/* 카테고리 목록 */
.menu-category-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-category-list li a {
    display: inline-block;
    padding: 10px 12px;
    background: #f7f7f7;
    border-radius: 20px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: normal;
    color: #4c4c3f;
    text-decoration: none;
    transition: all 0.2s;
}

.menu-category-list li a:hover {
    background: #1469e8;
    color: white;
}

/* 반응형 처리 */
@media (max-width: 1680px) {
    .all-menu-content {
        width: 1400px;
    }
    
    .menu-icon-list {
        gap: 35px;
    }
}

@media (max-width: 1440px) {
    .all-menu-content {
        width: 1200px;
    }
    
    .all-menu-top,
    .all-menu-section {
        padding-left: 60px;
        padding-right: 60px;
    }
    
    .menu-icon-list {
        gap: 30px;
    }
}

@media (max-width: 1280px) {
    .all-menu-content {
        width: 100%;
        max-width: 1100px;
    }
    
    .menu-icon-list {
        gap: 25px;
    }
    
    .menu-icon-list .icon-wrap {
        width: 50px;
        height: 50px;
    }
    
    .menu-icon-list li span {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .all-menu-content {
        border-radius: 30px;
    }
    
    .all-menu-top {
        border-radius: 30px 30px 0 0;
        padding: 30px 20px;
    }
    
    .all-menu-section {
        padding: 20px;
    }
    
    .menu-icon-list {
        gap: 20px;
        flex-wrap: wrap;
    }
    
    .menu-icon-list .icon-wrap {
        width: 40px;
        height: 40px;
    }
    
    .menu-icon-list li span {
        font-size: 12px;
    }
    
    .menu-section-title {
        font-size: 16px;
    }
    
    .menu-category-list li a {
        font-size: 14px;
        padding: 8px 10px;
    }
    
    .all-menu-close {
        right: 15px;
    }
}


/* ==========================================
   상품 리스트 페이지 스타일
   Phase 26
   ========================================== */

/* === BEST 꽃다발 섹션 === */
.best-flower-section {
    background: var(--bg-light);
    padding: 80px 0 100px;
    margin-bottom: 0;
}

.best-flower-header {
    text-align: center;
    margin-bottom: 50px;
}

.best-flower-title {
    font-family: var(--font-primary);
    font-size: 36px;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    letter-spacing: var(--letter-spacing-tight);
    margin-bottom: 8px;
}

.best-flower-subtitle {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    color: var(--color-gray-500);
    letter-spacing: var(--letter-spacing-normal);
}

/* BEST 상품 그리드 (3열) */
.best-flower-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 80px;
}

.best-product-card {
    position: relative;
    background: white;
    border: 1px solid #DDDDDD;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.best-product-card:hover {
    border-color: #E7E7E7;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* BEST 배지 */
.best-badge {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 160px;
    height: 39px;
    background: linear-gradient(333.67deg, #DE5A5A 0%, #AC3131 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-26.33deg);
    z-index: 10;
}

.best-badge::before {
    content: 'BEST';
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-bold);
    color: white;
    letter-spacing: var(--letter-spacing-normal);
    transform: rotate(0deg);
}

/* BEST 상품 이미지 */
.best-product-image {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 7/6;
    overflow: hidden;
}

.best-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* BEST 상품 정보 */
.best-product-info {
    padding: 24px;
    text-align: center;
}

.best-product-name {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
    letter-spacing: var(--letter-spacing-normal);
    margin-bottom: 12px;
    line-height: 1.3;
}

.best-product-name a {
    color: inherit;
    text-decoration: none;
}

.best-product-name a:hover {
    color: var(--color-secondary);
}

/* BEST 상품 가격 */
.best-product-price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.best-original-price {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-200);
    text-decoration: line-through;
}

.best-sale-price {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
    letter-spacing: var(--letter-spacing-normal);
}

.best-discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    background: var(--color-secondary);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: white;
}

/* === 상품 리스트 헤더 === */
.product-list-header {
    max-width: var(--container-width);
    margin: 50px auto 30px;
    padding: 0 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid var(--color-black);
    padding-bottom: 20px;
}

.product-list-title {
    font-family: var(--font-primary);
    font-size: 36px;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    letter-spacing: var(--letter-spacing-tight);
}

.product-count-info {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    color: var(--color-gray-500);
    letter-spacing: var(--letter-spacing-normal);
}

.product-count-info .count-number {
    font-size: 24px;
    font-weight: var(--font-weight-bold);
    color: var(--color-secondary);
    margin: 0 4px;
}

/* === 상품 정렬 섹션 === */
.product-sort-section {
    max-width: var(--container-width);
    margin: 30px auto;
    padding: 0 80px;
}

.product-sort-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.product-sort-list {
    display: flex;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sort-item a {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    color: var(--color-gray-500);
    text-decoration: none;
    letter-spacing: var(--letter-spacing-normal);
    transition: all 0.2s;
}

.sort-item.active a,
.sort-item a:hover {
    color: var(--color-black);
    font-weight: var(--font-weight-bold);
}

/* === 상품 그리드 === */
.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px 24px;
    max-width: var(--container-width);
    margin: 0 auto 80px;
    padding: 0 80px;
}

/* 상품 카드 */
.product-card {
    position: relative;
    background: white;
    transition: all 0.3s ease;
}

.product-card:hover {
    transform: translateY(-4px);
}

/* 상품 이미지 */
.product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 373/426;
    overflow: hidden;
    border-radius: var(--radius-sm);
    margin-bottom: 16px;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-soldout-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 8px 24px;
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: var(--font-weight-bold);
}

/* 상품 정보 */
.product-info {
    padding: 0;
}

.product-name {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
    letter-spacing: var(--letter-spacing-normal);
    margin-bottom: 8px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.product-name a {
    color: inherit;
    text-decoration: none;
}

.product-name a:hover {
    color: var(--color-secondary);
}

/* 상품 가격 */
.product-price-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.product-original-price {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-200);
    text-decoration: line-through;
}

.product-sale-price {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
    letter-spacing: var(--letter-spacing-normal);
}

.product-discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    background: var(--color-secondary);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: white;
}

/* 빈 상품 메시지 */
.sct_noitem {
    text-align: center;
    padding: 80px 20px;
    font-family: var(--font-primary);
    font-size: var(--font-size-lg);
    color: var(--color-gray-400);
}

/* === 반응형 처리 === */
@media (max-width: 1680px) {
    .best-flower-grid,
    .product-list-header,
    .product-sort-section,
    .product-grid {
        max-width: 1400px;
        padding-left: 60px;
        padding-right: 60px;
    }
    
    .best-flower-grid {
        gap: 30px;
    }
    
    .product-grid {
        gap: 24px 20px;
    }
}

@media (max-width: 1440px) {
    .best-flower-grid,
    .product-list-header,
    .product-sort-section,
    .product-grid {
        max-width: 1200px;
        padding-left: 40px;
        padding-right: 40px;
    }
    
    .best-flower-grid {
        gap: 24px;
    }
}

@media (max-width: 1200px) {
    /* BEST 그리드 2열로 변경 */
    .best-flower-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* 상품 그리드 3열로 변경 */
    .product-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .best-flower-section {
        padding: 40px 0 60px;
    }
    
    .best-flower-header {
        margin-bottom: 30px;
    }
    
    .best-flower-title {
        font-size: 24px;
    }
    
    .best-flower-subtitle {
        font-size: 14px;
    }
    
    /* BEST 그리드 1열로 변경 */
    .best-flower-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 20px;
    }
    
    /* 상품 그리드 2열로 변경 */
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 16px;
        padding: 0 20px;
    }
    
    .product-list-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 0 20px 15px;
        margin: 30px auto 20px;
    }
    
    .product-list-title {
        font-size: 24px;
    }
    
    .product-count-info {
        font-size: 14px;
    }
    
    .product-count-info .count-number {
        font-size: 18px;
    }
    
    .product-sort-section {
        padding: 0 20px;
    }
    
    .product-sort-list {
        gap: 20px;
    }
    
    .sort-item a {
        font-size: 14px;
    }
    
    .product-name {
        font-size: 16px;
    }
    
    .product-sale-price {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .best-product-info {
        padding: 16px;
    }
    
    .best-product-name {
        font-size: 16px;
    }
    
    .best-sale-price {
        font-size: 16px;
    }
    
    .product-sort-list {
        gap: 12px;
        flex-wrap: wrap;
    }
}




