@charset "utf-8";
/*!
 * 다현당 컬러 오버라이드
 * sample103 원본 CSS의 컬러만 자주색·연분홍 톤으로 교체
 */

:root {
    --dh-primary: #4B1528;
    --dh-secondary: #F4DCE2;
    --dh-accent: #72243E;
    --dh-warm: #FAEEDA;
    --dh-paper: #FAF6EF;
    --dh-kakao: #FEE500;
}

/* 헤더 상단 라인 */
#hd { border-top-color: var(--dh-primary); }

/* GNB 메뉴 호버 */
#gnb .gnb_1da:hover,
#gnb .gnb_1dli.on > .gnb_1da {
    color: var(--dh-primary) !important;
}

/* 검색 박스 */
#hd_sch input[type="submit"] {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
}

/* 표준 버튼 */
.btn_submit,
.btn_b01,
.btn_admin,
button[type="submit"] {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-primary) !important;
}
.btn_submit:hover,
button[type="submit"]:hover {
    background: var(--dh-accent) !important;
    border-color: var(--dh-accent) !important;
}

/* 페이징 현재 페이지 */
.pg_current {
    background: var(--dh-primary) !important;
    border-color: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
}

/* 테이블 헤더 */
.tbl_head01 thead th,
.tbl_head02 thead th {
    border-bottom: 2px solid var(--dh-primary) !important;
    background: var(--dh-paper) !important;
}

/* 회원 페이지 제목 (h1 = "로그인"/"회원가입" 메인 타이틀)
   v10.6 - #login_info h2 같은 하위 h2까지 잡히지 않도록 직계만 적용 */
.mbskin > h1,
.mbskin > h2 {
    color: var(--dh-primary);
    border-bottom: 2px solid var(--dh-primary);
}

/* v10.6 - sample103 sound_only 패턴이 적용되어야 하는 시각적 숨김 h2들 명시
   sample103 원본은 #mb_login #login_info h2 등을 position:absolute로 숨기는데
   우리 dahyundang-color.css의 일반 h2 규칙이 우선 적용되면 화면에 큰 글자로 보임 */
#mb_login #login_info h2,
#login_info h2,
.mbskin #login_info h2,
.mbskin .login_info h2,
#fregister h2.sound_only,
#mb_login_notmb h2.sound_only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* 영카트 상품 가격 */
.sct_cost,
.it_price,
.it_price strong,
.sct_price,
#sit_inf .org_price strong,
#sit_tot_price {
    color: var(--dh-primary) !important;
}

/* 영카트 상품 상세 - 구매 버튼 */
#sit_inf .sit_ov_btn .btn_buy,
.btn_buy,
.it_btn .btn_buy {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
}
.btn_cart,
.btn_zzim {
    background: var(--dh-accent) !important;
    color: var(--dh-secondary) !important;
}

/* 영카트 장바구니 */
#sod_bsk th,
#sod_bsk thead th {
    background: var(--dh-paper) !important;
    border-bottom: 2px solid var(--dh-primary) !important;
}

/* 카카오톡 플로팅 버튼 */
.dh-float-kakao {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--dh-kakao);
    color: #3C1E1E;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 9999;
    text-decoration: none;
}
.dh-float-kakao:hover {
    transform: scale(1.08);
}

/* 모바일 헤더 로그인 영역 */
#hd .btn_login .btn_left a:hover,
#hd .btn_login .btn_right a:hover {
    color: var(--dh-primary);
}

/* 사이트 제목 */
#hd_h1, #logo a {
    color: var(--dh-primary);
}

/* 푸터 */
#ft {
    background: #2C2C2A !important;
    color: #B4B2A9 !important;
}
#ft a {
    color: #B4B2A9 !important;
}
#ft a:hover {
    color: var(--dh-paper) !important;
}

/* 다현당 안내 박스 */
.dh-info-box {
    background: var(--dh-warm);
    border: 1px solid var(--dh-paper);
    border-radius: 6px;
    padding: 16px;
    color: #633806;
    font-size: 13px;
    line-height: 1.7;
    margin: 16px 0;
}
.dh-info-box strong {
    color: var(--dh-accent);
}

/* 다현당 예산 상담 박스 */
.dh-budget-box {
    background: var(--dh-secondary);
    border-radius: 10px;
    padding: 28px 24px;
    margin: 24px 0;
    text-align: center;
}
.dh-budget-box h3 {
    font-size: 18px;
    color: var(--dh-primary);
    margin: 0 0 8px;
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
}
.dh-budget-box p {
    color: var(--dh-accent);
    margin: 0 0 16px;
    line-height: 1.8;
    font-size: 13px;
}
.dh-budget-box .dh-budget-cta {
    display: inline-flex;
    gap: 8px;
}
.dh-budget-box .dh-btn-primary {
    background: var(--dh-primary);
    color: var(--dh-secondary);
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
}
.dh-budget-box .dh-btn-kakao {
    background: var(--dh-kakao);
    color: #3C1E1E;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

/* ============================================
   다현당 메인 페이지 전용 스타일
   ============================================ */

/* 컨테이너 풀폭 */
.idx-container {
    padding: 0 !important;
    max-width: 100% !important;
}

/* 히어로 섹션 */
.dh-hero-section {
    background: var(--dh-secondary);
    padding: 70px 24px;
    text-align: center;
}
.dh-hero-inner { max-width: 800px; margin: 0 auto; }
.dh-hero-title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 34px;
    color: var(--dh-primary);
    line-height: 1.45;
    margin: 0 0 18px;
    font-weight: 500;
}
.dh-hero-title span { color: var(--dh-accent); }
.dh-hero-sub {
    font-size: 14px;
    color: var(--dh-accent);
    line-height: 1.8;
    margin: 0 0 28px;
}
.dh-hero-cta {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

/* 카테고리 4개 카드 */
.dh-cat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    max-width: 1100px;
    margin: 30px auto;
    padding: 0 16px;
}
.dh-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 24px 12px;
    background: var(--dh-paper);
    border: 1px solid var(--dh-border, #E6E1D5);
    border-radius: 10px;
    text-decoration: none;
    color: #2C2C2A;
    transition: all 0.2s;
}
.dh-cat-card:hover {
    background: var(--dh-warm);
    transform: translateY(-3px);
    border-color: var(--dh-primary);
}
.dh-cat-emoji { font-size: 32px; line-height: 1; }
.dh-cat-name { font-size: 14px; font-weight: 500; color: var(--dh-primary); margin-top: 4px; }
.dh-cat-desc { font-size: 11px; color: #5F5E5A; }

/* 상품 진열 섹션 */
.dh-product-section {
    max-width: 1100px;
    margin: 50px auto 30px;
    padding: 0 16px;
}
.dh-section-head { margin-bottom: 20px; text-align: center; }
.dh-section-title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 24px;
    color: var(--dh-primary);
    margin: 0;
    font-weight: 500;
}
.dh-section-sub {
    font-size: 13px;
    color: #5F5E5A;
    margin: 6px 0 0;
}

/* 스토리 섹션 (다현당의 약속) */
.dh-story-section {
    background: var(--dh-paper);
    padding: 60px 20px;
    margin: 40px 0;
    text-align: center;
}
.dh-story-inner { max-width: 900px; margin: 0 auto; }
.dh-story-title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 26px;
    color: var(--dh-primary);
    margin: 0 0 12px;
    font-weight: 500;
}
.dh-story-lead {
    font-size: 14px;
    color: #5F5E5A;
    line-height: 1.9;
    margin: 0 0 36px;
}
.dh-promises {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.dh-promise {
    background: #fff;
    padding: 28px 16px;
    border-radius: 10px;
}
.dh-promise-icon { font-size: 36px; margin-bottom: 8px; }
.dh-promise h3 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 16px;
    color: var(--dh-primary);
    margin: 0 0 8px;
    font-weight: 500;
}
.dh-promise p {
    font-size: 12px;
    color: #5F5E5A;
    line-height: 1.7;
    margin: 0;
}

/* 예산 맞춤 큰 박스 */
.dh-budget-section {
    background: var(--dh-secondary);
    padding: 60px 20px;
    margin: 40px 0;
    text-align: center;
}
.dh-budget-inner { max-width: 720px; margin: 0 auto; }
.dh-budget-section .dh-budget-title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 26px;
    color: var(--dh-primary);
    margin: 0 0 16px;
    font-weight: 500;
}
.dh-budget-section .dh-budget-desc {
    font-size: 14px;
    color: var(--dh-accent);
    line-height: 1.9;
    margin: 0 0 28px;
}
.dh-budget-section .dh-budget-cta {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

/* 매장 안내 */
.dh-store-section {
    max-width: 1100px;
    margin: 50px auto;
    padding: 0 16px;
}
.dh-store-title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 24px;
    color: var(--dh-primary);
    text-align: center;
    margin: 0 0 24px;
    font-weight: 500;
}
.dh-store-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.dh-store-item {
    background: var(--dh-paper);
    border-radius: 10px;
    padding: 24px 16px;
    text-align: center;
}
.dh-store-item h4 {
    font-size: 14px;
    color: var(--dh-primary);
    margin: 0 0 8px;
    font-weight: 500;
}
.dh-store-item p {
    font-size: 12px;
    color: #5F5E5A;
    line-height: 1.7;
    margin: 0;
}

/* 버튼 스타일 (히어로용 큰 버튼) */
.dh-hero-cta .dh-btn-primary,
.dh-hero-cta .dh-btn-ghost,
.dh-budget-cta .dh-btn-primary,
.dh-budget-cta .dh-btn-kakao {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    border: 1px solid transparent;
}
.dh-hero-cta .dh-btn-primary,
.dh-budget-cta .dh-btn-primary {
    background: var(--dh-primary);
    color: var(--dh-secondary);
}
.dh-hero-cta .dh-btn-primary:hover,
.dh-budget-cta .dh-btn-primary:hover {
    background: var(--dh-accent);
}
.dh-hero-cta .dh-btn-ghost {
    background: transparent;
    color: var(--dh-primary);
    border: 1px solid var(--dh-primary);
}
.dh-hero-cta .dh-btn-ghost:hover {
    background: var(--dh-primary);
    color: var(--dh-secondary);
}
.dh-budget-cta .dh-btn-kakao {
    background: var(--dh-kakao);
    color: #3C1E1E;
}
.dh-budget-cta .dh-btn-kakao:hover {
    background: #FFD600;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .dh-hero-section { padding: 48px 20px; }
    .dh-hero-title { font-size: 24px; }
    .dh-hero-sub { font-size: 13px; }
    .dh-hero-cta { flex-direction: column; align-items: stretch; }
    .dh-hero-cta a { text-align: center; }

    .dh-cat-grid { grid-template-columns: repeat(2, 1fr); }
    .dh-cat-card { padding: 18px 10px; }
    .dh-cat-emoji { font-size: 26px; }

    .dh-section-title { font-size: 20px; }

    .dh-story-section { padding: 40px 16px; }
    .dh-story-title { font-size: 22px; }
    .dh-story-lead { font-size: 13px; }
    .dh-promises { grid-template-columns: 1fr; gap: 12px; }
    .dh-promise { padding: 20px 16px; }

    .dh-budget-section { padding: 40px 16px; }
    .dh-budget-section .dh-budget-title { font-size: 22px; }
    .dh-budget-section .dh-budget-cta { flex-direction: column; }

    .dh-store-grid { grid-template-columns: repeat(2, 1fr); }
    .dh-store-item { padding: 18px 12px; }
}

/* ============================================
   다현당 헤더 - 로고 중앙 + 우측 검색
   ============================================ */

/* sample103 원본 #cate_mid 스타일 override */
#cate_mid.dh-header-mid {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 20px !important;
    height: auto !important;
    max-width: 1400px !important;
    padding: 20px 24px !important;
    position: relative !important;
    margin: 0 auto !important;
}

/* 좌측 빈 공간 (균형용) */
.dh-header-side.dh-header-left {
    /* 비어있음 - 가운데 로고 정렬용 균형 */
}

/* 가운데 로고 영역 */
.dh-header-logo {
    text-align: center;
}
.dh-header-logo a {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}
.dh-header-logo .dh-logo-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dh-header-logo .dh-logo-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}
.dh-header-logo .dh-logo-han {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 32px;
    color: var(--dh-primary);
    letter-spacing: 6px;
    line-height: 1;
    font-weight: 500;
}
.dh-header-logo .dh-logo-kor {
    font-size: 11px;
    color: #5F5E5A;
    letter-spacing: 3px;
    margin-top: 4px;
}

/* 우측 검색창 (작게) */
.dh-header-side.dh-header-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.dh-search-compact {
    display: flex;
    align-items: center;
    background: var(--dh-paper);
    border: 1px solid var(--dh-border, #E6E1D5);
    border-radius: 24px;
    padding: 0 4px 0 14px;
    width: 200px;
    height: 38px;
    transition: border-color 0.2s, width 0.2s;
}
.dh-search-compact:focus-within {
    border-color: var(--dh-primary);
    width: 240px;
}
.dh-search-compact input[type="text"] {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    padding: 0;
    height: 36px;
    font-size: 13px;
    color: var(--dh-text);
    min-width: 0;
}
.dh-search-compact input::placeholder {
    color: #A09F9A;
}
.dh-search-btn {
    background: transparent;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dh-primary);
    cursor: pointer;
    font-size: 14px;
    transition: background 0.2s;
}
.dh-search-btn:hover {
    background: var(--dh-secondary);
}



/* ============================================
   모바일 로고 - 로고 옆에 글씨 (가로 배치)
   ============================================ */
.dh-mobile-logo-link {
    display: inline-flex !important;
    flex-direction: row !important;    /* 가로 배치 */
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none;
    line-height: 1;
}
.dh-mobile-logo-mark {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.dh-mobile-logo-text {
    display: flex !important;
    flex-direction: column !important;   /* 한자+한글은 세로 (작게 묶음) */
    align-items: flex-start !important;
    gap: 2px;
    line-height: 1;
}
.dh-mobile-logo-han {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 18px;
    color: var(--dh-primary);
    letter-spacing: 3px;
    font-weight: 500;
    line-height: 1;
}
.dh-mobile-logo-kor {
    font-size: 10px;
    color: var(--dh-accent);
    letter-spacing: 3px;
    font-weight: 400;
    line-height: 1;
    margin-top: 1px;
}

/* 모바일 화면에서만 mobile_logo 표시 */
@media all and (max-width: 969px) {
    #cate_mid.dh-header-mid {
        display: none !important;
    }
    #cate_mid #mid_logo {
        display: none !important;
    }
    #mobile_logo {
        display: block !important;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 999;
        width: auto !important;
        height: auto !important;
    }
    #mobile_logo .dh-mobile-logo-link img { display: none; }
    #cate_mid {
        padding: 8px 15px 50px 15px !important;
    }
}

