    /*===========================================================================
        웹폰트
    ============================================================================*/

    /* 폰트 */
    @font-face {
        font-family: 'Pretendard';
        font-weight: 100;
        font-style: normal;
        src: url('../fonts/Pretendard-Thin.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 200;
        font-style: normal;
        src: url('../fonts/Pretendard-ExtraLight.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 300;
        font-style: normal;
        src: url('../fonts/Pretendard-Light.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 400;
        font-style: normal;
        src: url('../fonts/Pretendard-Regular.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 500;
        font-style: normal;
        src: url('../fonts/Pretendard-Medium.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 600;
        font-style: normal;
        src: url('../fonts/Pretendard-SemiBold.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 700;
        font-style: normal;
        src: url('../fonts/Pretendard-Bold.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 800;
        font-style: normal;
        src: url('../fonts/Pretendard-ExtraBold.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'Pretendard';
        font-weight: 900;
        font-style: normal;
        src: url('../fonts/Pretendard-Black.otf') format("truetype");
        font-display: swap;
    }
    @font-face {
        font-family: 'xeicon';
        font-style: normal;
        src: url('../fonts/xeicon.ttf') format("truetype");
        font-display: swap;
    }

    /*===========================================================================
        Dark/Light Mode CSS Variables
    ============================================================================*/
    :root {
        /* Light Mode (기본값) */
        --bg-primary: #fff;
        --bg-secondary: #f5f5f5;
        --bg-tertiary: #e4e4e4;
        --text-primary: #202020;
        --text-secondary: #464646;
        --text-tertiary: #6b6b6b;
        --border-color: #e4e4e4;
        --border-color-light: #f5f5f5;
        --shadow-color: rgba(0, 0, 0, 0.1);
        --overlay-color: rgba(0, 0, 0, 0.6);
        --color-green: #19c719;
        --color-green-dark: #339933;
        --color-blue: #044aba;
        --color-blue-dark: #336699;
        --color-purple: #c01ac0;
        --color-purple-dark: #993399;
        --color-red: #f01c00;
        --color-red-dark: #b92419;
        --color-yellow: #ffd500;
        --color-yellow-dark: #c59e1c;
        --color-orange: #ff9000;
        --color-orange-dark: #bd6925;
        --color-pink: #ffaacc;
        --color-pink-dark: #c0618f;
        --color-silver: #ddd;
        --color-silver-dark: #aaa;
        --color-gray: #888;
        --color-gray-dark: #555;
    }

    /* Dark Mode */
    [data-theme="dark"] {
        --bg-primary: #1a1a1a;
        --bg-secondary: #2a2a2a;
        --bg-tertiary: #3a3a3a;
        --text-primary: #d0d0d0;
        --text-secondary: #b0b0b0;
        --text-tertiary: #9c9c9c;
        --border-color: #505050;
        --border-color-light: #3a3a3a;
        --shadow-color: rgba(0, 0, 0, 0.5);
        --overlay-color: rgba(0, 0, 0, 0.8);
        --color-green: #19c719;
        --color-green-dark: #339933;
        --color-blue: #044aba;
        --color-blue-dark: #336699;
        --color-purple: #c01ac0;
        --color-purple-dark: #993399;
        --color-red: #f01c00;
        --color-red-dark: #b92419;
        --color-yellow: #ffd500;
        --color-yellow-dark: #c59e1c;
        --color-orange: #ff9000;
        --color-orange-dark: #bd6925;
        --color-pink: #ffaacc;
        --color-pink-dark: #c0618f;
        --color-silver: #ddd;
        --color-silver-dark: #aaa;
        --color-gray: #888;
        --color-gray-dark: #555;
    }

    /* 자동 감지: prefers-color-scheme 미디어 쿼리 */
    @media (prefers-color-scheme: dark) {
        :root:not([data-theme]) {
            --bg-primary: #1a1a1a;
            --bg-secondary: #2a2a2a;
            --bg-tertiary: #3a3a3a;
            --text-primary: #d0d0d0;
            --text-secondary: #b0b0b0;
            --text-tertiary: #9c9c9c;
            --border-color: #505050;
            --border-color-light: #3a3a3a;
            --shadow-color: rgba(0, 0, 0, 0.5);
            --overlay-color: rgba(0, 0, 0, 0.8);
            --color-green: #19c719;
            --color-green-dark: #339933;
            --color-blue: #044aba;
            --color-blue-dark: #336699;
            --color-purple: #c01ac0;
            --color-purple-dark: #993399;
            --color-red: #f01c00;
            --color-red-dark: #b92419;
            --color-yellow: #ffd500;
            --color-yellow-dark: #c59e1c;
            --color-orange: #ff9000;
            --color-orange-dark: #bd6925;
            --color-pink: #ffaacc;
            --color-pink-dark: #c0618f;
            --color-silver: #ddd;
            --color-silver-dark: #aaa;
            --color-gray: #888;
            --color-gray-dark: #555;
        }
    }

    /*===========================================================================
        CSS 초기화
    ============================================================================*/
    * { font-family: "Pretendard", sans-serif; box-sizing:border-box; margin:0; padding:0; word-break: keep-all;}
    html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, em, img, strong, b, i, dl, dt, dd, ol, ul, li, form, label, legend, caption, article, aside, footer, header, menu, nav, section, video, a {border:0; outline:0; font-size:100%; line-height:1; }
    html {  }
    body { line-height:1; -ms-overflow-style: none; width: 100%; background-color: var(--bg-primary); color: var(--text-primary); }
    article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
    ul, ol, li {list-style:none;}
    a {margin:0; padding:0; font-size:100%; display: block; }
    pre { font-family: "Pretendard", sans-serif; white-space: pre-line; line-height: 1.5; }
    img {width: 100%;}
    input, select {vertical-align:middle; outline:0; border: 0; background: none; font-family: "Pretendard", sans-serif;}
    input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    input[type="file"], input[type="checkbox"], input[type="radio"] { display: none; }
    select { appearance: none; background-image: url(../images/icon_arrow_down.svg); background-repeat: no-repeat; background-position: right 8px center; background-size: 24px; }
    .select{
        appearance: none; background-image: url(../images/icon_arrow_down.svg); background-repeat: no-repeat; background-position: right 8px center; background-size: 24px;
    }
    select option[value="disabled"][disabled] {display: none;}
    label { cursor: pointer; }
    button {cursor:pointer; border: 0; outline: 0; background: none;}
    a {text-decoration: none; display: block;}
    textarea { border: 0; outline: 0; resize: none; font-family: "Pretendard", sans-serif;}
    i { font-family: 'xeicon'; font-style: normal; }

    /* 콘텐츠 공통 */
    .col-group {display:flex;}
    .row-group {display:flex; flex-flow: column;}
    .container { width: 100%; margin: 0 auto; padding: 0 16px; max-width: 768px; }
    .img-container { width: 100%; position: relative; }
    .img-container img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; object-fit: cover; object-position: center; }
    .video-container { width: 100%; padding-top: 56.25%; position: relative; }
    .video-container iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
    ::-webkit-scrollbar { width: 2px; height: 2px; }
    ::-webkit-scrollbar-track { background: var(--border-color); }
    ::-webkit-scrollbar-thumb { background: var(--color-blue); border-radius: 4px;}
    .null-txt { font-size: 14px; text-align: center; color: var(--text-secondary); padding: 40px 0; display: flex; flex-flow: column; justify-content: center; align-items: center; gap: 16px; line-height: 1.5; }
    .null-txt .icon { font-size: 40px; color: var(--text-secondary); }
    .pc { display: block; }
    .mb { display: none; }
    .blue { color: var(--color-blue); }
    .red { color: var(--color-red); }

    /* index-header */
    #header { position: fixed; top: 0; width: 100%; z-index: 99999; }
    .index-header { height: 60px; background: var(--bg-primary); border-bottom: 1px solid var(--border-color); }
    .index-header .container { justify-content: space-between; padding-top: 14px; align-items: center; }
    .index-header .logo { width: 34px; }
    .index-header .header-menu-wrap { gap: 16px; align-items: center; }
    .index-header .header-menu { width: 24px; height: 24px; position: relative; }
    .index-header .header-menu::after { content: ''; display: none; position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--color-red-dark); top: 0; right: 0;  }
    .index-header .header-menu.active::after { display: block; }

    /* sub-header */
    .sub-header { height: 60px; background: var(--bg-primary); }
    .sub-header + .index { margin-top:70px !important; }
    .sub-header .container { justify-content: space-between; padding-top: 24px; align-items: center; }
    .sub-header-btn { width: 30px; height: 30px; background-repeat: no-repeat; background-position: center; background-size: 18px 18px; font-size: 18px; position: relative; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; }
    .sub-header-btn::after { content: ''; display: none; position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--color-red-dark); top: 0; right: 0;  }
    .sub-header-btn .unicode-icon { display: inline-block; font-size: 24px; line-height: 1; color: var(--text-primary); }
    .sub-header-btn.active::after { display: block; }
    .sub-header-btn.search-btn img { width: 25px; height: 25px; object-fit: contain; }
    .sub-header-btn.search-btn span.icon,
    .sub-header-btn.search-btn { font-size: 20px; line-height: 1; }
    .sub-header-btn.prev-btn img { width: 25px; height: 25px; object-fit: contain; }
    .sub-header .header-menu-wrap img { width: 25px; height: 25px; object-fit: contain; }
    .sub-header .header-menu-wrap span.icon { font-size: 20px; line-height: 1; }
    .sub-header .title { font-size: 18px; font-weight: bold; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 0 0 auto; }
    .sub-header .header-menu-wrap { gap: 8px; align-items: center; flex: 0 0 auto; margin-left: auto; }

    /* gnb */
    #gnb { position: fixed; bottom: 0; width: 100%; height: 64px; background: var(--bg-primary); border-top: 1px solid var(--border-color); z-index: 999; }
    #gnb .container { padding: 0; height: 100%; position: relative; }
    .gnb-wrap {  height: 100%; padding-bottom: 8px; }
    .gnb-item{
        width: 100%; display: flex; flex-flow: column; justify-content: center; align-items: center; gap: 6px; }
    .gnb-item .icon { width: 22px; height: 22px; }
    .gnb-item .icon:not(img) { font-size: 22px; line-height: 1; display: inline-block; width: auto; height: auto; }
    .gnb-item .txt { color: var(--text-secondary); font-size: 12px; font-weight: 500; }
    .gnb-item.active .txt { color: var(--color-blue); }
    .gnb-item .rela{
        position: relative; text-align: center;
    }
    .gnb-item .chat-num{
        width: auto;
        background-color: var(--color-red);
        border-radius: 12px;
        padding: 3px 6px;
        color: #eee;
        font-size: 12px;
        position: absolute;
        right: -16px;
        top: -5px;
    }

    .write-btn-wrap { position: absolute; bottom: 76px; right: 12px; display: flex; flex-flow: column; align-items: flex-end; gap: 8px; }
    .write-btn-group {  display: flex; flex-flow: column; align-items: flex-end; gap: 8px; display: none; }
    .write-btn { min-width: 90px; width: auto; padding: 0 16px; height: 40px; display: flex; justify-content: center; align-items: center; gap: 4px; background: var(--color-blue); border-radius: 8px; font-size: 14px; color: #fff; }
    .write-btn i { font-size: 16px; color: #fff; }
    .write-btn.toggle { border-radius: 20px; }
    .write-btn.white { background: var(--bg-blue); color: #eee; border: 1px solid var(--color-blue); }
    .write-btn.white i { color: #eee; }
    .write-close-btn { width: 40px; height: 40px; background: var(--text-primary); border-radius: 50%; text-align: center; }
    .write-close-btn i { line-height: 40px; font-size: 16px; color: #fff; }

    .write-btn-wrap.active .write-btn.toggle { display: none; }
    .write-btn-wrap.active .write-btn-group { display: flex; }

    /* search */
    #search { position: fixed; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100vh; background: var(--bg-primary); border-top: 1px solid var(--border-color); transform: translateX(100%); transition: .1s; z-index: 99; }
    #search.active { transform: translateX(0); }
    .search-top { gap: 10px; align-items: center; flex-flow: nowrap; justify-content: flex-start; margin-top:20px;}
    .product .search-top{
        margin-top: 0;
    }
    .search-input-wrap { flex: 1; min-width: 0; position: relative; height: 42px; background: var(--bg-secondary); border-radius: 4px; padding: 0 8px 0 16px; display: flex; gap: 8px; align-items: center; }
    .search-input { flex: 1; min-width: 0; height: 100%; font-size: 15px; border: none; background: transparent; outline: none; color: var(--text-primary); }
    .search-input::placeholder { color: var(--text-secondary); }
    .btn-search { width: 28px; height: 28px; min-width: 28px; display: flex; align-items: center; justify-content: center; border: none; background: transparent; cursor: pointer; padding: 0; flex-shrink: 0; }
    .btn-search .unicode-icon { font-size: 18px; color: var(--text-primary); line-height: 1; display: inline-block; }
    .btn-search img { width: 18px; height: 18px; object-fit: contain; }
    .placeholder { font-size: 15px; color: var(--text-secondary); }
    .search-category { height: 26px; border-radius: 13px; background: var(--bg-primary); display: flex; padding: 0 12px; gap: 8px; font-size: 11px; align-items: center; border: 1px solid var(--border-color); }
    .search-section { padding: 24px 0; max-width: 768px; margin: 0 auto; }
    .search-section-title-wrap { padding: 0 16px; justify-content: space-between; align-items: center; margin-bottom: 16px; }
    .search-section-title { font-size: 14px; font-weight: bold; }
    .search-section .del-btn { font-size: 14px; color: var(--text-secondary); font-weight: 500; }
    .popular-search-wrap { overflow-x: auto; }
    .popular-search-wrap::-webkit-scrollbar { display: none; }
    .popular-search-list { gap: 8px; padding: 0 16px; width: fit-content; }
    .popular-search-item { height: 36px; line-height: 34px; border-radius: 18px; padding: 0 16px; background: var(--bg-primary); border: 1px solid var(--border-color); font-size: 14px; color: var(--text-primary); }
    .recent-search-list { padding: 0 16px; gap: 16px; }
    .recent-search-item { justify-content: space-between; align-items: center; height: 24px; }
    .recent-search-item .txt { font-size: 14px; max-width: calc( 100% - 14px - 8px ); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text-primary); }
    .recent-search-item .del-btn { font-size: 14px; color: var(--text-secondary); }
    .del-btn.icon-btn {
        width: 24px;
        height: 24px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        background: none;
        border: 0;
    }
    .del-btn.icon-btn,
    .del-btn.icon-btn .unicode-icon {
        font-size: 16px;
        color: var(--text-secondary);
    }
    .search-category .del-btn.icon-btn {
        margin-left: 4px;
    }

    /* prod-detail-header */
    .detail-header { height: 64px; padding-top: 24px; transition: .2s; border-bottom: 1px solid transparent; }
    .detail-header.black i {
        color:#000 !important;
    }
    .detail-header.active { background: var(--bg-primary); height:85px;}
    .detail-header .container { justify-content: space-between; }
    .detail-header .sub-header-btn-wrap { gap: 16px; }
    .detail-header .sub-header-btn { transition: .2s; background-color: rgba(50, 50, 50, 0.3); backdrop-filter: blur(8px); }
    .detail-header.active .sub-header-btn { transition: .2s; background-color: var(--bg-primary); backdrop-filter: blur(8px); }
    .detail-header .sub-header-btn i,
    .detail-header .sub-header-btn .unicode-icon { font-size: 20px; color: #fff; transition: .2s; filter: drop-shadow(0 0 2px rgba(0,0,0,0.3)); }
    .detail-header .prev-btn { background-image: url(../images/icon_prev_white.png); }
    .detail-header.active .prev-btn { background-image: url(../images/icon_prev.png); }
    .detail-header .home-btn { background-image: url(../images/icon_home_white.png); }
    .detail-header.active .home-btn { background-image: url(../images/icon_home.png); }
    .detail-header .share-btn { background-image: url(../images/icon_share_white.png); }
    .detail-header.active .share-btn { background-image: url(../images/icon_share.png); }
    .detail-header .report-btn { background-image: url(../images/icon_report_white.png); }
    .detail-header.active .report-btn { background-image: url(../images/icon_report.png); }
    .detail-header .setting-btn { background-image: url(../images/icon_setting_white.png); }
    .detail-header.active .setting-btn { background-image: url(../images/icon_setting.png); }
    .detail-header .block-btn { background-image: url(../images/block-white.png); }
    .detail-header.active .block-btn { background-image: url(../images/block.png); }

    .detail-header.black .prev-btn { background-image: url(../images/icon_prev.png); }
    .detail-header.black .home-btn { background-image: url(../images/icon_home.png); }
    .detail-header.black .share-btn { background-image: url(../images/icon_share.png); }
    .detail-header.black .report-btn { background-image: url(../images/icon_report.png); }
    .detail-header.black .setting-btn { background-image: url(../images/icon_setting.png); }
    .detail-header.black .block-btn { background-image: url(../images/block.png); }

    /* .detail-header.active .sub-header-btn { background-color: rgba(0, 0, 0, 0.5); box-shadow: 0 2px 6px rgba(0,0,0,0.12); backdrop-filter: blur(12px); } */
    .detail-header.active .sub-header-btn i,
    .detail-header.active .sub-header-btn .unicode-icon { color: var(--color-gray-dark); filter: drop-shadow(0 0 2px rgba(255,255,255,0.4)); }

    .form-item.row-group .categorybuttons{
        display: flex;
        gap: 8px;
    }
    .form-item.row-group .categorybuttons button{
        border: 1px solid var(--border-color);
        border-radius: 18px;
        font-size: 13px;
        color: var(--text-primary);
        padding: 5px 10px;
    }
    .form-item.row-group .categorybuttons .category.active{
        background-color: var(--color-blue);
        color: #fff;
    }

    /* footer */
    #footer { background: var(--bg-secondary); padding: 24px 0; }
    .footer-title { max-width: 500px; margin: 0 auto; font-size: 14px; font-weight: 500; color: var(--text-primary); opacity: .6; margin-bottom: 16px; }
    .footer-txt-group { max-width: 500px; gap: 4px; margin: 8px auto; }
    .footer-txt { font-size: 12px; color: var(--text-primary); opacity: .6; line-height: 1.4; }
    .footer-txt.col-group { gap: 2px; }
    .footer-txt p { line-height: 1.4; }
    .footer-copy-txt {  max-width: 500px; margin: 10px auto; font-size: 11px; font-weight: 400; opacity: .5; padding: 10px 0;}

    .categoryBtns{
        display: flex;
        gap: 8px;
    }

    /* 국가별 상품보기 */
    .nation-select-wrap { position: relative; }
    .nation-select-btn { width: 36px; height: 24px; margin-top: 3px; }
    .nation-select-btn img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
    .nation-select-group { position: absolute; width: 185px; border-radius: 8px; background: var(--bg-primary); border: 1px solid var(--border-color); top: 40px; right: -80px; display: none; }
    .nation-select-group.active { display: block; }
    .sub-header .nation-select-group { right: -32px; }
    .nation-select-title { font-size: 16px; padding: 16px 20px; border-bottom: 1px solid var(--border-color); color: var(--text-primary); }
    .nation-select-list { gap: 16px; padding: 20px; max-height: 60vh; overflow: auto; }
    .nation-select-item { display: flex; gap: 8px; align-items: center; }
    .nation-select-item .icon { width: 36px; height: 24px; }
    .nation-select-item .txt-group { width: calc( 100% - 36px - 8px ); display: flex; justify-content: space-between; align-items: center; }
    .nation-select-item .txt { font-size: 16px; font-weight: 500; color: var(--text-primary); }
    .nation-select-item i.txt { opacity: 0; }
    .nation-select-item i {
        display: none;
    }

    .nation-select-list input:checked + .nation-select-item .txt { color: var(--color-blue); opacity: 1; }
    .nation-select-list input:checked + .nation-select-item i {display: block; color: var(--color-blue); opacity: 1; }