/* 작은 모바일에서는 한자 크기 축소 */
@media all and (max-width: 480px) {
    .dh-mobile-logo-han {
        font-size: 16px;
        letter-spacing: 2px;
    }
    .dh-mobile-logo-kor {
        font-size: 9px;
        letter-spacing: 2px;
    }
}

/* 데스크톱에서는 모바일 로고 숨김 */
@media all and (min-width: 970px) {
    #mobile_logo { display: none !important; }
}

/* ============================================
   다현당 푸터 - 자주색 톤 통일
   ============================================ */

/* 기존 sample103 푸터 무효화 */
#footer .footertell,
#footer .footer_inner,
#footer .footerMall,
#footer .footerText,
#footer .ft_copy {
    /* 새 .dh-footer 구조를 쓰므로 기존 클래스는 영향 없게 */
}

/* 다현당 푸터 본체 */
.dh-footer {
    background: linear-gradient(180deg, #2C1419 0%, #1A0B0F 100%);
    color: #C7B5B8;
    padding: 60px 24px 30px;
    margin-top: 80px;
    position: relative;
}
.dh-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        var(--dh-primary) 0%,
        var(--dh-secondary) 50%,
        var(--dh-primary) 100%);
}

.dh-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* 상단: 브랜드 + 4단 정보 */
.dh-footer-top {
    display: grid;
    grid-template-columns: 1.2fr 3fr;
    gap: 50px;
    padding-bottom: 36px;
    border-bottom: 1px solid rgba(244, 220, 226, 0.12);
}

/* 브랜드 영역 (좌측) */
.dh-footer-brand {
    /* */
}
.dh-footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.dh-footer-logo-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.dh-footer-han {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 22px;
    color: var(--dh-secondary);
    letter-spacing: 4px;
    line-height: 1;
    font-weight: 500;
}
.dh-footer-kor {
    font-size: 11px;
    color: #C7B5B8;
    letter-spacing: 2px;
    line-height: 1;
}
.dh-footer-tagline {
    font-size: 13px;
    color: #A89599;
    line-height: 1.8;
    margin: 0;
}

/* 4단 정보 (우측) */
.dh-footer-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.dh-footer-col h4 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 14px;
    color: var(--dh-secondary);
    margin: 0 0 14px;
    letter-spacing: 1px;
    font-weight: 500;
    position: relative;
    padding-bottom: 8px;
}
.dh-footer-col h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 18px;
    height: 1px;
    background: var(--dh-secondary);
    opacity: 0.4;
}
.dh-footer-col p {
    font-size: 12px;
    color: #A89599;
    margin: 6px 0;
    line-height: 1.7;
}
.dh-footer-col a {
    color: #A89599;
    text-decoration: none;
    transition: color 0.2s;
}
.dh-footer-col a:hover {
    color: var(--dh-secondary);
}
.dh-footer-tel {
    color: var(--dh-secondary) !important;
    font-weight: 500;
    font-size: 14px !important;
}

/* 하단: 사업자 + 카피라이트 */
.dh-footer-bottom {
    padding-top: 24px;
    text-align: center;
}
.dh-footer-business {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 14px;
}
.dh-footer-business p {
    font-size: 11px;
    color: #8B7A7D;
    margin: 0;
    line-height: 1.6;
}
.dh-footer-business strong {
    color: #C7B5B8;
    font-weight: 500;
    margin-right: 4px;
}
.dh-footer-copy {
    font-size: 11px;
    color: #6B5C5F;
    margin: 0;
    letter-spacing: 1px;
}

/* 맨 위로 버튼 */
#ft_to_top {
    position: fixed;
    bottom: 90px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--dh-primary);
    color: var(--dh-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    z-index: 100;
    font-size: 16px;
    transition: background 0.2s, transform 0.2s;
}
#ft_to_top:hover {
    background: var(--dh-accent);
    transform: translateY(-3px);
}

/* 푸터 모바일 반응형 */
@media (max-width: 968px) {
    .dh-footer {
        padding: 40px 20px 24px;
    }
    .dh-footer-top {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .dh-footer-cols {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }
    .dh-footer-han {
        font-size: 20px;
    }
    .dh-footer-business {
        flex-direction: column;
        gap: 6px;
    }
    #ft_to_top {
        bottom: 80px;
        right: 16px;
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 480px) {
    .dh-footer-cols {
        grid-template-columns: 1fr 1fr;
        gap: 20px 16px;
    }
}

/* ============================================
   위치 카드 - "(하동)" 줄바꿈 자연스럽게
   ============================================ */
.dh-store-addr {
    word-break: keep-all;       /* 단어 단위로 줄바꿈 */
    overflow-wrap: break-word;
    line-height: 1.7 !important;
}
.dh-addr-line2 {
    display: inline-block;
    white-space: normal;
    /* "1호 (하동)" 같은 짧은 보조 정보는 한 단어처럼 보이게 */
}

/* 모바일에서 위치 카드 전체 가독성 */
@media (max-width: 480px) {
    .dh-store-item p,
    .dh-store-addr {
        font-size: 11.5px;
        line-height: 1.7 !important;
    }
}

/* ============================================
   매장 안내 아래 - 안내 페이지 빠른 링크 줄
   ============================================ */
.dh-store-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 16px;
}
.dh-store-links a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 16px 8px;
    background: var(--dh-secondary);
    border-radius: 10px;
    text-decoration: none;
    color: var(--dh-primary);
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
}
.dh-store-links a:hover {
    background: var(--dh-primary);
    color: var(--dh-secondary);
    transform: translateY(-2px);
}
.dh-store-link-icon {
    font-size: 22px;
    line-height: 1;
}

@media (max-width: 768px) {
    .dh-store-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .dh-store-links a {
        padding: 14px 6px;
        font-size: 12px;
    }
    .dh-store-link-icon {
        font-size: 20px;
    }
}

/* ========================================================================
   다현당 - 그누보드 표준 페이지 (회원/게시판/주문 등) 자주색 톤 통일
   ======================================================================== */

/* ----------------------------------------
   1. 페이지 컨테이너 공통 - 회원/게시판/콘텐츠 페이지만 적용
   (영카트 list/cart/itemqa 등에는 영향 없음)
   ---------------------------------------- */
.mbskin,
#mb_login, #mb_register, #mb_certify,
#fregister, #fregister_term,
#new_box, #new_win, .new_win {
    max-width: 1100px;
    margin: 30px auto;
    padding: 30px 20px;
    color: var(--dh-text, #2C2C2A);
}

/* 페이지 헤더 - 자주색 한자 폰트 톤 (좁은 범위로 제한) */
#mb_register h1, #mb_login h1,
.mbskin h1, .mbskin h2,
#new_box h1, #new_win h1, .new_win h1,
#fregister_term h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    font-size: 26px !important;
    color: var(--dh-primary) !important;
    text-align: center !important;
    margin: 0 0 24px !important;
    padding: 0 0 16px !important;
    border-bottom: 2px solid var(--dh-primary) !important;
    font-weight: 500 !important;
    background: transparent !important;
}

/* ----------------------------------------
   2. 입력폼 통일 (input, textarea, select)
   ---------------------------------------- */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="date"],
textarea, select,
.frm_input, .frm_file {
    padding: 11px 14px !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 14px !important;
    color: var(--dh-text) !important;
    line-height: 1.5 !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    box-sizing: border-box;
}
input:focus, textarea:focus, select:focus,
.frm_input:focus {
    outline: none !important;
    border-color: var(--dh-primary) !important;
    box-shadow: 0 0 0 3px rgba(75, 21, 40, 0.08) !important;
}
.full_input, input[type="text"].full_input,
input[type="password"].full_input {
    width: 100% !important;
}
input::placeholder, textarea::placeholder {
    color: #A09F9A !important;
}

/* 라벨 + 필수 표시 */
.frm_info, .frm_label,
.required-tag, .required-mark {
    font-size: 12px;
    color: #5F5E5A;
    margin-top: 4px;
}
label {
    color: var(--dh-text);
    font-size: 14px;
}

/* 라디오·체크박스 액센트 색 */
input[type="radio"],
input[type="checkbox"] {
    accent-color: var(--dh-primary);
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 6px;
}

/* ----------------------------------------
   3. 버튼 통일
   ---------------------------------------- */
.btn_submit, .btn_b01, .btn_b02, .btn_b03,
.btn_admin, .btn_frmline,
.btn_buy, .btn_cart, .btn_wish,
button.btn_submit, input.btn_submit,
input[type="submit"], button[type="submit"],
.btn_cancel,
.btn_search,
.bo_v_act .btn_b01,
.bo_v_com .btn_b01,
#bo_w .btn_b01,
#sod_bsk .btn_b01, #sod_bsk .btn_b02,
.btn_confirm input,
a.btn_b01, a.btn_b02 {
    display: inline-block !important;
    padding: 11px 22px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    transition: all 0.2s;
    text-decoration: none !important;
    text-align: center !important;
    box-sizing: border-box;
    height: auto !important;
    margin: 0 2px !important;
}

/* 주요 버튼 (Primary) - 자주색 */
.btn_submit, input[type="submit"], button[type="submit"],
.btn_b01, a.btn_b01,
.btn_buy, #btn_buy, #sit_inf .btn_buy,
.bo_v_act .btn_b01,
.btn_confirm input {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-primary) !important;
}
.btn_submit:hover, button[type="submit"]:hover,
.btn_b01:hover, .btn_buy:hover {
    background: var(--dh-accent) !important;
    border-color: var(--dh-accent) !important;
    color: var(--dh-secondary) !important;
    transform: translateY(-1px);
}

/* 보조 버튼 (Secondary) - 베이지 톤 */
.btn_cancel, .btn_b02, a.btn_b02,
.btn_frmline {
    background: #fff !important;
    color: var(--dh-primary) !important;
    border: 1px solid var(--dh-primary) !important;
}
.btn_cancel:hover, .btn_b02:hover, a.btn_b02:hover {
    background: var(--dh-paper) !important;
}

/* 장바구니 버튼 */
.btn_cart {
    background: var(--dh-accent) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-accent) !important;
}
.btn_cart:hover {
    background: var(--dh-primary) !important;
}

/* 위시리스트 버튼 */
.btn_wish {
    background: #fff !important;
    color: var(--dh-accent) !important;
    border: 1px solid var(--dh-accent) !important;
}

/* 작은 버튼 (검색, 관리자) */
.btn_search, .btn_admin {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

/* ----------------------------------------
   4. 회원가입 / 로그인 페이지
   ---------------------------------------- */
.mbskin, #mb_login, #mb_register, #fregister, #fregister_term {
    background: #fff;
    border: 1px solid var(--dh-border, #E6E1D5);
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(75, 21, 40, 0.04);
}

#mb_login { max-width: 460px !important; padding: 40px 32px !important; }
#mb_register, #fregister { max-width: 720px !important; padding: 40px 32px !important; }

.mbskin h1::before, #mb_login h1::before, #mb_register h1::before {
    content: '多賢堂';
    display: block;
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 16px;
    letter-spacing: 4px;
    color: var(--dh-accent);
    margin-bottom: 8px;
    border: none;
    text-align: center;
}

/* 로그인 폼 */
#mb_login fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#mb_login .login_input,
#mb_login input[type="text"],
#mb_login input[type="password"] {
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    padding: 13px 16px !important;
    font-size: 15px !important;
}
#mb_login .btn_submit,
#mb_login input[type="submit"],
#mb_register .btn_confirm input,
.mbskin .btn_submit {
    width: 100% !important;
    padding: 14px !important;
    font-size: 15px !important;
    margin-top: 12px !important;
}

#login_info, #fregister_aply {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--dh-border);
    text-align: center;
}
#login_info a, #fregister_aply a {
    display: inline-block;
    color: var(--dh-text-mute, #5F5E5A);
    font-size: 13px;
    margin: 0 10px;
    text-decoration: none;
    padding: 4px 8px;
}
#login_info a:hover, #fregister_aply a:hover {
    color: var(--dh-primary);
}

/* 소셜 로그인 버튼 영역 */
#social_login, .social_login_box {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--dh-border);
    text-align: center;
}
#social_login a, .social_login_box a {
    display: inline-block;
    margin: 4px;
}

/* ----------------------------------------
   5. 그누보드 표준 테이블 (.tbl_frm01, .tbl_head01)
   ---------------------------------------- */
.tbl_frm01 {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid var(--dh-border);
    margin: 16px 0;
}
.tbl_frm01 th {
    width: 130px;
    padding: 14px 12px;
    text-align: left;
    background: var(--dh-paper);
    border-bottom: 1px solid var(--dh-border);
    font-weight: 500;
    font-size: 13px;
    color: var(--dh-primary);
    vertical-align: top;
}
.tbl_frm01 td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--dh-border);
    vertical-align: top;
    font-size: 14px;
    color: var(--dh-text);
}
.tbl_frm01 td input[type="text"],
.tbl_frm01 td input[type="password"],
.tbl_frm01 td input[type="email"],
.tbl_frm01 td input[type="tel"] {
    width: 100%;
    max-width: 360px;
}

/* 게시판 목록 테이블 */
.tbl_head01, .tbl_head02, table.bo_list {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--dh-primary) !important;
    margin: 16px 0;
    background: #fff;
}
.tbl_head01 caption, .tbl_head02 caption {
    color: var(--dh-primary);
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 8px;
    padding: 8px 0;
}
.tbl_head01 thead th, .tbl_head02 thead th,
table.bo_list thead th {
    background: var(--dh-paper) !important;
    color: var(--dh-primary) !important;
    padding: 14px 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-bottom: 1px solid var(--dh-border) !important;
    text-align: center;
}
.tbl_head01 tbody td, .tbl_head02 tbody td,
table.bo_list tbody td {
    padding: 13px 10px !important;
    border-bottom: 1px solid var(--dh-border) !important;
    font-size: 13px !important;
    color: var(--dh-text) !important;
    vertical-align: middle;
}
.tbl_head01 tbody tr:hover, .tbl_head02 tbody tr:hover {
    background: var(--dh-paper);
}

/* 게시판 글 제목 */
.bo_tit, .bo_subject, td.td_subject a, .bo_v_tit {
    color: var(--dh-text) !important;
    font-weight: 500;
    text-decoration: none;
}
.bo_tit:hover, .bo_subject:hover, td.td_subject a:hover {
    color: var(--dh-primary) !important;
}

/* ----------------------------------------
   6. 게시판 글보기 (#bo_v)
   ---------------------------------------- */
#bo_v {
    background: #fff;
}
#bo_v_atc {
    border-top: 2px solid var(--dh-primary);
}
#bo_v_top, .bo_v_top {
    padding: 24px 20px;
    border-bottom: 1px solid var(--dh-border);
    background: var(--dh-paper);
}
#bo_v_tit, .bo_v_tit {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 22px !important;
    color: var(--dh-primary) !important;
    font-weight: 500 !important;
    margin-bottom: 10px;
}
#bo_v_info, .bo_v_info {
    font-size: 12px;
    color: var(--dh-text-mute, #5F5E5A);
}
#bo_v_con, .bo_v_con {
    padding: 30px 20px !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    color: var(--dh-text) !important;
    min-height: 200px;
}
#bo_v_con p, .bo_v_con p {
    margin: 10px 0;
}

/* 게시판 액션 버튼 */
.bo_v_act, .bo_v_com {
    text-align: center;
    margin: 20px 0;
    padding: 16px;
}
.bo_v_act .btn_b01, .bo_v_com .btn_b01 {
    margin: 0 3px !important;
}

/* 댓글 영역 */
#bo_vc, .bo_vc {
    background: var(--dh-paper);
    border-radius: 8px;
    padding: 20px;
    margin-top: 24px;
}
.cmt_contents {
    color: var(--dh-text);
    line-height: 1.7;
}

/* ----------------------------------------
   7. 페이징
   ---------------------------------------- */
.pg_wrap, .pg, #bo_list .pg_wrap {
    text-align: center;
    margin: 30px 0 !important;
    clear: both;
}
.pg_wrap a, .pg_wrap strong, .pg a, .pg strong,
.pg_page, .pg_current {
    display: inline-block !important;
    min-width: 34px !important;
    padding: 8px 12px !important;
    margin: 0 2px !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 13px !important;
    color: var(--dh-text) !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
}
.pg_wrap a:hover, .pg a:hover, .pg_page:hover {
    border-color: var(--dh-primary) !important;
    color: var(--dh-primary) !important;
}
.pg_current, .pg strong, .pg_wrap strong {
    background: var(--dh-primary) !important;
    border-color: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
}

/* ----------------------------------------
   8. FAQ / 1:1 문의 / QnA
   ---------------------------------------- */
#faq_w, #qa_w {
    background: #fff;
    padding: 20px;
}
#faq_w .faq_li, .faq_list li {
    border: 1px solid var(--dh-border);
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
}
#faq_w .faq_li .faq_q, .faq_subject {
    background: var(--dh-paper);
    padding: 16px 20px;
    color: var(--dh-primary);
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
    border-bottom: 1px solid var(--dh-border);
}
#faq_w .faq_li .faq_a, .faq_content {
    padding: 20px;
    color: var(--dh-text);
    font-size: 14px;
    line-height: 1.8;
    background: #fff;
}

/* QnA 목록 */
#qalist .qa_subject, .qa_subject a {
    color: var(--dh-text);
    font-weight: 500;
}
#qalist .qa_subject:hover, .qa_subject a:hover {
    color: var(--dh-primary);
}

/* ----------------------------------------
   9. 마이페이지
   ---------------------------------------- */
#mypage h1 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 24px;
    color: var(--dh-primary);
    border-bottom: 2px solid var(--dh-primary);
    padding-bottom: 16px;
    margin-bottom: 24px;
    text-align: center;
}
#mypage_li, .mypage_section {
    background: #fff;
    border: 1px solid var(--dh-border);
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 16px;
}
#mypage_li h2, .mypage_section h2 {
    font-size: 16px;
    color: var(--dh-primary);
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--dh-border);
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-weight: 500;
}

/* ----------------------------------------
   10. 영카트 - 상품 상세 / 장바구니 / 주문서
   ---------------------------------------- */
#sit_inf .org_price strong, #sit_inf .org_price,
#sit_tot_price, #sit_inf .org_price s {
    color: var(--dh-text-mute);
}
#sit_inf .item_price strong, .it_price strong {
    color: var(--dh-primary) !important;
    font-size: 18px !important;
}

/* 옵션 선택 */
.sit_opt_box, #sit_opt {
    background: var(--dh-paper);
    padding: 16px;
    border-radius: 8px;
    border: 1px solid var(--dh-border);
}
.sit_opt_added, .sit_opt {
    background: #fff;
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 8px;
    border: 1px solid var(--dh-border);
}

/* 장바구니 / 주문서 테이블 */
#sod_bsk table, #sod_fin table, #sod_v table {
    width: 100%;
    border-top: 2px solid var(--dh-primary);
    border-collapse: collapse;
    background: #fff;
}
#sod_bsk th, #sod_fin th, #sod_v th {
    background: var(--dh-paper) !important;
    color: var(--dh-primary) !important;
    padding: 14px 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-bottom: 1px solid var(--dh-border) !important;
}
#sod_bsk td, #sod_fin td, #sod_v td {
    padding: 14px 10px !important;
    border-bottom: 1px solid var(--dh-border) !important;
    font-size: 13px !important;
}

/* 합계 영역 */
#sod_bsk_tot, .sod_tot, #sod_v_tot {
    background: var(--dh-secondary);
    padding: 20px;
    border-radius: 10px;
    margin: 20px 0;
}
#sod_bsk_tot strong, .sod_tot strong {
    color: var(--dh-primary);
    font-size: 18px;
}

/* ----------------------------------------
   11. 콘텐츠 페이지 (이용약관/회사소개 등)
   ---------------------------------------- */
#new_box, #new_win, .new_win {
    background: #fff;
    padding: 40px 30px;
    border-radius: 10px;
    border: 1px solid var(--dh-border);
    box-shadow: 0 2px 12px rgba(75, 21, 40, 0.03);
    max-width: 1000px;
    margin: 30px auto;
}
#new_box h1, #new_win h1 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    font-size: 28px;
    color: var(--dh-primary);
    text-align: center;
    margin: 0 0 30px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--dh-primary);
    font-weight: 500;
}
#new_box, #new_win, .new_win,
.content_wrap, #bo_content {
    color: var(--dh-text);
    line-height: 1.9;
    font-size: 14px;
}
.content_wrap h2, #bo_content h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    color: var(--dh-primary);
    font-size: 18px;
    margin: 28px 0 12px;
    font-weight: 500;
}

/* 약관/콘텐츠 본문의 줄바꿈 보존 (txt 파일 형식 유지) */
.content_wrap, #bo_content,
#new_box, #new_win .new_win {
    white-space: pre-wrap;
    word-break: keep-all;
}

/* ----------------------------------------
   12. 알림/메시지/안내 박스
   ---------------------------------------- */
.empty_table, .empty_list,
.local_desc01, .local_desc02,
#bo_list_total .empty_table {
    padding: 40px 20px !important;
    text-align: center !important;
    color: var(--dh-text-mute) !important;
    background: var(--dh-paper) !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 8px !important;
    margin: 20px 0 !important;
    font-size: 14px !important;
}

.alert, .msg_sound_only, .alert_box {
    padding: 14px 18px;
    border-radius: 8px;
    background: var(--dh-warm);
    color: #633806;
    border: 1px solid #F0DCB0;
    font-size: 13px;
    line-height: 1.6;
    margin: 12px 0;
}

/* ----------------------------------------
   13. 게시판 카테고리 탭
   ---------------------------------------- */
#bo_cate, .bo_cate {
    margin-bottom: 20px;
    text-align: center;
}
#bo_cate li, .bo_cate li {
    display: inline-block;
    margin: 0 4px;
}
#bo_cate a, .bo_cate a {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid var(--dh-border);
    border-radius: 20px;
    color: var(--dh-text);
    font-size: 13px;
    text-decoration: none;
    background: #fff;
}
#bo_cate a:hover, .bo_cate a:hover {
    border-color: var(--dh-primary);
    color: var(--dh-primary);
}
#bo_cate a.bo_cate_on, .bo_cate a.bo_cate_on,
#bo_cate strong, .bo_cate strong {
    background: var(--dh-primary);
    color: var(--dh-secondary);
    border-color: var(--dh-primary);
    padding: 8px 16px;
    border-radius: 20px;
}

/* ----------------------------------------
   14. 글쓰기/수정 버튼 (#bo_list_act, .bo_fx)
   ---------------------------------------- */
#bo_list_act, .bo_fx {
    text-align: right;
    margin: 16px 0;
}
#bo_list_act a, .bo_fx a, .new_btn {
    display: inline-block !important;
    padding: 10px 20px !important;
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    text-decoration: none !important;
}
#bo_list_act a:hover, .bo_fx a:hover, .new_btn:hover {
    background: var(--dh-accent) !important;
}

/* 검색 폼 */
#bo_sch, .bo_sch {
    text-align: center;
    margin: 16px 0;
    padding: 16px;
    background: var(--dh-paper);
    border-radius: 8px;
}

/* ----------------------------------------
   15. 모바일 반응형 (회원/콘텐츠/게시판만)
   ---------------------------------------- */
@media (max-width: 768px) {
    #mb_login, #mb_register, #fregister, #fregister_term, #mb_certify,
    .mbskin, .new_win, #new_box, #new_win {
        margin: 16px 12px !important;
        padding: 24px 16px !important;
        border-radius: 8px;
    }

    #mb_register h1, #mb_login h1, .mbskin h1,
    #new_box h1, #new_win h1 {
        font-size: 20px !important;
    }

    /* 폼 테이블은 회원가입 페이지에서만 세로 분할 */
    #mb_register .tbl_frm01 th,
    #mb_register .tbl_frm01 td,
    #fregister .tbl_frm01 th,
    #fregister .tbl_frm01 td,
    .mbskin .tbl_frm01 th,
    .mbskin .tbl_frm01 td {
        display: block;
        width: 100% !important;
        max-width: none !important;
        padding: 10px 12px !important;
        text-align: left !important;
    }
    #mb_register .tbl_frm01 th,
    #fregister .tbl_frm01 th,
    .mbskin .tbl_frm01 th {
        border-bottom: none !important;
        padding-bottom: 4px !important;
    }

    /* 게시판/콘텐츠 모바일 패딩 */
    #bo_v_tit, .bo_v_tit { font-size: 18px !important; }
    #bo_v_con, .bo_v_con { padding: 20px 16px !important; }
}

/* ============================================

/* ============================================================
   v9.0 - sample103 CSS 위에 다현당 컬러만 정밀하게 덮어쓰기
   레이아웃은 sample103 원본 그대로 유지
   ============================================================ */

/* 다현당 SVG 로고가 들어갈 #cate_mid 영역 - PC에서 가운데 배치 */
@media all and (min-width: 970px) {
    /* PC에서 다현당 로고 + 검색창 그리드 */
    #cate_mid.dh-header-mid {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        gap: 20px !important;
    }
    /* PC에서 원본 #mid_logo와 PC 검색은 숨김 (다현당 로고가 대신 표시) */
    #cate_mid #mid_logo,
    #cate_mid .hd_sch_wr.pc_only {
        display: none !important;
    }
    /* PC에서 모바일 로고/햄버거는 숨김 */
    #mobile_logo, #hd_btn {
        display: none !important;
    }
}

/* 모바일에서는 sample103 원본 헤더 사용 + 다현당 로고만 교체 */
@media all and (max-width: 969px) {
    #cate_mid.dh-header-mid {
        /* PC용 다현당 그리드는 숨김 */
        display: block !important;
    }
    /* 모바일에서 PC용 다현당 로고 영역 숨김 */
    .dh-header-side,
    .dh-header-logo {
        display: none !important;
    }
}

/* 헤더 컬러 톤 */
header#hd {
    background: #fff;
    border-bottom: 1px solid var(--dh-border, #E6E1D5);
}

#cate_head .btn_login .btn_left a {
    color: var(--dh-text-mute, #5F5E5A);
}
#cate_head .btn_login .btn_left a:hover {
    color: var(--dh-primary);
}
#cate_head .btn_login .btn_right a {
    color: var(--dh-text);
}
#cate_head .btn_login .btn_right a:hover {
    color: var(--dh-primary);
}

/* 카테고리 슬라이드 메뉴 (햄버거) 다현당 톤 */
#category.menu h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    color: var(--dh-primary);
    border-bottom: 2px solid var(--dh-primary);
    padding-bottom: 10px;
}
#category.menu .cate li a {
    color: var(--dh-text);
}
#category.menu .cate li a:hover {
    color: var(--dh-primary);
}

/* 본문 컨테이너 - sample103 기본 위에 다현당 색 */
#container_title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    color: var(--dh-primary) !important;
    border-bottom: 2px solid var(--dh-primary) !important;
    font-weight: 500 !important;
}

/* 상품 정렬 박스 다현당 톤 */
#sct_sortlst {
    background: var(--dh-paper);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 20px;
}
#sct_sort .btn_sort {
    background: #fff;
    border: 1px solid var(--dh-border);
    color: var(--dh-text);
    border-radius: 20px;
    padding: 8px 16px;
}
#sct_sort .btn_sort:hover {
    border-color: var(--dh-primary);
    color: var(--dh-primary);
}
#sct_sort ul {
    background: #fff;
    border: 1px solid var(--dh-border);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
#sct_sort ul li a {
    color: var(--dh-text);
}
#sct_sort ul li a:hover {
    background: var(--dh-paper);
    color: var(--dh-primary);
}

#sct_lst .sct_lst_view {
    border: 1px solid var(--dh-border);
    color: var(--dh-text);
    border-radius: 6px;
}
#sct_lst .sct_lst_view:hover {
    border-color: var(--dh-primary);
    color: var(--dh-primary);
}

/* "등록된 상품이 없습니다" 박스 */
.sct_noitem {
    background: var(--dh-paper);
    color: var(--dh-text-mute);
    padding: 80px 20px;
    text-align: center;
    border-radius: 10px;
    margin: 20px 0;
    font-size: 14px;
}

/* 상품 카드 자주색 가격 */
.sct_img {
    background: var(--dh-paper) !important;
    border-radius: 8px !important;
}
.sct_txt:hover, .sct_name:hover {
    color: var(--dh-primary) !important;
}
.sct_cost, .sct_price {
    color: var(--dh-primary) !important;
    font-weight: 600 !important;
}

/* 더보기 버튼 */
#btn_more_item, .li_more_btn button {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border: none !important;
    padding: 14px 40px !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    cursor: pointer !important;
}
#btn_more_item:hover, .li_more_btn button:hover {
    background: var(--dh-accent) !important;
}

/* 사이드 메뉴 다현당 톤 */
#side_menu .btn_sm:hover,
#side_menu .btn_sm.btn_sm_on {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-primary) !important;
}
.qk_con h2.s_h2 {
    color: var(--dh-primary);
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    border-bottom: 1px solid var(--dh-border);
}

/* ============================================================
   v9.1 - 카테고리 페이지의 "상품 정렬" 드롭다운 닫힌 상태 유지
   sample103 원본 CSS와의 충돌로 드롭다운이 펼쳐진 채 노출되던 문제 수정
   ============================================================ */

/* "상품 정렬" 드롭다운 메뉴 - 기본 숨김 (JS 클릭 시에만 표시) */
#sct_sort ul {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px);
    left: 0;
    background: #fff;
    border: 1px solid var(--dh-border, #E6E1D5);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    list-style: none;
    margin: 0;
    padding: 6px 0;
    z-index: 100;
    min-width: 140px;
}

/* JS가 .show() 했을 때만 표시 */
#sct_sort ul[style*="display: block"],
#sct_sort ul[style*="display:block"] {
    display: block !important;
}

#sct_sort ul li {
    list-style: none;
    margin: 0;
    padding: 0;
}
#sct_sort ul li a {
    display: block;
    padding: 10px 18px;
    color: var(--dh-text, #2C2C2A);
    text-decoration: none;
    font-size: 13px;
    white-space: nowrap;
}
#sct_sort ul li a:hover {
    background: var(--dh-paper, #FAF6EF);
    color: var(--dh-primary);
}

/* "상품정렬" 버튼 자주색 톤 */
#sct_sort .btn_sort {
    background: #fff;
    border: 1px solid var(--dh-border);
    color: var(--dh-text);
    padding: 8px 16px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
#sct_sort .btn_sort:hover {
    border-color: var(--dh-primary);
    color: var(--dh-primary);
}

/* "상품 정렬" h2 텍스트는 숨김 (sound_only 처리) */
#sct_sort h2 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 좌측 "상품 정렬" 텍스트도 마찬가지 */
#sct_sortlst {
    background: var(--dh-paper);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    position: relative;
}

/* 사이드 메뉴 - 우측에서 좀 더 안쪽으로 + 자주색 톤 */
#side_menu {
    right: 16px;
}
#side_menu .btn_sm {
    background: #fff;
    border: 1px solid var(--dh-border);
    color: var(--dh-text);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* 모바일에서 카테고리 페이지 가독성 */
@media (max-width: 768px) {
    #sct_sortlst {
        padding: 10px 12px;
    }
    #side_menu {
        right: 8px;
    }
    #side_menu .btn_sm {
        width: 38px;
        height: 38px;
    }
}

/* ============================================================
   v9.2 - 로그인 페이지 하단 링크 + 회원가입 SNS 영역 디자인
   ============================================================ */

/* ─────────────────────────────────────────
   1. 로그인 페이지 하단 - "비밀번호 분실/회원정보 찾기/ID 찾기" 영역
   ───────────────────────────────────────── */
#login_info, #fregister_aply, .login_info {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--dh-border, #E6E1D5);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 14px;
    text-align: center;
}
#login_info a, #fregister_aply a, .login_info a {
    display: inline-block;
    color: var(--dh-text-mute, #5F5E5A);
    font-size: 13px;
    text-decoration: none;
    padding: 4px 0;
    line-height: 1.4;
    margin: 0;
    white-space: nowrap;
}
#login_info a:hover, #fregister_aply a:hover {
    color: var(--dh-primary);
}

/* 링크 사이에 자주색 세로 구분선 */
#login_info a + a::before,
#fregister_aply a + a::before {
    content: "|";
    color: var(--dh-border, #E6E1D5);
    margin-right: 14px;
    margin-left: 0;
}

/* 모바일에서 작은 화면 대응 */
@media (max-width: 480px) {
    #login_info, #fregister_aply, .login_info {
        gap: 6px 10px;
    }
    #login_info a, #fregister_aply a, .login_info a {
        font-size: 12px;
    }
    #login_info a + a::before,
    #fregister_aply a + a::before {
        margin-right: 10px;
    }
}

/* ─────────────────────────────────────────
   2. 회원가입 페이지 "SNS 계정으로 가입" 영역
   (그누보드가 회원가입에서는 텍스트 링크로만 출력하는 문제)
   ───────────────────────────────────────── */

/* 회원가입 페이지의 SNS 영역 컨테이너 */
#fregister_term .sns-wrap,
#fregister .sns-wrap,
#register .sns-wrap,
#fregister_term #sns_login,
#register #sns_login,
.register .sns-wrap,
.register_sns,
.sns-wrap-register {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 16px 0 24px;
    padding: 0;
    align-items: stretch;
}

/* 회원가입 페이지의 네이버/카카오 링크를 큰 버튼처럼 */
#fregister_term a[href*="provider=naver"],
#fregister a[href*="provider=naver"],
#register a[href*="provider=naver"],
.register a[href*="provider=naver"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: #03C75A;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none !important;
    transition: filter 0.2s;
    font-style: normal !important;
    width: 100%;
    box-sizing: border-box;
}
#fregister_term a[href*="provider=naver"]:hover,
#fregister a[href*="provider=naver"]:hover,
#register a[href*="provider=naver"]:hover {
    filter: brightness(0.92);
    color: #fff !important;
}
#fregister_term a[href*="provider=naver"]::before,
#fregister a[href*="provider=naver"]::before,
#register a[href*="provider=naver"]::before {
    content: "N";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #03C75A;
    width: 24px;
    height: 24px;
    border-radius: 5px;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
}

#fregister_term a[href*="provider=kakao"],
#fregister a[href*="provider=kakao"],
#register a[href*="provider=kakao"],
.register a[href*="provider=kakao"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: #FEE500;
    color: #3C1E1E !important;
    border-radius: 8px;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none !important;
    transition: filter 0.2s;
    font-style: normal !important;
    width: 100%;
    box-sizing: border-box;
}
#fregister_term a[href*="provider=kakao"]:hover,
#fregister a[href*="provider=kakao"]:hover,
#register a[href*="provider=kakao"]:hover {
    filter: brightness(0.94);
    color: #3C1E1E !important;
}
#fregister_term a[href*="provider=kakao"]::before,
#fregister a[href*="provider=kakao"]::before,
#register a[href*="provider=kakao"]::before {
    content: "💬";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #3C1E1E;
    color: #FEE500;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-weight: 700;
    font-size: 12px;
    flex-shrink: 0;
}

/* 회원가입 페이지에서 SNS 링크 사이 공백/구분자 제거 */
#fregister_term a[href*="provider="] + a[href*="provider="],
#fregister a[href*="provider="] + a[href*="provider="] {
    margin-top: 4px;
}

/* "SNS 계정으로 가입" 제목 다현당 톤 */
#fregister_term h2:has(+ a[href*="provider="]),
#fregister_term h3,
.sns_register_title {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    color: var(--dh-primary);
    font-size: 18px;
    margin: 24px 0 16px;
    text-align: center;
    font-weight: 500;
}

/* ─────────────────────────────────────────
   3. 로그인 페이지의 소셜 로그인 버튼 강화 (기존 잘 작동하지만 일관성 보강)
   ───────────────────────────────────────── */

/* "소셜계정으로 로그인" 제목 */
#sns_login h3, .sns-wrap h3,
.login-sns h3 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    color: var(--dh-primary);
    font-size: 16px;
    margin: 16px 0 12px;
    text-align: center;
    font-weight: 500;
}

/* 소셜 로그인 영역에 상단 구분선 */
#sns_login, .login-sns {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--dh-border, #E6E1D5);
}

/* ─────────────────────────────────────────
   4. 회원가입 + 로그인 페이지 공통 - 모바일 가독성
   ───────────────────────────────────────── */
@media (max-width: 480px) {
    #mb_login, #fregister_term, .mbskin {
        padding: 28px 20px !important;
    }
    /* 로그인 페이지 하단 회원가입 링크 */
    .btn_join, a.btn_join {
        display: inline-block;
        padding: 6px 16px;
        border: 1px solid var(--dh-border);
        border-radius: 16px;
        font-size: 12px;
        color: var(--dh-text);
    }
}

/* ============================================================
   v9.3 - 카테고리 정렬 박스 정렬 + 로그인 하단 링크 더 강력하게
   ============================================================ */

/* ─────────────────────────────────────────
   1. 카테고리 페이지 정렬 박스 - 안쪽 정렬 강제
   ───────────────────────────────────────── */

/* 컨테이너 위치 고정 */
#container {
    position: relative;
}

/* 정렬 박스 - 한지 톤 박스 안에 자식이 제대로 들어가게 */
#sct_sortlst {
    background: var(--dh-paper, #FAF6EF) !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    margin: 20px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    position: relative !important;
    overflow: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* "상품 정렬" 영역을 박스 안쪽 좌측에 정확히 배치 */
#sct_sort {
    position: relative !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

/* "↕ 상품정렬" 버튼 - 박스 안쪽에 배치 */
#sct_sort .btn_sort {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    color: var(--dh-text, #2C2C2A) !important;
    padding: 8px 18px !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    margin: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

/* 리스트/갤러리 토글 버튼 */
#sct_lst {
    list-style: none !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}
#sct_lst li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#sct_lst .sct_lst_view {
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    color: var(--dh-text) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
}
#sct_lst .sct_lst_view:hover {
    border-color: var(--dh-primary) !important;
    color: var(--dh-primary) !important;
}

/* "상품 정렬" h2 텍스트 완전 숨김 (좌측에 노출 방지) */
#sct_sort h2 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    left: -9999px !important;
}

/* 드롭다운 ul - 기본 숨김 (확실하게) */
#sct_sort > ul {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: auto !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    z-index: 100 !important;
    min-width: 140px !important;
}
#sct_sort > ul[style*="display: block"],
#sct_sort > ul[style*="display:block"] {
    display: block !important;
}
#sct_sort > ul > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
#sct_sort > ul > li > a {
    display: block !important;
    padding: 10px 18px !important;
    color: var(--dh-text) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}
#sct_sort > ul > li > a:hover {
    background: var(--dh-paper) !important;
    color: var(--dh-primary) !important;
}

/* ─────────────────────────────────────────
   2. 로그인 페이지 하단 - 더 강력하게 잡기
   ───────────────────────────────────────── */

/* 모든 가능한 하단 링크 영역 컨테이너 잡기 */
#mb_login #login_info,
#login_info,
#mb_login .login_info,
.mbskin #login_info,
.mbskin .login_info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 20px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid var(--dh-border, #E6E1D5) !important;
    text-align: center !important;
    list-style: none !important;
    width: 100% !important;
    line-height: 1.6 !important;
}

#mb_login #login_info a,
#login_info a,
#login_info > a,
.mbskin #login_info a,
.mbskin .login_info a {
    display: inline-block !important;
    color: var(--dh-text-mute, #5F5E5A) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    padding: 4px 12px !important;
    margin: 2px 0 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    position: relative !important;
    border: none !important;
    background: none !important;
}

#mb_login #login_info a:hover,
#login_info a:hover {
    color: var(--dh-primary) !important;
}

/* 링크 사이 세로 구분선 - 첫 번째 링크 제외 */
#mb_login #login_info a:not(:first-child)::before,
#login_info a:not(:first-child)::before {
    content: "" !important;
    display: inline-block !important;
    width: 1px !important;
    height: 12px !important;
    background: var(--dh-border, #E6E1D5) !important;
    margin-right: 12px !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
}

/* 회원가입 버튼은 별도 강조 */
#mb_login .btn_join,
#login_info + .btn_join,
a.btn_join {
    display: inline-block !important;
    padding: 6px 16px !important;
    background: var(--dh-secondary, #F4DCE2) !important;
    color: var(--dh-primary, #4B1528) !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin-left: 8px !important;
    margin-top: 8px !important;
}
a.btn_join:hover {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
}

/* 모바일 작은 화면 */
@media (max-width: 480px) {
    #login_info, #mb_login #login_info {
        gap: 0 !important;
        padding: 14px 0 0 !important;
    }
    #login_info a, #mb_login #login_info a {
        font-size: 12px !important;
        padding: 4px 10px !important;
    }
    #login_info a:not(:first-child)::before,
    #mb_login #login_info a:not(:first-child)::before {
        margin-right: 10px !important;
    }

    /* 카테고리 정렬 박스 모바일 */
    #sct_sortlst {
        padding: 10px 12px !important;
        margin: 14px 0 !important;
    }
    #sct_sort .btn_sort {
        padding: 7px 14px !important;
        font-size: 12px !important;
    }
    #sct_lst .sct_lst_view {
        width: 32px !important;
        height: 32px !important;
    }
}

/* ============================================================
   v9.4 - 페이지 소스 정밀 분석 후 정확한 셀렉터로 수정
   ============================================================ */

/* ─────────────────────────────────────────
   1. 로그인 페이지 하단 - .mb_login_join 셀렉터로 정확히 잡기
   (페이지 소스 확인: <section class="mb_login_join">의 <div> 안에 링크)
   ───────────────────────────────────────── */

.mb_login_join {
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--dh-border, #E6E1D5) !important;
    text-align: center !important;
}

/* "회원로그인 안내" h2 텍스트 숨김 (시각적으로만) */
.mb_login_join h2 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    left: -9999px !important;
}

/* 링크가 들어있는 div를 flexbox로 */
.mb_login_join > div {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    line-height: 1.6 !important;
}

.mb_login_join a,
.mb_login_join > div > a,
#login_password_lost {
    display: inline-block !important;
    color: var(--dh-text-mute, #5F5E5A) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    padding: 6px 14px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    position: relative !important;
    border: none !important;
    background: none !important;
}

.mb_login_join a:hover {
    color: var(--dh-primary) !important;
}

/* 링크 사이 세로 구분선 (첫 번째 링크 제외) */
.mb_login_join > div > a:not(:first-child)::before {
    content: "" !important;
    display: inline-block !important;
    width: 1px !important;
    height: 12px !important;
    background: var(--dh-border, #E6E1D5) !important;
    margin-right: 14px !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
}

/* "회원 가입" 링크를 강조 - 자주색 배지 */
.mb_login_join > div > a[href*="register"] {
    background: var(--dh-secondary, #F4DCE2) !important;
    color: var(--dh-primary, #4B1528) !important;
    border-radius: 16px !important;
    padding: 6px 16px !important;
    font-weight: 500 !important;
    margin-left: 8px !important;
    font-size: 12px !important;
}
.mb_login_join > div > a[href*="register"]:hover {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
}
/* 회원 가입 앞의 구분선은 제거 */
.mb_login_join > div > a[href*="register"]::before {
    display: none !important;
}

/* 모바일 작은 화면 */
@media (max-width: 480px) {
    .mb_login_join > div {
        gap: 6px 0 !important;
    }
    .mb_login_join a {
        font-size: 12px !important;
        padding: 6px 10px !important;
    }
    .mb_login_join > div > a:not(:first-child)::before {
        margin-right: 10px !important;
    }
}

/* ─────────────────────────────────────────
   2. 모바일 헤더 - 마이페이지/FAQ/1:1문의/사용후기/쿠폰존 라인 정렬
   페이지 소스 구조: #cate_head > .btn_login > .btn_left > a (5개)
   ───────────────────────────────────────── */

@media (max-width: 969px) {
    /* btn_left 영역 - flex로 균등 분배 */
    #cate_head .btn_login .btn_left {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    #cate_head .btn_login .btn_left a {
        flex: 1 1 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        padding: 8px 2px !important;
        margin: 0 !important;
        color: var(--dh-text-mute, #5F5E5A) !important;
        text-decoration: none !important;
        text-align: center !important;
        white-space: nowrap !important;
        min-width: 0 !important;
    }

    #cate_head .btn_login .btn_left a:hover,
    #cate_head .btn_login .btn_left a:active {
        color: var(--dh-primary) !important;
        background: var(--dh-paper, #FAF6EF) !important;
        border-radius: 6px !important;
    }

    #cate_head .btn_login .btn_left a .fa {
        font-size: 16px !important;
        margin: 0 !important;
        line-height: 1 !important;
        color: var(--dh-primary, #4B1528) !important;
    }

    /* 매우 작은 화면 (360px 이하) */
    @media (max-width: 360px) {
        #cate_head .btn_login .btn_left a {
            font-size: 9px !important;
            padding: 6px 1px !important;
        }
        #cate_head .btn_login .btn_left a .fa {
            font-size: 14px !important;
        }
    }
}

/* ─────────────────────────────────────────
   3. 모바일 로고 - 多賢堂(한자) 와 다현당(한글) 좌우 끝 정렬
   요청: 한자 "당"의 우측 끝과 한글 "당"의 우측 끝이 세로 정렬되도록
   ───────────────────────────────────────── */

@media (max-width: 969px) {
    /* 한자 多賢堂 - 자간 조정해서 정확한 폭 */
    .dh-mobile-logo-han {
        font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
        font-size: 18px !important;
        color: var(--dh-primary) !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        /* 한자 3글자가 만드는 정확한 폭 */
        display: inline-block !important;
        text-align: justify !important;
        text-align-last: justify !important;
    }

    /* 한글 다현당 - 한자와 같은 폭으로 분산 정렬 */
    .dh-mobile-logo-kor {
        font-size: 10px !important;
        color: var(--dh-accent) !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        margin-top: 2px !important;
        letter-spacing: 0 !important;
        /* 한글 3글자가 한자 3글자와 같은 폭으로 분산 정렬 */
        display: inline-block !important;
        text-align: justify !important;
        text-align-last: justify !important;
    }

    /* 한자/한글 묶음 - 한자 폭에 맞춰서 같은 너비 */
    .dh-mobile-logo-text {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: stretch !important;  /* 자식들이 같은 폭 차지 */
        gap: 1px !important;
        line-height: 1 !important;
        /* 한자 3글자 ≈ 54px 정도, 자동 너비 */
    }

    /* 한자/한글이 자동 너비로 같이 정렬되게 */
    .dh-mobile-logo-han::after,
    .dh-mobile-logo-kor::after {
        content: "" !important;
        display: inline-block !important;
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .dh-mobile-logo-han {
        font-size: 16px !important;
    }
    .dh-mobile-logo-kor {
        font-size: 9px !important;
    }
}

/* ============================================================
   v9.5 - 페이지 소스 재분석 후 정확한 셀렉터로 마무리
   ============================================================ */

/* ─────────────────────────────────────────
   1. 회원가입 페이지의 #sns_register (드디어 정확한 셀렉터)
   페이지 소스: <div id="sns_register"> > .sns-wrap > a.sns-naver, a.sns-kakao
   ───────────────────────────────────────── */

#sns_register {
    margin: 24px 0 30px !important;
    padding: 0 !important;
}
#sns_register h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    color: var(--dh-primary) !important;
    font-size: 18px !important;
    margin: 0 0 18px !important;
    text-align: center !important;
    font-weight: 500 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--dh-border, #E6E1D5) !important;
    background: transparent !important;
}
#sns_register .sns-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 네이버 로그인 큰 버튼 */
#sns_register .sns-naver,
#sns_register a.social_link.sns-naver {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 14px 20px !important;
    background: #03C75A !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: filter 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    line-height: 1.4 !important;
}
#sns_register .sns-naver:hover {
    filter: brightness(0.92) !important;
    color: #fff !important;
}
#sns_register .sns-naver .ico {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    color: #03C75A !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 5px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
}
#sns_register .sns-naver .ico::before {
    content: "N" !important;
}
#sns_register .sns-naver .txt {
    color: #fff !important;
    font-style: normal !important;
}
#sns_register .sns-naver .txt i {
    font-style: normal !important;
}

/* 카카오 로그인 큰 버튼 */
#sns_register .sns-kakao,
#sns_register a.social_link.sns-kakao {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 14px 20px !important;
    background: #FEE500 !important;
    color: #3C1E1E !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: filter 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    line-height: 1.4 !important;
}
#sns_register .sns-kakao:hover {
    filter: brightness(0.94) !important;
    color: #3C1E1E !important;
}
#sns_register .sns-kakao .ico {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #3C1E1E !important;
    color: #FEE500 !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    flex-shrink: 0 !important;
}
#sns_register .sns-kakao .ico::before {
    content: "K" !important;
}
#sns_register .sns-kakao .txt {
    color: #3C1E1E !important;
    font-style: normal !important;
}
#sns_register .sns-kakao .txt i {
    font-style: normal !important;
}

/* ─────────────────────────────────────────
   2. 회원가입 페이지 본체 - 박스 폭 넓혀서 깔끔하게
   ───────────────────────────────────────── */

#container_title {
    margin-top: 30px !important;
}

/* 회원가입 페이지의 mbskin은 좁지 않게 */
#fregister .mbskin,
.mbskin {
    max-width: 720px !important;
    margin: 24px auto !important;
    padding: 36px 32px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 20px rgba(75, 21, 40, 0.04) !important;
}

/* 회원가입약관 / 개인정보처리방침 섹션 */
#fregister_term, #fregister_private {
    margin: 24px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
#fregister_term h2, #fregister_private h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    color: var(--dh-primary) !important;
    font-size: 18px !important;
    text-align: center !important;
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--dh-border) !important;
    font-weight: 500 !important;
}

/* 회원가입약관 textarea - 더 크고 가독성 좋게 */
#fregister_term textarea {
    width: 100% !important;
    min-height: 220px !important;
    padding: 16px !important;
    background: var(--dh-paper, #FAF6EF) !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: var(--dh-text) !important;
    font-family: "Malgun Gothic", "맑은 고딕", sans-serif !important;
    box-sizing: border-box !important;
    resize: vertical !important;
}
#fregister_term textarea:focus {
    border-color: var(--dh-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(75, 21, 40, 0.08) !important;
}

/* 개인정보 처리방침 테이블 */
#fregister_private .tbl_head01 table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-top: 2px solid var(--dh-primary) !important;
    margin: 12px 0 !important;
    border-radius: 0 !important;
}
#fregister_private .tbl_head01 th {
    padding: 12px 14px !important;
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-primary) !important;
    border-bottom: 1px solid var(--dh-border) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-align: center !important;
}
#fregister_private .tbl_head01 td {
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--dh-border) !important;
    font-size: 13px !important;
    color: var(--dh-text) !important;
    line-height: 1.6 !important;
}

/* 동의 체크박스 영역 - 약관 박스 안쪽에 잘 들어가게 */
.fregister_agree {
    margin: 14px 0 0 !important;
    padding: 12px 16px !important;
    background: var(--dh-paper) !important;
    border-radius: 8px !important;
    border: none !important;
}
.fregister_agree input[type="checkbox"] {
    margin-right: 8px !important;
    accent-color: var(--dh-primary) !important;
}
.fregister_agree label {
    color: var(--dh-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}

/* 전체동의 */
.chk_all {
    margin: 20px 0 !important;
    padding: 14px 18px !important;
    background: var(--dh-secondary, #F4DCE2) !important;
    border-radius: 8px !important;
    text-align: center !important;
}
.chk_all input[type="checkbox"] {
    margin-right: 8px !important;
    accent-color: var(--dh-primary) !important;
}
.chk_all label {
    color: var(--dh-primary) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}

/* 회원가입 큰 버튼 */
.btn_top {
    margin: 28px 0 0 !important;
    text-align: center !important;
}
.btn_top .btn_submit,
.btn_top input[type="submit"] {
    width: 100% !important;
    max-width: none !important;
    padding: 16px !important;
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.btn_top .btn_submit:hover {
    background: var(--dh-accent, #72243E) !important;
}

/* 모바일에서 회원가입 페이지 */
@media (max-width: 768px) {
    #fregister .mbskin,
    .mbskin {
        margin: 16px 12px !important;
        padding: 24px 18px !important;
    }
    #fregister_term textarea {
        min-height: 180px !important;
        font-size: 12px !important;
    }
}

/* ─────────────────────────────────────────
   3. 모바일 로고 한자/한글 라인 정렬 - 다른 방식으로
   고정 너비를 주고 letter-spacing으로 한자 폭에 한글 맞춤
   ───────────────────────────────────────── */

@media (max-width: 969px) {
    /* 부모 컨테이너 - 정확한 폭 */
    .dh-mobile-logo-text {
        display: inline-block !important;
        width: 54px !important;  /* 한자 3글자 폭 약 54px */
        line-height: 1 !important;
        text-align: center !important;
    }

    /* 한자 - 자간 없이 자연스러운 폭 */
    .dh-mobile-logo-han {
        font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
        font-size: 18px !important;
        color: var(--dh-primary) !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        display: block !important;
        width: 100% !important;
        text-align: justify !important;
        text-align-last: justify !important;
    }
    /* justify가 안 먹는 경우 대비 - 글자 사이 공백 강제 */
    .dh-mobile-logo-han::after {
        content: "" !important;
        display: inline-block !important;
        width: 100% !important;
        height: 0 !important;
    }

    /* 한글 - 한자와 같은 폭 안에 분산 */
    .dh-mobile-logo-kor {
        font-size: 10px !important;
        color: var(--dh-accent) !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        margin-top: 2px !important;
        letter-spacing: 0 !important;
        display: block !important;
        width: 100% !important;
        text-align: justify !important;
        text-align-last: justify !important;
    }
    .dh-mobile-logo-kor::after {
        content: "" !important;
        display: inline-block !important;
        width: 100% !important;
        height: 0 !important;
    }
}

@media (max-width: 480px) {
    .dh-mobile-logo-text {
        width: 48px !important;
    }
    .dh-mobile-logo-han {
        font-size: 16px !important;
    }
    .dh-mobile-logo-kor {
        font-size: 9px !important;
    }
}

/* ─────────────────────────────────────────
   4. 푸터 매장 안내 - "여주하리우편취급소 1호 (하동)" 줄바꿈 자연스럽게
   ───────────────────────────────────────── */

.dh-footer-col .dh-store-addr {
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    line-height: 1.6 !important;
    margin: 4px 0 !important;
}

@media (max-width: 768px) {
    .dh-footer-col .dh-store-addr {
        font-size: 11px !important;
        line-height: 1.7 !important;
    }
}

/* ============================================================
   v9.6 - 모바일 로고: 한자 多賢堂만 표시 (한글 제거)
   ============================================================ */

@media (max-width: 969px) {
    /* 컨테이너 - 자동 폭, 간단하게 */
    .dh-mobile-logo-text {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
        width: auto !important;
    }

    /* 한자 - 자연스러운 자간으로 깔끔하게 */
    .dh-mobile-logo-han {
        font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
        font-size: 20px !important;
        color: var(--dh-primary) !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        letter-spacing: 3px !important;
        display: inline-block !important;
        text-align: left !important;
        text-align-last: auto !important;
        width: auto !important;
    }
    .dh-mobile-logo-han::after {
        display: none !important;
    }

    /* 한글 제거되어 있지만 CSS에 남아있는 경우 대비 - 완전 숨김 */
    .dh-mobile-logo-kor {
        display: none !important;
    }

    /* 모바일 로고 링크 가운데 정렬 */
    .dh-mobile-logo-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        text-decoration: none !important;
    }

    /* SVG 마크 크기 */
    .dh-mobile-logo-mark svg {
        width: 36px !important;
        height: 36px !important;
        flex-shrink: 0 !important;
    }
}

@media (max-width: 480px) {
    .dh-mobile-logo-han {
        font-size: 18px !important;
        letter-spacing: 2.5px !important;
    }
    .dh-mobile-logo-mark svg {
        width: 32px !important;
        height: 32px !important;
    }
}

/* ============================================================
   v9.7 - FAQ / 1:1문의 / 사용후기 / 쿠폰존 / 장바구니 디자인
   ============================================================ */

/* ─────────────────────────────────────────
   공통: 게시판 페이지 본문 컨테이너
   ───────────────────────────────────────── */

#bo_cate, #bo_list, #bo_v,
.bo_cate, .bo_list,
#bo_faq, #bo_qa,
.faq_wr, .qa_wr {
    max-width: 1200px !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
}

/* 게시판 카테고리/메뉴 영역 - 자주색 톤 분류 탭 */
#bo_cate, .bo_cate {
    margin: 20px 0 24px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

#bo_cate h2, .bo_cate h2,
#bo_cate_ul + h3 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    color: var(--dh-primary) !important;
    font-size: 15px !important;
    text-align: center !important;
    margin: 0 0 14px !important;
    font-weight: 500 !important;
}

#bo_cate_ul, .bo_cate ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 800px !important;
}
#bo_cate_ul li, .bo_cate ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#bo_cate_ul li a, .bo_cate ul li a {
    display: inline-block !important;
    padding: 8px 20px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    color: var(--dh-text) !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
}
#bo_cate_ul li a:hover,
.bo_cate ul li a:hover,
#bo_cate_ul li a.bo_cate_on,
.bo_cate ul li a.bo_cate_on,
#bo_cate_ul li.bo_cate_on a {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-primary) !important;
}

/* ─────────────────────────────────────────
   1. FAQ 페이지
   ───────────────────────────────────────── */

/* FAQ 카테고리 영역 */
.fq_subject, .fq_li_subject {
    text-align: center !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
    color: var(--dh-text-mute) !important;
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
}

/* FAQ 검색 폼 - 가운데 정렬 + 다현당 톤 */
#bo_sch, .bo_sch,
.bo_fx, .fq_search {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 20px auto 30px !important;
    max-width: 500px !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
#bo_sch fieldset, .bo_sch fieldset {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#bo_sch input[type="text"], .bo_sch input[type="text"],
#bo_sch input[type="search"], .bo_sch input[type="search"],
.fq_search input[type="text"] {
    flex: 1 !important;
    height: 44px !important;
    padding: 0 16px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    border-right: none !important;
    border-radius: 22px 0 0 22px !important;
    font-size: 14px !important;
    color: var(--dh-text) !important;
    outline: none !important;
    margin: 0 !important;
}
#bo_sch input[type="text"]:focus,
.bo_sch input[type="text"]:focus {
    border-color: var(--dh-primary) !important;
}
#bo_sch button, .bo_sch button,
#bo_sch input[type="submit"], .bo_sch input[type="submit"],
.fq_search button {
    height: 44px !important;
    padding: 0 22px !important;
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border: 1px solid var(--dh-primary) !important;
    border-radius: 0 22px 22px 0 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    margin: 0 !important;
    transition: background 0.2s !important;
}
#bo_sch button:hover, .bo_sch button:hover {
    background: var(--dh-accent, #72243E) !important;
}

/* "등록된 FAQ가 없습니다" 안내 박스 */
.fq_empty, .bo_fc, #bo_v_empty,
.fq_li_empty, .empty_table, .empty_list,
.f-empty, .no-data {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 60px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin: 20px 0 !important;
    border: none !important;
}

/* FAQ 리스트 - 아코디언 스타일 */
.fq_li, .bo_fq li {
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 10px !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: hidden !important;
    transition: box-shadow 0.2s !important;
}
.fq_li:hover {
    box-shadow: 0 2px 12px rgba(75, 21, 40, 0.06) !important;
}
.fq_li_subject {
    padding: 16px 20px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: var(--dh-text) !important;
    font-weight: 500 !important;
    text-align: left !important;
    font-family: inherit !important;
}
.fq_li_subject:hover {
    background: var(--dh-paper) !important;
    color: var(--dh-primary) !important;
}

/* ─────────────────────────────────────────
   2. 1:1 문의 페이지
   ───────────────────────────────────────── */

#qa_title, .qa_title, #qa_subject,
#bo_qa_title {
    color: var(--dh-primary) !important;
    text-align: center !important;
}

/* 우측 상단 액션 버튼 (선택삭제 / 문의등록) - 가로 정렬 */
.qa_btn, #qa_btn,
.btn_bo_user, .bo_v_act,
.local_ov,
.qa_wr .btn_bo_user {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 14px 0 !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    position: static !important;
    width: auto !important;
}
.qa_btn a, .qa_btn button,
#qa_btn a, #qa_btn button,
.btn_bo_user a, .btn_bo_user button,
.bo_v_act a, .bo_v_act button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border: 1px solid var(--dh-border) !important;
    background: #fff !important;
    color: var(--dh-text) !important;
    transition: all 0.2s !important;
    margin: 0 !important;
}
.qa_btn a:hover, .qa_btn button:hover,
.btn_bo_user a:hover, .btn_bo_user button:hover {
    border-color: var(--dh-primary) !important;
    color: var(--dh-primary) !important;
}

/* 문의등록 / 새로 만들기 같은 주요 액션 - 자주색 강조 */
.qa_btn a.btn_admin,
.qa_btn a[href*="qawrite"],
.qa_btn a.btn_b01,
.btn_bo_user a[href*="write"],
.btn_bo_user a.btn_b01 {
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border-color: var(--dh-primary) !important;
}
.qa_btn a.btn_admin:hover,
.qa_btn a[href*="qawrite"]:hover,
.btn_bo_user a[href*="write"]:hover {
    background: var(--dh-accent) !important;
    color: var(--dh-secondary) !important;
}

/* 1:1 문의 리스트 영역 */
.qa_list, #qa_list, .bo_qa_list {
    background: transparent !important;
    border: none !important;
    margin: 16px 0 !important;
}

/* 게시물 전체선택 체크박스 */
.checkbox_wr, .chk_all_wrap, .bo_check {
    background: var(--dh-paper, #FAF6EF) !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
}
.checkbox_wr label, .bo_check label {
    color: var(--dh-text) !important;
    font-size: 13px !important;
    cursor: pointer !important;
}

/* "게시물이 없습니다" 박스 */
.empty_table, .empty_list,
.qa_empty, #qa_empty,
.bo_empty, .li_empty {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 60px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin: 20px 0 !important;
    border: none !important;
    list-style: none !important;
}

/* ─────────────────────────────────────────
   3. 사용후기 / 상품후기 페이지
   ───────────────────────────────────────── */

.itemuselist_wr, #itemuselist,
#itemqalist, .itemqalist_wr {
    max-width: 1200px !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
}

/* 사용후기 검색 영역 */
.review_search, .it_use_search,
.itemuselist_wr .bo_fx,
#itemuselist .bo_fx {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 20px auto 24px !important;
    max-width: 600px !important;
    background: var(--dh-paper, #FAF6EF) !important;
    padding: 16px 20px !important;
    border-radius: 12px !important;
    flex-wrap: wrap !important;
}
.review_search select,
.itemuselist_wr select,
#itemuselist select {
    height: 40px !important;
    padding: 0 14px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    color: var(--dh-text) !important;
}
.review_search input[type="text"],
.itemuselist_wr input[type="text"],
#itemuselist input[type="text"] {
    height: 40px !important;
    padding: 0 14px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    min-width: 180px !important;
    flex: 1 1 200px !important;
}

/* 전체보기 링크 */
.review_search a, .review_search .btn_all,
.itemuselist_wr a[href*="all"],
.it_use_btn_all {
    display: inline-block !important;
    padding: 8px 14px !important;
    color: var(--dh-primary) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    border-radius: 6px !important;
}
.review_search a:hover {
    background: var(--dh-secondary) !important;
}

/* "자료가 없습니다" */
.itemuselist_wr .no_data,
#itemuselist .no_data,
.review_empty,
.bo_v_empty {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 60px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    margin: 20px 0 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    list-style: none !important;
}

/* ─────────────────────────────────────────
   4. 쿠폰존 페이지
   ───────────────────────────────────────── */

.couponzone, #couponzone,
.coupon_zone_wr {
    max-width: 1200px !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
}

#container_title + .couponzone,
.couponzone_inner {
    background: transparent !important;
    padding: 0 !important;
}

/* "다운로드 쿠폰" / "포인트 쿠폰" 섹션 헤더 */
.coupon_section, .cz_section,
.couponzone h2,
.couponzone h3,
.couponzone > div > strong {
    display: block !important;
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    color: var(--dh-primary) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    margin: 24px 0 12px !important;
    padding: 14px 18px !important;
    background: var(--dh-paper, #FAF6EF) !important;
    border-radius: 8px !important;
    border-left: 4px solid var(--dh-primary) !important;
}

/* 쿠폰 안내 문구 */
.couponzone p,
.couponzone > div > p {
    color: var(--dh-text) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 8px 0 !important;
    padding: 0 18px !important;
}

/* 사용할 수 있는 쿠폰이 없습니다 */
.couponzone .empty,
.couponzone .no_coupon,
.cz_empty {
    background: #fff !important;
    color: var(--dh-text-mute) !important;
    padding: 40px 30px !important;
    border: 1px dashed var(--dh-border) !important;
    border-radius: 10px !important;
    text-align: center !important;
    margin: 12px 18px !important;
    font-size: 13px !important;
}

/* 쿠폰존 페이지 전체 구조 개선 - inline 텍스트들을 카드형으로 */
.couponzone > div,
#couponzone > div {
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 1px 6px rgba(75, 21, 40, 0.03) !important;
}

/* ─────────────────────────────────────────
   5. 장바구니 페이지
   ───────────────────────────────────────── */

#sod_bsk, .sod_bsk_wr,
#cart, .cart_wr {
    max-width: 1200px !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
}

/* 장바구니 비었을 때 영역 */
.sod_empty, #sod_empty,
.cart_empty,
.no_cart {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 80px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin: 20px 0 !important;
    border: none !important;
}
.sod_empty::before, .cart_empty::before {
    content: "🛒" !important;
    display: block !important;
    font-size: 48px !important;
    margin-bottom: 12px !important;
    opacity: 0.6 !important;
}

/* "선택삭제" / "비우기" 같은 회색 버튼 - 다현당 톤으로 */
.btn_bo_a, .btn_b01, .btn_b02,
.btn_admin, .btn_cancel,
#sod_bsk button.btn_b02,
#sod_bsk a.btn_b02,
.sod_bsk_btn .btn_b01,
.sod_bsk_btn .btn_b02,
.btn_frmline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 18px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    border: 1px solid var(--dh-border) !important;
    background: #fff !important;
    color: var(--dh-text) !important;
    line-height: 1.4 !important;
}
.btn_bo_a:hover, .btn_b01:hover, .btn_b02:hover,
.btn_admin:hover {
    border-color: var(--dh-primary) !important;
    color: var(--dh-primary) !important;
}

/* "쇼핑 계속하기" 같은 주요 액션 버튼 - 자주색 */
.btn_submit, a.btn_submit,
input[type="submit"].btn_submit,
a[href*="shop/"][class*="btn"],
.btn_cart_keep, .btn_continue,
.sod_bsk_btn input[type="submit"],
button.btn_submit {
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border: 1px solid var(--dh-primary) !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.btn_submit:hover {
    background: var(--dh-accent, #72243E) !important;
    color: var(--dh-secondary) !important;
}

/* "선택삭제 / 비우기" 행 - 위쪽 정렬 */
.sod_bsk_btn, .cart_btn_wr,
.sod_btn_wr {
    margin: 16px 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* ─────────────────────────────────────────
   6. 헤더 우측 - "admin님 / 쪽지 / 장바구니 / 로그아웃"
   ───────────────────────────────────────── */

#cate_head .btn_login .btn_right a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 6px 10px !important;
    color: var(--dh-text) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    border-radius: 6px !important;
    transition: all 0.2s !important;
    line-height: 1.4 !important;
    margin-left: 4px !important;
}
#cate_head .btn_login .btn_right a:hover {
    background: var(--dh-paper) !important;
    color: var(--dh-primary) !important;
}
#cate_head .btn_login .btn_right a img {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    border: 1px solid var(--dh-border) !important;
    margin-right: 4px !important;
}
#cate_head .btn_login .btn_right .fa {
    color: var(--dh-primary) !important;
    margin-right: 3px !important;
}

/* 쪽지 카운트 / 장바구니 카운트 배지 */
#cate_head .btn_login .btn_right .cart-count-,
#cate_head .btn_login .btn_right strong span {
    display: inline-block !important;
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    padding: 1px 7px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    margin-left: 3px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

/* ─────────────────────────────────────────
   7. 모바일 - 위 페이지 공통
   ───────────────────────────────────────── */

@media (max-width: 768px) {
    #bo_cate, #bo_list, #bo_v,
    .couponzone, #sod_bsk,
    .itemuselist_wr, #itemuselist {
        padding: 0 12px !important;
        margin: 16px auto !important;
    }
    .qa_btn, .btn_bo_user, .bo_v_act {
        justify-content: center !important;
        gap: 6px !important;
    }
    .qa_btn a, .qa_btn button,
    .btn_bo_user a, .btn_bo_user button {
        padding: 7px 14px !important;
        font-size: 12px !important;
    }
    #bo_sch input[type="text"], .bo_sch input[type="text"] {
        height: 40px !important;
        font-size: 13px !important;
    }
    #bo_sch button, .bo_sch button {
        height: 40px !important;
        padding: 0 18px !important;
    }
}

/* ============================================================
   v9.8 - 페이지 소스 정밀 분석 후 진짜 정확한 셀렉터로
   ============================================================ */

/* ─────────────────────────────────────────
   1. FAQ 검색창 - #faq_sch (정확한 ID)
   페이지 소스: <div id="faq_sch"> <form> <input> <button> </form> </div>
   ───────────────────────────────────────── */

#faq_sch {
    display: flex !important;
    justify-content: center !important;
    margin: 24px auto 30px !important;
    max-width: 500px !important;
    padding: 0 !important;
    background: transparent !important;
}
#faq_sch form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
}
#faq_sch input[type="text"] {
    flex: 1 !important;
    height: 44px !important;
    padding: 0 16px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    border-right: none !important;
    border-radius: 22px 0 0 22px !important;
    font-size: 14px !important;
    color: var(--dh-text) !important;
    outline: none !important;
}
#faq_sch input[type="text"]:focus {
    border-color: var(--dh-primary) !important;
}
#faq_sch button {
    height: 44px !important;
    padding: 0 22px !important;
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border: 1px solid var(--dh-primary) !important;
    border-radius: 0 22px 22px 0 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    margin: 0 !important;
}
#faq_sch button:hover {
    background: var(--dh-accent, #72243E) !important;
}

/* ─────────────────────────────────────────
   2. 1:1 문의 - .bo_fx > ul > li 가 진짜 액션 버튼 구조!
   페이지 소스:
   <div class="bo_fx">
       <ul>
           <li><a class="btn_admin btn_m"><i class="fa fa-cog"></i></a></li>
           <li><input type="submit" value="선택삭제" class="btn_m btn_b01"></li>
           <li><a class="btn_b02 btn_m">문의등록</a></li>
       </ul>
   </div>
   ───────────────────────────────────────── */

.bo_fx {
    margin: 16px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.bo_fx ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.bo_fx ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    display: inline-block !important;
}
.bo_fx ul li a,
.bo_fx ul li button,
.bo_fx ul li input[type="submit"],
.bo_fx ul li input[type="button"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    border: 1px solid var(--dh-border) !important;
    background: #fff !important;
    color: var(--dh-text) !important;
    line-height: 1.4 !important;
    height: auto !important;
    width: auto !important;
}
.bo_fx ul li a:hover,
.bo_fx ul li button:hover,
.bo_fx ul li input[type="submit"]:hover {
    border-color: var(--dh-primary) !important;
    color: var(--dh-primary) !important;
}

/* 관리자 톱니바퀴 - 작은 아이콘 버튼 */
.bo_fx ul li a.btn_admin {
    padding: 8px 12px !important;
    background: var(--dh-paper) !important;
    color: var(--dh-text-mute) !important;
}

/* "문의등록" / "글쓰기" - 자주색 강조 (btn_b02) */
.bo_fx ul li a.btn_b02,
.bo_fx ul li input[type="submit"].btn_b02,
.bo_fx ul li input.btn_b02 {
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border-color: var(--dh-primary) !important;
}
.bo_fx ul li a.btn_b02:hover {
    background: var(--dh-accent) !important;
}

/* "선택삭제" - 보조 버튼 (btn_b01) */
.bo_fx ul li input[type="submit"].btn_b01,
.bo_fx ul li input.btn_b01 {
    background: #fff !important;
    color: var(--dh-text) !important;
    border: 1px solid var(--dh-border) !important;
}
.bo_fx ul li input[type="submit"].btn_b01:hover {
    border-color: var(--dh-primary) !important;
    color: var(--dh-primary) !important;
}

/* 1:1 문의 게시판 검색 - #bo_sch fieldset */
#bo_sch.bo_sch_wr,
#bo_sch {
    display: flex !important;
    justify-content: center !important;
    margin: 24px auto !important;
    max-width: 500px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
#bo_sch form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
}
#bo_sch input.sch_input,
#bo_sch input[type="text"] {
    flex: 1 !important;
    height: 44px !important;
    padding: 0 16px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-right: none !important;
    border-radius: 22px 0 0 22px !important;
    font-size: 14px !important;
}
#bo_sch button.sch_btn,
#bo_sch button[type="submit"] {
    height: 44px !important;
    padding: 0 22px !important;
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border: 1px solid var(--dh-primary) !important;
    border-radius: 0 22px 22px 0 !important;
    cursor: pointer !important;
    font-size: 14px !important;
}
#bo_sch legend {
    display: none !important;
}

/* 게시물 전체선택 영역 */
#list_chk.all_chk,
.all_chk {
    background: var(--dh-paper, #FAF6EF) !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin: 12px 0 !important;
}
#list_chk label, .all_chk label {
    color: var(--dh-text) !important;
    font-size: 13px !important;
    cursor: pointer !important;
}

/* 1:1 문의 리스트 - .qa_list */
.qa_list {
    background: transparent !important;
    margin: 16px 0 !important;
}
.qa_list ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.qa_list ul li.empty_list {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 60px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    border: none !important;
    list-style: none !important;
}

/* ─────────────────────────────────────────
   3. 사용후기 - #sps_sch (정확한 ID)
   페이지 소스: <div id="sps_sch"> <div class="sch_wr"> ... </div> <a>전체보기</a> </div>
   ───────────────────────────────────────── */

#sps_sch {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    background: var(--dh-paper, #FAF6EF) !important;
    padding: 16px 20px !important;
    border-radius: 12px !important;
    margin: 24px auto 24px !important;
    max-width: 900px !important;
    gap: 12px !important;
}
#sps_sch .sch_wr {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
#sps_sch select {
    height: 40px !important;
    padding: 0 14px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    color: var(--dh-text) !important;
    cursor: pointer !important;
}
#sps_sch input.frm_input,
#sps_sch input[type="text"] {
    height: 40px !important;
    padding: 0 14px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    min-width: 200px !important;
    flex: 1 !important;
}
#sps_sch button.sch_btn,
#sps_sch button[type="submit"] {
    height: 40px !important;
    padding: 0 18px !important;
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border: 1px solid var(--dh-primary) !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 13px !important;
}
#sps_sch > a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 14px !important;
    background: #fff !important;
    color: var(--dh-primary) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    border-radius: 6px !important;
    border: 1px solid var(--dh-border) !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
}
#sps_sch > a:hover {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-primary) !important;
}

/* 사용후기 본문 */
#sps {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
#sps_empty,
#sps .empty,
#sps > p {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 60px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    border: none !important;
}

/* ─────────────────────────────────────────
   4. 쿠폰존 - .couponzone_list (정확한 클래스명!)
   페이지 소스:
   <section class="couponzone_list">
       <h2>다운로드 쿠폰</h2>
       <p>...</p>
       <p class="no_coupon">사용할 수 있는 쿠폰이 없습니다.</p>
   </section>
   ───────────────────────────────────────── */

.couponzone_list {
    display: block !important;
    background: #fff !important;
    border: 1px solid var(--dh-border, #E6E1D5) !important;
    border-radius: 12px !important;
    padding: 28px !important;
    margin: 24px auto !important;
    max-width: 1000px !important;
    box-shadow: 0 1px 6px rgba(75, 21, 40, 0.03) !important;
}

.couponzone_list h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    color: var(--dh-primary, #4B1528) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    margin: 0 0 14px !important;
    padding: 12px 16px 12px 18px !important;
    background: var(--dh-paper, #FAF6EF) !important;
    border-radius: 6px !important;
    border-left: 4px solid var(--dh-primary) !important;
    display: block !important;
    text-align: left !important;
}

.couponzone_list p {
    color: var(--dh-text) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 12px 0 !important;
    padding: 0 4px !important;
    text-align: left !important;
}

.couponzone_list .no_coupon,
.couponzone_list p.no_coupon {
    background: #fff !important;
    color: var(--dh-text-mute) !important;
    padding: 40px 30px !important;
    border: 1px dashed var(--dh-border) !important;
    border-radius: 10px !important;
    text-align: center !important;
    margin: 16px 0 0 !important;
    font-size: 13px !important;
}

/* 쿠폰존 전체 컨테이너 - 컨테이너 자체는 투명 */
#container_title + .couponzone_list,
.couponzone_list#coupon_point {
    margin-top: 24px !important;
}

/* ─────────────────────────────────────────
   5. 본문 컨테이너 공통 - PC에서 너무 좁지 않게
   ───────────────────────────────────────── */

#container {
    max-width: 1200px !important;
    margin: 30px auto 40px !important;
    padding: 0 20px !important;
    min-height: 400px !important;
}

#container_title {
    text-align: center !important;
    margin: 30px 0 30px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid var(--dh-primary) !important;
}

/* "자주하시는질문 분류" 같은 h2도 가운데 정렬 */
#bo_cate h2 {
    text-align: center !important;
    margin: 0 0 14px !important;
    color: var(--dh-text-mute) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

/* ─────────────────────────────────────────
   6. 모바일 - 위 페이지들
   ───────────────────────────────────────── */

@media (max-width: 768px) {
    #container {
        padding: 0 12px !important;
        margin: 16px auto !important;
    }
    .couponzone_list {
        padding: 18px !important;
        margin: 16px auto !important;
    }
    .couponzone_list h2 {
        font-size: 16px !important;
        padding: 10px 14px 10px 16px !important;
    }
    #sps_sch {
        padding: 12px !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }
    #sps_sch .sch_wr {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    #sps_sch select, #sps_sch input {
        width: 100% !important;
        min-width: 0 !important;
    }
    #sps_sch > a {
        text-align: center !important;
        justify-content: center !important;
    }
    #faq_sch, #bo_sch {
        max-width: 100% !important;
    }
    .bo_fx ul {
        justify-content: center !important;
    }
}

/* ============================================================
   v9.9 - 사용후기 셀렉트 폭 + 쪽지 페이지 다현당 톤
   ============================================================ */

/* ─────────────────────────────────────────
   1. 사용후기 - 셀렉트박스 폭 넓혀서 글자가 잘리지 않게
   ───────────────────────────────────────── */

#sps_sch select#sfl,
#sps_sch select {
    min-width: 140px !important;
    width: auto !important;
    padding: 0 32px 0 14px !important;  /* 우측에 화살표 공간 */
    font-size: 13px !important;
    height: 40px !important;
    background: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234B1528'%3E%3Cpath d='M4 6l4 4 4-4z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 14px !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 6px !important;
    color: var(--dh-text) !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
}
#sps_sch select#sfl:focus {
    border-color: var(--dh-primary) !important;
    outline: none !important;
}
#sps_sch select#sfl option {
    padding: 6px !important;
    font-size: 13px !important;
}

/* 모바일에서는 셀렉트가 전체 폭 차지 */
@media (max-width: 768px) {
    #sps_sch select#sfl,
    #sps_sch select {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* ─────────────────────────────────────────
   2. 쪽지 페이지 - 다현당 자주색 톤으로 통일
   페이지 소스:
   <div id="memo_list" class="new_win">
       <h1 id="win_title">내 쪽지함</h1>
       <ul class="win_ul">
           <li><a class="selected">받은쪽지</a></li>
           <li><a>보낸쪽지</a></li>
           <li><a>쪽지쓰기</a></li>
       </ul>
       <div class="new_win_con">
           <div class="win_desc">전체 받은쪽지 0통</div>
           <ul id="memo_list_ul">
               <li class="empty_list">자료가 없습니다.</li>
           </ul>
           <div class="win_btn">
               <button class="btn_close">창닫기</button>
           </div>
       </div>
   </div>
   ───────────────────────────────────────── */

/* body 자체에 한지 톤 배경 (팝업창 전체) */
body:has(#memo_list.new_win) {
    background: var(--dh-paper, #FAF6EF) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 팝업 컨테이너 */
.new_win,
#memo_list.new_win,
#memo_view.new_win,
#memo_form.new_win {
    max-width: 720px !important;
    margin: 24px auto !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(75, 21, 40, 0.1) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* 팝업 제목 - 자주색 헤더 */
.new_win h1#win_title,
.new_win > h1 {
    margin: 0 !important;
    padding: 20px 24px !important;
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    text-align: center !important;
    border: none !important;
}

/* 받은쪽지 / 보낸쪽지 / 쪽지쓰기 탭 */
.new_win .win_ul {
    display: flex !important;
    align-items: stretch !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--dh-paper, #FAF6EF) !important;
    border-bottom: 1px solid var(--dh-border, #E6E1D5) !important;
}
.new_win .win_ul li {
    flex: 1 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    border-right: 1px solid var(--dh-border) !important;
}
.new_win .win_ul li:last-child {
    border-right: none !important;
}
.new_win .win_ul li a {
    display: block !important;
    padding: 14px 12px !important;
    color: var(--dh-text-mute, #5F5E5A) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s !important;
    background: transparent !important;
    border: none !important;
}
.new_win .win_ul li a:hover {
    background: #fff !important;
    color: var(--dh-primary) !important;
}
.new_win .win_ul li a.selected {
    background: #fff !important;
    color: var(--dh-primary, #4B1528) !important;
    font-weight: 600 !important;
    border-bottom: 3px solid var(--dh-primary) !important;
    margin-bottom: -1px !important;
    position: relative !important;
}

/* 본문 영역 */
.new_win .new_win_con {
    padding: 24px !important;
    background: #fff !important;
}

/* 안내 문구 */
.new_win .win_desc {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text) !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin: 0 0 16px !important;
    text-align: center !important;
    border-left: 4px solid var(--dh-primary) !important;
}

/* 쪽지 목록 */
.new_win #memo_list_ul,
.new_win ul.memo_list_ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.new_win #memo_list_ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--dh-border) !important;
    background: #fff !important;
    transition: background 0.2s !important;
}
.new_win #memo_list_ul li:hover {
    background: var(--dh-paper) !important;
}
.new_win #memo_list_ul li:last-child {
    border-bottom: none !important;
}

/* "자료가 없습니다" - 친근하게 */
.new_win #memo_list_ul li.empty_list,
.new_win li.empty_list {
    background: var(--dh-paper, #FAF6EF) !important;
    color: var(--dh-text-mute) !important;
    padding: 60px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    border: none !important;
    list-style: none !important;
    margin: 0 !important;
}
.new_win #memo_list_ul li.empty_list::before,
.new_win li.empty_list::before {
    content: "✉" !important;
    display: block !important;
    font-size: 36px !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    margin-bottom: 10px !important;
    opacity: 0.8 !important;
}

/* 보관 안내 문구 (하단) */
.new_win .new_win_con > .win_desc:last-of-type,
.new_win p.win_desc {
    background: transparent !important;
    color: var(--dh-text-mute) !important;
    padding: 14px 0 !important;
    margin: 16px 0 0 !important;
    border: none !important;
    border-top: 1px dashed var(--dh-border) !important;
    border-radius: 0 !important;
    border-left: none !important;
    text-align: center !important;
    font-size: 12px !important;
}
.new_win .new_win_con > .win_desc:last-of-type strong,
.new_win p.win_desc strong {
    color: var(--dh-primary) !important;
    font-weight: 600 !important;
}

/* 창닫기 버튼 - 자주색 */
.new_win .win_btn {
    text-align: center !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
}
.new_win .win_btn button,
.new_win .win_btn .btn_close,
.new_win button.btn_close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 32px !important;
    background: var(--dh-primary, #4B1528) !important;
    color: var(--dh-secondary, #F4DCE2) !important;
    border: 1px solid var(--dh-primary) !important;
    border-radius: 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    text-decoration: none !important;
    min-width: 120px !important;
}
.new_win .win_btn button:hover,
.new_win .win_btn .btn_close:hover {
    background: var(--dh-accent, #72243E) !important;
}

/* 쪽지쓰기 폼 */
.new_win .tbl_frm01 {
    border-collapse: collapse !important;
    width: 100% !important;
    border-top: 2px solid var(--dh-primary) !important;
    margin: 0 0 16px !important;
}
.new_win .tbl_frm01 th {
    background: var(--dh-paper) !important;
    color: var(--dh-primary) !important;
    padding: 12px 16px !important;
    text-align: left !important;
    font-weight: 500 !important;
    border-bottom: 1px solid var(--dh-border) !important;
    width: 100px !important;
    font-size: 13px !important;
}
.new_win .tbl_frm01 td {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--dh-border) !important;
    background: #fff !important;
    font-size: 13px !important;
}
.new_win .tbl_frm01 input[type="text"],
.new_win .tbl_frm01 input[type="search"] {
    width: 100% !important;
    height: 38px !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}
.new_win .tbl_frm01 input[type="text"]:focus {
    border-color: var(--dh-primary) !important;
    outline: none !important;
}
.new_win .tbl_frm01 textarea {
    width: 100% !important;
    min-height: 200px !important;
    padding: 12px !important;
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    font-family: inherit !important;
}
.new_win .tbl_frm01 textarea:focus {
    border-color: var(--dh-primary) !important;
    outline: none !important;
}

/* 쪽지보기 페이지 */
.new_win #memo_view,
.new_win .memo_view_wr {
    background: var(--dh-paper, #FAF6EF) !important;
    padding: 20px !important;
    border-radius: 10px !important;
    margin: 0 0 16px !important;
}
.new_win .memo_from {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--dh-border) !important;
    margin-bottom: 12px !important;
    color: var(--dh-text) !important;
    font-size: 13px !important;
}
.new_win .memo_from strong {
    color: var(--dh-primary) !important;
}
.new_win .memo_content {
    padding: 16px !important;
    background: #fff !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--dh-text) !important;
    min-height: 120px !important;
}

/* 답장/삭제 버튼들 - 가로 정렬 */
.new_win .btn_confirm,
.new_win .win_btn_wr {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 20px 0 0 !important;
    flex-wrap: wrap !important;
}
.new_win .btn_confirm input,
.new_win .btn_confirm button,
.new_win .btn_confirm a {
    padding: 11px 24px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    border: 1px solid var(--dh-border) !important;
    background: #fff !important;
    color: var(--dh-text) !important;
    transition: all 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.new_win .btn_confirm input[type="submit"],
.new_win .btn_confirm .btn_b02,
.new_win .btn_confirm input.btn_submit {
    background: var(--dh-primary) !important;
    color: var(--dh-secondary) !important;
    border-color: var(--dh-primary) !important;
}
.new_win .btn_confirm input[type="submit"]:hover,
.new_win .btn_confirm .btn_b02:hover {
    background: var(--dh-accent) !important;
}

/* 쪽지 페이지 모바일 대응 */
@media (max-width: 600px) {
    .new_win {
        margin: 0 !important;
        border-radius: 0 !important;
        min-height: 100vh !important;
    }
    .new_win h1#win_title {
        padding: 16px !important;
        font-size: 17px !important;
    }
    .new_win .win_ul li a {
        padding: 12px 6px !important;
        font-size: 13px !important;
    }
    .new_win .new_win_con {
        padding: 16px !important;
    }
    .new_win .tbl_frm01 th {
        width: 80px !important;
        font-size: 12px !important;
        padding: 10px 8px !important;
    }
    .new_win .tbl_frm01 td {
        padding: 10px 8px !important;
    }
}

/* ============================================================
   v10.4 - PC 로그아웃 상태 .btn_right 정렬만 (모바일은 outlogin 스킨이 처리)
   ============================================================ */

/* PC에서 .btn_right 안 .btn_ol 클래스가 sample103 .m_btn_login .btn_ol 스타일을
   받지 않도록 명시적으로 무력화 */
@media (min-width: 970px) {
    #cate_head .btn_login .btn_right .btn_ol,
    #cate_head .btn_login .btn_right a.btn_ol,
    #cate_head .btn_login .btn_right button.btn_ol {
        line-height: inherit !important;
        height: auto !important;
        background: transparent !important;
        color: var(--dh-text-mute, #5F5E5A) !important;
        padding: 0 !important;
        position: static !important;
        border: 0 !important;
        font-size: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        vertical-align: middle !important;
    }
    
    #cate_head .btn_login .btn_right .btn_ol:hover {
        color: var(--dh-primary) !important;
    }

    /* btn_right 안의 모든 a 정렬 통일 */
    #cate_head .btn_login .btn_right > a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        vertical-align: middle !important;
        font-size: 12px !important;
        line-height: 1 !important;
        height: 32px !important;
        padding: 0 8px !important;
        color: var(--dh-text-mute, #5F5E5A) !important;
        text-decoration: none !important;
    }

    #cate_head .btn_login .btn_right > a:hover {
        color: var(--dh-primary) !important;
    }

    /* 사이 구분선 */
    #cate_head .btn_login .btn_right > a:not(:last-child) {
        position: relative !important;
        border-right: 1px solid var(--dh-border, #E6E1D5) !important;
    }
}

/* ============================================================
   v10.5 - outlogin/shop_basic2 스킨 CSS 통합
   (add_stylesheet가 실제로 출력 안되는 환경 대비 - 안전망)
   sample103의 mobile/skin/outlogin/shop_basic2/style.css 내용을
   dahyundang-color.css 안에 통합하여 무조건 로드되도록 함
   ============================================================ */

@charset "utf-8";
/* ===================================================================
   다현당 outlogin shop_basic2 스킨 (모바일 햄버거 메뉴용)
   sample103 원본을 완전히 대체 - 절대 위치 제거하고 flex 기반으로
   =================================================================== */

:root {
    --dh-primary: #4B1528;
    --dh-secondary: #F4DCE2;
    --dh-accent: #72243E;
    --dh-warm: #FAEEDA;
    --dh-paper: #FAF6EF;
    --dh-text: #2A2A2A;
    --dh-text-mute: #5F5E5A;
    --dh-border: #E6E1D5;
}

.ol { text-align: left; }

/* sample103 원본의 풀스크린 모달 오버레이는 무력화
   (햄버거 메뉴 안에 들어가는 구조라서 모달 필요 없음) */
.ol_before_wr {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    z-index: auto !important;
    padding: 0 !important;
    display: block !important;
}

/* ─────────────────────────────────────────
   PC (970px 이상) - sample103 드롭다운 동작 유지
   다만 색상은 다현당 톤
   ───────────────────────────────────────── */

@media (min-width: 970px) {
    #ol_before {
        position: absolute;
        top: 60px;
        right: 0;
        width: 300px;
        height: auto;
        margin: 0;
        padding: 24px;
        background: #fff;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 2px 15px rgba(75, 21, 40, 0.15);
        z-index: 99999;
    }

    #ol_before h2 {
        font-size: 18px;
        margin: 0 0 16px;
        color: var(--dh-primary);
        font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
    }

    #ol_before .btn_close {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 32px;
        height: 32px;
        background: transparent;
        border: 0;
        color: var(--dh-text-mute);
        font-size: 14px;
        cursor: pointer;
    }

    #ol_before #ol_id,
    #ol_before #ol_pw {
        display: block;
        width: 100%;
        height: 38px;
        padding: 0 12px;
        background: #fff;
        border: 1px solid var(--dh-border);
        border-radius: 6px;
        font-size: 13px;
        box-sizing: border-box;
    }

    #ol_before #ol_pw { margin: 8px 0; }

    #ol_before #ol_submit {
        width: 100%;
        height: 42px;
        background: var(--dh-primary);
        color: var(--dh-secondary);
        border: none;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 500;
        cursor: pointer;
        margin-top: 4px;
    }

    #ol_before .btn_join {
        display: block;
        width: 100%;
        height: 42px;
        line-height: 42px;
        background: #fff;
        color: var(--dh-primary);
        border: 1px solid var(--dh-border);
        border-radius: 6px;
        font-size: 13px;
        margin: 6px 0;
        text-decoration: none;
        text-align: center;
    }

    #ol_before #ol_auto {
        margin: 12px 0;
        font-size: 12px;
        color: var(--dh-text-mute);
    }

    #ol_before #ol_svc {
        margin: 8px 0 0;
        text-align: center;
    }

    #ol_before #ol_svc a {
        font-size: 12px;
        color: var(--dh-text-mute);
        text-decoration: underline;
    }

    /* PC #ol_after - 우측 드롭다운 */
    #ol_after {
        position: absolute;
        top: 60px;
        right: 0;
        width: 300px;
        background: #fff;
        z-index: 99999;
        box-shadow: 0 2px 15px rgba(75, 21, 40, 0.15);
        border-radius: 8px;
        overflow: hidden;
    }

    #ol_after h2 {
        position: absolute;
        font-size: 0;
        text-indent: -9999em;
        overflow: hidden;
    }

    #ol_after_hd {
        position: relative;
        padding: 16px 16px 16px 62px;
        background: var(--dh-paper);
        border-bottom: 1px solid var(--dh-border);
        line-height: 1.4;
    }

    #ol_after_hd strong {
        display: block;
        font-weight: 500;
        color: var(--dh-primary);
        font-size: 14px;
    }

    #ol_after_hd .profile_img {
        position: absolute;
        top: 14px;
        left: 14px;
    }

    #ol_after_hd .profile_img img {
        border-radius: 50%;
        width: 36px;
        height: 36px;
        background: #fff;
    }

    #ol_after_info {
        position: absolute;
        bottom: 8px;
        right: 14px;
        text-align: center;
        background: #fff;
        color: var(--dh-text-mute);
        width: 22px;
        height: 22px;
        line-height: 22px;
        font-size: 11px;
        border-radius: 50%;
        border: 1px solid var(--dh-border);
    }

    #ol_after_btn {
        position: absolute;
        top: 14px;
        right: 14px;
    }

    #ol_after_btn a {
        display: inline-block;
        padding: 4px 10px;
        line-height: 1;
        background: #fff;
        color: var(--dh-primary);
        border: 1px solid var(--dh-border);
        border-radius: 12px;
        font-size: 11px;
        text-decoration: none;
    }

    #ol_after_private {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 12px;
        gap: 8px;
    }

    #ol_after_private li {
        flex: 1;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #ol_after_private a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        background: var(--dh-paper);
        color: var(--dh-text);
        padding: 12px 6px;
        border-radius: 6px;
        text-decoration: none;
        font-size: 11px;
    }

    #ol_after_private a:hover {
        background: #fff;
        color: var(--dh-primary);
    }

    #ol_after_private i {
        font-size: 16px;
        color: var(--dh-primary);
    }

    #ol_after_private strong {
        font-size: 12px;
        color: var(--dh-primary);
        font-weight: 600;
    }

    #ol_after_private strong span {
        background: transparent;
        color: var(--dh-primary);
    }
}

/* ─────────────────────────────────────────
   모바일 (969px 이하) - 햄버거 메뉴 안에 자연 펼침
   이게 핵심! sample103 절대 위치 모두 무력화
   ───────────────────────────────────────── */

@media (max-width: 969px) {

    /* ol_before 로그인 폼 */
    #ol_before {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 14px 16px !important;
        background: var(--dh-paper) !important;
        text-align: left !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    #ol_before h2 {
        display: none !important;
    }

    #ol_before .btn_close {
        display: none !important;
    }

    #ol_before fieldset {
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    #ol_before #ol_id,
    #ol_before #ol_pw {
        display: block !important;
        width: 100% !important;
        height: 38px !important;
        padding: 0 12px !important;
        background: #fff !important;
        border: 1px solid var(--dh-border) !important;
        border-radius: 6px !important;
        font-size: 13px !important;
        margin: 0 0 8px !important;
        color: var(--dh-text) !important;
        box-sizing: border-box !important;
    }

    #ol_before #ol_auto {
        margin: 6px 0 10px !important;
        font-size: 12px !important;
        color: var(--dh-text-mute) !important;
    }

    #ol_before #ol_submit {
        width: 100% !important;
        height: 40px !important;
        background: var(--dh-primary) !important;
        color: var(--dh-secondary) !important;
        border: none !important;
        border-radius: 6px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        cursor: pointer !important;
        margin-top: 4px !important;
    }

    #ol_before .btn_join {
        display: block !important;
        width: 100% !important;
        height: 40px !important;
        line-height: 40px !important;
        background: #fff !important;
        color: var(--dh-primary) !important;
        border: 1px solid var(--dh-border) !important;
        border-radius: 6px !important;
        font-size: 13px !important;
        text-decoration: none !important;
        text-align: center !important;
        margin: 6px 0 0 !important;
    }

    #ol_before #ol_svc {
        text-align: center !important;
        margin: 10px 0 0 !important;
    }

    #ol_before #ol_svc a {
        color: var(--dh-text-mute) !important;
        font-size: 12px !important;
        text-decoration: underline !important;
    }

    /* ol_after - 햄버거 메뉴 안에 자연 펼침 */
    #ol_after {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: auto !important;
        border: none !important;
    }

    /* "나의 회원정보" h2 - 시각적으로만 숨김 */
    #ol_after h2 {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0,0,0,0) !important;
        white-space: nowrap !important;
        border: 0 !important;
        font-size: 0 !important;
    }

    #ol_after .btn_close,
    #ol_after > .btn_close {
        display: none !important;
    }

    /* 회원 헤더 - 자주색 그라데이션 + flex */
    #ol_after_hd {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 16px 18px !important;
        background: linear-gradient(135deg, var(--dh-primary) 0%, var(--dh-accent) 100%) !important;
        border-bottom: none !important;
        line-height: 1.4 !important;
        margin: 0 !important;
    }

    /* 프로필 - 절대 위치에서 flex로 */
    #ol_after_hd .profile_img {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
        top: auto !important;
        left: auto !important;
    }

    #ol_after_hd .profile_img img {
        border-radius: 50% !important;
        width: 40px !important;
        height: 40px !important;
        background: #fff !important;
        padding: 3px !important;
        box-sizing: border-box !important;
    }

    /* "다현당님" */
    #ol_after_hd strong {
        display: block !important;
        color: #fff !important;
        font-weight: 500 !important;
        font-size: 16px !important;
        font-family: "Nanum Myeongjo", "Noto Serif KR", serif !important;
        letter-spacing: 0.5px !important;
        margin: 0 !important;
        flex: 1 !important;
    }

    /* 정보수정 톱니바퀴 - 프로필 우측 하단 작게 */
    #ol_after_info {
        position: absolute !important;
        bottom: 14px !important;
        right: auto !important;
        left: 46px !important;
        text-align: center !important;
        background: #fff !important;
        color: var(--dh-primary) !important;
        width: 18px !important;
        height: 18px !important;
        line-height: 18px !important;
        font-size: 9px !important;
        border-radius: 50% !important;
        margin: 0 !important;
    }

    /* 로그아웃 버튼 - 우측 작은 둥근 버튼 */
    #ol_after_btn {
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        top: auto !important;
        right: auto !important;
        flex-shrink: 0 !important;
    }

    #ol_after_btn a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 6px 12px !important;
        line-height: 1 !important;
        height: auto !important;
        background: rgba(255, 255, 255, 0.18) !important;
        color: #fff !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 14px !important;
        font-size: 11px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    /* 쿠폰/포인트/쪽지 3등분 카드 - 한지 톤 배경 */
    #ol_after_private {
        display: flex !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 12px !important;
        gap: 8px !important;
        background: var(--dh-paper) !important;
        border-bottom: 1px solid var(--dh-border) !important;
    }

    #ol_after_private:after {
        display: none !important;
    }

    #ol_after_private li {
        position: relative !important;
        float: none !important;
        flex: 1 !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        background: transparent !important;
    }

    #ol_after_private a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        background: #fff !important;
        color: var(--dh-text) !important;
        line-height: 1.2 !important;
        text-align: center !important;
        padding: 12px 6px !important;
        border-radius: 8px !important;
        border: 1px solid var(--dh-border) !important;
        text-decoration: none !important;
        height: 100% !important;
        position: relative !important;
        font-size: 11px !important;
    }

    #ol_after_private a:hover {
        background: #fff !important;
        color: var(--dh-primary) !important;
        border-color: var(--dh-primary) !important;
    }

    #ol_after_private i {
        display: inline-block !important;
        font-size: 16px !important;
        margin: 0 !important;
        color: var(--dh-primary) !important;
    }

    /* 숫자 - 자연 흐름 */
    #ol_after_private strong {
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        text-align: center !important;
        display: block !important;
        width: auto !important;
        margin: 2px 0 0 !important;
    }

    #ol_after_private strong span {
        display: inline-block !important;
        line-height: 1.4 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        background: transparent !important;
        color: var(--dh-primary) !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }

    /* 색상 차별화 제거 - 모두 자주색 */
    #ol_after_private #ol_after_pt span,
    #ol_after_private #ol_after_memo span {
        background: transparent !important;
        color: var(--dh-primary) !important;
    }

    #ol_after_ul {
        display: none !important;
    }
}
