/* =========================================================================
   ???[style.css] PKB71 ??롮첒 ?袁ⓓ?沃섎챶?뀐쭖? ??노릅筌??遺우쁽????뽯뮞??
   =========================================================================
   ?遺우쁽???꾩꼷??? Quiet Luxury (鈺곌퀣????⑥쥒???살쑎??)
   - ?⑥눛釉??關????袁ⓦ늺 獄쏄퀣???랁? ?怨밸?????쑴竊??⑤궢 ?怨쀫툡????媛? ?怨좊뱜??筌뤾퀣???쀪땁??덈뼄.
   - ????쎈늄?遺우뵠?? ???굡 域밸챶??? ??곕늄??筌△뫁???됰슢???곸벥 鈺곌퀬?뺞에?뽰뒲 沃섎챷源???됱뵠?袁⑹뜍.
   ========================================================================= */

/* 1. ?遺우쁽????뽯뮞???醫뤾쿃 ?類ㅼ벥 */
:root {
    --bg-main: #FAF9F6;         /* ?怨뺤몴??랁?????????쎈늄?遺우뵠??沃섎챷源?*/
    --bg-card: #FFFFFF;         /* ??뺢컶??燁삳?諭??筌뤿굝猷?????*/
    --text-primary: #1C1A17;    /* ??됱뵠 ?紐꾨툧??????곕늄??筌△뫁??*/
    --text-secondary: #706B63;  /* 筌△뫀???랁??紐껋졃???됰슢???域밸챶???*/
    --accent-gold: #8C8273;     /* ???쏁뵳???꾨읂???ⓥ뫀諭??됰슢???*/
    --border-light: #EBE6DD;    /* ??뺥??類?퍦?????굡 ?됰슢???野껋럡???*/
    --admin-accent: #2C3E50;    /* ?온?귐딅뼄 ??쎈돗??쇱뒠 ??揶쏅Ŋ猿??*/
    
    --font-outfit: 'Outfit', sans-serif;
    --font-noto: 'Noto Sans KR', sans-serif;
    
    --transition-smooth: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Cafe24-style admin home dashboard */
#admin-dashboard .cafe24-admin-home {
    display: flex;
    flex-direction: column;
    gap: 22px;
    color: #1f2937;
}

#admin-dashboard .cafe24-home-todo,
#admin-dashboard .cafe24-home-panel,
#admin-dashboard .cafe24-home-bottom-grid section {
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

#admin-dashboard .cafe24-home-todo {
    padding: 22px 26px 26px;
}

#admin-dashboard .cafe24-home-todo h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-home-todo h2 span {
    color: #667085;
    font-size: 15px;
    font-weight: 700;
}

#admin-dashboard .cafe24-home-todo h2 i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #b7c0d2;
    color: #fff;
    font-size: 12px;
    font-style: normal;
}

#admin-dashboard .cafe24-home-todo-grid {
    display: grid;
    grid-template-columns: repeat(10, minmax(94px, 1fr));
    gap: 10px;
}

#admin-dashboard .cafe24-home-todo-card {
    min-height: 86px;
    padding: 14px 12px;
    border: 0;
    border-radius: 8px;
    background: #f7f8fa;
    color: #374151;
    text-align: left;
    cursor: pointer;
}

#admin-dashboard .cafe24-home-todo-card.blue {
    background: #eef8ff;
}

#admin-dashboard .cafe24-home-todo-card.pink {
    background: #fff3f6;
}

#admin-dashboard .cafe24-home-todo-card span,
#admin-dashboard .cafe24-home-todo-card em {
    display: block;
    font-size: 14px;
    font-style: normal;
    font-weight: 800;
}

#admin-dashboard .cafe24-home-todo-card strong {
    display: block;
    margin-top: 18px;
    color: #0b8bdc;
    font-size: 20px;
    font-weight: 900;
    text-decoration: underline;
}

#admin-dashboard .cafe24-home-todo-card.pink strong,
#admin-dashboard .cafe24-home-todo-card.pink em {
    color: #e91e63;
}

#admin-dashboard .cafe24-home-todo-card em {
    margin-top: 8px;
}

#admin-dashboard .cafe24-home-panel {
    padding: 0 24px 24px;
    border-radius: 18px;
}

#admin-dashboard .cafe24-home-tabs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-bottom: 1px solid #e5e7eb;
}

#admin-dashboard .cafe24-home-tabs button {
    height: 70px;
    border: 0;
    border-bottom: 5px solid transparent;
    background: transparent;
    color: #667085;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-home-tabs button.active {
    border-bottom-color: #245cff;
    color: #245cff;
}

#admin-dashboard .cafe24-home-main-grid {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) minmax(520px, 1.25fr);
    gap: 34px;
    padding-top: 26px;
}

#admin-dashboard .cafe24-home-chart-meta,
#admin-dashboard .cafe24-home-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-home-chart-wrap {
    height: 360px;
    margin-top: 16px;
}

#admin-dashboard .cafe24-home-chart-legend {
    display: flex;
    justify-content: center;
    gap: 26px;
    margin-top: 16px;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-chart-legend b,
#admin-dashboard .cafe24-home-table-head i {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 8px;
    border-radius: 3px;
    vertical-align: middle;
}

#admin-dashboard .cafe24-home-chart-legend .order,
#admin-dashboard .cafe24-home-table-head .order {
    background: #4fb0f6;
}

#admin-dashboard .cafe24-home-chart-legend .payment,
#admin-dashboard .cafe24-home-table-head .payment {
    background: #e154d7;
}

#admin-dashboard .cafe24-home-chart-legend .refund,
#admin-dashboard .cafe24-home-table-head .refund {
    background: #8b5cf6;
}

#admin-dashboard .cafe24-home-table-head {
    height: 34px;
    border-bottom: 1px solid #d9dee7;
    font-size: 15px;
}

#admin-dashboard .cafe24-home-table-head strong {
    margin-right: auto;
    color: #374151;
    font-size: 16px;
}

#admin-dashboard .cafe24-home-sales-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px; /* 15px?癒?퐣 13px嚥?餓κ쑴肉?疫꼲????由곁몴?筌ㅼ뮇??酉鍮??덈뼄. */
}

#admin-dashboard .cafe24-home-sales-table th,
#admin-dashboard .cafe24-home-sales-table td {
    padding: 10px 6px; /* ?臾믪겳 ??ㅻ뎃??12px?癒?퐣 6px嚥??リ낱? 揶쎛嚥??⑤벀而???類ｋ궖??몃빍?? */
    border-bottom: 1px solid #edf0f4;
    text-align: right;
    vertical-align: middle;
}

#admin-dashboard .cafe24-home-sales-table th {
    width: 30%;
    text-align: left;
    color: #374151;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-sales-table td strong,
#admin-dashboard .cafe24-home-sales-table td span {
    display: block;
}

#admin-dashboard .cafe24-home-sales-table td strong {
    color: #1f2937;
    font-size: 16px;
}

#admin-dashboard .cafe24-home-sales-table td span {
    margin-top: 4px;
    color: #111827;
    font-size: 13px;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-sales-table .today {
    border-left: 5px solid #1997e8;
    background: #f7fbff;
}

#admin-dashboard .cafe24-home-sales-table .today b {
    display: inline-block;
    margin-left: 4px;
    padding: 2px 6px;
    border-radius: 5px;
    background: #1887d9;
    color: #fff;
    font-size: 12px;
}

#admin-dashboard .cafe24-home-sales-table .summary {
    background: #eff8ff;
}

#admin-dashboard .cafe24-home-sales-table .strong td strong {
    font-size: 18px;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-bottom-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

#admin-dashboard .cafe24-home-bottom-grid section {
    padding: 20px;
    border-radius: 12px;
}

#admin-dashboard .cafe24-home-bottom-grid h3 {
    margin: 0 0 14px;
    font-size: 17px;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-mini-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#admin-dashboard .cafe24-home-mini-list p {
    display: flex;
    justify-content: space-between;
    margin: 0;
    color: #667085;
    font-size: 14px;
    font-weight: 800;
}

#admin-dashboard .cafe24-home-mini-list strong {
    color: #111827;
}

#admin-dashboard .cafe24-home-action-panel {
    grid-column: 1 / -1;
    padding: 24px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

#admin-dashboard .cafe24-home-action-panel h3 {
    margin: 0 0 18px;
    font-size: 20px;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

#admin-dashboard .cafe24-home-stat-card {
    min-height: 92px;
    padding: 16px;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    background: #f8fbff;
}

#admin-dashboard .cafe24-home-stat-card span,
#admin-dashboard .cafe24-home-stat-card em {
    display: block;
    color: #667085;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
}

#admin-dashboard .cafe24-home-stat-card strong {
    display: block;
    margin-top: 10px;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-stat-card em {
    margin-top: 8px;
}

#admin-dashboard .cafe24-home-action-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #d9dee7;
    font-size: 14px;
}

#admin-dashboard .cafe24-home-action-table th,
#admin-dashboard .cafe24-home-action-table td {
    padding: 13px 12px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
}

#admin-dashboard .cafe24-home-action-table th {
    background: #f8fafc;
    color: #475467;
    font-weight: 900;
}

#admin-dashboard .cafe24-home-action-table button {
    min-width: 92px;
    height: 32px;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    background: #fff;
    color: #1f2937;
    font-weight: 900;
    cursor: pointer;
}

#admin-dashboard .cafe24-home-action-table button:hover {
    border-color: #245cff;
    color: #245cff;
}

/* ?裕?1700px ??꾨릭 ??곴맒????븍꽧 獄??臾? 筌뤴뫀????癒?퐣??????뺣궖??? 筌욁끇?곻쭪? ??낅즲嚥?疫꿸퀣??癒?뱽 疫꿸퀣??1700px?癒?퐣 1850px嚥??怨밸샨 鈺곌퀣???몃빍?? */
@media (max-width: 1850px) {
    /* 1. ??삳뮎??????燁삳?諭띄몴?揶쎛嚥?5??곷뎃 2餓κ쑬以???媛숂㎉?묐릭??野껊슣?녻눧???귐덊돱筌왖 ??癰귣똻肉т빳?얜빍?? */
    #admin-dashboard .cafe24-home-todo-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    /* 2. 揶쎛嚥≪뮆以??リ낫苡??븐늿堉???덈쐲 筌△뫂??? 筌띲끉????? ?紐껋쨮 1??以???? ??뉗쓺 ??????롡뵝????욧퍙??몃빍?? */
    #admin-dashboard .cafe24-home-main-grid,
    #admin-dashboard .cafe24-home-bottom-grid {
        grid-template-columns: 1fr;
    }

    /* 3. ?????怨몃열 域밸챶???뺣즲 揶쎛嚥?2??以?揶쎛筌왖?怨좎뿳 ?類ｌ졊??餓λ씭??? */
    #admin-dashboard .cafe24-home-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 2. ?袁⑸열 ?귐딅?獄?筌뤴뫀????쎄쾿嚥▲끇而??遺우쁽??*/
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

body {
    background-color: var(--bg-main);
    color: var(--text-primary);
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    line-height: 1.7;
    overflow-x: hidden;
}

/* ??뺥???곴굡 筌뤿굟萸???쎄쾿嚥▲끇而???쇱젟 */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--bg-main);
}
::-webkit-scrollbar-thumb {
    background: var(--border-light);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--accent-gold);
}

/* 3. 筌뤿굟萸??袁⑹뒠 ??볥젃??됱퓗 ?怨룸뼊 ??삳쐭 */
/* 3. 筌뤿굟萸??袁⑹뒠 ??볥젃??됱퓗 3????삳쐭 揶쏆뮉??*/
/* ??쎄쾿嚥????袁⑥삋 ?꾩꼹?쀯㎘醫? ??????랁??紐껋졃??띿쓺 ?????롫즲嚥?獄쏄퀗瑗????梨?袁? rgba(250, 249, 246, 0.75)嚥????쎿?
   ?猷멸컳野껋럩???醫딆젻??띿쓺 ?癒?젻筌왖??backdrop-filter(blur 12px) ??ｋ궢????鈺곌퀬?뺞에?苡?鈺곌퀣???됰뮸??덈뼄. */
.fashion-header {
    background-color: rgba(250, 249, 246, 0.75);
    border-bottom: 1px solid var(--border-light);
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px); /* Safari 獄?WebKit 疫꿸퀡而??됰슢??怨? ?紐낆넎?源놁뱽 ?袁る퉸 ?곕떽? */
    transition: var(--transition-smooth);
}

/* 1?? 筌ㅼ뮇湲??μ뵠 ??筌롫뗄????삵돩獄?(疫꿸퀣??3??λ퓠???諛닿봄) */
/* ??삵돩獄쏅떽? 筌ㅼ뮇湲??λ퓠 獄쎛筌△뫚釉?첋?嚥??袁⒲걹 ???あ??border-top)????볤탢??랁?
   域??袁⑥삋????덈뮉 嚥≪뮄???怨몃열?⑥눘???癒?염??살쑎???닌됲뀋???袁る퉸 ??롫뼊 ???あ??border-bottom)???봔??뺤쓦野???쇱젟??몃빍?? */
.header-bottom-nav {
    border-top: none;
    border-bottom: 1px solid var(--border-light);
    background-color: transparent;
}

/* 2?? ?袁⑥삋嚥?????첎?餓λ쵐釉???????λ?嚥≪뮄??*/
/* ??삵돩獄쏅떽? ?袁⒲걹??곗쨮 ??猷??λ퓠 ?怨뺤뵬, 嚥≪뮄????怨룸뼊/??롫뼊 ??媛????쑴竊??獄쏅챶???? 筌띿쉸?쎿묾??袁る퉸
   padding ??媛???怨룸뼊 24px, ??롫뼊 20px嚥??類?꺍??띿쓺 癰귣똻???됰뮸??덈뼄. */
.header-center-logo {
    text-align: center;
    padding: 14px 20px 10px 20px;
    cursor: pointer;
    background-color: transparent;
    transition: var(--transition-smooth);
}

.header-center-logo:hover {
    opacity: 0.85;
}

.logo-mag-subtitle {
    font-size: 9px;
    letter-spacing: 6px;
    color: var(--text-secondary);
    display: block;
    margin-bottom: 4px;
    font-weight: 400;
}

.logo-mag-title {
    font-size: 34px;
    font-weight: 300;
    letter-spacing: 6px;
    color: var(--text-primary);
    line-height: 1.1;
    font-family: var(--font-outfit), sans-serif;
}

.bottom-nav-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 6px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bottom-nav-links {
    display: flex;
    align-items: center;
    gap: 30px;
}

.bottom-nav-item {
    text-decoration: none;
    font-size: 12.5px;
    letter-spacing: 2.5px;
    color: var(--text-secondary);
    font-weight: 400;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: var(--transition-smooth);
}

.bottom-nav-item:hover, .bottom-nav-item.active {
    color: var(--text-primary);
    border-bottom: 2px solid var(--text-primary);
    font-weight: 600;
}

.bottom-nav-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* ???쏁뵳???깃퍥??野꺜???怨몄쁽 */
.header-search-box {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--text-secondary);
    padding: 2px 4px;
    transition: var(--transition-smooth);
}

.header-search-box:focus-within {
    border-color: var(--text-primary);
}

.header-search-box input {
    border: none;
    background: transparent;
    font-size: 11px;
    letter-spacing: 1.5px;
    width: 130px;
    color: var(--text-primary);
    font-family: var(--font-outfit), sans-serif;
}

.header-search-box input:focus {
    outline: none;
    width: 180px;
    transition: width 0.3s ease;
}

.header-search-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    color: var(--text-primary);
}

/* ??????쏁뵳??貫而?뤃???甕곌쑵??*/
.nav-cart-btn-luxury {
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    background-color: transparent;
    padding: 4px;
    position: relative;
    transition: var(--transition-smooth);
}

.nav-cart-btn-luxury:hover {
    transform: scale(1.1);
}

.cart-icon {
    font-size: 16px;
    color: var(--text-primary);
}

.cart-count-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background-color: var(--accent-gold);
    color: #FFFFFF;
    font-size: 9px;
    font-weight: 700;
    min-width: 17px;
    height: 17px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    border: 1.5px solid var(--bg-main);
}

/* 4. 揶쏅Ŋ苑???됰선嚥???쎈늄??獄쏄퀡瑗?(??륁뵠??筌?Ŧ??? 域뱀뮄爰?揶쏆뮉?? */
/* ????????紐껋삌????덈뮉 筌ㅼ뮇?끾??뚢뫂???瑗??낅빍?? ??? ?????諭??쇱뵠 ????援밧첎?筌왖 ??꾩쓺 揶쏅Ŋ?δ빳?얜빍?? */
.hero-section {
    position: relative;
    aspect-ratio: 855 / 240;
    height: auto;
    min-height: 220px;
    max-height: 420px;
    margin-bottom: 50px;
    overflow: hidden;
}

/* ?????諭?2揶쏆뮆? 揶쎛嚥≪뮆以?野껊???癒?┛ ?袁る립 100% ??쑴????紐껋삌??낅빍?? */
.hero-slider-track {
    width: 100%;
    height: 100%;
    position: relative;
}

/* 揶쏆뮆???????諭? absolute 獄쏄퀣?귝에???뺤쨮????륁춦??곗쨮 ?袁⑹읈????而??獄쏄퀣???몃빍??
   ??梨??opacity)?? ??볦퍟 ?紐꾪뀱(visibility)??鈺곌퀣???뤿연 ?봔??뺤쑎???袁れ넎??筌띾슢踰??덈뼄. */
.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #FFFFFF;
    opacity: 0;
    visibility: hidden;
    /* 1.2????덈툧 ??뽮퐣???諭釉??????獄쏅뗀???뮉 ?怨쀫툡????곕늄????륁뵠????ｋ궢 */
    transition: opacity 1.2s ease, visibility 1.2s ease;
    z-index: 1;
}

/* active ?????? ?븐늿?앾쭖???梨?袁? 1????롢늺??筌ㅼ뮇湲????됱뵠??z-index: 2)嚥???쏅툡?????遺얇늺??癰귣똻???덈뼄. */
.hero-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* 獄쏄퀡瑗??袁⑸퓠 ?癒?뀮??疫꼲?癒?굶??筌뤿굝猷?????쑬? ?袁る립 ??녾퍥 域밸챶??怨쀬뵠???貫彛??곗쨮 揶쏆뮉??*/
.hero-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* ?袁⑥삋嚥?揶쏅뜆?붹에?沃섎챷苑??띿쓺 繹먮봿堉깍쭪???域밸챶??怨쀬뵠??륁몵嚥?????꾨７???醫딆구??띿쓺 ?袁⑹뜖餓λ씭???*/
    background: linear-gradient(to bottom, rgba(28, 26, 23, 0.35) 0%, rgba(28, 26, 23, 0.68) 100%);
    z-index: 1;
}

/* 獄쏄퀡瑗???용뮞???꾩꼹?쀯㎘?獄쏅벡??*/
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    padding: 20px;
}

.hero-subtitle {
    font-family: var(--font-outfit), sans-serif;
    font-size: 11.5px;
    letter-spacing: 7px; /* ?癒?퍢?????蹂? ?袁ⓥ봺沃섎챷毓?揶쏅Ŋ苑?揶쏅벡??*/
    color: #C4A478; /* ??볥젃??됱퓗 ?됰슢以롳쭩??ⓥ뫀諭???륁뵠??깆뵠??*/
    margin-bottom: 15px;
    font-weight: 700;
}

.hero-title {
    font-size: 42px; /* 疫꿸퀣??38px -> 42px嚥??봔揶?*/
    font-weight: 500;
    letter-spacing: 3px;
    margin-bottom: 22px;
    font-family: var(--font-outfit), sans-serif;
    line-height: 1.25;
    text-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

.hero-desc {
    font-size: 14.5px;
    font-weight: 300;
    color: #F5F5F3;
    line-height: 1.9; /* ???퍢???蹂? ??뽰뜚??揶쎛??녾쉐 */
    word-break: keep-all;
    font-family: var(--font-noto), sans-serif;
}

.hero-divider {
    width: 35px;
    height: 1.5px;
    background-color: #C4A478; /* ?遺얠뺍?????醫롮뱽 ?ⓥ뫀諭??깆몵嚥??怨뺣짗 */
    margin: 24px auto 0 auto;
    opacity: 0.8;
}

/* ?ル슣????뽯선 沃섎챶?뀐쭖? ?癒곗굨 ?遺욧땀??甕곌쑵??*/
.hero-slide-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(28, 26, 23, 0.2);
    color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.25);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 300;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-smooth);
    backdrop-filter: blur(5px);
}

.hero-slide-btn:hover {
    background: rgba(140, 130, 115, 0.85); /* 筌띾뜆????紐껋쒔 ???ⓥ뫀諭띌뜮???뽮쉐??*/
    color: #FFFFFF;
    border-color: var(--accent-gold);
}

.prev-btn { left: 24px; }
.next-btn { right: 24px; }

/* ??롫뼊 ?????諭??袁れ넺 ???袁る뱜) ?紐껊탵?냈??꾧숲 */
.hero-dots {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.hero-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    transition: var(--transition-smooth);
}

/* ?袁⑹삺 ?녹뮇議???덈뮉 ??륁뵠筌왖?????袁る뱜)????뤿폀????苡??봔揶쏄낯???щ빍?? */
.hero-dot.active {
    background: #FFFFFF;
    transform: scale(1.3);
}

/* 5. ?紐?[揶쏆뮇苑? ?袁ⓥ봺沃섎챷毓??됰슢?????쎈꽅??揶쎛嚥?2?브쑵釉???됱뵠?袁⑹뜍 ?????*/
.shop-story-section {
    max-width: 1300px;
    margin: 0 auto 50px auto; 
    padding: 0 20px;
}

.story-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* ?ル슣??1:1 獄쏆꼶而???쑴??*/
    border: 1px solid rgba(196, 164, 120, 0.35); /* ??????띿쓺 ?癒?뀮???됰슢以롳쭩??ⓥ뫀諭?野껋럡???*/
    border-radius: 12px;
    background: linear-gradient(135deg, #2A2621 0%, #1A1815 100%); /* ???됰슢???筌△뫁??筌뤿굟萸?域밸챶??怨쀬뵠??*/
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); /* 繹먮봽??????????녾퍥 域밸챶???*/
    overflow: hidden; /* ?觀??野껋럡????됱몵嚥???쑴竊??揶쎛??*/
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.story-split-container:hover {
    border-color: rgba(196, 164, 120, 0.6);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

.story-split-left {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 筌뤿굟萸?癰귣똻弛??揶쏅Ŋ苑????? ??곸㉦ ?袁⑥쟿????깆뵥 */
.story-inner-frame {
    border: 1px double rgba(196, 164, 120, 0.25); /* ??野껊????怨쀫툡??癰귣똻弛????*/
    border-radius: 8px;
    padding: 40px 45px;
    text-align: center;
    transition: all 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.story-split-container:hover .story-inner-frame {
    border-color: rgba(196, 164, 120, 0.5);
    background-color: rgba(255, 255, 255, 0.015); /* 沃섎챷苑???용쵑源???ｋ궢 */
}

/* 餓λ쵐釉??關???醫딇닜???怨쀭맜 */
.story-emblem {
    font-size: 15px;
    color: #C4A478; /* 獄쏆꼷彛?????됰슢以롳쭩??ⓥ뫀諭?*/
    letter-spacing: 6px;
    margin-bottom: 16px;
    text-shadow: 0 0 8px rgba(196, 164, 120, 0.4);
    opacity: 0.95;
}

/* ?紐껋졃???ⓥ뫀諭??됰슢???揶쏅Ŋ苑???怨론???볥젃 */
.story-eng-tag {
    font-family: var(--font-outfit), sans-serif;
    font-size: 12px;
    letter-spacing: 5px;
    color: #C4A478;
    font-weight: 700;
    display: block;
    margin-bottom: 16px;
}

/* ??삳굡??깆뵥 ??용뮞??*/
.story-headline {
    font-family: var(--font-noto), sans-serif;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #FAF9F6; /* ??쎈늄?遺우뵠??*/
    margin-bottom: 20px;
    line-height: 1.5;
}

/* 餓λ쵐釉?沃섎챶???닌됲뀋??*/
.story-divider-line {
    width: 35px;
    height: 1px;
    background-color: #C4A478;
    margin: 0 auto 26px auto;
    opacity: 0.6;
}

/* 癰귣챶揆 ??살구 餓κ쑨? */
.story-paragraph {
    font-family: var(--font-noto), sans-serif;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.3px;
    color: #C5BFB5;
    max-width: 500px;
    margin: 0 auto;
    word-break: keep-all;
}

/* ?怨쀫? 揶쏅Ŋ苑?筌뤿굟萸???곕? ???筌왖 */
.story-split-right {
    background-size: cover;
    background-position: center;
    position: relative;
    min-height: 400px;
}

.story-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* ??紐?????춳?? ???筌왖揶쎛 鈺곌퀬?뺞에?苡???곸뒭????袁⑥쨯 域밸챶??怨쀬뵠????살쒔??됱뵠 ?關媛?*/
    background: linear-gradient(to right, rgba(26, 24, 21, 0.5) 0%, rgba(26, 24, 21, 0) 100%);
}

/* ??녔닼?5?? ??됰뼎 ??쀪문 ?袁⑹뵠??獄??????*/
.benefit-icons-bar {
    max-width: 1300px;
    margin: 0 auto 50px auto;
    padding: 30px 20px;
    background-color: #F8F7F4; /* 筌△뫀???랁??類?퍦??沃섎챷源?*/
    border: 1px solid var(--border-light);
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5??獄쏄퀣??*/
    gap: 20px;
    text-align: center;
}

.benefit-icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 1px solid rgba(112, 107, 99, 0.15);
}

.benefit-icon-item:last-child {
    border-right: none; /* 筌띾뜆?筌??袁⑹뵠??? ??삘뀲筌????あ????볤탢 */
}

.benefit-icon-circle {
    font-size: 24px;
    width: 50px;
    height: 50px;
    background-color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
    border: 1px solid var(--border-light);
}

.benefit-icon-title {
    font-family: var(--font-noto), sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.benefit-icon-desc {
    font-family: var(--font-noto), sans-serif;
    font-size: 11px;
    color: var(--text-secondary);
    line-height: 1.4;
    word-break: keep-all;
}

/* ?猷??硫몃┛/?醫롪맒??4??8揶??⑥쥙??域밸챶????????*/
.best-grid-container, .new-grid-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* ?몣 [?좎꽕] PC 硫붿씤?붾㈃ ?곹뭹 ???뺤옣???꾪빐 5?대줈 ?ㅼ젙 */ /* 4??域밸챶???*/
    gap: 40px 24px;
    margin-bottom: 30px;
}

/* ?猷?甕곗쥙????怨밸? ?袁⑹뒠 ?됰뗀????沅?獄쏄퀣? ?????*/
.product-card-wrapper {
    position: relative;
    height: 100%;
}

.rank-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    background-color: #1A1815; /* ??쀪쾿???됰뗀?????춳 */
    color: #C4A478; /* 筌뤿굟萸??ⓥ뫀諭?*/
    font-family: var(--font-outfit), sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    border: 1px solid rgba(196, 164, 120, 0.4);
    z-index: 10;
    box-shadow: 0 4px 8px rgba(0,0,0,0.25);
    letter-spacing: 0.5px;
}

/* 沃섎챶逾??? 獄쏆꼷??類ㅼ몵嚥?餓κ쑴堉??????됱뵠?袁⑹뜍 筌ㅼ뮇???*/
@media (max-width: 991px) {
    .story-split-container {
        grid-template-columns: 1fr; /* ???닜????꾨릭 ?紐껋쨮 獄쏄퀣??*/
    }
    .story-split-right {
        min-height: 300px;
    }
    .best-grid-container, .new-grid-container {
        grid-template-columns: repeat(2, 1fr); /* 2??以??곕벡??*/
        gap: 30px 16px;
    }
    .benefit-icons-bar {
        grid-template-columns: repeat(2, 1fr); /* 2??獄쏄퀣??*/
        gap: 30px 15px;
    }
    .benefit-icon-item {
        border-right: none;
        border-bottom: 1px solid rgba(112, 107, 99, 0.1);
        padding-bottom: 15px;
    }
    .benefit-icon-item:nth-child(4), .benefit-icon-item:nth-child(5) {
        border-bottom: none;
        padding-bottom: 0;
    }
}

@media (max-width: 768px) {
    .story-inner-frame {
        padding: 30px 20px;
    }
    .story-headline {
        font-size: 20px;
    }
    .story-paragraph {
        font-size: 13px;
        line-height: 1.8;
    }
}

@media (max-width: 480px) {
    .benefit-icons-bar {
        grid-template-columns: 1fr; /* 筌뤴뫀而????곗굨???1??*/
    }
    .benefit-icon-item {
        border-bottom: 1px solid rgba(112, 107, 99, 0.1);
        padding-bottom: 15px;
    }
    .benefit-icon-item:last-child {
        border-bottom: none;
    }
}

/* 6. ?됯퀬猷????됱뵠?袁⑹뜍 */
.main-viewport {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px 80px 20px;
}

.page-view {
    animation: fadeInPage 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

@keyframes fadeInPage {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

.filter-header {
    margin-bottom: 40px;
    text-align: center;
    border-bottom: 1px dashed var(--border-light);
    padding-bottom: 30px;
}

.section-title {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 3px;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.section-sub {
    font-size: 13px;
    color: var(--text-secondary);
    font-weight: 300;
    word-break: keep-all;
}

/* 6. 筌뤴뫀??沃섎챶?뀐쭖? ?怨밸? 燁삳?諭?域밸챶???*/
.product-grid-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* ?紐?[?醫롪퐬] ?怨쀫뮞????癒?퐣 筌뤿굟萸?5????됱뵠?袁⑹뜍 ?⑥쥙??*/
    gap: 40px 24px; /* 揶쎛嚥??紐껋쨮 揶쏄쑨爰???蹂?雅뚯눘堉???럥萸????용뮉 ???쏁뵳??紐낆뵃揶??怨쀭뀱 */
}

/* 沃섎챷?졿꽴? ??れ쁽 揶쏅Ŋ苑??곗쨮 ?怨밸? ?紐껉퐬??雅뚯눖???12px ?⑥쥒??沃섎챷源???ㅻ뎃???癒?뀲 ?類?퍦??燁삳?諭??낅빍?? */
.product-card {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 12px 12px 0 12px; /* ?? ?ル슣????ㅻ뎃??雅뚯눘堉???? ??媛???れ쁽???類ㅺ쉐 */
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,0.02);
    border: 1px solid var(--border-light);
    transition: var(--transition-smooth);
    
    /* ??덉몘??[?醫롪퐬] 燁삳?諭??袁⑷퍥 ?誘れ뵠 域뱀쥙??遺? ?袁る립 ???젂??살뺏????됱뵠?袁⑹뜍 ?醫롫섧 */
    display: flex;
    flex-direction: column;
    height: 100%; /* ?봔筌?域밸챶?????됰퓠??燁삳?諭???誘れ뵠揶쎛 ??곗ぇ?怨몄몵嚥???덉뵬??띿쓺 ??뤿선??*/
}

/* ?紐껋쒔 ??8px 筌△뫀???띿쓺 ?봔?醫뤿릭筌???꾨읂???ⓥ뫀諭????あ?귐됱쨮 ??쇱뵠 ?醫딆구?????筌뤴뫁???낅빍?? */
.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(140, 130, 115, 0.08);
    border: 1px solid var(--accent-gold);
}

/* ???筌왿궗??揶쏅Ŋ????袁⑥쟿?袁⑤즲 ?觀?野?繹먮‘釉???れ쁽 ??? 癰귣?諭띄몴???녾퍥?酉鍮??덈뼄. (app.js??.product-image-box 筌띲끋釉? */
.product-image-box {
    position: relative;
    width: 100%;
    /* ??덉몘??[揶쏆뮇苑? 筌롫뗄???遺얇늺 ??쀫? 筌욊쑴肉??1:1 ?類ㅺ텢揶쏄낱?????쏁뵳??ル굟?믧뜮袁⑹쨮 ?⑥쥙?????뵬 */
    aspect-ratio: 1 / 1; 
    height: auto;
    padding-top: 0; /* aspect-ratio????????嚥?疫꿸퀣????깃쉽????ㅻ뎃 ?얜똾???*/
    overflow: hidden;
    background-color: #F5F5F3;
}

/* ??깃맒?????????獄쏄퀗瑗띷???볦퍟揶쏄낯??鈺곌퀡梨?????젫??띾┛ ?袁る퉸 沃섎챷苑??臾먭컶+??뺤퓢??? ?紐낅돗???袁り숲??野껉퀬鍮??몃빍?? */
.product-image-box img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain; /* ?癒?궚 ???筌왖??筌〓슡???彛???袁ⓦ늺 筌△뫀???랁??怨몃열??筌띿쉳苡???筌?쑴? */
    filter: grayscale(15%) sepia(10%) brightness(0.97) contrast(98%); /* ???빵 筌△뫀????袁り숲 ?臾먮짗 */
    transition: transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.5s ease;
}

/* 筌띾뜆???? ?諭肉?????춸 ??ｊ볼筌?100% ?醫딆구???귐딅섰 ??뿅??뚎됱쑎揶쎛 ??뽮퐣??獄쏆빘釉섓쭪?筌????툡??щ빍?? */
.product-card:hover .product-image-box img {
    transform: scale(1.06);
    filter: grayscale(0%) sepia(0%) brightness(1) contrast(1); /* 100% ??뿅???깃맒 癰귣벀??*/
}

/* ??용뮞???類ｋ궖 ?닌딅열????ㅻ뎃 獄??怨좊뱜 ?紐껋졃??(app.js??.product-info-box 筌띲끋釉? */
.product-info-box {
    padding: 18px 8px 22px 8px; /* ??? ??媛?鈺곌퀣??*/
    text-align: center;
    /* ??덉몘??[?醫롪퐬] 燁삳?諭????怨밸?筌뤿굞??疫뀀챷堉깍쭪??遺얠뵬??揶쎛野꺿뫕??獄쏅뗀???誘れ뵠揶쎛 ??湲???덉뵬??띿쓺 ?袁⑥삋??筌띿쉸?좑쭪??袁⑥쨯 筌띾뜆彛?鈺곌퀣??*/
    margin-top: auto;
}

.prod-brand-lbl {
    font-size: 10px;
    letter-spacing: 2px;
    color: var(--accent-gold);
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 6px;
    display: block; /* 筌띾뜇寃????span ?遺용꺖???嚥?block ??쇱젟??뤿연 ?類ｌ졊 ?怨몄뒠 */
}

.prod-name-lbl {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* ?怨밸?筌뤿굞????댭?疫?野껋럩????됯굄野?筌띾Ŋ夷?袁るご 筌ｌ꼶??*/
    font-family: var(--font-noto), sans-serif;
}

.prod-price-lbl {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 0.5px;
}

/* 7. 嚥≪뮆逾?獄???쎈돗???????*/
.loading-box {
    grid-column: 1 / -1;
    text-align: center;
    padding: 100px 0;
    color: var(--text-secondary);
}

.spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--border-light);
    border-top: 3px solid var(--accent-gold);
    border-radius: 50%;
    margin: 0 auto 20px auto;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 8. 沃섎챶?뀐쭖? 100% ?怨멸쉭??륁뵠筌왖 ??됱뵠?袁⑹뜍 */
.back-nav {
    font-size: 12px;
    letter-spacing: 2px;
    color: var(--text-secondary);
    cursor: pointer;
    margin-bottom: 20px;
    display: inline-block;
    transition: var(--transition-smooth);
}

.back-nav:hover {
    color: var(--text-primary);
    transform: translateX(-4px);
}

.detail-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
    align-items: start;
}

/* ?踰?4筌?揶쏆뮉?? ?怨룸뼊 ???????筌왖 ??ㅻ즴 ?뚢뫂???瑗?*/
.detail-main-img-container {
    width: 100%;
    aspect-ratio: 1 / 1; /* ?紐?[?醫롪퐬] 筌롫뗄???遺얇늺??1:1 ?類ㅺ텢揶쏄낱????쑴?됪??類μ넇?????뵬 */
    overflow: hidden;
    border-radius: 8px;
    background-color: #F5F5F3;
}

.detail-main-img-container img {
    width: 100%;
    height: 100%; /* ?봔筌뤴뫁??3:4 ??쑴???誘れ뵠??筌띿쉸????筌?쑴? */
    object-fit: contain; /* 筌롫뗄???遺얇늺????덉뵬??띿쓺 ??볥걹 ??곸뵠 筌?쑴??묾?獄쎻뫗???怨몄뒠 */
    border-radius: 8px;
    border: 1px solid var(--border-light);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03); /* ??뽯쭅 ?⑥쥚??怨몄뵠???봔??뺤쑎????륁뵠?遺얜굡 域밸챶???*/
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.detail-main-img-container img:hover {
    transform: scale(1.015); /* 筌띾뜆?????살쒔 ??沃섎챷苑?餓λ슣????ｋ궢嚥???곷툡??덈뮉 獄쏆꼷?????볥궗 */
}

.detail-panel {
    position: sticky;
    top: 110px; /* ?⑥쥓猷????쎈뼒??筌ㅼ뮇???*/
}

.sticky-panel-content {
    padding-left: 20px;
}

.detail-brand {
    font-size: 12px;
    letter-spacing: 3px;
    color: var(--accent-gold);
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.detail-name {
    font-size: 26px;
    font-weight: 500;
    color: var(--text-primary);
    line-height: 1.4;
    margin-bottom: 20px;
    word-break: keep-all;
    font-family: var(--font-noto), sans-serif;
}

.detail-price-box {
    margin-bottom: 25px;
}

.price-original {
    font-size: 13.5px;
    text-decoration: line-through;
    color: var(--text-secondary);
    font-family: var(--font-outfit), sans-serif;
    display: block;
}

.price-discount-rate {
    font-size: 20px;
    font-weight: 700;
    color: var(--accent-gold);
    font-family: var(--font-outfit), sans-serif;
}

.price-val {
    font-size: 25px;
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-outfit), sans-serif;
}

.detail-divider {
    height: 1px;
    background-color: var(--border-light);
    margin: 25px 0;
}

/* ???[?醫롪퐬] 獄쏄퀣??獄??怨룐뵲疫?筌앸맩???遺용튋 ??볥젃 獄쏅벡???????*/
.benefit-summary-box {
    background-color: #F8F7F4; /* 筌△뫀???랁??類?퍦??沃섎챷源?*/
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 25px;
}

.benefit-row {
    display: flex;
    align-items: flex-start;
    font-size: 11.5px;
    line-height: 1.6;
}

.benefit-icon {
    font-size: 13.5px;
    margin-right: 10px;
    display: inline-block;
    line-height: 1;
}

.benefit-label {
    font-weight: 700;
    color: var(--text-primary);
    width: 65px;
    flex-shrink: 0;
}

.benefit-value {
    color: var(--text-secondary);
    word-break: keep-all;
}

.option-group {
    margin-bottom: 20px;
}

.opt-label {
    font-size: 11px;
    letter-spacing: 1px;
    color: var(--text-secondary);
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
}

/* ???[?袁⑹뒻??끹걧.shop ?類λ꽰 ????? ???쏁뵳???????뺚댘??쇱뒲 */
.detail-select-box {
    width: 100%;
    height: 48px;
    padding: 0 15px;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    font-family: var(--font-noto), sans-serif;
    font-size: 13.5px;
    color: var(--text-primary);
    outline: none;
    cursor: pointer;
    transition: var(--transition-smooth);
    appearance: none; /* ?됰슢??怨? 疫꿸퀡???遺욧땀????? */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23706B63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
}

.detail-select-box:focus {
    border-color: var(--text-primary);
    box-shadow: 0 0 0 3px rgba(140, 130, 115, 0.08);
}

/* ???[?醫롪퐬] ??덉읅 ?醫뤾문 ??????덀걠 燁삳?諭?筌뤴뫖以?*/
.selected-options-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 15px;
    margin-bottom: 20px;
}

.selected-option-item {
    background-color: #F8F7F4; /* ??? 沃섎챷源?獄쏅?源?*/
    border: 1px solid var(--border-light);
    border-radius: 6px;
    padding: 16px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr 30px;
    align-items: center;
    gap: 10px;
    animation: slideDownOption 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

@keyframes slideDownOption {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.selected-option-name {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-noto), sans-serif;
    word-break: keep-all;
}

/* ??롮쎗 鈺곌퀣?끾묾??遺우쁽??*/
.qty-controller {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-light);
    background-color: #FFFFFF;
    border-radius: 4px;
    overflow: hidden;
    width: 90px;
    height: 32px;
}

.qty-btn {
    border: none;
    background: none;
    width: 28px;
    height: 100%;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
}

.qty-btn:hover {
    background-color: #FAF9F6;
    color: var(--text-primary);
}

.qty-input {
    width: 34px;
    height: 100%;
    border: none;
    border-left: 1px solid var(--border-light);
    border-right: 1px solid var(--border-light);
    text-align: center;
    font-family: var(--font-outfit), sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    outline: none;
}

/* 揶쏆뮆??疫뀀뜆釉?*/
.selected-option-price {
    font-family: var(--font-outfit), sans-serif;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-primary);
    text-align: right;
}

/* ??????ν뀤 */
.selected-option-remove {
    border: none;
    background: none;
    font-size: 16px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.selected-option-remove:hover {
    color: #D32F2F;
    transform: scale(1.1);
}

/* ???[??쇰뻻揶??怨쀪텦] ???怨밸? 疫뀀뜆釉???뽯뻻 ?怨몄쁽 */
.detail-total-price-box {
    background-color: #FAF9F6;
    border-top: 2px solid var(--text-primary);
    border-bottom: 1px solid var(--border-light);
    padding: 20px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 25px;
    margin-bottom: 25px;
    animation: fadeInTotalPrice 0.4s ease forwards;
}

@keyframes fadeInTotalPrice {
    from { opacity: 0; }
    to { opacity: 1; }
}

.detail-total-price-box .total-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-noto), sans-serif;
}

.detail-total-price-box .total-price-display {
    text-align: right;
}

.detail-total-price-box .total-price-val {
    font-size: 24px;
    font-weight: 800;
    color: var(--text-primary);
    font-family: var(--font-outfit), sans-serif;
}

.detail-total-price-box .total-qty-val {
    font-size: 13.5px;
    color: var(--accent-gold);
    font-weight: 700;
    margin-left: 5px;
}

/* ?紐?[?袁⑹뒻??끹걧.shop 揶쏅Ŋ苑???놁삢 甕곌쑵?? ?닌됤꼻 獄?癰귣똻??甕곌쑵??獄쏄퀣??*/
.action-buttons-group-luxury {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin-top: 25px;
}

/* 筌롫뗄??????BUY IT NOW 獄쏅뗀以덃뤃???*/
.buy-now-btn {
    width: 100%;
    height: 60px;
    background-color: var(--text-primary);
    color: #FFFFFF;
    border: 1px solid var(--text-primary);
    border-radius: 6px;
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(28,26,23,0.15);
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.buy-now-btn:hover {
    background-color: var(--accent-gold);
    border-color: var(--accent-gold);
    box-shadow: 0 8px 25px rgba(140, 130, 115, 0.25);
    transform: translateY(-2px);
}

/* 癰귣똻??野껉퀬鍮 嚥≪뮇??*/
.sub-buttons-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 10px;
    width: 100%;
}

.sub-cart-btn {
    height: 52px;
    background-color: #FFFFFF;
    color: var(--text-primary);
    border: 1px solid var(--border-light);
    border-radius: 6px;
    font-family: var(--font-noto), sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.sub-cart-btn:hover {
    border-color: var(--text-primary);
    background-color: #FAF9F6;
}

.sub-wish-btn {
    height: 52px;
    background-color: #FFFFFF;
    color: var(--text-secondary);
    border: 1px solid var(--border-light);
    border-radius: 6px;
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub-wish-btn:hover {
    border-color: var(--text-primary);
    color: var(--text-primary);
}

.sub-wish-btn.active {
    border-color: #D32F2F;
    color: #D32F2F;
    background-color: rgba(211, 47, 47, 0.02);
}

/* ?諭?[?醫롪퐬] ?袁⑺맜?遺용섧 ??? ?類? ??쇰? ???좑쭩?揶쎛??諭????????*/
.size-table-title {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 10px 0 12px 0;
}

.minimal-size-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    text-align: center;
    margin-bottom: 25px;
    border-top: 1px solid var(--text-primary);
    border-bottom: 1px solid var(--border-light);
}

.minimal-size-table th {
    background-color: #F8F7F4;
    color: var(--text-primary);
    font-weight: 600;
    padding: 10px 4px;
    font-size: 10.5px;
    letter-spacing: 0.5px;
}

.minimal-size-table td {
    padding: 10px 4px;
    color: var(--text-secondary);
    border-bottom: 1px solid #FAF9F6;
}

.minimal-size-table tbody tr:hover {
    background-color: #FAF8F2;
    color: var(--text-primary);
}

.spec-grid-box {
    margin-top: 30px;
}

.spec-box-title {
    font-size: 12px;
    letter-spacing: 2px;
    color: var(--text-primary);
    margin-bottom: 12px;
    font-weight: 500;
}

.minimal-spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.minimal-spec-table tr {
    border-bottom: 1px solid var(--border-light);
}

.minimal-spec-table td {
    padding: 10px 0;
}

.minimal-spec-table td.label {
    width: 30%;
    color: var(--text-secondary);
    font-weight: 400;
}

.minimal-spec-table td.value {
    color: var(--text-primary);
    font-weight: 500;
}

.product-description-text {
    font-family: var(--font-noto), sans-serif;
    font-size: 17px !important; /* ?몚 湲???ш린 ?뺣? */
    font-weight: 600 !important; /* ?몚 湲???좊챸??*/
    line-height: 1.8 !important;
    color: #111111 !important; /* ?몚 ?좊챸???꾩쟾釉붾옓 */
    word-break: keep-all;
    font-family: var(--font-noto), sans-serif;
}

/* ?諭?[?醫롪퐬 5筌??⑥쥓猷?? Quiet Luxury 域밸갭???? 3???袁⑺맜?遺용섧 ??뽯뮞???遺우쁽??*/
.luxury-accordion {
    margin-top: 40px;
    border-top: 1px solid var(--border-light);
}

.accordion-item {
    border-bottom: 1px solid var(--border-light);
}

.accordion-header {
    width: 100%;
    background: none;
    border: none;
    padding: 20px 0;
    display: flex;
    align-items: center;
    text-align: left;
    cursor: pointer;
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    color: var(--text-primary);
    transition: var(--transition-smooth);
}

.accordion-header:focus {
    outline: none;
}

.header-num {
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 1.5px;
    color: var(--accent-gold);
    margin-right: 15px;
}

.header-title {
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 2px;
    flex: 1;
}

.header-icon {
    position: relative;
    width: 10px;
    height: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-icon::before, .header-icon::after {
    content: '';
    position: absolute;
    background-color: var(--text-secondary);
    transition: var(--transition-smooth);
}

/* ???쑎???袁⑹뵠??揶쎛嚥≪뮇苑?*/
.header-icon::before {
    width: 10px;
    height: 1px;
}

/* ???쑎???袁⑹뵠???紐껋쨮??*/
.header-icon::after {
    width: 1px;
    height: 10px;
}

/* ??뽮쉐?????紐껋쨮?????읈??뤿연 筌띾뜆???됰뮞(-) ?袁⑹뵠?꾩꼷?앮에?癰궰野?*/
.accordion-item.active .header-icon::after {
    transform: rotate(90deg);
    opacity: 0;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-item.active .accordion-content {
    max-height: 1200px; /* ?겸뫖????誘れ뵠嚥???쇱젟??뤿연 ??깊쒙쭪??袁⑥쨯 ??*/
}

/* ??? ??ㅺ섯??쇱벥 ??ㅻ뎃 獄??귐딅?*/
.accordion-content .product-description-text {
    margin-top: 0;
    padding-bottom: 25px;
    font-size: 13px;
    line-height: 1.8;
}

.accordion-content .minimal-spec-table {
    margin-bottom: 25px;
}

.accordion-content .minimal-spec-table td {
    padding: 8px 0;
}

/* ?귐됰윮 ?遺용튋 獄?筌뤴뫖以??類ｋ즷 */
.detail-reviews-summary {
    padding: 10px 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.avg-stars {
    color: var(--accent-gold);
    font-size: 16px;
    letter-spacing: 1px;
}

.avg-num {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
}

.detail-reviews-list {
    max-height: 350px;
    overflow-y: auto;
    padding-right: 5px;
    margin-bottom: 25px;
}

/* ?귐됰윮 燁삳?諭?沃섎챶?뀐쭖???*/
.review-card {
    border-bottom: 1px dashed var(--border-light);
    padding: 15px 0;
}

.review-card:last-child {
    border-bottom: none;
}

.review-card-header {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--text-secondary);
    margin-bottom: 5px;
}

.review-stars {
    color: var(--accent-gold);
    font-size: 11px;
    display: block;
    margin-bottom: 8px;
}

.review-body-text {
    font-size: 12px;
    line-height: 1.6;
    color: var(--text-primary);
    word-break: keep-all;
}

/* 9. ?諭??類λ꽰 雅뚯눖揆????륁뵠筌왖 (Checkout View) ?遺우쁽??*/
.checkout-layout {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
    align-items: start;
}

.checkout-form-panel {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 35px;
    border: 1px solid var(--border-light);
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
}

.checkout-section-title {
    font-size: 15px;
    letter-spacing: 2px;
    color: var(--text-primary);
    font-weight: 700;
}

.checkout-divider {
    height: 1px;
    background-color: var(--border-light);
    margin: 15px 0 25px 0;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-label {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-secondary);
}

.form-label .required {
    color: #D32F2F;
    margin-left: 2px;
}

.form-input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    font-size: 13.5px;
    font-family: var(--font-noto), sans-serif;
    background-color: #FAF9F6;
    transition: var(--transition-smooth);
}

.form-input:focus {
    outline: none;
    border-color: var(--text-primary);
    background-color: #FFFFFF;
    box-shadow: 0 0 8px rgba(0,0,0,0.02);
}

.postcode-row {
    display: flex;
    gap: 10px;
}

.postcode-btn {
    padding: 12px 20px;
    background-color: var(--text-primary);
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.postcode-btn:hover {
    background-color: var(--accent-gold);
}

/* ?猷??얜똾?????껎닊 ??덇땀 ?怨몄쁽 */
.bank-info-box {
    background-color: #FAF8F2;
    border-left: 4px solid var(--accent-gold);
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 20px;
}

.bank-tag {
    font-size: 11px;
    font-weight: 700;
    color: var(--accent-gold);
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.bank-account {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.bank-notice {
    font-size: 11.5px;
    line-height: 1.6;
    color: var(--text-secondary);
    word-break: keep-all;
}

.order-final-btn {
    width: 100%;
    padding: 20px;
    background-color: #2E7D32; /* ?醫듚먨첎癒?뱽 雅뚯눖???諭源??④쑴肉?野껉퀣??*/
    color: #FFFFFF;
    border: none;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(46,125,50,0.2);
    transition: var(--transition-smooth);
    margin-top: 25px;
    font-family: var(--font-noto), sans-serif;
}

.order-final-btn:hover {
    background-color: #1B5E20;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(46,125,50,0.3);
}

/* 雅뚯눖揆???遺용튋 燁삳?諭?*/
.checkout-summary-panel {
    position: sticky;
    top: 100px;
}

.summary-card {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 30px;
    border: 1px solid var(--border-light);
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
}

.summary-title {
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--text-primary);
    font-weight: 700;
}

.summary-items-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-height: 250px;
    overflow-y: auto;
    padding-right: 5px;
}

.summary-item-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.summary-item-img {
    width: 45px;
    height: 58px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--border-light);
}

.summary-item-info {
    flex-grow: 1;
}

.summary-item-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
    font-family: var(--font-noto), sans-serif;
}

.summary-item-opt {
    font-size: 11px;
    color: var(--text-secondary);
}

.summary-item-qty {
    font-size: 11px;
    color: var(--accent-gold);
    font-weight: 600;
}

.summary-item-price {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--text-primary);
}

.summary-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: var(--text-secondary);
}

.summary-total-val {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
}

/* ???10. ?怨쀫? ?????逾??貫而?뤃???筌뤴뫀???遺우쁽??*/
.cart-modal-overlay {
    position: fixed;
    top: 50px;                 /* 🛡️ [치료] PC 시각적 헤더 끝선(50px)에 완벽 밀착 */
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(28, 26, 23, 0.4);
    z-index: 12000 !important; /* 🛡️ [치료] 레이어 충돌 완벽 차단 */
    display: flex;
    justify-content: flex-end;
    animation: fadeInModal 0.3s ease;
    /* 🛡️ [연동 추가] 스크롤 시 top 좌표가 바뀔 때 0.3초간 쫀득하게 슬라이딩 슬라이더 연출 */
    transition: top 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.cart-modal-content {
    width: 100%;
    max-width: 420px;
    height: calc(100% - 50px); /* 🛡️ [치료] 35px 공백 제거 및 높이 연동 복구 */
    background-color: var(--bg-card);
    padding: 30px;
    display: flex;
    flex-direction: column;
    box-shadow: -10px 0 40px rgba(0,0,0,0.15);
    animation: slideInCart 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    /* 🛡️ [연동 추가] 높이가 동적으로 변할 때 부드럽게 팽창되도록 트랜지션 탑재 */
    transition: height 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

@keyframes fadeInModal {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideInCart {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.cart-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cart-modal-title {
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--text-primary);
    font-weight: 700;
}

.close-btn {
    font-size: 20px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: var(--transition-smooth);
}

.close-btn:hover {
    color: var(--text-primary);
}

.cart-modal-items {
    flex-grow: 1;
    overflow-y: auto;
    padding-right: 5px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ?貫而?뤃?????揶쏆뮆???袁⑹뵠??燁삳?諭?*/
.cart-item-card {
    display: flex;
    gap: 15px;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 15px;
}

.cart-item-img {
    width: 60px;
    height: 78px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--border-light);
}

.cart-item-detail {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cart-item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.cart-item-name {
    font-size: 13.5px;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
    font-family: var(--font-noto), sans-serif;
}

.cart-item-delete {
    font-size: 11px;
    color: #D32F2F;
    cursor: pointer;
    border: none;
    background: none;
}

.cart-item-opt {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 2px;
}

.cart-item-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

.qty-control-box {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    background-color: var(--bg-main);
}

.qty-btn {
    width: 25px;
    height: 25px;
    border: none;
    background: none;
    font-size: 12px;
    cursor: pointer;
    color: var(--text-primary);
    transition: var(--transition-smooth);
}

.qty-btn:hover {
    background-color: var(--border-light);
}

.qty-num {
    width: 30px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
}

.cart-item-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
}

/* ?貫而?뤃?????롫뼊 甕곌쑵??*/
.cart-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14.5px;
    color: var(--text-secondary);
}

.cart-total-val {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
}

.cart-checkout-btn {
    width: 100%;
    padding: 16px;
    background-color: var(--text-primary);
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(28,26,23,0.1);
    transition: var(--transition-smooth);
    margin-top: 15px;
    font-family: var(--font-noto), sans-serif;
}

.cart-checkout-btn:hover {
    background-color: var(--accent-gold);
    transform: translateY(-1px);
}

.cart-continue-btn {
    width: 100%;
    padding: 10px;
    background: none;
    border: 1px solid var(--border-light);
    color: var(--text-secondary);
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    transition: var(--transition-smooth);
    margin-top: 10px;
}

.cart-continue-btn:hover {
    border-color: var(--text-primary);
    color: var(--text-primary);
}

/* 11. ?裕?????뺣뻷 ?袁⑹뒠 ?온????쎈돗???遺우쁽??*/
.admin-gate-card {
    max-width: 450px;
    margin: 100px auto;
    background-color: var(--bg-card);
    padding: 40px;
    border-radius: 16px;
    border: 1px solid var(--border-light);
    box-shadow: 0 10px 40px rgba(0,0,0,0.03);
    text-align: center;
}

.gate-title {
    font-size: 18px;
    letter-spacing: 3px;
    color: var(--admin-accent);
    margin-bottom: 10px;
    font-weight: 500;
}

.gate-desc {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 25px;
    word-break: keep-all;
}

.gate-form input {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 15px;
    text-align: center;
    background-color: var(--bg-main);
    transition: var(--transition-smooth);
}

.gate-form input:focus {
    outline: none;
    border: 1px solid var(--admin-accent);
    background-color: #FFFFFF;
}

.gate-form button {
    width: 100%;
    padding: 12px;
    background-color: var(--admin-accent);
    color: #FFFFFF;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.gate-form button:hover {
    background-color: var(--text-primary);
}

.gate-error {
    font-size: 12px;
    color: #D32F2F;
    margin-top: 15px;
}

/* ??諭띈첋??????뺤뺍 ??됱뵠?袁⑹뜍 ?닌듼?*/
.admin-layout-wrapper {
    display: flex;
    min-height: 800px;
    background-color: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    overflow: hidden;
    margin-top: 25px;
}

.admin-sidebar {
    width: 240px;
    background: linear-gradient(180deg, #1C232F 0%, #151A24 100%); /* ??쎄쾿 ???쏁뵳???쇱뵠??域밸챶??怨쀬뵠??*/
    color: #A3B1C2;
    padding: 24px 0;
    flex-shrink: 0;
    border-right: 1px solid #10141D;
}

.sidebar-logo {
    font-family: var(--font-outfit), sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #C4A478; /* ??볥젃??됱퓗 ?ⓥ뫀諭??됰슢???*/
    text-align: center;
    padding-bottom: 25px;
    border-bottom: 1px solid #232C3A;
    margin-bottom: 20px;
}

.sidebar-menu {
    list-style: none;
    padding-left: 0; /* 疫꿸퀡??筌띾뜆彛???ㅻ뎃 ??볤탢 */
    margin: 0;
}

/* ???브쑬履??袁⑺맜?遺용섧 筌롫뗀???????*/
.menu-group {
    border-bottom: 1px solid #1A222E; /* 域밸챶竊?揶?野껋럡???*/
}

.menu-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    color: #7A8B9E; /* 筌△뫀????됰뗀竊?域밸챶???*/
    letter-spacing: 1.5px;
    padding: 14px 24px;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--transition-smooth);
    user-select: none;
}

.menu-group-header:hover {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.02);
}

.toggle-icon {
    font-size: 12px;
    font-weight: bold;
    color: #C4A478; /* ??볥젃??됱퓗 ?ⓥ뫀諭??됰슢???*/
    transition: var(--transition-smooth);
}

.menu-group-sub {
    list-style: none;
    padding-left: 0;
    margin: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.sidebar-link {
    display: flex;
    align-items: center;
    padding: 10px 24px;
    font-size: 12.5px;
    color: #A3B1C2;
    text-decoration: none;
    font-family: var(--font-noto), sans-serif;
    transition: var(--transition-smooth);
    border-left: 3px solid transparent;
}

.sidebar-link:hover {
    background-color: rgba(255, 255, 255, 0.03);
    color: #FFFFFF;
}

.sidebar-link.active {
    background-color: rgba(196, 164, 120, 0.08); /* ??꾨읂???ⓥ뫀諭?獄쏆꼹?억쭗?獄쏄퀗瑗?*/
    color: #FFFFFF;
    font-weight: 700;
    border-left: 3px solid #C4A478; /* ?ⓥ뫀諭??됰슢以롳쭩??????獄쏅쵐苑?*/
}

.admin-content-main {
    flex-grow: 1;
    padding: 30px;
    background-color: #FFFFFF;
    min-width: 0; /* ???あ??獄쏅떽臾?獄쎛???袁⑷맒 獄쎻뫗? */
}

/* ??쇱젫 ?온?귐딅뼄 ????뺣궖??*/
.admin-dash-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--admin-accent);
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.dash-title {
    font-size: 20px;
    letter-spacing: 2px;
    color: var(--admin-accent);
    font-weight: 700;
}

.dash-desc {
    font-size: 13px;
    color: var(--text-secondary);
}

.dash-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.supabase-status-badge {
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
    letter-spacing: 0.5px;
}

.supabase-status-badge.green {
    background-color: #E8F5E9;
    color: #2E7D32;
    border: 1px solid #C8E6C9;
}

.refresh-btn {
    padding: 8px 16px;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
    transition: var(--transition-smooth);
}

.refresh-btn:hover {
    background-color: var(--bg-main);
    border: 1px solid var(--text-secondary);
}

/* ????뺣뻷 ?온?귐딅뼄 ??筌롫뗀??甕곌쑵??*/
.admin-tab-nav {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.admin-tab-btn {
    padding: 12px 24px;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.admin-tab-btn:hover, .admin-tab-btn.active {
    background-color: var(--admin-accent);
    color: #FFFFFF;
    border-color: var(--admin-accent);
}

/* ?怨밸? 獄?雅뚯눖揆 ?온?????뵠?됰???*/
.admin-table-container {
    background-color: var(--bg-card);
    border-radius: 12px;
    border: 1px solid var(--border-light);
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
    overflow-x: auto;
}

.admin-products-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    text-align: left;
}

.admin-products-table th {
    background-color: #FAF8F5;
    padding: 16px;
    font-weight: 700;
    color: var(--admin-accent);
    border-bottom: 2px solid var(--border-light);
}

.admin-products-table td {
    padding: 16px;
    border-bottom: 1px solid var(--border-light);
    vertical-align: middle;
}

.admin-products-table tr:hover {
    background-color: #FAFAFA;
}

/* ?逾?[筌왖?館??揶쎛???????됱뵠?????뵠?? ??쎄쾿 筌뤴뫀諭?筌띿쉸????袁ⓥ봺沃섎챷毓??????*/
.admin-products-table.simulator-table {
    background-color: #111822;
}

.admin-products-table.simulator-table th {
    background-color: #1A222E;
    color: var(--accent-gold);
    border-bottom: 2px solid #2d3848;
    text-align: center;
    padding: 12px 16px;
}

.admin-products-table.simulator-table td {
    border-bottom: 1px solid #1f2937;
    padding: 12px 16px;
    color: var(--text-primary);
}

.admin-products-table.simulator-table tr:hover {
    background-color: rgba(255, 255, 255, 0.03);
}

.admin-img-thumb {
    width: 50px;
    height: 65px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--border-light);
}

.admin-post-link {
    font-size: 11px;
    color: #2980B9;
    text-decoration: none;
    display: block;
    margin-top: 4px;
}

.admin-post-link:hover {
    text-decoration: underline;
}

.admin-input-text {
    width: 100%;
    padding: 8px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 13px;
    font-family: var(--font-noto), sans-serif;
    transition: var(--transition-smooth);
}

.admin-input-text:focus {
    outline: none;
    border: 1px solid var(--admin-accent);
    box-shadow: 0 0 5px rgba(44,62,80,0.1);
}

.admin-original-price {
    font-family: var(--font-outfit), sans-serif;
    color: var(--text-secondary);
    font-weight: 500;
}

.admin-badge-container {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: 180px;
}

.admin-opt-badge {
    background-color: #F2EFEA;
    color: #5D564C;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 6px;
    border-radius: 3px;
}

/* ???[雅뚯눖揆 ?????袁⑹뒠 ?怨밴묶 癰궰野???뺚댘??쇱뒲] ???*/
.admin-status-select {
    padding: 8px 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: var(--font-noto), sans-serif;
    cursor: pointer;
    transition: var(--transition-smooth);
}

/* 雅뚯눖揆 ????獄?퍔? ?????*/
.cat-tab {
    padding: 10px 4px;
    background: transparent;
    border: none;
    border-radius: 0;
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    font-size: 17.5px;
    font-weight: 700;
    letter-spacing: 2px;
    cursor: pointer;
    position: relative;
    transition: var(--transition-smooth);
    color: var(--text-secondary);
}

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
    text-transform: uppercase;
}

.status-badge.pending {
    background-color: #FFF9C4;
    color: #F57F17;
    border: 1px solid #FFF59D;
}

.status-badge.paid {
    background-color: #E8F5E9;
    color: #2E7D32;
    border: 1px solid #A5D6A7;
}

.status-badge.shipping {
    background-color: #E3F2FD;
    color: #1565C0;
    border: 1px solid #90CAF9;
}

.status-badge.cancelled {
    background-color: #FFEBEE;
    color: #C62828;
    border: 1px solid #EF9A9A;
}

/* ????뺣뻷 ?紐꾪뀱 ??쇱맄燁?CSS */
.switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 24px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #CCCCCC;
    transition: .4s;
    border-radius: 24px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: var(--admin-accent);
}

input:checked + .slider:before {
    transform: translateX(26px);
}

.admin-save-btn {
    padding: 8px 12px;
    background-color: var(--admin-accent);
    color: #FFFFFF;
    border: none;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
    transition: var(--transition-smooth);
}

.admin-save-btn:hover {
    background-color: var(--text-primary);
    transform: translateY(-1px);
}

/* ???뵝筌??醫딅빍筌롫뗄???*/
.toast-popup {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background-color: var(--text-primary);
    color: #FFFFFF;
    padding: 15px 30px;
    border-radius: 30px;
    font-size: 13.5px;
    font-weight: 500;
    z-index: 1000;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    opacity: 0;
    transition: var(--transition-smooth);
    font-family: var(--font-noto), sans-serif;
}

.toast-popup.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

/* 12. 獄쏆꼷???沃섎챶逾???묒눖???袁④펾 癰귣떯而?*/
@media (max-width: 950px) {
    .checkout-layout {
        grid-template-columns: 1fr;
    }
    
    .checkout-summary-panel {
        position: relative;
        top: 0;
    }
    
    .detail-layout {
        grid-template-columns: 1fr;
    }
    
    .detail-panel {
        position: relative;
        top: 0;
    }
    
    .sticky-panel-content {
        padding-left: 0;
    }
    
    .hero-title {
        font-size: 28px;
    }
    
    .hero-section {
        height: auto;
    }
}

@media (max-width: 600px) {
    .header-container {
        flex-direction: column;
        gap: 15px;
    }
    
    .product-grid-container {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 20px 15px;
    }
    
    .card-info {
        padding: 15px;
    }
    
    .card-name {
        font-size: 13px;
    }
    
    .card-price {
        font-size: 14px;
    }
    
    .form-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   ?紐?[?醫됲뇣 ?關媛?3筌??⑥쥓猷?? Quiet Luxury ?袁⑹뒠 ?⑥쥒???遺우쁽???뚮똾猷??곕뱜 ?곕떽?
   ========================================================================= */

/* A. [??노릅 ??쇨컧???袁り숲 獄? */
/* ??쎄쾿嚥????猷멸컳野껋럩???醫딆젻??랁??癒?뵺??띿쓺 ??쑴??癰귣똻???Glassmorphism ??ｋ궢?????곫묾??袁る퉸,
   獄쏄퀗瑗???梨?袁? rgba(250, 249, 246, 0.75)嚥??袁れ넅??랁?backdrop-filter blur 12px ??ｋ궢??鈺곌퀬?뺞에?苡??닌딄쉐??됰뮸??덈뼄. */
.shop-filter-bar {
    max-width: 1300px;
    margin: 0 auto;
    background-color: rgba(250, 249, 246, 0.75) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: none;
    border-top: 1px solid var(--border-light); /* 3??筌롫뗀?김쳸遺???沃섎챷苑?野껋럡???*/
    border-bottom: 1px solid var(--border-light); /* ??롫뼊 野껋럡??醫딅즲 ?곕떽???뤿연 癰귣챶揆?⑥눘??野껋럡?롧몴??類ｋ즷 */
    border-radius: 0; /* ??삳쐭 ???????袁る퉸 ?觀?疫???볤탢 */
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01); /* ??????랁???? ?袁⑥삋 ??녾퍥 域밸챶????곕떽? */
}

.search-box {
    display: flex;
    gap: 8px;
    flex-grow: 1.2;
    max-width: 450px;
}

.search-box .form-input {
    background-color: #FAF9F6;
    padding: 10px 14px;
    font-size: 13px;
    border-radius: 6px;
}

.search-btn {
    padding: 10px 18px;
    background-color: var(--text-primary);
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 1px;
    cursor: pointer;
    transition: var(--transition-smooth);
    white-space: nowrap;
}

.search-btn:hover {
    background-color: var(--accent-gold);
}

.category-tabs {
    display: flex;
    gap: 25px; /* ??ν뀤 ??????媛??類ｋ즷 */
    flex-wrap: wrap;
    justify-content: center;
}

.cat-tab {
    padding: 10px 4px;
    background: transparent; /* ??梨??獄쏄퀗瑗??곗쨮 ???쏁뵳?筌띲끆援낉쭪????怨쀭뀱 */
    border: none; /* ??而?????あ???袁ⓦ늺 獄쏄퀣??*/
    border-radius: 0;
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    font-size: 17.5px; /* ?뮕 12.5px?먯꽌 17.5px濡??뚮텇瑜??ш린??留욎떠 ?숇컲 ?곹뼢 */
    font-weight: 700; /* ?뮕 蹂쇰뱶 ?듭씪 */
    letter-spacing: 2px; /* ?癒?퍢?????蹂? ?紐껋졃???癒?덱 */
    cursor: pointer;
    position: relative; /* ??롫뼊 揶쎛??獄쏅쵐苑?獄쏄퀣?귞몴??袁る퉸 疫꿸퀣?????쇱젟 */
    transition: var(--transition-smooth);
    color: var(--text-secondary);
}

/* ??덉몘??[?????逾?獄쏅쵐苑?筌뤴뫁???닌딇뀧] ??덉몘??*/
.cat-tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0; /* ??깅꺖?癒?뮉 揶쎛嚥???0??곗쨮 ??? */
    height: 1.5px;
    background-color: var(--accent-gold); /* ???쏁뵳???꾨읂???ⓥ뫀諭??됰슢?????*/
    transition: width 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    transform: translateX(-50%);
}

/* 筌띾뜆???? ???곩쳞怨뺢돌 ??뽮쉐????????뤿????? ?醫롮뵠 ?ル슣??에???60% 筌띾슦寃???깆죬??????⑥쥙???筌뤿굟萸?筌뤴뫁??*/
.cat-tab:hover::after, .cat-tab.active::after {
    width: 60%;
}

.cat-tab:hover {
    color: var(--text-primary);
}

.cat-tab.active {
    color: var(--text-primary);
    font-weight: 700;
}

/* ?몣 [?좎꽕 2?④퀎] 釉뚮옖???꾪꽣 ?꾩슜 紐낇뭹 怨⑤뱶 蹂대뱶 ?쇰꺼 (?쒓컖??蹂쇰ⅷ媛??뺣?) */
.filter-label-luxury {
    font-family: var(--font-outfit), sans-serif;
    font-size: 19px; /* 💡 BRAND 글자 크기 대폭 확대 */ font-weight: 800; letter-spacing: 3px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--accent-gold);
    text-transform: uppercase;
}

.brand-box-luxury select {
    padding: 14px 28px; /* 💡 셀렉트 박스 패딩 왕특대 확대 */
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 18px; /* 💡 글자 크기 18px로 시원하게 확대 */
    min-width: 220px; /* 💡 최소 너비 확대 */
    height: 52px; /* 💡 높이 확대 */
    font-weight: 600; /* 議곌툑 ???좊챸?섎룄濡?蹂쇰뱶 ?곸슜 */
    background-color: #FFFFFF;
    color: var(--text-primary);
    cursor: pointer;
    transition: var(--transition-smooth);
    font-family: var(--font-noto), sans-serif;
}

.brand-box-luxury select:focus {
    outline: none;
    border-color: var(--text-primary);
}

.sort-box select {
    padding: 8px 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 11.5px;
    font-weight: 500;
    background-color: #FFFFFF;
    color: var(--text-primary);
    cursor: pointer;
    transition: var(--transition-smooth);
    font-family: var(--font-noto), sans-serif;
}

.sort-box select:focus {
    outline: none;
    border-color: var(--text-primary);
}

/* B. [??됱쟿 SOLD OUT ??살쒔??됱뵠 ?袁り숲] */
.sold-out-wrapper {
    position: relative;
    width: 100%;
    padding-top: 130%;
    overflow: hidden;
    background-color: #E2DFD8;
}

.sold-out-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(0.85) brightness(0.7); /* ???쏁뵳?筌띲끆?뉛쭪??臾먭컶 ??鈺??袁り숲 */
}

.sold-out-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(28, 26, 23, 0.85);
    color: #FFFFFF;
    padding: 10px 25px;
    font-family: var(--font-outfit);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 3px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    pointer-events: none;
    border-radius: 2px;
    z-index: 5;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* C. [???뜚 ?紐꾩쵄 筌뤴뫀???袁⑹뒠 ??됱뵠?袁⑹뜍] */
.auth-modal-content {
    max-width: 440px;
    border-radius: 16px;
}

.auth-form-box {
    display: flex;
    flex-direction: column;
}

.auth-switch-text {
    text-align: center;
    margin-top: 20px;
    font-size: 12.5px;
    color: var(--text-secondary);
}

.auth-switch-text a {
    color: var(--text-primary);
    font-weight: 700;
    text-decoration: underline;
    margin-left: 6px;
    transition: var(--transition-smooth);
}

.auth-switch-text a:hover {
    color: var(--accent-gold);
}

/* D. [筌띾뜆???륁뵠筌왖 ????뺣궖????됱뵠?袁⑹뜍] */
.mypage-layout {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 40px;
    align-items: start;
}

.mypage-profile-panel {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 30px;
    border: 1px solid var(--border-light);
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
}

.mypage-orders-panel {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 30px;
    border: 1px solid var(--border-light);
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
}

.mypage-sub-desc {
    font-size: 12.5px;
    color: var(--text-secondary);
    margin-top: 4px;
    margin-bottom: 20px;
    word-break: keep-all;
}

.profile-save-btn {
    width: 100%;
    padding: 15px;
    background-color: var(--text-primary);
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
    margin-top: 25px;
    font-family: var(--font-noto), sans-serif;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.profile-save-btn:hover {
    background-color: var(--accent-gold);
    transform: translateY(-1px);
}

.mypage-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    text-align: left;
}

.mypage-orders-table th {
    background-color: #FAF8F5;
    padding: 12px 14px;
    font-weight: 700;
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-light);
}

.mypage-orders-table td {
    padding: 14px;
    border-bottom: 1px solid var(--border-light);
    vertical-align: middle;
}

.mypage-orders-table tr:hover {
    background-color: #FAFAFA;
}

/* E. [Q&A 揶쏄쑵??野껊슣???????? */
.qna-section {
    margin-top: 80px;
    background-color: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 35px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
}

.qna-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px dashed var(--border-light);
    padding-bottom: 20px;
}

.qna-title {
    font-size: 16px;
    letter-spacing: 2px;
    color: var(--text-primary);
    font-weight: 700;
}

.qna-desc {
    font-size: 12.5px;
    color: var(--text-secondary);
    margin-top: 2px;
}

.qna-write-btn {
    padding: 10px 20px;
    background-color: #FFFFFF;
    color: var(--text-primary);
    border: 1px solid var(--text-primary);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.qna-write-btn:hover {
    background-color: var(--text-primary);
    color: #FFFFFF;
}

.qna-table-container {
    overflow-x: auto;
}

.qna-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    text-align: left;
}

.qna-table th {
    background-color: #FAF8F5;
    padding: 12px 16px;
    font-weight: 700;
    color: var(--text-primary);
    border-bottom: 1.5px solid var(--border-light);
}

.qna-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-light);
    vertical-align: middle;
}

.qna-table tr:hover {
    background-color: #FAFAFA;
}

.qna-badge {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
}

.qna-badge.waiting {
    background-color: #FAF2E6;
    color: var(--accent-gold);
    border: 1px solid #F3EAE0;
}

.qna-badge.answered {
    background-color: #E8F5E9;
    color: #2E7D32;
    border: 1px solid #C8E6C9;
}

.qna-title-link {
    cursor: pointer;
    font-weight: 500;
    color: var(--text-primary);
    text-decoration: none;
    transition: var(--transition-smooth);
}

.qna-title-link:hover {
    color: var(--accent-gold);
    text-decoration: underline;
}

.qna-reply-row {
    background-color: #FAF9F6;
}

.qna-content-box {
    padding: 15px 20px;
    font-size: 12.5px;
    color: var(--text-primary);
    line-height: 1.7;
    white-space: pre-line;
}

.qna-reply-box {
    margin-top: 15px;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-left: 3px solid var(--accent-gold);
    padding: 15px 20px;
    border-radius: 4px;
}

.qna-reply-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.qna-reply-title {
    font-weight: 700;
    color: var(--accent-gold);
    font-size: 12px;
}

.qna-reply-date {
    font-size: 10.5px;
    color: var(--text-secondary);
}

.qna-reply-content {
    font-size: 12.5px;
    color: var(--text-secondary);
}

.qna-modal-content {
    max-width: 500px;
}

.qna-textarea {
    resize: none;
    line-height: 1.6;
}

/* F. 筌뤴뫀而???遺얠뺍??곷뮞 ?곕떽? ????*/
@media (max-width: 950px) {
    .mypage-layout {
        grid-template-columns: 1fr;
    }
    .shop-filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .search-box {
        max-width: 100%;
    }
}

/* =========================================================================
   ?紐?[4筌?筌ㅼ뮇伊????? 筌띾뜆??? 疫꿸퀣?????????삸??疫??袁ⓥ봺沃섎챷毓???쑴竊???뚮똾猷??곕뱜 ?곕떽?
   ========================================================================= */

/* 1. ??욱닔 筌ㅼ뮄??癰??怨밸? ???쏁뵳??怨쀫? ??獄?(Quick Bar) */
/* ??욱닔 筌ㅼ뮄??癰??怨밸? ???쏁뵳??怨쀫? ??獄???쎄쾿 ???쏁뵳??怨뺣짗 */
.recent-quick-bar-wrapper {
    position: fixed;
    top: 190px;
    right: 4px;
    width: 76px;
    /* ??쎈꽅??獄쏄퀡瑗???쎄쾿 ???쏁뵳?燁삳?諭?? ?袁④펾????깃퍥??獄쏄퀗瑗?& ?ⓥ뫀諭?癰귣????봔??*/
    background: linear-gradient(135deg, #2A2621 0%, #1A1815 100%);
    border: 1px solid rgba(196, 164, 120, 0.25);
    border-radius: 8px;
    padding: 12px 4px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.22);
    z-index: 110;
    text-align: center;
    transition: var(--transition-smooth);
    animation: fadeInPage 1s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

.quick-bar-title {
    font-size: 9px;
    letter-spacing: 1px;
    font-weight: 700;
    color: #C4A478; /* ?ⓥ뫀諭??됰슢?????용뮞?紐껋쨮 癰귣똻??*/
}

.quick-divider {
    height: 1px;
    background-color: rgba(196, 164, 120, 0.15); /* ?ⓥ뫀諭??브쑵釉???怨뺣짗 */
    margin: 8px 0;
}

.quick-items-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.quick-empty-text {
    font-size: 9px;
    color: var(--text-secondary);
    font-style: italic;
    padding: 10px 0;
}

/* 筌ㅼ뮄??癰??怨밸? ??獄???? ?紐껉퐬??燁삳?諭?*/
.quick-item-card {
    /* ???[??由?筌ㅼ뮇??? ?????곸춭 ??獄???덊돩??筌띿쉸??揶쎛嚥≪뮉猷??60px?癒?퐣 52px嚥? ?紐껋쨮 ?誘れ뵠??78px?癒?퐣 68px嚥??꾠끋??紐낅릭野?餓κ쑴???щ빍?? */
    width: 52px;
    height: 68px;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid var(--border-light);
    transition: var(--transition-smooth);
    position: relative;
}

.quick-item-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.quick-item-card:hover {
    border-color: var(--accent-gold);
    transform: scale(1.05);
}

/* 2. ??욱닔 筌≪뮉釉?묾?Wishlist) ??묐뱜 獄??紐낃숲??덈?*/
.detail-wish-btn {
    padding: 8px 16px;
    background: none;
    border: 1px solid var(--accent-gold);
    color: var(--accent-gold);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 1px;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.detail-wish-btn:hover, .detail-wish-btn.active {
    background-color: var(--accent-gold);
    color: #FFFFFF;
}

/* ?怨밸? 燁삳?諭???? 筌???묐뱜 甕곌쑵??*/
.card-wish-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 34px;
    height: 34px;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--border-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    font-size: 14px;
    color: var(--text-secondary);
    transition: var(--transition-smooth);
}

.card-wish-btn:hover, .card-wish-btn.active {
    color: #D32F2F;
    border-color: #D32F2F;
    background-color: #FFFFFF;
    transform: scale(1.1);
}

/* 3. ????????용뮞???귐됰윮(Review) 野껊슣???*/
.reviews-section {
    margin-top: 35px;
}

.detail-reviews-summary {
    background-color: #FAF8F5;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.avg-rating-box {
    text-align: center;
}

.avg-stars {
    font-size: 24px;
    color: var(--accent-gold);
    letter-spacing: 2px;
    display: block;
}

.avg-num {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin-top: 4px;
    font-family: var(--font-outfit);
}

.detail-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.review-card {
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.01);
}

.review-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.review-author-info {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-primary);
}

.review-date-info {
    font-size: 11px;
    color: var(--text-secondary);
}

.review-stars {
    color: var(--accent-gold);
    font-size: 13px;
    margin-bottom: 8px;
    display: block;
}

.review-body-text {
    font-size: 13px;
    color: var(--text-primary);
    line-height: 1.6;
    word-break: keep-all;
    font-family: var(--font-noto), sans-serif;
}

.review-photo-img {
    width: 80px;
    height: 104px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--border-light);
    margin-top: 12px;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.review-photo-img:hover {
    transform: scale(1.05);
}

/* 4. ??끾닼??怨룐뵲疫?& ?醫롮뵥 ?묒쥚猷???낆젾 ??*/
.checkout-discount-box {
    background-color: #FAF9F6;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
}

.discount-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
    letter-spacing: 0.5px;
}

/* 5. ?猷?筌띾뜆???륁뵠筌왖 ?遺용튋 ????뺣궖??燁삳?諭?獄?*/
.mypage-dashboard-summary-bar {
    max-width: 1300px;
    margin: 0 auto 30px auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

/* [?섏젙] ??쒕떂 ?붿껌?쇰줈 ??쒕낫??移대뱶???몃줈 ?믪씠(?⑤뵫)瑜?以꾩씠怨? 寃쎄퀎?좉낵 ?고듃瑜????먮졆?섍쾶 蹂댁젙?덉뒿?덈떎. */
.dash-card {
    background-color: var(--bg-card);
    border: 1.2px solid #D1C4B1 !important; /* ???좊챸?섍퀬 ??뀛由ы븳 ?뚮뱶怨⑤뱶 踰좎씠吏 ?뚮몢由?*/
    border-radius: 8px !important; /* ?щ┝??鍮꾩쑉??留욎떠 肄붾꼫 ?쇱슫?⑹쓣 8px濡?理쒖쟻??*/
    padding: 14px 20px !important; /* ?⑤뵫???ш쾶 以꾩뿬 移대뱶瑜?媛濡쒕줈 ?뉕퀬 ?щ┝?섍쾶 ?붿옄??*/
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04) !important; /* ?낆껜媛??뺣낫瑜??꾪븳 媛踰쇱슫 洹몃┝??*/
}

.card-lbl {
    font-size: 11px !important; /* ?고듃瑜??댁쭩 ?ㅼ썙 ?쒖씤??蹂댁옣 */
    letter-spacing: 1px;
    color: #7A7265 !important; /* ???대몼怨??좊챸???고듃 ?됱긽?쇰줈 紐낅룄 ?鍮?媛뺥솕 */
    display: block;
    margin-bottom: 4px !important; /* ?뉗? ?몃줈 鍮꾩쑉??留욎텛???꾨옒 留덉쭊 異뺤냼 */
    font-weight: 700 !important; /* 醫 ??蹂쇰뱶?섍쾶 ?곸슜 */
}

.card-val {
    font-size: 19px !important; /* ?щ┝?댁쭊 移대뱶 ?믪씠??留욎떠 諛몃윴??議곗젙 */
    font-weight: 800 !important; /* ?⑥뵮 援듦퀬 ?먮졆?섍쾶 異쒕젰 */
    color: var(--text-primary);
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
}

/* 筌띾뜆???륁뵠筌왖 ??筌≪뮉釉?묾?癰귣떯???域밸챶???*/
.mypage-wish-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 15px;
}

.mypage-wish-card {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--border-light);
    background-color: #FFFFFF;
    cursor: pointer;
    text-align: center;
    transition: var(--transition-smooth);
}

.mypage-wish-card img {
    width: 100%;
    height: 120px;
    object-fit: cover;
}

.mypage-wish-card:hover {
    border-color: var(--accent-gold);
    transform: translateY(-3px);
}

.mypage-wish-name {
    font-size: 10.5px;
    font-weight: 500;
    padding: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    color: var(--text-primary);
}

/* 6. ??쇳닔 筌띾뜆???륁뵠筌왖 ??雅뚯눖揆 ?띯뫁??獄쏆꼹萸??대????????甕곌쑵??*/
.mypage-claim-btn {
    padding: 4px 10px;
    border: 1px solid #D32F2F;
    color: #D32F2F;
    background: none;
    border-radius: 4px;
    font-size: 11px;
    cursor: pointer;
    font-weight: 500;
    transition: var(--transition-smooth);
    margin-top: 4px;
    display: inline-block;
}

.mypage-claim-btn:hover {
    background-color: #D32F2F;
    color: #FFFFFF;
}

.mypage-write-review-btn {
    padding: 4px 10px;
    border: 1px solid var(--accent-gold);
    color: var(--accent-gold);
    background: none;
    border-radius: 4px;
    font-size: 11px;
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition-smooth);
    margin-top: 4px;
    display: inline-block;
}

.mypage-write-review-btn:hover {
    background-color: var(--accent-gold);
    color: #FFFFFF;
}

/* 7. ?諭?[????뺣뻷?? ??諭띈첋???쇰뻻揶?筌띲끉??????????뺣궖??燁삳?諭?*/
.admin-dashboard-summary-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

/* ?硫몃┛ ?怨밸? ??沅?TOP 5 ????뺣궖???袁⑹뵠??*/
.rank-list-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rank-item {
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: #FAF9F6;
    padding: 10px 15px;
    border-radius: 6px;
    border: 1px solid var(--border-light);
}

.rank-number {
    font-family: var(--font-outfit);
    font-size: 18px;
    font-weight: 700;
    color: var(--accent-gold);
    min-width: 25px;
    text-align: center;
}

.rank-img {
    width: 35px;
    height: 45px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid var(--border-light);
}

.rank-info {
    flex-grow: 1;
    min-width: 0;
}

.rank-name {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rank-sales-qty {
    font-size: 11px;
    color: var(--text-secondary);
}

.rank-sales-qty b {
    color: var(--accent-gold);
}

/* 8. ?裕?Q&A/?귐됰윮 ???? ??????蹂? ??곕굡獄?燁삳?諭?*/
.admin-comments-scroll {
    padding-right: 5px;
}

.admin-comment-card {
    background-color: #FAF9F6;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 15px;
    transition: var(--transition-smooth);
}

.admin-comment-card:hover {
    border-color: var(--admin-accent);
}

.admin-comment-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}

.admin-comment-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-primary);
}

.admin-comment-date {
    font-size: 10px;
    color: var(--text-secondary);
}

.admin-comment-author {
    font-size: 11px;
    color: var(--accent-gold);
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.admin-comment-body {
    font-size: 12px;
    color: var(--text-primary);
    line-height: 1.5;
    margin-bottom: 12px;
}

.admin-comment-reply-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 11.5px;
    font-family: var(--font-noto), sans-serif;
    margin-bottom: 8px;
}

.admin-comment-reply-btn {
    padding: 6px 12px;
    background-color: var(--admin-accent);
    color: #FFFFFF;
    border: none;
    border-radius: 4px;
    font-size: 11px;
    cursor: pointer;
    font-weight: 500;
    transition: var(--transition-smooth);
}

.admin-comment-reply-btn:hover {
    background-color: var(--text-primary);
}

/* 9. 筌뤴뫀而????ъ뺍 ????*/
@media (max-width: 950px) {
    .recent-quick-bar-wrapper {
        display: none; /* 筌뤴뫀而??깅퓠??뺣뮉 ??獄쏅뗀? ??ｍ돥??덈뼄 */
    }
}

/* 10. ?維???諭띈첋??⑥쥒而쇗꽴???profiles) ?袁⑹뒠 ?곕떽? ?????*/
.admin-points-input {
    width: 90px;
    padding: 6px 8px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 12px;
    font-family: var(--font-outfit), sans-serif;
    text-align: right;
    background-color: #FAF9F6;
    transition: var(--transition-smooth);
}

.admin-points-input:focus {
    outline: none;
    border-color: var(--admin-accent);
    background-color: #FFFFFF;
}

.admin-points-btn {
    padding: 6px 10px;
    background-color: var(--admin-accent);
    color: #FFFFFF;
    border: none;
    border-radius: 4px;
    font-size: 11.5px;
    cursor: pointer;
    font-weight: 500;
    transition: var(--transition-smooth);
    font-family: var(--font-noto), sans-serif;
}

.admin-points-btn:hover {
    background-color: var(--text-primary);
}

/* =========================================================================
   ???[?醫롪퐬 - ???쏁뵳?5?? ?⑥쥓猷??疫꿸퀡???????깅뻻??筌뤴뫁?? ???
   ========================================================================= */

/* A. ?怨밸? 燁삳?諭???筌≪뮉釉?묾???묐뱜) ???쨮??甕곌쑵??*/
.wishlist-heart-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 5;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--border-light);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}



.wishlist-heart-btn:hover {
    transform: scale(1.15);
    border-color: #D32F2F;
}

.wishlist-heart-btn.active {
    color: #D32F2F;
    background-color: #FFFFFF;
    border-color: #D32F2F;
}

/* B. NOTICE & EVENT 癰귣?諭??袁⑺맜?遺용섧 */
.notice-board-container {
    max-width: 900px;
    margin: 0 auto;
}

.notice-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
}

.notice-tab-btn {
    padding: 10px 24px;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.notice-tab-btn.active {
    background-color: var(--text-primary);
    color: #FFFFFF;
    border-color: var(--text-primary);
}

.notice-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.notice-item {
    background-color: var(--bg-card);
    border-radius: 8px;
    border: 1px solid var(--border-light);
    overflow: hidden;
    transition: var(--transition-smooth);
}

.notice-item:hover {
    border-color: var(--accent-gold);
    box-shadow: 0 6px 15px rgba(140, 130, 115, 0.05);
}

.notice-summary {
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.notice-title-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.notice-badge {
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    letter-spacing: 0.5px;
}

.notice-badge.notice {
    background-color: #F2EDE4;
    color: #594D3C;
    border: 1px solid #E3DED6;
}

.notice-badge.event {
    background-color: #FAF2F2;
    color: #C62828;
    border: 1px solid #F2E3E3;
}

.notice-title-text {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--text-primary);
    font-family: var(--font-noto), sans-serif;
}

.notice-meta-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.notice-date {
    font-size: 12px;
    color: var(--text-secondary);
}

.notice-arrow {
    font-size: 12px;
    color: var(--text-secondary);
    transition: transform 0.3s ease;
}

.notice-item.expanded .notice-arrow {
    transform: rotate(180deg);
}

.notice-content {
    max-height: 0;
    overflow: hidden;
    background-color: #FAF9F6;
    transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.notice-item.expanded .notice-content {
    max-height: 800px;
    border-top: 1px solid var(--border-light);
}

.notice-body-inner {
    padding: 30px;
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--text-secondary);
    white-space: pre-line;
    font-family: var(--font-noto), sans-serif;
}

/* C. REVIEW 筌뤿굞????袁⑤뼣 野꺿뫗????곕굡 */
.review-board-container {
    max-width: 1100px;
    margin: 0 auto;
}

.review-stats-banner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 25px;
    text-align: center;
    margin-bottom: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01);
}

.stat-val {
    font-size: 26px;
    font-weight: 700;
    color: var(--text-primary);
}

.stat-val.gold {
    color: var(--accent-gold);
}

.stat-label {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    margin-top: 4px;
}

.review-feed-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
}

.review-feed-card {
    background-color: var(--bg-card);
    border-radius: 10px;
    border: 1px solid var(--border-light);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: var(--transition-smooth);
    cursor: pointer;
}

.review-feed-card:hover {
    transform: translateY(-5px);
    border-color: var(--accent-gold);
    box-shadow: 0 8px 25px rgba(140, 130, 115, 0.06);
}

.review-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.review-card-stars {
    color: #FFB300;
    font-size: 13px;
}

.review-card-author {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 500;
}

.review-card-product-link {
    font-size: 11px;
    color: var(--accent-gold);
    font-weight: 600;
    margin-bottom: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: var(--font-noto), sans-serif;
}

.review-card-content {
    font-size: 13px;
    line-height: 1.7;
    color: var(--text-primary);
    margin-bottom: 15px;
    font-family: var(--font-noto), sans-serif;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: justify;
}

.review-card-img-box {
    width: 100%;
    height: 160px;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 15px;
    border: 1px solid var(--border-light);
}

.review-card-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.review-feed-card:hover .review-card-img-box img {
    transform: scale(1.05);
}

.review-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: var(--text-secondary);
    border-top: 1px solid #FAF9F6;
    padding-top: 10px;
}

/* D. 獄쏄퀣?싪?怨좎돳 筌뤴뫀????밸씜 ?袁⑹뒠 */
.delivery-modal-content {
    max-width: 480px !important;
}

.delivery-company-select {
    padding: 12px;
    border-radius: 6px;
    border: 1px solid var(--border-light);
    font-size: 13px;
    font-family: var(--font-noto), sans-serif;
    background-color: #FAF9F6;
    font-weight: 600;
    cursor: pointer;
}

.delivery-guide-box {
    margin-top: 15px;
    background-color: #FAF9F6;
    border-radius: 6px;
    padding: 12px 15px;
    font-size: 11.5px;
    line-height: 1.6;
    color: var(--text-secondary);
    font-family: var(--font-noto), sans-serif;
}


/* ==========================================
   ???4筌?筌ㅼ뮇伊? 餓λ쵑釉???類λ꽰 ?袁⑹뒻????쎄쾿嚥?????됱뵠?袁⑹뜍
   ========================================== */

.detail-bottom-wrapper {
    max-width: 900px;
    margin: 60px auto 100px auto; /* 餓λ쵐釉??類ｌ졊 獄???媛??類ｋ궖 */
    padding: 0 20px;
}

/* ?諭?????諭??띿쓺 ??깊쒙쭪?3???袁⑺맜?遺용섧 獄쏆꼷?????뺣뻼 */
.detail-bottom-wrapper .luxury-accordion {
    width: 100%;
    border-top: 1px solid var(--border-light);
    margin-bottom: 50px;
}

/* ?諭?????諭???쎈읃 ???뵠??揶쎛嚥≪뮉猷??類ｌ졊 */
.detail-bottom-wrapper .minimal-size-table,
.detail-bottom-wrapper .minimal-spec-table {
    width: 100%;
}

/* ?踰???놁삢???怨멸쉭???紐껋쨮 ?癒?カ ??뤿였 */
.detail-sub-images-container {
    display: flex;
    flex-direction: column;
    gap: 35px; /* ???筌왖 揶쏄쑴???類?퍦??랁??⑥쥒???살쑎????媛?*/
    width: 100%;
    margin-top: 20px;
}

.detail-sub-images-container img {
    display: block;
    margin: 0 auto;
    width: 100% !important; /* ?뮕 媛濡쒗룺? 100% ?꾪룺 梨꾩? */
    aspect-ratio: 1 / 1 !important; /* ?뮕 紐⑤뱺 ?대?吏 ?≪옄 ?ш린瑜?1:1 ?뺤궗媛곹삎?쇰줈 ?쇨큵 洹쒓꺽??*/
    max-width: 100% !important;
    max-height: none !important; /* ?몃줈 ?믪씠 ?쒗븳 ?댁젣 */
    background-color: #FFFFFF !important; /* ?뮕 ?대?吏 ?몄쓽 ?⑤뒗 ?щ갚 怨듦컙??源⑤걮???곗깋 諛곌꼍?쇰줈 梨꾩? */
    object-fit: contain !important; /* ?뮕 以묒슂: 1mm???섎젮?섍컧 ?놁씠 ?먮낯 鍮꾩쑉 ?꾩껜 ?몄텧 蹂댁옣! */
    border-radius: 6px;
    border: 1px solid var(--border-light);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.02);
    transition: var(--transition-smooth);
}

.detail-sub-images-container img:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
}


/* ==========================================
   ?紐?5筌?筌ㅼ뮇伊? ?怨멸쉭??륁뵠筌왖 餓λ쵑釉???類ㅺ쉐 域밸갭????귐됰탵?癒?뵥 (LOOKBOOK 揶쏅Ŋ苑?
   ========================================== */

/* ??숉닔 1. ?癒?탵?醫듼봺?????쏁뵳??紐낅뱜嚥?筌뤿굟??*/
.editorial-nameplate {
    text-align: center;
    background-color: #FAF9F6; /* ?⑥쥒????沃섎챷源?*/
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 40px 30px;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.01);
    animation: fadeInNameplate 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.editorial-tag {
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--accent-gold);
    font-weight: 600;
    text-transform: uppercase;
    display: block;
    margin-bottom: 12px;
    font-family: var(--font-noto), sans-serif;
}

.editorial-main-title {
    font-size: 26px;
    font-weight: 500;
    color: var(--text-primary);
    font-family: var(--font-serif), 'Playfair Display', 'Noto Serif KR', serif;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.editorial-gold-divider {
    color: var(--accent-gold);
    font-size: 10px;
    letter-spacing: 8px;
    margin-bottom: 20px;
}

.editorial-description {
    font-size: 13.5px;
    color: var(--text-secondary);
    line-height: 1.8;
    max-width: 650px;
    margin: 0 auto;
    font-family: 'Noto Serif KR', 'Georgia', serif;
    word-break: keep-all;
}

/* ?諭?2. ???좑쭩?揶쎛??諭?獄??怨멸쉭??살구 ?怨쀫툡??筌뤿굞??Serif) ??뽮퍥 ?꾨뗀逾??쇱뵠??*/
.product-description-text,
.minimal-size-table,
.minimal-spec-table,
.size-table-title {
    font-family: 'Noto Serif KR', 'Georgia', serif !important;
}

.minimal-size-table th {
    background-color: #FAF9F6 !important;
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    font-size: 12.5px;
}

.minimal-size-table td {
    font-size: 13px;
    color: var(--text-secondary);
}

.size-table-title {
    font-size: 14.5px;
    color: var(--text-primary);
    border-left: 3px solid var(--accent-gold);
    padding-left: 10px;
    margin-bottom: 15px;
    font-weight: 600;
}

/* ?諭??袁⑺맜?遺용섧 筌뤿굟萸???삳쐭 ??? ?ⓥ뫀諭???깆뵥 癰귣똻??*/
.luxury-accordion .accordion-header {
    border-bottom: 1px solid var(--border-light);
    transition: var(--transition-smooth);
}

.luxury-accordion .accordion-header:hover {
    background-color: #FAF9F6;
    border-bottom: 1px solid var(--accent-gold);
}

.luxury-accordion .accordion-header:hover .header-title {
    color: var(--accent-gold) !important;
}

/* ?踰?3. ?怨멸쉭????れ쁽??筌╈돦???遺우쁽??*/
.detail-image-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.02); /* 域밸객而????녾퍥域밸챶???*/
    margin-bottom: 45px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.detail-image-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.04);
}

.detail-image-card img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    border: 1px solid #F0EFEA;
}

/* ???筌왖 ?怨룸뼊 ??숉닔 ??쎈돗??筌╈돦??*/
.official-caption {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10.5px;
    color: var(--accent-gold);
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-family: var(--font-noto), sans-serif;
    margin-bottom: 12px;
    padding: 0 5px;
}

/* ???筌왖 ??롫뼊 ?諭???됱춳?紐꾩쵄 癰귣똻弛???쎄틕??*/
.guarantee-stamp {
    text-align: center;
    font-size: 10px;
    color: #C0BCAE;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-family: 'Playfair Display', 'Georgia', serif;
    margin-top: 12px;
    border-top: 1px dashed #EAE8E0;
    padding-top: 10px;
}

/* ??녔닼?4. 筌ㅼ뮉釉??PKB71 LUXURY SIGNATURE CARE 獄쏄퀡瑗?*/
.luxury-care-box {
    background-color: #FAF9F6;
    border: 1px solid var(--border-light);
    border-radius: 10px;
    padding: 45px 35px;
    margin-top: 50px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.01);
}

.care-header-title {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary);
    font-family: var(--font-serif), 'Playfair Display', serif;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.care-subtitle {
    text-align: center;
    font-size: 13px;
    color: var(--text-secondary);
    font-family: var(--font-noto), sans-serif;
    margin-bottom: 35px;
}

.care-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px;
}

.care-card {
    text-align: center;
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 25px 20px;
    transition: transform 0.3s ease;
}

.care-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent-gold);
}

.care-icon {
    font-size: 32px;
    margin-bottom: 15px;
}

.care-name {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 10px;
    font-family: var(--font-noto), sans-serif;
}

.care-desc {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.7;
    font-family: var(--font-noto), sans-serif;
    word-break: keep-all;
}

/* 獄쏆꼷???筌뤴뫀而???됰슢???꾧쾿 ??뺣뻼 */
@media (max-width: 768px) {
    .care-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .editorial-nameplate {
        padding: 30px 15px;
    }
    .editorial-main-title {
        font-size: 20px;
    }
}

@keyframes fadeInNameplate {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================================
   ???[?醫롪퐬] CUSTOMER CARE & GUIDELINES (雅뚯눖揆 ???類ㅼ뵥??鍮?獄쏄퀣???대???揶쎛??諭?
   ========================================================================= */
.luxury-guidelines-box {
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 50px 40px;
    margin: 50px 0;
    box-shadow: 0 8px 30px rgba(140, 130, 115, 0.03);
}

.guidelines-header {
    text-align: center;
    margin-bottom: 40px;
}

.guidelines-tag {
    font-family: var(--font-outfit), sans-serif;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--accent-gold);
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
}

.guidelines-title {
    font-family: var(--font-noto), sans-serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 2px;
    color: var(--text-primary);
}

.guidelines-divider {
    width: 60px;
    height: 1px;
    background-color: var(--accent-gold);
    margin: 20px auto 0 auto;
}

.guidelines-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

@media (max-width: 768px) {
    .guidelines-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .luxury-guidelines-box {
        padding: 35px 20px;
    }
}

.guidelines-card {
    background-color: #FAF9F6;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 30px;
    transition: var(--transition-smooth);
}

.guidelines-card:hover {
    border-color: var(--accent-gold);
    box-shadow: 0 10px 25px rgba(140, 130, 115, 0.05);
}

.guidelines-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.guidelines-card-icon {
    font-size: 20px;
}

.guidelines-card-title {
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--text-primary);
}

.guidelines-card-divider {
    width: 100%;
    height: 1px;
    background-color: var(--border-light);
    margin-bottom: 20px;
}

.guidelines-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.guidelines-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.guidelines-list li .bullet {
    font-size: 8px;
    color: var(--accent-gold);
    margin-top: 6px;
    flex-shrink: 0;
}

.guidelines-list li .text {
    font-family: var(--font-noto), sans-serif;
    font-size: 13px;
    line-height: 1.8;
    color: var(--text-secondary);
    word-break: keep-all;
}

.guidelines-list li .text strong {
    color: var(--text-primary);
    font-weight: 700;
}

.guidelines-footer {
    text-align: center;
    margin-top: 40px;
    border-top: 1px solid var(--border-light);
    padding-top: 30px;
}

.footer-notice {
    font-family: var(--font-noto), sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 10px;
    word-break: keep-all;
}

.footer-eng {
    font-family: var(--font-outfit), sans-serif;
    font-size: 10.5px;
    letter-spacing: 1.5px;
    color: var(--accent-gold);
    text-transform: uppercase;
}

/* =========================================================================
   ?諭?[?醫롪퐬] Quiet Luxury ?怨밸? ?怨멸쉭 ??살구 ??ㅻ즴 ??ㅺ섯 ?????
   ========================================================================= */
.luxury-description-panel {
    background-color: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 45px 40px;
    margin: 40px 0;
    box-shadow: 0 6px 20px rgba(140, 130, 115, 0.02);
}

.description-header {
    text-align: center;
    margin-bottom: 30px;
}

.desc-tag {
    font-family: var(--font-outfit), sans-serif;
    font-size: 10.5px;
    letter-spacing: 3px;
    color: var(--accent-gold);
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
}

.desc-title {
    font-family: var(--font-noto), sans-serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1.5px;
    color: var(--text-primary);
}

.desc-divider {
    width: 45px;
    height: 1px;
    background-color: var(--accent-gold);
    margin: 15px auto 0 auto;
}

.product-description-text {
    font-family: var(--font-noto), sans-serif;
    font-size: 14.5px;
    line-height: 1.95;
    color: var(--text-primary);
    white-space: pre-wrap; /* ???????뺣뻷??獄쏅?諭?揶쎛?⑤벀????酉苑?燁살꼷??餓κ쑬而?퐛?됱뱽 100% 域밸챶?嚥?????????怨쀫툡??띿쓺 ???쐭筌띻낱鍮??덈뼄! */
    word-break: keep-all;
    text-align: center; /* ??용뮞?紐? 疫꿸퀡??怨몄몵嚥?揶쎛?????類ｌ졊??몃빍?? */
}

.product-description-text img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 12px auto; /* ???筌왖 餓λ쵐釉??類ｌ졊 */
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* =========================================================================
   ?諭?[3???醫롪퐬] ?????袁⑺맜?遺용섧 ??륁뵠?됰슢???揶쎛??諭??????
   ========================================================================= */
.luxury-guidelines-accordion {
    margin: 30px 0;
    width: 100%;
}

.guidelines-accordion-header {
    width: 100%;
    background-color: #FAF9F6; /* ??????沃섎챷源?獄쏅?源?*/
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    outline: none;
    transition: var(--transition-smooth);
}

.guidelines-accordion-header:hover {
    background-color: #FFFFFF;
    border-color: var(--accent-gold);
    box-shadow: 0 4px 15px rgba(140, 130, 115, 0.04);
}

/* ??뽮쉐?遺얜┷????議??????삳쐭 ??롫뼊 ?觀?????あ?귐? 繹먮‘釉??꾩꼹?쀯㎘醫? ?癒?염??살쓦野??怨뚭퍙 */
.luxury-guidelines-accordion.active .guidelines-accordion-header {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background-color: #FFFFFF;
    border-color: var(--accent-gold);
}

.guidelines-header-title {
    font-family: var(--font-noto), sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--accent-gold); /* ?ⓥ뫀諭??됰슢???*/
    display: flex;
    align-items: center;
    gap: 8px;
}

.guidelines-header-icon {
    font-size: 11px;
    color: var(--text-secondary);
    transition: transform 0.3s ease;
}

.luxury-guidelines-accordion.active .guidelines-header-icon {
    transform: rotate(180deg); /* ???곻쭖??遺욧땀??? ?袁? ?館釉?袁⑥쨯 ?봔??뺤쓦野????읈 */
    color: var(--accent-gold);
}

/* =========================================================================
   ?諭?[?醫롪퐬] ?怨밸? ?怨멸쉭 ??살구 ?????袁⑺맜?遺용섧 揶쎛??諭??????
   ========================================================================= */
.luxury-description-accordion {
    margin: 20px 0 40px 0; /* 獄쏄퀣???袁⑺맜?遺용섧 ?袁⑥삋???癒?염??살쑎??筌띾뜆彛??怨몄뒠 */
    width: 100%;
}

.description-accordion-header {
    width: 100%;
    background-color: #FAF9F6;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    outline: none;
    transition: var(--transition-smooth);
}

.description-accordion-header:hover {
    background-color: #FFFFFF;
    border-color: var(--accent-gold);
    box-shadow: 0 4px 15px rgba(140, 130, 115, 0.04);
}

.luxury-description-accordion.active .description-accordion-header {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background-color: #FFFFFF;
    border-color: var(--accent-gold);
}

.description-header-title {
    font-family: var(--font-noto), sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--accent-gold);
    display: flex;
    align-items: center;
    gap: 8px;
}

.description-header-icon {
    font-size: 11px;
    color: var(--text-secondary);
    transition: transform 0.3s ease;
}

.luxury-description-accordion.active .description-header-icon {
    transform: rotate(180deg);
    color: var(--accent-gold);
}

/* =========================================================================
   ?裕?[?醫롪퐬] ?怨쀫? ??롫뼊 ???쨮????筌롫뗀??- 燁삳똻萸??쎈꽊 獄???쎄쾿嚥?獄쎻뫚堉?甕곌쑵???????
   ========================================================================= */
.floating-control-menu {
    position: fixed;
    right: 25px;
    bottom: 30px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    pointer-events: auto;
}

/* ???쨮??甕곌쑵???⑤벏???????(燁삳똾???癒곗굨 甕곌쑵????釉? */
.floating-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    outline: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
    background-color: transparent;
    padding: 0;
}

/* 燁삳똻萸??쎈꽊 ?癒곗굨 ?癒?쨮??甕곌쑵???????*/
.kakao-chat-btn {
    background-color: #FEE500; /* 燁삳똻萸??쎈꽊 ??볥젃??됱퓗 ?癒?쨮??*/
    box-shadow: 0 4px 15px rgba(254, 229, 0, 0.4);
}

.kakao-talk-icon {
    width: 100%;
    height: 100%;
    transform: scale(0.9); /* 甕곌쑵?????あ????됥걹 ??媛??癒?덱 ??볥궗 */
}

/* ??쎄쾿嚥?獄쎻뫚堉?甕곌쑵???⑤벏???????(?袁⑥쨮/?袁⑥삋嚥? */
.scroll-btn {
    /* 疫꿸퀣???遺우뵠??獄쏄퀗瑗?癒?퐣 ??쎄쾿 ?ⓥ뫀諭?域밸챶??怨쀬뵠??륁몵嚥??대Ŋ猿?*/
    background: linear-gradient(135deg, #2A2621 0%, #1A1815 100%); 
    border: 1px solid rgba(196, 164, 120, 0.35); /* ?됰슢以롳쭩??ⓥ뫀諭?癰귣???*/
    color: #FAF9F6;
}

.scroll-btn svg {
    width: 20px;
    height: 20px;
    color: #C4A478; /* 筌욎늿? ?遺욧땀???뚎됱쑎???됰슢以롳쭩??ⓥ뫀諭뜻에??⑥쥒???*/
    transition: transform 0.2s ease;
}

/* 筌띾뜆????紐껋쒔(Hover) ?紐낃숲??덈???ｋ궢 */
.floating-btn:hover {
    transform: translateY(-3px) scale(1.05); /* 筌띾뜆?????살쒔 ???袁⑥쨮 ??곸? ??ㅕ???由??類? */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.kakao-chat-btn:hover {
    box-shadow: 0 8px 25px rgba(254, 229, 0, 0.6);
}

.scroll-up-btn:hover svg {
    transform: translateY(-2px); /* ???遺욧땀???紐껋쒔 ???袁⑥쨮 ??筌욊낯??*/
    color: #FFFFFF;
}

.scroll-down-btn:hover svg {
    transform: translateY(2px); /* ?袁⑥삋 ?遺욧땀???紐껋쒔 ???袁⑥삋嚥???筌욊낯??*/
    color: #FFFFFF;
}

/* ?遺얇늺 ??덊돩揶쎛 768px ??꾨릭??筌뤴뫀而??疫꿸퀗由?癒?퐣????됱뵠?袁⑹뜍 筌ㅼ뮇???*/
@media (max-width: 768px) {
    .floating-control-menu {
        right: 15px;
        bottom: 20px;
        gap: 8px;
    }
    
    .floating-btn {
        width: 44px;
        height: 44px;
    }
}

/* =========================================================================
   ???[?醫롪퐬] ?醫롪맒??揶쎛嚥????????獄?甕곗쥙??紐?????沅?獄쏄퀣? ?????
   ========================================================================= */

/* A. 揶쎛嚥???쎄쾿嚥??????????됱뵠?袁⑹뜍 */
.new-slider-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.new-slider-content {
    display: flex;
    gap: 20px;
    width: 100%;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px 5px 20px 5px;
    /* ???뵠??꾨：??쇱뒠 ??쎄쾿嚥▲끇而???? */
    scrollbar-width: none; 
}

/* ??竊????녺뵳?????쎄쾿嚥▲끇而???? (揶쎛雅??룐뫖?울㎗?롮쓥 繹먮뗀嫄???紐꾪뀱 ?醫딅즲) */
.new-slider-content::-webkit-scrollbar {
    display: none;
}

/* ???????????癒?퐣??燁삳?諭뜹첎? 筌〓슡????筌왖 ??꾪??⑥쥙??????醫???롫즲嚥???쇱젟 */
.new-slider-content .product-card {
    flex-shrink: 0;
    width: 250px; /* ????????袁⑹뒠 ?袁⑤뼖??랁??紐껋졃??揶쎛嚥≪뮉猷?*/
}

/* ????????ル슣??嚥▲끇彛?甕곌쑵??*/
.slider-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateY(-30px); /* 燁삳?諭????筌왖 餓λ쵐釉?醫롮몵嚥??袁⑺뒄 癰귣똻??*/
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: rgba(42, 38, 33, 0.85); /* ???됰뗀??獄쏆꼹?억쭗?*/
    border: 1px solid rgba(196, 164, 120, 0.3);
    color: #FAF9F6;
    font-size: 24px;
    line-height: 38px;
    text-align: center;
    cursor: pointer;
    z-index: 10;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.slider-nav-btn:hover {
    background-color: rgba(140, 130, 115, 0.95);
    border-color: var(--accent-gold);
    color: #FFFFFF;
}

.prev-btn {
    left: -20px;
}

.next-btn {
    right: -20px;
}

/* B. 甕곗쥙??紐???4???袁⑹뒠 域밸챶???*/
.best-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 雅뚯눊而?甕곗쥙???4???袁⑹뒠 揶쎛嚥?4??獄쏄퀣??*/
    gap: 25px;
}

/* C. ?ⓥ뫀諭???沅?獄쏄퀣? (01~04) */
.best-rank-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    font-family: var(--font-outfit), sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    color: #FAF9F6;
    background: rgba(42, 38, 33, 0.95); /* 燁삳?諭????쎄쾿 ?ⓥ뫀諭?獄쏄퀗瑗띷????뵬 */
    border: 1.5px solid rgba(196, 164, 120, 0.55); /* ?怨룐???ⓥ뫀諭??됰슢???癰귣???*/
    border-radius: 4px;
    padding: 1.5px 7px;
    z-index: 5;
    text-shadow: 0 0 4px rgba(196, 164, 120, 0.4);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* 筌뤴뫀而????뺥닜??獄쏆꼷???癰귣똻??*/
@media (max-width: 900px) {
    .best-grid-container {
        grid-template-columns: repeat(2, 1fr); /* 筌뤴뫀而??깅퓠??뺣뮉 2??以??癒?짗 ?臾볦삋 */
        gap: 15px;
    }
    .prev-btn { left: -10px; }
    .next-btn { right: -10px; }
    .slider-nav-btn {
        width: 36px;
        height: 36px;
        font-size: 20px;
        line-height: 32px;
    }
}

/* =========================================================================
   ???[?醫롪퐬] UX 揶쏆뮇苑? ?紐껋졃??沃섎챶?뀐쭖? ?醫롫뮞?????뵝 獄????筌왖 ?癒?쑎 ??筌??????
   ========================================================================= */

/* 1. ?醫롫뮞?????뵝??쇱뵠 ?蹂?뵬 ?⑥쥙???뚢뫂???瑗?*/
#toast-container {
    position: fixed;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000; /* 筌뤴뫀?뽬퉪????誘④탢????쑴????????筌ㅼ뮇湲??獄쏄퀣??*/
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none; /* 筌띾뜆????????源놁뱽 獄쎻뫚鍮??? ??놁벉 */
}

/* 2. 揶쏆뮆???醫롫뮞??筌롫뗄?놅쭪? ?遺우쁽??*/
.luxury-toast {
    min-width: 300px;
    max-width: 500px;
    background: rgba(28, 25, 23, 0.95); /* ??노릅筌??袁⑹뵠??꾨뼒?怨? ??용┸ 筌욎늿? 筌△뫁???됰슢???*/
    border: 1px solid rgba(196, 164, 120, 0.5); /* ?됰슢以롳쭩??ⓥ뫀諭???? ???あ??*/
    color: #FAF9F6;
    padding: 13px 25px;
    border-radius: 6px;
    font-size: 12.5px;
    font-family: var(--font-noto), sans-serif;
    font-weight: 500;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.5px;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1), transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    word-break: keep-all;
}

/* ??뽮쉐?遺얜┷???遺얇늺?????????*/
.luxury-toast.show {
    opacity: 1;
    transform: translateY(0);
}

/* 3. ???筌왖 嚥≪뮆逾???쎈솭(onerror) ????筌ｋ똾釉????쟿??곷뮞???????筌왖 ?怨몄뒠 ??뽰벥 癰귣똻???????*/
img.image-err-fallback {
    object-fit: contain !important; /* ???筌왖 ??쑴???醫???렽?筌〓슡???彛?獄쎻뫗? */
    background-color: #FAF9F6 !important; /* ??沃섎챷源?獄쏄퀗瑗??筌?쑴??獄쏅뿫而??μ뱽 癰귣똻??*/
    padding: 20px; /* ??노릅獄??醫딇닜?????筌왖揶쎛 ?癒?염??살쓦野?獄쏄퀣???롫즲嚥???ㅻ뎃 ?봔??*/
}

/* ???[?遺우쁽??揶쏆뮇苑? ?怨멸쉭??륁뵠筌왖 筌욊쑴?????怨룸뼊 ?⑥쥙????삳쐭揶쎛 癰귣챶揆 ?怨밸? ???筌왖??????甕곌쑵???源껊궢 野껊????甕곌쑨?뉒몴?筌띾맦由??袁る퉸
   ?怨멸쉭??륁뵠筌왖 ?怨몃열 ?袁⑷퍥??30px????됱읈 ?怨룸뼊 ??媛?padding-top)???⑥쥚??怨몄몵嚥??類ｋ궖??됰뮸??덈뼄. */
#view-detail {
    padding-top: 30px !important;
}

/* =========================================================================
   ?紐?[?醫롪퐬 - UX ?⑥쥓猷?? ?怨밸? 燁삳?諭??紐껋쒔 ??ｋ궢, ?紐껋뵬???癒?쑎 ??곕굡獄?獄?野껉퀣??雅뚯눖揆???遺용튋 ?????
   ========================================================================= */

/* 1. ?怨밸? 燁삳?諭??紐껋쒔 ?????筌왖 ?봔??뺤쑎???類?(Zoom-in) ??ｋ궢 */
.product-image-box {
    overflow: hidden !important; /* ???筌왖 ?類? ??燁삳?諭?野껋럡???獄쏅떽臾??곗쨮 ?癒?죬?????野?獄쎻뫗? */
}
.product-image-box img {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.product-card:hover .product-image-box img {
    transform: scale(1.05) !important; /* ?봔??뺤쓦野?5% ?類? */
}

/* 2. 嚥≪뮄???獄????뜚揶쎛??筌뤴뫀????? ???紐껋뵬???癒?쑎 ??용뮞???????*/
.auth-inline-error {
    color: #D32F2F !important;
    font-size: 11.5px !important;
    margin-top: -10px !important;
    margin-bottom: 15px !important;
    display: none; /* 疫꿸퀡????? ?怨밴묶 */
    font-weight: 600 !important;
    font-family: var(--font-noto), sans-serif !important;
    animation: fadeInError 0.3s ease-out forwards;
}
@keyframes fadeInError {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 3. ?얜똾???野껉퀣????륁뵠筌왖 ???怨쀫? ??쇰뻻揶?雅뚯눖揆 ?遺용튋 獄쏅벡??*/
.checkout-summary-card {
    background-color: #FAF9F6 !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    padding: 22px !important;
    margin-top: 20px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.02) !important;
}
.checkout-summary-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: var(--text-primary) !important;
    margin-bottom: 15px !important;
    border-bottom: 1px solid var(--border-light) !important;
    padding-bottom: 10px !important;
}
.checkout-summary-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px dashed var(--border-light) !important;
    padding-bottom: 10px !important;
}
.checkout-summary-item:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.checkout-summary-item img {
    width: 45px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    border: 1px solid var(--border-light) !important;
}
.checkout-summary-item-info {
    flex: 1 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}
.checkout-summary-item-name {
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}
.checkout-summary-item-meta {
    color: var(--text-secondary) !important;
    font-size: 11px !important;
    margin-top: 2px !important;
}
.checkout-summary-item-price {
    font-weight: 700 !important;
    font-family: var(--font-outfit), sans-serif !important;
    color: var(--text-primary) !important;
    font-size: 12px !important;
}
.checkout-summary-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 15px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--border-light) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.checkout-summary-total-val {
    font-size: 16px !important;
    color: var(--accent-gold) !important;
    font-family: var(--font-outfit), sans-serif !important;
}

/* =========================================================================
   ?萸?[?곕떽? ?⑥쥓猷??- UX/癰귣똻釉??酉??? ?뚣끉??? ?뚢뫂??筌뤴뫀??獄???쇳렩??딅꽑 嚥≪뮆逾??????
   ========================================================================= */

/* 1. ?뚣끉??? ?뚢뫂??筌뤴뫀???筌띾뜆????紐껋쒔 ?????獄?沃섎챷苑???ｋ궢 */
#custom-confirm-modal .order-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
#custom-confirm-modal #custom-confirm-cancel-btn:hover {
    background: #FAF9F6 !important;
    color: var(--text-primary) !important;
    border-color: var(--accent-gold) !important;
}

/* 2. ??쇳렩??딅꽑 嚥≪뮆逾??醫딅빍筌롫뗄????類ㅼ벥 */
.skeleton-block {
    background: linear-gradient(90deg, #EBE6DD 25%, #FAF9F6 50%, #EBE6DD 75%);
    background-size: 200% 100%;
    animation: skeleton-glow 1.5s infinite ease-in-out;
    border-radius: 6px;
    display: inline-block;
    width: 100%;
}

@keyframes skeleton-glow {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* 3. Q&A ?袁⑹뒠 ???뵠????쇳렩??딅꽑 ???????*/
.skeleton-row td {
    padding: 16px 20px !important;
}
.skeleton-text {
    height: 14px;
    margin: 4px 0;
    border-radius: 4px;
}
.skeleton-title { width: 75%; height: 16px; }
.skeleton-meta { width: 40%; height: 12px; }

/* 4. ?怨밸? ?怨멸쉭 ?袁⑹뒠 ??쇳렩??딅꽑 ?????*/
.skeleton-img-box {
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: 8px;
}
.skeleton-detail-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* =========================================================================
   ?紐?[?醫롪퐬] 沃섎챶?뀐쭖? ???쏁뵳???륁뵠筌왖??쇱뵠???????(.luxury-pagination)
   - ??? ?ⓥ뫀諭????굡 ??븍궢 沃섎챷源?獄쏄퀗瑗? 筌△뫁????り쉽?紐껋쨮 ?닌딄쉐??域밸갭???? ?ⓥ뫀諭?甕곕뜇??癒?뿯??덈뼄.
   ========================================================================= */
.luxury-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 50px;
    margin-bottom: 30px;
}

.pag-btn {
    border: 1px solid var(--border-light);
    background-color: #FFFFFF;
    color: var(--text-secondary);
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 13px;
    font-weight: 500;
    font-family: var(--font-outfit), sans-serif;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-smooth);
}

.pag-btn:hover {
    border-color: var(--accent-gold);
    color: var(--text-primary);
    background-color: #FAF9F6;
}

.pag-btn.active {
    background-color: var(--text-primary) !important;
    border-color: var(--text-primary) !important;
    color: #FFFFFF !important;
    font-weight: 700;
}

.pag-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    border-color: var(--border-light);
    color: var(--text-secondary);
}

.pag-text-btn {
    font-size: 11.5px;
    letter-spacing: 1.5px;
    font-weight: 600;
    text-transform: uppercase;
}

/* =========================================================================
   ?紐?[?醫롪퐬] 5??域밸챶????袁⑹뒠 獄쏆꼷???沃섎챶逾???묒눖??筌ㅼ뮇???癰귣떯而?
   ========================================================================= */
@media (max-width: 1200px) {
    .product-grid-container {
        grid-template-columns: repeat(4, 1fr) !important; /* ??뺥닜???紐낅뱜?? 4??*/
        gap: 35px 20px !important;
    }
}

@media (max-width: 950px) {
    .product-grid-container {
        grid-template-columns: repeat(3, 1fr) !important; /* ?臾? ?紐낅뱜?? 3??*/
        gap: 30px 18px !important;
    }
}

@media (max-width: 600px) {
    .product-grid-container {
        grid-template-columns: repeat(2, 1fr) !important; /* 紐⑤컮??源붾걫??2??*/
        gap: 20px 12px !important;
    }

    /* 紐⑤컮??移댄뀒怨좊━ 蹂몃Ц ?뱀뀡 諛?洹몃━???щ갚??理쒖냼(4px)濡?洹밸떒??異뺤냼 */
    .content-section,
    .product-grid-container {
        padding-left: 4px !important;
        padding-right: 4px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* =========================================================================
   ?琉뉑닼?[?醫롪퐬 3??ｍ???餓λ쵐???⑥쥓猷?? ?④쑴留????뺥닏 ?袁り숲獄?獄??紐꺿봺 ???????곗춦
   ========================================================================= */

/* 餓λ쵎?뉒몴??뚢뫂???瑗?*/
.subcategory-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
    border-top: 1px dashed rgba(255, 255, 255, 0.05);
    animation: fadeInSlideDown 0.25s ease-out;
}

/* ???뀋???뚢뫂???瑗?*/
.microcategory-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px 0;
    border-top: 1px dashed rgba(255, 255, 255, 0.03);
    animation: fadeInSlideDown 0.2s ease-out;
}

/* 以묐텇瑜???踰꾪듉 */
.sub-cat-tab {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: #8A9AA8;
    padding: 8px 18px; /* ?뮕 ?⑤뵫??6px 14px?먯꽌 ?ㅼ? */
    border-radius: 20px;
    font-size: 13.5px; /* ?뮕 湲???ш린瑜?11px?먯꽌 13.5px濡??뺣? */
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.sub-cat-tab:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
}

.sub-cat-tab.active {
    background: #C4A478; /* ??볥젃??됱퓗 ?ⓥ뫀諭??됰슢???*/
    border-color: #C4A478;
    color: #0F1319; /* ??紐??獄쏄퀗瑗?????揶쎛??녾쉐 ?類ｋ궖 */
    font-weight: 700;
}

/* ???뀋??筌띾뜆???以???甕곌쑵??*/
.micro-cat-tab {
    background: transparent;
    border: 1px solid rgba(196, 164, 120, 0.2); /* ??? ?ⓥ뫀諭????あ??*/
    color: #C4A478; /* ?ⓥ뫀諭??됰슢???*/
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 10.5px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.micro-cat-tab:hover {
    background: rgba(196, 164, 120, 0.05);
    color: #E2CDAD;
}

.micro-cat-tab.active {
    background: rgba(196, 164, 120, 0.15);
    border-color: #C4A478;
    color: #FFFFFF;
    font-weight: 700;
}

/* ?紐꺿봺 ?닌듼???諭띈첋?????쇰연?怨뚮┛ 揶쎛??뽮쉐 */
.admin-cat-large {
    font-weight: 700;
    color: #FFFFFF;
}

.admin-cat-medium {
    padding-left: 15px;
    color: #A3B1C2;
}

.admin-cat-small {
    padding-left: 30px;
    color: #7A8B9E;
    font-size: 11.5px;
}

/* ??덉읅 ?????逾????醫딅빍筌롫뗄?????ｋ궢 */
@keyframes fadeInSlideDown {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================================
   ?紐?[?醫롪퐬 6筌??⑥쥓猷?? 燁삳똾??4 ???????諭띈첋??????뺤뺍 獄?????뺣궖???귐됰뤀??CSS ??
   ========================================================================= */

/* A. ?????뺤뺍 ??뺥닏 筌롫뗀???袁⑺맜?遺용섧 ?????諭??紐껋삏筌왖??獄???ル뼒??*/
.admin-sidebar {
    background-color: #0F1319 !important; /* ?遺우뒮 繹먮봽???紐껋졃????쎄쾿??쇱뵠??*/
    border-right: 1px solid rgba(255, 255, 255, 0.03);
}

.menu-group-sub {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 !important;
    list-style: none;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease-out;
}

/* ???브쑬履잌첎? active ?怨밴묶??????륁맄 ??뺥닏 筌롫뗀???γ끇?ㅷ몴??紐꾪뀱 */
.menu-group.active .menu-group-sub {
    max-height: 300px; /* ??뺥닏 筌롫뗀???誘れ뵠 ?怨밸립揶??겸뫖?????볥궗 */
    opacity: 1;
    padding: 4px 0 10px 10px !important;
}

/* ?袁⑹삺 ?醫뤾문????뽮쉐?遺얜쭆 ??뺥닏 筌롫뗀??筌띻낱寃???륁뵠??깆뵠??*/
.sidebar-link.active {
    background-color: rgba(59, 130, 246, 0.08) !important;
    color: #3b82f6 !important;
    font-weight: 700 !important;
    border-left: 3px solid #3b82f6;
    padding-left: 13px !important;
}

.sidebar-link {
    transition: var(--transition-smooth);
    border-left: 3px solid transparent;
}

.sidebar-link:hover {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.02);
}

/* B. 8????쇰뻻揶?雅뚯눖揆 筌ｌ꼶???袁れ넺??(??삳뮎?????? */
.flow-board-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 12px;
    width: 100%;
}

.flow-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #FFFFFF; /* ?怨쀪퉳 獄쏄퀗瑗??곗쨮 ?袁⑹읈??筌?쑴?????녾퍥揶쏅Ŋ???봔??*/
    border: 1px solid var(--border-light, #E2E8F0); /* ??껎??紐껋졃??域밸챶??????あ??*/
    border-radius: 8px; /* ?꾨뗀瑗ョ몴??봔??뺤쓦野?8px嚥????뵬 */
    padding: 18px 8px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03); /* ?遺우삆???袁ⓥ봺沃섎챷毓?域밸챶????怨몄뒠 */
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.flow-card:hover {
    transform: translateY(-3px); /* 鈺곌퀗??????녾퍥揶???뉗쓺 ?袁? */
    border-color: rgba(59, 130, 246, 0.45);
    background-color: rgba(59, 130, 246, 0.01); /* ?紐껋쒔 ??沃섎챷苑???됰뗀竊??梨?筌ｌ꼶??*/
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.08);
}

.flow-card .flow-lbl {
    font-size: 11.5px;
    color: #64748B; /* 揶쎛??녾쉐???袁る퉸 ????ｍ?繹먮봿? 筌△뫀??????퉳 鈺곌퀣??*/
    font-weight: 600;
    margin-bottom: 6px;
}

.flow-card .flow-val {
    font-size: 21px;
    font-weight: 700;
    color: #0F1319; /* ?紐?[??륁젟] ??紐????쎄쾿??쇱뵠??쑴源??곗쨮 癰궰野껋?釉????獄쏄퀗瑗??袁⑸퓠????ъ쁽 ?醫딆구??띿쓺 揶쎛??쀬넅 */
    font-family: var(--font-outfit), sans-serif;
    margin: 0;
}

/* ?띯뫁???대???獄쏆꼹萸????????野껋럡???뚎됱쑎 揶쏅벡??*/
.flow-card.warning .flow-val {
    color: #EF5350; /* 野껋럡????뚎됱쑎???븍맩????醫? */
}

.flow-card.warning:hover {
    border-color: rgba(239, 83, 80, 0.45);
    background-color: rgba(239, 83, 80, 0.01);
    box-shadow: 0 4px 12px rgba(239, 83, 80, 0.08);
}

/* 獄쏆꼷???筌뤴뫀而??域밸챶????됯퀬猷??????*/
@media (max-width: 950px) {
    .flow-board-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 500px) {
    .flow-board-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================================================
   ?紐?[?醫롪퐬 - 燁삳똾??4 ?怨밸? ?源낆쨯 ?⑥쥓猷?? 3????獄?????燁?Chip) ?遺우쁽?????춳
   ========================================================================= */

/* A. 3????筌롫뗀??甕곌쑵???뚢뫂???瑗?*/
.add-prod-tab-btns {
    display: flex;
    gap: 2px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.05);
    margin-bottom: 20px;
    padding: 0;
    list-style: none;
}

.add-prod-tab-btn {
    flex: 1;
    padding: 12px 10px;
    font-size: 12.5px;
    font-weight: 700;
    text-align: center;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: none;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.25s ease;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.add-prod-tab-btn:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #FFFFFF;
}

.add-prod-tab-btn.active {
    background: var(--admin-accent, #3b82f6);
    border-color: var(--admin-accent, #3b82f6);
    color: #FFFFFF !important;
    box-shadow: 0 -4px 10px rgba(59, 130, 246, 0.2);
}

/* B. ??癰귣챶揆 ??ㅺ섯 ??뽯선 */
.add-prod-tab-pane {
    display: none;
    animation: tabFadeIn 0.3s ease-out;
}

.add-prod-tab-pane.active {
    display: block;
}

@keyframes tabFadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* C. ??됯굡 ??곕탵??甕곌쑵???遺우쁽??*/
.add-prod-radio-group {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 6px;
}

.add-prod-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #FFFFFF;
    cursor: pointer;
    font-weight: 600;
}

.add-prod-radio-label input[type="radio"] {
    accent-color: var(--admin-accent, #3b82f6);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* D. ??쇰뻻揶??醫롮뵥??揶쎛??諭?獄쏄퀣? */
.discount-calc-badge {
    display: inline-block;
    background: #E53935;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 8px;
    vertical-align: middle;
    animation: popBadge 0.25s ease-out;
}

@keyframes popBadge {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* E. ??덉읅 ????燁?Chip) ??낆젾疫??????*/
.add-prod-chips-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    min-height: 34px;
    padding: 6px;
    background: rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 6px;
}

.add-prod-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(196, 164, 120, 0.15); /* ???????ⓥ뫀諭??됰슢???*/
    border: 1px solid rgba(196, 164, 120, 0.3);
    color: #E2CDAD;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    animation: popChip 0.2s ease-out;
}

.add-prod-chip-remove {
    cursor: pointer;
    font-size: 12px;
    color: #C4A478;
    font-weight: 700;
    transition: color 0.15s ease;
}

.add-prod-chip-remove:hover {
    color: #EF5350;
}

@keyframes popChip {
    0% { transform: scale(0.6); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* F. 筌뤴뫀???紐낃숲 甕곌쑵??獄???由?癰귣똻??*/
#add-product-modal .cart-modal-content {
    max-height: 90vh !important;
    border: 1px solid rgba(196, 164, 120, 0.25);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
}

/* Cafe24-style admin refinement */
#view-admin {
    background: #eef1f5;
    padding: 0 !important;
}

#admin-dashboard {
    background: #eef1f5;
}

#admin-dashboard .admin-layout-wrapper {
    width: 100%;
    min-height: calc(100vh - 96px);
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #f3f5f8;
    box-shadow: none;
    align-items: stretch;
}

#admin-dashboard .admin-sidebar {
    position: sticky;
    top: 0;
    width: 260px;
    height: 100vh;
    overflow-y: auto;
    padding: 0 0 18px;
    background: #202936 !important;
    border-right: 1px solid #151b24;
}

#admin-dashboard .sidebar-logo {
    position: sticky;
    top: 0;
    z-index: 3;
    margin: 0;
    padding: 20px 22px 18px;
    background: #18212d;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    color: #fff;
    font-size: 15px;
    letter-spacing: 0;
    text-align: left;
}

#admin-dashboard .sidebar-menu {
    padding: 10px 0;
}

#admin-dashboard .menu-group {
    border-bottom: 1px solid rgba(255,255,255,0.04);
    position: relative;
}

#admin-dashboard .menu-group-header {
    padding: 13px 20px;
    color: #c6d0dc;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
    background: transparent;
}

#admin-dashboard .menu-group.active .menu-group-header,
#admin-dashboard .menu-group-header:hover {
    color: #fff;
    background: #253141;
}

#admin-dashboard .toggle-icon {
    width: 18px;
    height: 18px;
    line-height: 17px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 3px;
    color: #d7e0ea;
    text-align: center;
    font-size: 11px;
}

#admin-dashboard .menu-group.active .menu-group-sub {
    max-height: 520px;
    padding: 5px 0 10px !important;
    background: #1b2430;
}

#admin-dashboard .menu-group:not(.active) .menu-group-sub {
    display: none !important;
    max-height: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

#admin-dashboard .menu-group.active .menu-group-sub {
    pointer-events: auto;
}

#admin-dashboard .sidebar-link {
    min-height: 34px;
    padding: 8px 20px 8px 34px !important;
    border-left: 4px solid transparent;
    color: #9facbd;
    font-size: 12px;
    line-height: 1.35;
    letter-spacing: 0;
}

#admin-dashboard .sidebar-link:hover {
    color: #fff;
    background: rgba(255,255,255,0.04);
}

#admin-dashboard .sidebar-link.active {
    color: #fff !important;
    background: #2f6fed !important;
    border-left-color: #89b4ff;
    padding-left: 34px !important;
}

#admin-dashboard .admin-content-main {
    padding: 0 28px 36px;
    background: #f3f5f8;
}

#admin-dashboard .admin-dash-header {
    position: sticky;
    top: 0;
    z-index: 2;
    margin: 0 -28px 18px !important;
    padding: 18px 28px;
    background: #fff;
    border-bottom: 1px solid #dfe5ec;
    box-shadow: 0 2px 8px rgba(24, 33, 45, 0.04);
}

.admin-workspace-label {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#admin-dashboard .dash-title {
    margin: 0 0 4px;
    color: #111827;
    font-size: 22px;
    letter-spacing: 0;
}

#admin-dashboard .dash-desc {
    margin: 0;
    color: #6b7280;
    font-size: 12.5px;
}

#admin-dashboard .dash-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

#admin-dashboard .refresh-btn,
#admin-dashboard .admin-save-btn,
#admin-dashboard .postcode-btn,
#admin-dashboard .admin-comment-reply-btn,
#admin-dashboard .admin-points-btn {
    min-height: 32px;
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: 700;
}

#admin-dashboard .refresh-btn {
    padding: 8px 14px;
    background: #2f6fed;
    border: 1px solid #2f6fed;
    color: #fff;
}

#admin-dashboard .refresh-btn.secondary {
    background: #fff;
    border-color: #cbd5e1;
    color: #334155;
}

.admin-ops-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.admin-ops-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 46px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #dfe5ec;
    border-radius: 4px;
}

.admin-ops-label {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.admin-ops-item strong {
    color: #111827;
    font-size: 15px;
    letter-spacing: 0;
}

#admin-dashboard .mypage-profile-panel,
#admin-dashboard .mypage-orders-panel,
#admin-dashboard .rank-list-box,
#admin-dashboard .admin-comment-card {
    background: #fff !important;
    border: 1px solid #dfe5ec !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

#admin-dashboard .checkout-section-title {
    color: #111827 !important;
    letter-spacing: 0;
}

#admin-dashboard .mypage-sub-desc {
    color: #64748b !important;
}

#admin-dashboard .admin-table-container {
    border: 1px solid #dfe5ec;
    border-radius: 4px;
    background: #fff;
    overflow: auto;
}

#admin-dashboard .admin-products-table {
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    color: #1f2937;
    font-size: 12px;
}

#admin-dashboard .admin-products-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 11px 12px;
    background: #f8fafc !important;
    border-bottom: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    font-size: 11.5px;
    white-space: nowrap;
}

#admin-dashboard .admin-products-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #edf2f7 !important;
    color: #1f2937;
}

#admin-dashboard .admin-products-table tr:hover {
    background: #f8fbff !important;
}

#admin-dashboard .admin-input-text,
#admin-dashboard .form-input,
#admin-dashboard select,
#admin-dashboard input[type="text"],
#admin-dashboard input[type="number"],
#admin-dashboard input[type="password"],
#admin-dashboard textarea {
    border-radius: 4px !important;
    border-color: #cbd5e1 !important;
    background-color: #fff !important;
    color: #111827 !important;
    box-shadow: none !important;
}

#admin-dashboard .supabase-status-badge,
#admin-dashboard .admin-opt-badge {
    border-radius: 3px;
}

@media (max-width: 980px) {
    #admin-dashboard .admin-layout-wrapper {
        display: block;
    }

    #admin-dashboard .admin-sidebar {
        position: relative;
        width: 100%;
        height: auto;
        max-height: 360px;
    }

    #admin-dashboard .admin-content-main {
        padding: 0 14px 24px;
    }

    #admin-dashboard .admin-dash-header {
        position: relative;
        margin: 0 -14px 14px !important;
        padding: 16px 14px;
        align-items: flex-start;
        gap: 12px;
    }

    .admin-ops-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Cafe24 simple product register */
#admin-dashboard .cafe24-simple-register {
    color: #111827;
    max-width: 100%;
    padding: 0 0 42px;
}

#admin-dashboard .cafe24-simple-titlebar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

#admin-dashboard .cafe24-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

#admin-dashboard .cafe24-title-line h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-simple-titlebar p,
#admin-dashboard .cafe24-guide-box p {
    margin: 4px 0 0;
    color: #536071;
    font-size: 13px;
    font-weight: 600;
}

#admin-dashboard .cafe24-pill,
#admin-dashboard .cafe24-outline-pill,
#admin-dashboard .cafe24-ghost-btn,
#admin-dashboard .cafe24-register-btn,
#admin-dashboard .cafe24-primary-btn,
#admin-dashboard .cafe24-secondary-btn {
    border-radius: 4px;
    font-weight: 800;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-pill-dark {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 11px;
    background: #1d2b44;
    color: #fff;
    font-size: 13px;
}

#admin-dashboard .cafe24-outline-pill {
    height: 28px;
    padding: 0 12px;
    border: 1px solid #9aa8bd;
    background: #fff;
    color: #25324a;
}

#admin-dashboard .cafe24-title-actions {
    display: flex;
    gap: 8px;
}

#admin-dashboard .cafe24-ghost-btn,
#admin-dashboard .cafe24-register-btn,
#admin-dashboard .cafe24-secondary-btn {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #263244;
}

#admin-dashboard .cafe24-ghost-btn {
    height: 34px;
    padding: 0 14px;
}

#admin-dashboard .cafe24-guide-box {
    display: flex;
    justify-content: space-between;
    padding: 18px 20px;
    margin-bottom: 14px;
    border: 1px solid #d9dee7;
    background: #fff;
}

#admin-dashboard .cafe24-section {
    margin: 0 0 26px;
    border: 1px solid #d9dee7;
    background: #fff;
}

#admin-dashboard .cafe24-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 54px;
    padding: 0 14px;
    border-bottom: 1px solid #d9dee7;
}

#admin-dashboard .cafe24-section-head h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
}

#admin-dashboard .cafe24-section-head label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #526071;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-table {
    width: 100%;
}

#admin-dashboard .cafe24-row {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    border-bottom: 1px solid #e3e7ee;
}

#admin-dashboard .cafe24-row:last-child {
    border-bottom: 0;
}

#admin-dashboard .cafe24-th {
    padding: 18px 14px;
    background: #f7f8fa;
    border-right: 1px solid #d9dee7;
    color: #151c29;
    font-size: 14px;
    font-weight: 800;
}

#admin-dashboard .cafe24-td {
    padding: 14px 16px;
    min-width: 0;
}

#admin-dashboard .cafe24-required {
    display: inline-block;
    margin-left: 3px;
    padding: 1px 4px;
    background: #ef4b2b;
    color: #fff;
    border-radius: 2px;
    font-size: 11px;
    line-height: 1.2;
}

#admin-dashboard .cafe24-input,
#admin-dashboard .cafe24-select {
    height: 36px;
    border: 1px solid #d8dde7;
    border-radius: 4px;
    background: #fff;
    color: #1f2937;
    font-size: 14px;
    outline: none;
}

#admin-dashboard .cafe24-input {
    padding: 0 12px;
}

#admin-dashboard .cafe24-input:focus,
#admin-dashboard .cafe24-select:focus,
#admin-dashboard .cafe24-editor:focus {
    border-color: #3973ff;
    box-shadow: 0 0 0 2px rgba(57, 115, 255, .12);
}

#admin-dashboard .cafe24-input.short { max-width: 300px; width: 100%; }
#admin-dashboard .cafe24-input.mid { max-width: 520px; width: 100%; }
#admin-dashboard .cafe24-input.full { width: 100%; }
#admin-dashboard .cafe24-input.price { width: 140px; }

#admin-dashboard .cafe24-editor-row .cafe24-td {
    padding-top: 20px;
}

#admin-dashboard .cafe24-editor-tabs {
    display: flex;
    gap: 28px;
    margin-bottom: 12px;
}

#admin-dashboard .cafe24-editor-tabs button {
    border: 0;
    background: transparent;
    color: #1f2937;
    font-size: 14px;
    font-weight: 800;
    padding: 0 0 10px;
}

#admin-dashboard .cafe24-editor-tabs button.active {
    color: #316cff;
    border-bottom: 2px solid #316cff;
}

#admin-dashboard .cafe24-editor-wrap {
    border: 1px solid #d8dde7;
    background: #fff;
}

#admin-dashboard .cafe24-editor-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 12px;
    border-bottom: 1px solid #e5e9f0;
}

#admin-dashboard .cafe24-editor-toolbar button {
    min-width: 34px;
    height: 30px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    color: #2f3744;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-editor-toolbar select {
    height: 28px;
    padding: 0 4px;
    border: 1px solid #d8dde7;
    border-radius: 3px;
    background: #ffffff;
    color: #2f3744;
    font-size: 12px;
    font-weight: 700;
    outline: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

#admin-dashboard .cafe24-editor-toolbar select:hover {
    border-color: #abb6cb;
    background: #f8fafc;
}

#admin-dashboard .cafe24-editor-toolbar button:hover {
    background: #edf2ff;
}

#admin-dashboard .cafe24-editor {
    min-height: 260px;
    padding: 18px;
    font-family: Dotum, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.7;
    outline: none;
    text-align: center; /* 疫꿸퀡??怨몄몵嚥??癒?탵????곸뒠??揶쎛?????類ｌ졊??몃빍?? */
}

#admin-dashboard .cafe24-editor img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 12px auto; /* ???筌왖 餓λ쵐釉??類ｌ졊 */
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

#admin-dashboard .cafe24-editor:empty::before {
    content: attr(data-placeholder);
    color: #a7b0c1;
}

#admin-dashboard .cafe24-editor-foot {
    display: flex;
    justify-content: space-between;
    padding: 10px 14px;
    border-top: 1px solid #e5e9f0;
    color: #7b8494;
    font-size: 13px;
}

#admin-dashboard .cafe24-price-line,
#admin-dashboard .cafe24-radio-line,
#admin-dashboard .cafe24-chip-input {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

#admin-dashboard .cafe24-radio-line {
    min-height: 34px;
}

#admin-dashboard .cafe24-radio-line + .cafe24-radio-line {
    margin-top: 8px;
}

#admin-dashboard .cafe24-radio-line strong {
    min-width: 86px;
}

#admin-dashboard .cafe24-radio-line label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
}

#admin-dashboard .cafe24-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 220px;
    border: 1px solid #d9dee7;
}

#admin-dashboard .cafe24-category-column {
    border-right: 1px solid #d9dee7;
    background: #fff;
}

#admin-dashboard .cafe24-category-column:last-child {
    border-right: 0;
}

#admin-dashboard .cafe24-category-column h4 {
    margin: 0;
    padding: 14px 12px;
    background: #fbfbfc;
    border-bottom: 1px solid #e3e7ee;
    text-align: center;
    font-size: 14px;
}

#admin-dashboard .cafe24-select {
    width: calc(100% - 24px);
    margin: 14px 12px;
    padding: 0 10px;
}

#admin-dashboard .cafe24-category-empty {
    padding: 17px 14px;
    color: #98a2b3;
    font-size: 13px;
}

#admin-dashboard .cafe24-selected-category {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    color: #1f2937;
    font-size: 14px;
}

#admin-dashboard .cafe24-selected-category button {
    height: 32px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    color: #e2452f;
    font-weight: 800;
}

#admin-dashboard .cafe24-chip-input input {
    max-width: 280px;
}

#admin-dashboard .cafe24-chip-input button {
    height: 36px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    color: #1f2937;
    font-weight: 800;
}

#admin-dashboard .cafe24-image-line {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

#admin-dashboard .cafe24-image-drop {
    display: grid;
    place-items: center;
    width: 128px;
    height: 128px;
    background: #9ca3af;
    color: #e5e7eb;
    cursor: pointer;
}

#admin-dashboard .cafe24-image-drop span {
    font-size: 38px;
}

#admin-dashboard .cafe24-image-line p {
    margin: 4px 0 12px;
    color: #778193;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-register-btn {
    height: 34px;
    padding: 0 14px;
}

#admin-dashboard .cafe24-image-preview {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
}

#admin-dashboard .cafe24-bottom-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}

#admin-dashboard .cafe24-primary-btn,
#admin-dashboard .cafe24-secondary-btn {
    min-width: 130px;
    height: 48px;
    font-size: 15px;
}

#admin-dashboard .cafe24-primary-btn {
    border: 1px solid #316cff;
    background: #316cff;
    color: #fff;
}

#admin-dashboard .cafe24-secondary-btn {
    color: #316cff;
}

@media (max-width: 900px) {
    #admin-dashboard .cafe24-simple-titlebar,
    #admin-dashboard .cafe24-title-actions,
    #admin-dashboard .cafe24-image-line {
        flex-direction: column;
    }

    #admin-dashboard .cafe24-row {
        grid-template-columns: 1fr;
    }

    #admin-dashboard .cafe24-th {
        border-right: 0;
        border-bottom: 1px solid #d9dee7;
    }

    #admin-dashboard .cafe24-category-grid {
        grid-template-columns: 1fr;
    }

    #admin-dashboard .cafe24-category-column {
        border-right: 0;
        border-bottom: 1px solid #d9dee7;
    }
}

/* Cafe24 product operations UX */
#admin-dashboard .cafe24-ops-shell {
    margin: 0 0 16px;
    border: 1px solid #d9dee7;
    background: #fff;
    color: #172033;
}
#admin-dashboard .cafe24-ops-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    border-bottom: 1px solid #e3e7ee;
}
#admin-dashboard .cafe24-ops-head h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0;
}
#admin-dashboard .cafe24-ops-head p {
    margin: 4px 0 0;
    font-size: 13px;
    color: #667085;
    font-weight: 600;
}
#admin-dashboard .cafe24-ops-buttons,
#admin-dashboard .cafe24-bulkbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
#admin-dashboard .cafe24-ops-buttons button,
#admin-dashboard .cafe24-bulkbar button,
#admin-dashboard .cafe24-row-actions button {
    min-height: 32px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    color: #1f2937;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
#admin-dashboard .cafe24-ops-buttons button:first-child,
#admin-dashboard .cafe24-bulkbar button:first-of-type,
#admin-dashboard .cafe24-row-actions button:first-child {
    border-color: #316cff;
    background: #316cff;
    color: #fff;
}
#admin-dashboard .cafe24-bulkbar button.danger,
#admin-dashboard .cafe24-row-actions button.danger {
    border-color: #ef4444;
    background: #fff;
    color: #dc2626;
}
#admin-dashboard .cafe24-ops-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    border-bottom: 1px solid #e3e7ee;
}
#admin-dashboard .cafe24-ops-stats span {
    padding: 13px 16px;
    border-right: 1px solid #e3e7ee;
    color: #667085;
    font-size: 12px;
    font-weight: 800;
}
#admin-dashboard .cafe24-ops-stats span:last-child { border-right: 0; }
#admin-dashboard .cafe24-ops-stats strong {
    display: block;
    margin-top: 4px;
    color: #111827;
    font-size: 20px;
}
#admin-dashboard .cafe24-bulkbar {
    padding: 12px 16px;
    background: #f8fafc;
}
#admin-dashboard .cafe24-bulkbar strong {
    margin-right: 8px;
    font-size: 13px;
}
#admin-dashboard .admin-table-container {
    border-radius: 0;
    border: 1px solid #d9dee7;
    background: #fff;
}
#admin-dashboard .admin-products-table th {
    background: #f7f8fa !important;
    color: #111827 !important;
    border-color: #d9dee7 !important;
    font-size: 12px;
    letter-spacing: 0;
}
#admin-dashboard .admin-products-table td {
    background: #fff;
    color: #1f2937;
    border-color: #e5e7eb !important;
    vertical-align: middle;
}
#admin-dashboard .admin-products-table tr:hover td {
    background: #f9fbff;
}
#admin-dashboard .cafe24-product-row .admin-input-text,
#admin-dashboard .cafe24-category-inline .admin-input-text {
    width: 100%;
    min-height: 30px;
    margin: 3px 0;
    border: 1px solid #d8dde7;
    border-radius: 4px;
    background: #fff;
    color: #111827;
    padding: 0 8px;
    font-size: 12px;
}
#admin-dashboard .cafe24-product-main strong {
    display: block;
    color: #111827;
    font-size: 13px;
    line-height: 1.4;
}
#admin-dashboard .cafe24-product-main span,
#admin-dashboard .muted,
#admin-dashboard .cafe24-mini-help {
    display: block;
    color: #667085;
    font-size: 11px;
    margin-top: 2px;
}
#admin-dashboard .cafe24-thumb,
#admin-dashboard .cafe24-display-thumb {
    width: 54px;
    height: 66px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #d9dee7;
}
#admin-dashboard .cafe24-display-thumb {
    width: 44px;
    height: 54px;
}
#admin-dashboard .center { text-align: center; }
#admin-dashboard .strong { font-weight: 800; }
#admin-dashboard .cafe24-check-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
}
#admin-dashboard .cafe24-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    height: 24px;
    margin-top: 6px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 800;
}
#admin-dashboard .cafe24-status.on {
    background: #e8f7ee;
    color: #15803d;
}
#admin-dashboard .cafe24-status.off {
    background: #fff1f2;
    color: #be123c;
}
#admin-dashboard .cafe24-row-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#admin-dashboard .cafe24-category-inline {
    display: grid;
    gap: 4px;
}
#admin-dashboard .cafe24-empty-row {
    padding: 42px 0 !important;
    text-align: center;
    color: #667085 !important;
    font-weight: 700;
}
#admin-dashboard .cafe24-display-row.selected td {
    background: #edf4ff !important;
    box-shadow: inset 3px 0 0 #316cff;
}
#admin-dashboard #admin-tab-categories > div:not(.cafe24-ops-shell) {
    background: #fff;
    border: 1px solid #d9dee7;
    padding: 16px;
}
#admin-dashboard #admin-category-tree-container {
    background: #fbfcfe !important;
    border-color: #d9dee7 !important;
}
@media (max-width: 1100px) {
    #admin-dashboard .cafe24-ops-head { align-items: flex-start; flex-direction: column; }
    #admin-dashboard .cafe24-ops-stats { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
}

#admin-dashboard .cafe24-display-legacy-hidden {
    display: none !important;
}

#admin-dashboard .cafe24-display-page {
    color: #111827;
}

#admin-dashboard .cafe24-display-heading {
    padding: 4px 0 22px;
}

#admin-dashboard .cafe24-display-heading h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-display-heading h2 span {
    display: inline-flex;
    align-items: center;
    height: 25px;
    padding: 0 10px;
    border-radius: 14px;
    background: #1f2f4a;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

#admin-dashboard .cafe24-display-heading h2 button {
    height: 28px;
    border: 1px solid #9aa8c0;
    border-radius: 16px;
    background: #fff;
    color: #1f2f4a;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 800;
}

#admin-dashboard .cafe24-display-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-display-search-panel,
#admin-dashboard .cafe24-display-info-box,
#admin-dashboard .cafe24-main-display-board {
    border: 1px solid #d7dce5;
    background: #fff;
}

#admin-dashboard .cafe24-display-form-row {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    min-height: 52px;
    border-bottom: 1px solid #e1e5ec;
}

#admin-dashboard .cafe24-display-form-row:last-child {
    border-bottom: 0;
}

#admin-dashboard .cafe24-display-form-row.split {
    grid-template-columns: 170px minmax(280px, 1fr) 150px minmax(280px, 1fr);
}

#admin-dashboard .cafe24-display-form-row > label {
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-right: 1px solid #e1e5ec;
    background: #fbfbfc;
    font-size: 13px;
    font-weight: 800;
}

#admin-dashboard .cafe24-display-field {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
}

#admin-dashboard .cafe24-display-field select,
#admin-dashboard .cafe24-display-field input,
#admin-dashboard .cafe24-view-filters select {
    height: 32px;
    border: 1px solid #cfd7e4;
    border-radius: 4px;
    background: #fff;
    color: #111827;
    padding: 0 10px;
    font-size: 13px;
}

#admin-dashboard .cafe24-display-field input {
    width: min(420px, 100%);
}

#admin-dashboard .cafe24-display-field.price input {
    width: 86px;
}

#admin-dashboard .cafe24-display-field.radio label,
#admin-dashboard .cafe24-view-filters label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-outline-btn,
#admin-dashboard .cafe24-display-toolbar button {
    height: 32px;
    border: 1px solid #c7d0df;
    border-radius: 4px;
    background: #fff;
    color: #1f2937;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 800;
}

#admin-dashboard .cafe24-help-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #b6c0d2;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

#admin-dashboard .cafe24-compat-hidden {
    display: none !important;
}

#admin-dashboard .cafe24-display-search-action {
    display: flex;
    justify-content: center;
    padding: 20px 0 28px;
}

#admin-dashboard .cafe24-display-search-action button {
    min-width: 86px;
    height: 42px;
    border: 0;
    border-radius: 4px;
    background: #3f4a5c;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

#admin-dashboard .cafe24-display-info-box {
    margin-bottom: 18px;
    padding: 20px 28px;
}

#admin-dashboard .cafe24-display-info-box dl {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    row-gap: 16px;
    margin: 0;
}

#admin-dashboard .cafe24-display-info-box dt,
#admin-dashboard .cafe24-display-info-box dd {
    margin: 0;
    font-size: 13px;
}

#admin-dashboard .cafe24-display-info-box dt {
    font-weight: 900;
}

#admin-dashboard .cafe24-display-info-box dd a {
    color: #316cff;
    text-decoration: none;
}

#admin-dashboard .cafe24-display-viewbar,
#admin-dashboard .cafe24-display-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #dfe4ec;
    background: #fff;
}

#admin-dashboard .cafe24-view-toggle,
#admin-dashboard .cafe24-display-toolbar > div {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

#admin-dashboard .cafe24-view-toggle button {
    width: 28px;
    height: 28px;
    border: 1px solid #cfd7e4;
    border-radius: 3px;
    background: #fff;
    color: #64748b;
    font-weight: 900;
}

#admin-dashboard .cafe24-view-toggle button.active {
    border-color: #316cff;
    background: #316cff;
    color: #fff;
}

#admin-dashboard .cafe24-view-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

#admin-dashboard .cafe24-display-toolbar button.danger-text {
    color: #ef3b2f;
}

#admin-dashboard .cafe24-display-toolbar button.excel {
    color: #1f7a32;
}

#admin-dashboard .cafe24-display-toolbar button.dark {
    border-color: #28374a;
    background: #28374a;
    color: #fff;
}

#admin-dashboard .cafe24-display-toolbar button.icon {
    width: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #316cff;
    font-size: 18px;
}

#admin-dashboard .cafe24-display-table-wrap {
    overflow-x: auto;
}

#admin-dashboard .cafe24-main-display-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
}

#admin-dashboard .cafe24-main-display-table th,
#admin-dashboard .cafe24-main-display-table td {
    border-right: 1px solid #e0e5ec;
    border-bottom: 1px solid #e0e5ec;
    padding: 10px 12px;
    vertical-align: middle;
    background: #fff;
    font-size: 13px;
}

#admin-dashboard .cafe24-main-display-table th {
    background: #fbfbfc;
    text-align: center;
    font-weight: 900;
}

#admin-dashboard .cafe24-main-display-table th:first-child { width: 44px; }
#admin-dashboard .cafe24-main-display-table th:nth-child(2) { width: 86px; }
#admin-dashboard .cafe24-main-display-table th:nth-child(4) { width: 130px; }
#admin-dashboard .cafe24-main-display-table th:nth-child(5),
#admin-dashboard .cafe24-main-display-table th:nth-child(6),
#admin-dashboard .cafe24-main-display-table th:nth-child(7) { width: 120px; }

#admin-dashboard .cafe24-main-display-row.selected td {
    background: #edf4ff;
}

#admin-dashboard .cafe24-display-product-cell {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

#admin-dashboard .cafe24-display-product-cell a {
    color: #111827;
    font-weight: 800;
    line-height: 1.45;
    text-decoration: underline;
}

#admin-dashboard .cafe24-display-product-cell p {
    margin: 3px 0 0;
    color: #4d7cff;
    font-size: 12px;
    line-height: 1.35;
}

#admin-dashboard .cafe24-rank {
    font-size: 15px;
    font-weight: 800;
}

#admin-dashboard .right {
    text-align: right;
}

.cafe24-display-add-modal {
    width: min(920px, calc(100vw - 40px));
    max-width: 920px;
    max-height: 86vh;
    overflow: hidden;
    background: #fff;
    color: #111827;
}

.cafe24-display-add-top {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.cafe24-display-add-top .form-input {
    flex: 1;
    height: 38px;
    border: 1px solid #cfd7e4;
    border-radius: 4px;
    padding: 0 12px;
}

.cafe24-display-add-table {
    max-height: 52vh;
    overflow: auto;
    border: 1px solid #dfe4ec;
}

@media (max-width: 768px) {
    /* 1. ?곗뒪?ы넲 ?ㅻ뜑 諛?以묒븰 ?移?濡쒓퀬 ??紐⑤컮???④? 泥섎━ */
    .header-bottom-nav,
    .header-center-logo,
    .header-main-row {
        display: none !important;
    }
}

.cafe24-display-add-table .admin-products-table {
    margin: 0;
}

.cafe24-display-add-thumb {
    width: 42px;
    height: 52px;
    object-fit: cover;
    border: 1px solid #d9dee7;
    border-radius: 4px;
}

.cafe24-display-add-name {
    display: block;
    color: #111827;
    font-size: 13px;
    line-height: 1.4;
}

.cafe24-display-add-meta {
    display: block;
    margin-top: 4px;
    color: #667085;
    font-size: 12px;
}

.cafe24-display-add-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 14px;
}

#admin-dashboard .cafe24-customer-page {
    color: #111827;
}

#admin-dashboard .cafe24-customer-page h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 24px;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0;
}

#admin-dashboard .cafe24-customer-page h2 b {
    display: inline-flex;
    align-items: center;
    height: 25px;
    padding: 0 10px;
    border-radius: 14px;
    background: #1f2f4a;
    color: #fff;
    font-size: 13px;
}

#admin-dashboard .cafe24-customer-page h2 button {
    height: 28px;
    border: 1px solid #9aa8c0;
    border-radius: 16px;
    background: #fff;
    color: #1f2f4a;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 800;
}

#admin-dashboard .cafe24-customer-page h3 {
    margin: 26px 0 12px;
    font-size: 18px;
    font-weight: 900;
}

#admin-dashboard .cafe24-customer-search,
#admin-dashboard .cafe24-customer-stats,
#admin-dashboard .cafe24-customer-table {
    border: 1px solid #d7dce5;
    background: #fff;
}

#admin-dashboard .cafe24-customer-form-row {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    min-height: 52px;
    border-bottom: 1px solid #e1e5ec;
}

#admin-dashboard .cafe24-customer-form-row:last-child {
    border-bottom: 0;
}

#admin-dashboard .cafe24-customer-form-row > label {
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-right: 1px solid #e1e5ec;
    background: #fbfbfc;
    font-size: 13px;
    font-weight: 800;
}

#admin-dashboard .cafe24-customer-form-row > div {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    flex-wrap: wrap;
}

#admin-dashboard .cafe24-customer-form-row input,
#admin-dashboard .cafe24-customer-form-row select,
#admin-dashboard .cafe24-customer-toolbar select {
    height: 32px;
    border: 1px solid #cfd7e4;
    border-radius: 4px;
    background: #fff;
    color: #111827;
    padding: 0 10px;
    font-size: 13px;
}

#admin-dashboard .cafe24-customer-form-row input[type="text"] {
    width: 340px;
}

#admin-dashboard .cafe24-customer-form-row .range button {
    height: 32px;
    border: 1px solid #cfd7e4;
    border-radius: 4px;
    background: #fff;
    padding: 0 13px;
    font-weight: 800;
}

#admin-dashboard .cafe24-customer-form-row .range button.active {
    border-color: #6f96ff;
    color: #316cff;
}

#admin-dashboard .cafe24-customer-form-row .radio label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-right: 16px;
    font-size: 13px;
    font-weight: 800;
}

#admin-dashboard .cafe24-customer-stats table,
#admin-dashboard .cafe24-customer-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

#admin-dashboard .cafe24-customer-stats th,
#admin-dashboard .cafe24-customer-stats td,
#admin-dashboard .cafe24-customer-table th,
#admin-dashboard .cafe24-customer-table td {
    border-right: 1px solid #e0e5ec;
    border-bottom: 1px solid #e0e5ec;
    padding: 12px;
    background: #fff;
    text-align: center;
    font-size: 13px;
}

#admin-dashboard .cafe24-customer-stats th,
#admin-dashboard .cafe24-customer-table th {
    background: #fbfbfc;
    font-weight: 900;
}

#admin-dashboard .cafe24-customer-tabs {
    display: flex;
    gap: 28px;
    border-bottom: 1px solid #dfe4ec;
}

#admin-dashboard .cafe24-customer-tabs button {
    height: 44px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #111827;
    font-weight: 900;
}

#admin-dashboard .cafe24-customer-tabs button.active {
    border-color: #316cff;
    color: #316cff;
}

#admin-dashboard .cafe24-customer-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 54px;
    padding: 10px 12px;
    border: 1px solid #d7dce5;
    border-top: 0;
    background: #fff;
}

#admin-dashboard .cafe24-customer-toolbar select:first-of-type {
    margin-left: auto;
    min-width: 260px;
}

#admin-dashboard .cafe24-customer-toolbar button {
    height: 34px;
    border: 1px solid #cfd7e4;
    border-radius: 4px;
    background: #fff;
    padding: 0 12px;
    font-weight: 900;
}

#admin-dashboard .cafe24-customer-toolbar button.dark {
    border-color: #3f4a5c;
    background: #3f4a5c;
    color: #fff;
}

#admin-dashboard .cafe24-member-mobile,
#admin-dashboard .cafe24-bad-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    border: 1px solid #d33;
    color: #d33;
    font-size: 11px;
    font-weight: 900;
}

#admin-dashboard .cafe24-bad-badge {
    background: #e84822;
    color: #fff;
}

#admin-dashboard .cafe24-customer-table .left {
    text-align: left;
}

#admin-dashboard .cafe24-customer-table .empty,
#admin-dashboard .cafe24-customer-stats .empty {
    color: #111827;
    text-align: center;
}

#admin-dashboard .cafe24-customer-stats .tall {
    height: 250px;
    vertical-align: middle;
}

@media (max-width: 1100px) {
    #admin-dashboard .cafe24-display-form-row,
    #admin-dashboard .cafe24-display-form-row.split {
        grid-template-columns: 120px minmax(0, 1fr);
    }
    #admin-dashboard .cafe24-display-form-row.split > label:nth-of-type(2) {
        border-left: 0;
    }
    #admin-dashboard .cafe24-display-viewbar,
    #admin-dashboard .cafe24-display-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

#admin-dashboard .cafe24-display-table-wrap.compact-list .cafe24-main-display-table th,
#admin-dashboard .cafe24-display-table-wrap.compact-list .cafe24-main-display-table td {
    padding-top: 8px;
    padding-bottom: 8px;
}

#admin-dashboard .admin-detail-label {
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 12px 16px;
    border-right: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
    background: #f8fafc;
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 900;
}

#admin-dashboard .admin-detail-field {
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-light);
    background: #fff;
}

#admin-dashboard #admin-cust-search-rows td:nth-child(2),
#admin-dashboard #admin-cust-search-rows td:nth-child(3),
#admin-dashboard #admin-customer-rows td:nth-child(2),
#admin-dashboard #admin-customer-rows td:nth-child(3) {
    cursor: pointer;
}

#admin-dashboard #admin-cust-search-rows td:nth-child(2):hover,
#admin-dashboard #admin-cust-search-rows td:nth-child(3):hover,
#admin-dashboard #admin-customer-rows td:nth-child(2):hover,
#admin-dashboard #admin-customer-rows td:nth-child(3):hover {
    color: var(--admin-accent);
    text-decoration: underline;
}

#admin-dashboard .cafe24-order-dashboard {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

#admin-dashboard .cafe24-order-searchbar {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr) 56px;
    gap: 12px;
}

#admin-dashboard .cafe24-order-searchbar select,
#admin-dashboard .cafe24-order-searchbar input {
    height: 48px;
    border: 1px solid #d7dce5;
    border-radius: 6px;
    background: #fff;
    padding: 0 18px;
    color: #111827;
    font-size: 15px;
    font-weight: 700;
}

#admin-dashboard .cafe24-order-searchbar input::placeholder {
    color: #a5adba;
}

#admin-dashboard .cafe24-order-searchbar button {
    height: 48px;
    border: 1px solid #d7dce5;
    border-radius: 6px;
    background: #fff;
    color: #4b5563;
    font-size: 26px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-panel {
    overflow: hidden;
    border: 1px solid #e1e6ef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

#admin-dashboard .cafe24-order-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 22px;
}

#admin-dashboard .cafe24-order-panel-title h2,
#admin-dashboard .cafe24-order-section-title {
    margin: 0;
    color: #111827;
    font-size: 20px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-panel-title h2 span {
    margin-left: 8px;
    color: #6b7280;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-order-panel-title h2 i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    border-radius: 50%;
    background: #b9c2d2;
    color: #fff;
    font-size: 12px;
    font-style: normal;
}

#admin-dashboard .cafe24-order-panel-title > button,
#admin-dashboard .cafe24-order-mini-btn {
    height: 38px;
    border: 1px solid #d7dce5;
    border-radius: 6px;
    background: #fff;
    padding: 0 14px;
    color: #222;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-sales-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #e5e7eb;
}

#admin-dashboard .cafe24-order-sales-table th,
#admin-dashboard .cafe24-order-sales-table td {
    border-bottom: 1px solid #e5e7eb;
    padding: 18px 20px;
    text-align: center;
    vertical-align: middle;
}

#admin-dashboard .cafe24-order-sales-table thead th {
    background: #fff;
    color: #444b57;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-sales-table tbody tr:first-child {
    background: #eef8ff;
    box-shadow: inset 4px 0 0 #2f9bf4;
}

#admin-dashboard .cafe24-order-sales-table tbody tr:nth-child(2) {
    background: #fbfeff;
    box-shadow: inset 4px 0 0 #2f9bf4;
}

#admin-dashboard .cafe24-order-sales-table tbody th {
    color: #111827;
    font-size: 15px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-sales-table td button:not(.cafe24-order-mini-btn) {
    border: 0;
    background: transparent;
    color: #168bd6;
    text-decoration: underline;
    font-size: 24px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-sales-table td.pink button:not(.cafe24-order-mini-btn) {
    color: #e72862;
}

@media (max-width: 768px) {
    /* ?벑 [紐⑤컮???ㅻ뜑 ?곷떒 怨좎젙 諛??덉씠?꾩썐 諛由?諛⑹?] */
    .fashion-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        background-color: rgba(250, 249, 246, 0.98) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
    }

    .main-viewport {
        margin-top: 74px !important;
    }

    /* 1. ?怨쀫뮞???????삳쐭 獄?餓λ쵐釉?????嚥≪뮄????? 筌ｌ꼶??*/
    .header-bottom-nav,
    .header-center-logo {
        display: none !important;
    }
}

#admin-dashboard .cafe24-order-sales-table td em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 24px;
    margin-left: 6px;
    border-radius: 6px;
    background: #e2f3ff;
    color: #1188d1;
    font-style: normal;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-sales-table td.pink em {
    background: #ffe5ee;
    color: #e72862;
}

#admin-dashboard .cafe24-order-section-title {
    padding: 20px 22px 4px;
}

#admin-dashboard .cafe24-order-work-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 22px 22px;
}

#admin-dashboard .cafe24-order-work-card {
    min-height: 82px;
    border: 0;
    border-radius: 8px;
    background: #f8fafc;
    padding: 14px 12px;
    text-align: left;
    color: #111827;
}

#admin-dashboard .cafe24-order-work-card span {
    display: block;
    color: #4b5563;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-work-card strong {
    display: block;
    margin-top: 20px;
    color: #168bd6;
    text-decoration: underline;
    font-size: 20px;
    font-weight: 900;
}

#admin-dashboard .cafe24-order-work-card.pink {
    background: #fff7fa;
}

#admin-dashboard .cafe24-order-work-card.pink strong,
#admin-dashboard .cafe24-order-work-card.pink em {
    color: #e72862;
}

#admin-dashboard .cafe24-order-work-card em {
    display: block;
    margin-top: 6px;
    color: #4b5563;
    font-style: normal;
    font-weight: 800;
}

#admin-dashboard .cafe24-order-work-grid.compact .cafe24-order-work-card {
    min-height: 64px;
}

@media (max-width: 1280px) {
    #admin-dashboard .cafe24-order-work-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    #admin-dashboard .cafe24-order-searchbar {
        grid-template-columns: 1fr;
    }
    #admin-dashboard .cafe24-order-work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #admin-dashboard .cafe24-order-sales-table {
        min-width: 760px;
    }
    #admin-dashboard .cafe24-order-panel {
        overflow-x: auto;
    }
}

#admin-dashboard .cafe24-product-dashboard {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

#admin-dashboard .cafe24-product-headline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 18px;
    align-items: center;
}

#admin-dashboard .cafe24-product-headline h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #111827;
    font-size: 28px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-headline h2 button,
#admin-dashboard .cafe24-guide-pill {
    display: inline-flex;
    align-items: center;
    height: 32px;
    border: 1px solid #d7dce5;
    border-radius: 6px;
    background: #fff;
    padding: 0 10px;
    color: #253044;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-headline p {
    margin: 10px 0 0;
    color: #6b7280;
    font-size: 14px;
    font-weight: 700;
}

#admin-dashboard .cafe24-product-top-banner {
    min-height: 78px;
    border-radius: 40px;
    background: #08af5b;
    color: #fff;
    padding: 18px 34px;
}

#admin-dashboard .cafe24-product-top-banner b {
    display: block;
    font-size: 18px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-top-banner span {
    display: block;
    margin-top: 5px;
    opacity: 0.9;
    font-size: 13px;
    font-weight: 700;
}

#admin-dashboard .cafe24-product-panel,
#admin-dashboard .cafe24-product-curation,
#admin-dashboard .cafe24-product-promo,
#admin-dashboard .cafe24-product-pro {
    border: 1px solid #e1e6ef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

#admin-dashboard .cafe24-product-panel {
    padding: 22px;
}

#admin-dashboard .cafe24-product-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

#admin-dashboard .cafe24-product-panel-title h3,
#admin-dashboard .cafe24-product-curation h3,
#admin-dashboard .cafe24-product-promo h3,
#admin-dashboard .cafe24-product-pro h3 {
    margin: 0;
    color: #111827;
    font-size: 20px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-panel-title button {
    border: 0;
    background: transparent;
    color: #2563eb;
    text-decoration: underline;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

#admin-dashboard .cafe24-product-stat {
    min-height: 92px;
    border-radius: 8px;
    background: #f8fafc;
    padding: 18px;
}

#admin-dashboard .cafe24-product-stat:first-child {
    background: #f1f6ff;
}

#admin-dashboard .cafe24-product-stat span {
    display: block;
    color: #4b5563;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-stat strong {
    display: inline-block;
    margin-top: 12px;
    color: #168bd6;
    text-decoration: underline;
    font-size: 26px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-stat em {
    margin-left: 5px;
    color: #4b5563;
    font-style: normal;
    font-size: 18px;
    font-weight: 800;
}

#admin-dashboard .cafe24-product-stat.danger strong {
    color: #e72862;
}

#admin-dashboard .cafe24-product-curation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 28px;
    background: #fbfdff;
}

#admin-dashboard .cafe24-product-curation p,
#admin-dashboard .cafe24-product-promo p,
#admin-dashboard .cafe24-product-pro p {
    margin: 10px 0 0;
    color: #4b5563;
    font-size: 15px;
    font-weight: 700;
}

#admin-dashboard .cafe24-product-curation-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

#admin-dashboard .cafe24-product-curation-actions button,
#admin-dashboard .cafe24-product-pro-actions button {
    height: 42px;
    border: 1px solid #8da2ff;
    border-radius: 6px;
    background: #fff;
    padding: 0 18px;
    color: #2563eb;
    font-size: 14px;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-curation-actions .primary {
    background: #fff;
}

#admin-dashboard .cafe24-product-promo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

#admin-dashboard .cafe24-product-promo {
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 34px;
    overflow: hidden;
}

#admin-dashboard .cafe24-product-promo.signup {
    background: #effdf7;
}

#admin-dashboard .cafe24-product-promo.sale {
    background: #f4f6ff;
}

#admin-dashboard .cafe24-product-promo h3 {
    font-size: 26px;
}

#admin-dashboard .cafe24-product-login-buttons {
    display: grid;
    gap: 10px;
    min-width: 240px;
}
}

#admin-dashboard .cafe24-product-login-buttons button {
    height: 42px;
    border: 0;
    border-radius: 4px;
    color: #111827;
    font-weight: 900;
}

#admin-dashboard .cafe24-product-login-buttons button:first-child {
    background: #ffe500;
}

#admin-dashboard .cafe24-product-login-buttons button:last-child {
    background: #03c75a;
    color: #fff;
}

#admin-dashboard .cafe24-product-rocket {
    font-size: 92px;
    line-height: 1;
}

#admin-dashboard .cafe24-product-pro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 28px 34px;
    background: #087cff;
    color: #fff;
}

#admin-dashboard .cafe24-product-pro h3,
#admin-dashboard .cafe24-product-pro p {
    color: #fff;
}

#admin-dashboard .cafe24-product-pro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

#admin-dashboard .cafe24-product-pro-actions button {
    border-color: rgba(255,255,255,0.7);
    color: #fff;
    background: rgba(255,255,255,0.12);
}

@media (max-width: 1200px) {
    #admin-dashboard .cafe24-product-headline,
    #admin-dashboard .cafe24-product-promo-grid {
        grid-template-columns: 1fr;
    }
    #admin-dashboard .cafe24-product-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    #admin-dashboard .cafe24-product-stats,
    #admin-dashboard .cafe24-product-promo-grid {
        grid-template-columns: 1fr;
    }
    #admin-dashboard .cafe24-product-curation,
    #admin-dashboard .cafe24-product-promo,
    #admin-dashboard .cafe24-product-pro {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================================
   ?堉€닼??踰?[?醫롪퐬] ??諭띈첋???삳쐭 ?遺얠뺍??곷뮞 ?袁ⓥ봺??沃섎챶????而??遺우쁽??
   ========================================================================= */
.device-preview-group {
    display: flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 3px;
    background-color: #f8fafc;
}

.device-preview-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.device-preview-btn:hover {
    background-color: #e2e8f0;
    color: #0f172a;
}

.preview-icon {
    width: 18px;
    height: 18px;
}

/* =========================================================================
   ?紐?[?곕떽? ??ν뒄] 27?紐꾪뒄 ???遺얇늺(1706px) 獄?1466px ??꾨릭 筌???由?筌욁끇??獄쎻뫗? CSS 癰귣떯而?
   ========================================================================= */

/* 疫꿸퀡????沅???됱뵠?袁⑹뜍 域밸챶????類ㅼ벥 (?紐껋뵬??????????) */
.admin-stats-layout {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 20px;
}

/* 1850px ??꾨릭 ??곴맒??獄쏆꼷???癰귣똻??*/
@media (max-width: 1850px) {
    /* 1. ??沅?癰귣똻釉?燁삳?諭??怨몃열??1??以???λ선??ㅼ젻 揶쎛嚥????リ낯釉섓쭪癒?퓠 ????*/
    .admin-stats-layout {
        grid-template-columns: 1fr !important;
    }
    
    /* 2. 8??????燁삳?諭띄몴?5???닌듼쒏에?癰귣똻??*/
    #admin-dashboard .cafe24-home-todo-grid {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 10px;
    }
}

/* 1500px ??꾨릭 ??곴맒??(????뺣뻷??揶쎛嚥?1466px ?됯퀬猷????띻펾 ?袁④펾 ???? */
@media (max-width: 1500px) {
    /* ????燁삳?諭띄몴?4???닌듼쒏에?鈺곌퀣???뤿연 疫꼲??野껊?臾?獄쎻뫗? */
    #admin-dashboard .cafe24-home-todo-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px;
    }
}

/* 1250px ??꾨릭 ??곴맒??*/
@media (max-width: 1250px) {
    /* ????燁삳?諭띄몴?3???닌듼쒏에?鈺곌퀣??*/
    #admin-dashboard .cafe24-home-todo-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    /* 筌롫뗄???臾믩씜 ?怨몃열???ル슣????ㅻ뎃??餓κ쑴肉??揶쎛嚥????類ｋ궖 */
    #admin-dashboard .admin-content-main {
        padding: 0 14px 36px !important;
    }
}

/* =========================================================================
   ?踰?[筌뤴뫀而???袁⑹뒠 筌ㅼ뮇湲??獄?& 筌롫뗄????삳쐭 疫꿸퀡??揶쏅Ŋ??(?怨쀫뮞??????????]
   ========================================================================= */
.mobile-top-bar,
.mobile-main-header,
.mobile-search-overlay {
    display: none;
}

/* =========================================================================
   ?踰?[筌뤴뫀而??獄쏆꼷?????삳쐭 獄????筌왖 ??쑴????뺣뻼 沃섎챶逾???묒눖??(2甕????筌왖 ?袁④펾 癰귣벊??]
   ========================================================================= */
@media (max-width: 768px) {
    /* 1. ?怨쀫뮞???????삳쐭 獄?餓λ쵐釉?????嚥≪뮄????? 筌ｌ꼶??*/
    .header-bottom-nav,
    .header-center-logo,
    .header-main-row {
        display: none !important;
    }

    /* 2. 筌뤴뫀而???袁⑹뒠 1??沃섎챶???醫뤿뼢?귐뗫뼒 獄???뽮쉐??*/
    .mobile-top-bar {
        display: block !important;
        background-color: #FAF9F6;
        border-bottom: 1px solid var(--border-light);
        padding: 6px 12px;
        /* 🛡️ [추가] 2단 헤더(z-index: 101)보다 레이어를 위로 올려 터치 클릭 가로채기 해결 */
        position: relative;
        z-index: 102;
    }
    
    .mobile-top-bar-container {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 12px;
        max-width: 100%;
    }
    
    .mobile-top-item {
        text-decoration: none;
        font-size: 10px;
        color: var(--text-secondary);
        font-family: var(--font-outfit), sans-serif;
        letter-spacing: 1px;
    }
    
    /* 3. 筌뤴뫀而???袁⑹뒠 2??筌롫뗄????삳쐭 ??뽮쉐??(sticky ?怨룸뼊 ?⑥쥙?? */
    .mobile-main-header {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 12px 16px;
        background-color: rgba(250, 249, 246, 0.95);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border-bottom: 1px solid var(--border-light);
        position: sticky;
        top: 0;
        z-index: 101;
    }
    
    /* ?袁⑥쒔椰?筌롫뗀????깃퐨(鼇? ?닌뗭겱 */
    .mobile-menu-btn {
        background: transparent;
        border: none;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 18px;
        height: 12px;
        padding: 0;
    }
    
    .hamburger-line {
        width: 100%;
        height: 1.5px;
        background-color: var(--text-primary);
    }
    
    /* 餓λ쵐釉?嚥≪뮄????용뮞???????곗춦 */
    .mobile-logo {
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 4px;
        color: var(--text-primary);
        font-family: var(--font-outfit), sans-serif;
        cursor: pointer;
        text-align: center;
        flex-grow: 1;
    }
    
    /* ?怨쀫? ??ル궖疫?獄??貫而?뤃????怨몃열 */
    .mobile-actions {
        display: flex;
        align-items: center;
        gap: 14px;
    }
    
    .mobile-action-btn {
        background: transparent;
        border: none;
        font-size: 15px;
        cursor: pointer;
        color: var(--text-primary);
        text-decoration: none;
        display: flex;
        align-items: center;
        position: relative;
    }
    
    /* 4. 筌뤴뫀而???袁⑹뒠 ?醫???野꺜??깃갯 ??살쒔??됱뵠 */
    .mobile-search-overlay {
        display: flex !important;
        width: 100%;
        background-color: #FAF9F6;
        border-bottom: 1px solid var(--border-light);
        padding: 10px 16px;
        box-sizing: border-box;
        position: relative;
        z-index: 100;
    }
    
    .mobile-search-container {
        display: flex;
        width: 100%;
        border-bottom: 1px solid var(--text-primary);
        padding: 4px 0;
    }
    
    .mobile-search-container input {
        flex: 1;
        border: none;
        background: transparent;
        font-size: 13px;
        color: var(--text-primary);
    }
    
    .mobile-search-container input:focus {
        outline: none;
    }
    
    .mobile-search-submit {
        background: transparent;
        border: none;
        font-size: 13px;
        color: var(--text-primary);
        cursor: pointer;
        font-weight: 700;
    }

    /* 5. 筌롫뗄???????諭?獄쏄퀡瑗????筌왖 ??쑴???醫? */
    .hero-section {
        aspect-ratio: 855 / 240 !important;
        height: auto !important;
        min-height: 110px !important;
        max-height: 260px !important;
        margin-bottom: 20px !important;
    }
    
    .hero-slide {
        background-position: center 25% !important; /* ??깃텢筌??紐꺪? ?닌됰즲揶쎛 餓λ쵐???????삳즲嚥?癰귣똻??*/
    }
    
    .hero-content {
        max-width: 95% !important;
        padding: 6px !important;
    }
    
    .hero-subtitle {
        font-size: 7.5px !important;
        letter-spacing: 2px !important;
        margin-bottom: 4px !important;
    }
    
    .hero-title {
        font-size: 15px !important; /* 獄쏄퀡瑗?????? ?????곕벡??*/
        letter-spacing: 0.5px !important;
        margin-bottom: 5px !important;
    }
    
    .hero-desc {
        font-size: 9px !important;
        line-height: 1.35 !important;
    }
    
    .hero-divider {
        margin: 6px auto 0 auto !important;
        width: 25px !important;
    }
    
    .hero-slide-btn {
        width: 26px !important;
        height: 26px !important;
        font-size: 14px !important;
        line-height: 24px !important;
        transform: translateY(-50%) translateY(0) !important;
    }
    
    /* 6. 燁삳똾?믤⑥쥓????2筌??類? ?紐꾩춿 (????癰귣???野꺿뫗??? */
    /* 6. 移댄뀒怨좊━ 諛?2李??뺣낫 ?몄쭛 (?щ┝ 蹂대뜑 寃⑹옄) */
    .shop-filter-bar {
        padding: 4px 12px 0px !important; /* ?몚 紐⑤컮???섎떒 援곗궡 ?⑤뵫 6px->4px, 2px->0px 濡?洹밸떒 異뺤냼 */
        background-color: #FAF9F6 !important;
        position: relative !important;
        gap: 0px !important;
    }
    
    .shop-filter-bar > div {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important; /* ?몚 媛꾧꺽 議곗엫 */
        margin-bottom: 0px !important;
    }
    
    .shop-filter-bar .shop-filter-inner-row {
        height: auto !important;
        min-height: auto !important;
        position: relative !important;
    }
    
    .shop-filter-bar .shop-filter-options-group {
        position: static !important;
        transform: none !important;
        justify-content: center !important;
        width: 100% !important;
        margin-top: 2px !important; /* ?몚 留덉쭊 ??異뺤냼 */
        margin-bottom: 0px !important; /* ?몚 釉뚮옖??李얘린 ?꾨옒 鍮??щ갚 2px->0px ?꾨꼍 ?뚮㈇ ?쒓굅 */
    }
    
    .category-tabs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important; /* ?몚 ?遺꾨쪟 移댄뀒怨좊━瑜?媛濡??뺤쨷???쇳꽣 諛곗튂濡??뺣젹 */
        align-items: center !important;
        gap: 8px !important;
        border: none !important;
        background: transparent !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 8px 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    .cat-tab {
        flex: 0 0 auto !important;
        border: 1px solid var(--border-light) !important;
        border-radius: 20px !important;
        padding: 6px 16px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #555555 !important;
        background-color: #FFFFFF !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
        transition: all 0.2s ease !important;
        cursor: pointer !important;
        text-align: center !important;
        letter-spacing: 0px !important;
    }

    .cat-tab.active {
        background-color: #111111 !important;
        color: #FFFFFF !important;
        border-color: #111111 !important;
    }
    
    /* 餓????뀋??揶쎛嚥??怨쀭뒄 ??쎄쾿嚥?嚥▲끇彛????類κ묶嚥?揶쏅벡???袁れ넎 (揶쎛??쇱춾 獄쎻뫗?) */
    /* 以??뚮텇瑜?媛濡??곗튂 ?ㅽ겕濡?濡ㅻ쭅 ?뺥깭濡?媛뺤젣 ?꾪솚 (媛濡쒖각源 諛⑹?) -> ?뺤쨷???뺣젹 以꾨컮轅??뺥깭濡??좎뿰 蹂寃?*/
    .shop-filter-bar .subcategory-tabs, 
    .shop-filter-bar .microcategory-tabs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important; /* ?뮕 以꾨컮轅??덉슜 */
        justify-content: center !important; /* ?뮕 媛濡?以묒븰 ?밴린醫낃린 ?뺣젹 */
        overflow-x: visible !important; /* ?뮕 ?ㅽ겕濡?臾대젰??*/
        overflow-y: hidden !important;
        white-space: normal !important; 
        gap: 6px !important;
        padding: 8px 12px !important;
        margin: 4px 0 !important;
        width: 100% !important;
        border-top: none !important;
        background: transparent !important;
        /* ?뚯씠?댄룺???ㅽ겕濡ㅻ컮 ?④? */
        scrollbar-width: none !important;
    }
    
    .shop-filter-bar .subcategory-tabs::-webkit-scrollbar, 
    .shop-filter-bar .microcategory-tabs::-webkit-scrollbar {
        display: none !important; /* ?щ＼/?ы뙆由??ㅽ겕濡ㅻ컮 ?④? */
    }
    
    .shop-filter-bar .cat-tab:hover {
        color: #111111 !important;
    }
    
    .shop-filter-bar .cat-tab.active {
        color: #FFFFFF !important; /* ?몚 源뚮쭔???ㅻ쾭?쇱씠?쒕? 源⑤??섍퀬 ?좊챸???곗깋 湲??蹂댁옣 */
        background-color: #111111 !important;
    }

    .shop-filter-bar .sub-cat-tab,
    .shop-filter-bar .micro-cat-tab {
        flex: 0 0 auto !important; 
        width: auto !important;
        min-width: unset !important;
        height: auto !important;
        min-height: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important; /* ?뮕 諛곌꼍 ?쒓굅 */
        border: none !important; /* ?뮕 ?뚮몢由??쒓굅 */
        box-shadow: none !important; /* ?뮕 洹몃┝???쒓굅 */
        color: #555555 !important; /* ?뮕 鍮꾪솢???ㅽ겕 洹몃젅??*/
        font-size: 12.5px !important; 
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-shadow: none !important;
        border-radius: 0 !important; 
        padding: 6px 10px !important;
        margin: 0 !important;
        transition: all 0.2s ease !important;
    }

    .shop-filter-bar .sub-cat-tab:hover,
    .shop-filter-bar .sub-cat-tab.active,
    .shop-filter-bar .micro-cat-tab:hover,
    .shop-filter-bar .micro-cat-tab.active {
        background: transparent !important;
        border: none !important;
        color: #000000 !important; /* ?뮕 ?쒖꽦?????꾩쟾 寃?뺤깋 */
        text-decoration: underline !important; /* ?뮕 ?띿뒪?몃쭔 蹂댁씠寃??섎?濡?諛묒쨪濡?媛뺤“ */
        font-weight: 800 !important;
    }
    
    /* ?됰슢???& ?類ｌ졊 獄쏅벡????롫뼊 獄쏄퀣??*/
    .shop-filter-bar > div > div:last-child {
        display: flex;
        justify-content: space-between;
        width: 100%;
        gap: 10px;
    }
    
    .brand-box-luxury, .sort-box {
        flex: 1;
        width: 50%;
    }
    
    .brand-box-luxury select {
        width: 100% !important;
        box-sizing: border-box;
        padding: 10px 16px !important; /* 모바일 패딩 확대 */
        font-size: 15px !important; /* 모바일 글자 크기 15px로 확대 */
        height: 44px !important; /* 모바일 높이 고정 */
    }
    .sort-box select {
        width: 100% !important;
        box-sizing: border-box;
        padding: 8px 12px !important;
        font-size: 11px !important;
    }

    /* 7. LATEST VIEW 筌ㅼ뮄??癰??怨밸? ??獄??袁⑹읈????볤탢 (揶쎛??筌ｌ쥙? ??덇컩) */
    .recent-quick-bar-wrapper {
        display: none !important;
    }

    /* 8. ??쎈꽅?귐딅춦???λ뜆?녕뵳?& ??깆뵠???遺우쁽???紐꾩춿 */
    .shop-story-section {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 15px 0 !important; /* ?紐? 揶쏄쑨爰??????곕벡??*/
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .story-single-container {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 110px !important;
        max-height: none !important;
    }
    
    /* ?뤇截?移댄뀒怨좊━媛 ?ロ삍???뚮뒗 ?щ갚???덈? ?꾩쟻?섏? ?딅룄濡??뚮㈇???ㅼ젙 */
    .shop-filter-bar .subcategory-tabs[style*="display: none"],
    .shop-filter-bar .microcategory-tabs[style*="display: none"] {
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border: none !important;
    }
    
    .story-inner-frame {
        background-color: #FAF9F6 !important; /* 獄쏆빘? 沃섎챷源??곗쨮 ?대Ŋ猿??뤿연 ??щ뼗????곷꺖 */
        border-left: none !important;
        border-right: none !important;
        border-top: 1px solid var(--border-light) !important;
        border-bottom: 1px solid var(--border-light) !important;
        padding: 15px 12px !important; /* ??ㅻ뎃 筌ㅼ뮇???*/
        border-radius: 0 !important;
    }
    
    .story-emblem {
        font-size: 9px !important;
        margin-bottom: 4px !important;
    }
    
    .story-eng-tag {
        font-size: 8px !important;
        letter-spacing: 2px !important;
        margin-bottom: 3px !important;
    }
    
    .story-headline {
        font-size: 13px !important; /* ??뽰젫 ??由?????揶쏅Ŋ??*/
        margin-bottom: 6px !important;
        letter-spacing: 0.5px !important;
    }
    
    .story-divider-line {
        margin-bottom: 8px !important;
    }
    
    .story-paragraph {
        font-size: 11px !important; /* 癰귣챶揆 11px嚥??λ뜆?녕뵳???쇱뵠??꾨뱜 */
        line-height: 1.45 !important; /* ???퍢 鈺곌퀣??*/
        color: var(--text-secondary) !important; /* 筌△뫀?????*/
        max-width: 96% !important;
    }

    /* 9. ???쨮????뽯선 筌롫뗀??獄??遺욧땀??域밸????귐딄텢??곸췅 (32px ??쇱뵠??꾨뱜) */
    .floating-control-menu {
        right: 8px !important;
        bottom: 12px !important;
        gap: 6px !important;
    }
    
    .floating-btn {
        width: 32px !important; /* 32px 域밸???類μ넅 */
        height: 32px !important;
        opacity: 0.85 !important; /* 獄쏆꼹?억쭗?놁몵嚥?疫꼲??揶쎛??筌ㅼ뮇???*/
    }
    
    .floating-btn span, .scroll-btn svg {
        font-size: 11px !important;
        width: 14px !important;
        height: 14px !important;
    }
}

/* =========================================================================
   ?踰?[筌뤴뫀而???怨밸? 燁삳?諭?& ???筌왖 ??ㅻ뎃 疫뀀떯??筌ㅼ뮇???
   ========================================================================= */
@media (max-width: 600px) {
    .product-card {
        padding: 6px 6px 0 6px !important; /* 燁삳?諭???? ??ㅻ뎃??6px嚥??곕벡???뤿연 ???筌왖??域밸갭??酉釉?*/
        border-radius: 8px !important;
    }
    
    .product-info-box {
        padding: 10px 1px 12px 1px !important;
    }
    
    .prod-brand-lbl {
        font-size: 9px !important;
    }
    
    .prod-name-lbl {
        font-size: 10.5px !important;
        line-height: 1.3 !important;
        margin: 2px 0 0 0 !important;
        height: 28px; 
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
    
    .prod-price-lbl {
        font-size: 11.5px !important;
    }
    
    .product-card:hover {
        transform: translateY(-2px) !important;
    }
}




/* ==========================================================================
   [?온?귐딆쁽 ??륁뵠筌왖] 燁삳똾??4 ??????怨밸? ?怨멸쉭 ??살구 ?癒?탵??& ??而??????
   ========================================================================== */
.editor-toolbar {
    background: #f8f9fa; /* ?봔??뺤쑎??獄쏆빘? 域밸챶???獄쏄퀗瑗?*/
    border: 1px solid #ced4da; /* 繹먮뗀嫄?????あ??*/
    border-bottom: none; /* ?袁⑥삋筌??癒?탵????낆젾 ?怨몃열???癒?염??살쓦野??怨뚭퍙??롫즲嚥???롫뼊????볤탢 */
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    padding: 8px 12px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.editor-toolbar button {
    background: #ffffff; /* 疫꿸퀡??甕곌쑵??獄쏄퀗瑗?? 繹먮뗀嫄???遺우뵠??*/
    border: 1px solid #ced4da;
    border-radius: 4px;
    color: #495057;
    cursor: pointer;
    font-size: 13px;
    padding: 5px 10px;
    transition: all 0.2s ease; /* ?봔??뺤쑎???紐껋쒔 ?醫딅빍筌롫뗄?????ｋ궢 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
}

/* 筌띾뜆?????議?????紐껋쒔) ?봔??뺤쑎??獄쏄퀗瑗???袁れ넎 */
.editor-toolbar button:hover {
    background: #e9ecef;
    border-color: #adb5bd;
    color: #212529;
}

/* 甕곌쑵??????????뽮쉐???怨밴묶 ??뽯뻻 */
.editor-toolbar button:active {
    background: #dee2e6;
}

/* ?癒?탵??癰귣챶揆 ??낆젾 ?怨몃열 ???????껊젃??됱뵠??*/
.editable-details {
    border: 1px solid #ced4da !important;
    border-top: none !important; /* ?怨룸뼊 ??而?? ?癒?염??살쓦野??怨뚭퍙??롫즲嚥???ш퐨 ??볤탢 */
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    padding: 14px !important;
    min-height: 180px !important; /* ??낆젾??띾┛ ?紐꺿봺??롫즲嚥?疫꿸퀡???誘れ뵠 ?類ｋ궖 */
    background: #ffffff;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    outline: none; /* ??鍮????疫꿸퀡???됰슢??怨? ?袁⑹뜍??깆뵥 ??볤탢 */
    overflow-y: auto;
    text-align: center; /* ?癒?탵??癰귣챶揆 ??곸뒠??揶쎛?????類ｌ졊??몃빍?? */
}

/* ?癒?탵??癰귣챶揆 ??鍮????낆젾 餓? ?????あ?귐? ?????깆몵嚥???????띿쓺 ??륁뵠??깆뵠??*/
.editable-details:focus {
    border-color: #80bdff !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.15);
}

/* ?癒?탵????? ??뚯뿯 ???筌왖 疫꿸퀡???????*/
.editable-details img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 12px auto; /* ???筌왖 餓λ쵐釉??類ｌ졊 獄???媛?*/
    border-radius: 6px; /* ?觀??筌뤴뫁苑뚨뵳?*/
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* ?봔??뺤쑎??域밸챶?????ｋ궢 */
}

/* ==========================================================================
   [?온?귐딆쁽 ??륁뵠筌왖] 燁삳똾??4 ???????덉읅 ??????쇱젟 ???뵠??& 燁??????
   ========================================================================== */
.manual-option-setup-table th,
.manual-option-setup-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #d8dde7;
    vertical-align: middle;
}

.manual-option-setup-table td {
    border-right: 1px solid #d8dde7;
    background: #ffffff;
}

.manual-option-setup-table td:last-child {
    border-right: none;
    text-align: center;
}

/* ???∽쭗???낆젾 燁?*/
.manual-option-name-input {
    width: 100%;
    height: 32px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
    color: #333;
    outline: none;
    transition: border-color 0.2s;
}

.manual-option-name-input:focus {
    border-color: #316cff;
}

/* ???▼첎???묐쓠 獄?燁삘뫗???뚢뫂???瑗?*/
.manual-option-values-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #ffffff;
    min-height: 42px;
    align-items: center;
}

.manual-option-values-wrap:focus-within {
    border-color: #316cff;
}

/* 燁??????*/
.manual-option-chip {
    display: inline-flex;
    align-items: center;
    background: #edf2ff;
    color: #316cff;
    border: 1px solid #d0ebff;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.manual-option-chip-remove {
    margin-left: 6px;
    color: #4b8bee;
    cursor: pointer;
    font-weight: bold;
    font-size: 10px;
    transition: color 0.2s;
}

.manual-option-chip-remove:hover {
    color: #e03131;
}

/* ???▼첎???쇰뻻揶???용뮞????낆젾 燁?*/
.manual-option-value-input {
    border: none;
    outline: none;
    font-size: 13px;
    color: #333;
    flex: 1;
    min-width: 120px;
    height: 26px;
}

/* ??낆젾 ??덇땀 筌롫뗄苑?쭪? */
.manual-option-value-hint {
    margin: 4px 0 0 0;
    font-size: 11px;
    color: #868e96;
}

/* ???곕떽?/??????ν뀤 */
.manual-option-action-btn {
    width: 28px;
    height: 28px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #ffffff;
    color: #495057;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    margin: 0 2px;
    vertical-align: middle;
}

.manual-option-action-btn.btn-remove {
    background: #f1f3f5;
    color: #495057;
}

.manual-option-action-btn.btn-remove:hover {
    background: #e03131;
    border-color: #e03131;
    color: #ffffff;
}

.manual-option-action-btn.btn-add {
    background: #316cff;
    border-color: #316cff;
    color: #ffffff;
}

.manual-option-action-btn.btn-add:hover {
    background: #1c56e0;
    border-color: #1c56e0;
}


/* =========================================================================
   ?紐?[?醫롪퐬 2筌???뽯툧 筌띲끉臾? ?됰슢?????쎈꽅???遺얜궖疫?甕곌쑵??獄??醫롪맒??NEW ??而??獄쏄퀣?
   ========================================================================= */

/* ?됰슢?????쎈꽅???遺얜궖疫?甕곌쑵???????곗춦 */
.story-more-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 24px;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--text-primary);
    background-color: transparent;
    border: 1px solid var(--text-primary);
    border-radius: 0;
    transition: all 0.3s ease;
    font-family: var(--font-outfit), sans-serif;
    cursor: pointer;
}

.story-more-btn:hover {
    background-color: var(--text-primary);
    color: #FFFFFF;
}

/* ?醫롪맒??燁삳?諭??ル슣瑜??怨룸뼊 ??而??NEW 獄쏄퀣? */
.new-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    font-family: var(--font-outfit), sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #FFFFFF;
    background: #000000; /* ?類λ꽰 ?됰뗀????而????곌볼 */
    padding: 3px 8px;
    z-index: 5;
    text-transform: uppercase;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* ??됰뼎 ??쀪문 獄?SVG ?袁⑹뜍??깆뵥 ?????곗춦 */
.benefit-svg {
    stroke: var(--text-primary);
    stroke-width: 1.5;
    transition: transform 0.3s ease;
}

.benefit-icon-item:hover .benefit-svg {
    transform: scale(1.1); /* ?紐껋쒔 ??沃섎챷苑??類? */
}

/* BEST 8 & ?醫롪맒????삳쐭 ???묽 筌띻낱寃??????*/
.section-more-link {
    transition: color 0.25s ease;
}

.section-more-link:hover {
    color: var(--accent-gold) !important;
}

/* Square banner override: remove rounded/soft edges from main visual banners. */
#hero-banner,
.hero-section,
.hero-slider-track,
.hero-slide,
.story-single-container {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hero-slide,
.story-single-container {
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Ratio fix: keep banner images from being cropped on wide/fullscreen monitors. */
#hero-banner,
.hero-section {
    width: 100% !important;
    max-width: 1496px !important;
    aspect-ratio: 855 / 240 !important;
    height: auto !important;
    max-height: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.hero-slider-track,
.hero-slide {
    width: 100% !important;
    height: 100% !important;
}

.story-single-container {
    aspect-ratio: 690 / 220 !important;
    height: auto !important;
    max-height: none !important;
}

@media (max-width: 768px) {
    #hero-banner,
    .hero-section {
        max-width: 100% !important;
        min-height: 110px !important;
        max-height: none !important;
    }

    .story-single-container {
        min-height: 110px !important;
        max-height: none !important;
    }
}


/* Full width hero banner: stretch the top slider across the full browser width. */
#hero-banner,
.hero-section {
    width: 100vw !important;
    max-width: none !important;
    aspect-ratio: 855 / 240 !important;
    height: auto !important;
    max-height: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
}

.hero-slider-track,
.hero-slide {
    width: 100% !important;
    height: 100% !important;
}

@media (max-width: 768px) {
    #hero-banner,
    .hero-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        min-height: 110px !important;
    }
}

/* Full width main sections: weekly best, story card, and new arrivals. */
#main-weekly-best-section,
#main-new-arrivals-section,
.main-story-wide {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: clamp(20px, 4vw, 72px) !important;
    padding-right: clamp(20px, 4vw, 72px) !important;
    box-sizing: border-box !important;
}

#main-weekly-best-section .filter-header,
#main-new-arrivals-section .filter-header,
#main-weekly-best-section .best-grid-container,
#main-new-arrivals-section .new-grid-container {
    width: 100% !important;
    max-width: none !important;
}

/* 踰좎뒪???곹뭹 洹몃━??(湲곗〈 PC 5???좎?) */
#main-weekly-best-section .best-grid-container {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 34px 24px !important;
    align-items: stretch !important;
}

/* ?넅 [?좎꽕] ?좎긽??PC ?щ씪?대뜑 罹먮윭? ?ㅽ???(769px ?댁긽?먯꽌留??쒖꽦?? */
@media (min-width: 769px) {
    #main-new-arrivals-section .new-grid-container {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important; /* ?몚 1以?5???뺥넻 諛곗튂 怨좎젙 */
        gap: 34px 24px !important;
        overflow: hidden !important;
    }

    /* ?몣 [?좎꽕] 留덉?留??곹뭹 移대뱶???곗륫??150px 留덉쭊??二쇱뼱 而⑦뀒?대꼫 媛?⑺룺 怨꾩궛(移대뱶 ?덈퉬)???쇱넀?섏? ?딆쑝硫댁꽌 ??諛?媛由쇱쓣 ?닿껐?⑸땲?? */
    #main-new-arrivals-section .new-grid-container::-webkit-scrollbar {
        display: none !important; /* ?щ＼/?ы뙆由??ㅽ럹???ㅽ겕濡ㅻ컮 ?④? */
    }

    /* PC '?붾낫湲? ?뺤옣 ?곹깭: ?뺥넻 5??諛붾몣??洹몃━?쒕줈 濡ㅻ갚 */
    #main-new-arrivals-section.product-expanded .new-grid-container {
        grid-auto-flow: row !important;
        grid-auto-columns: initial !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
        overflow: visible !important;
    }
}

/* ?넅 [?좎꽕] ?щ씪?대뜑 醫뚯슦 而⑦듃濡?踰꾪듉 怨듯넻 ?꾨━誘몄뾼 ?ㅽ???(PC 諛?紐⑤컮???듯빀) */
.home-product-slider-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important; /* PC 媛꾧꺽 ?뺣? */
    margin-top: 28px !important;
}

.home-product-slider-btn {
    width: 48px !important; /* ?붿궡??踰꾪듉 ?ш린 ?뺣? */
    height: 48px !important; /* ?붿궡??踰꾪듉 ?ш린 ?뺣? */
    border: 1px solid var(--border-light) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--text-primary) !important;
    font-size: 24px !important; /* ?붿궡???고듃 ?ш린 ?뺣? */
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease-in-out !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.home-product-slider-btn:hover:not(:disabled) {
    background: var(--text-primary) !important;
    color: #ffffff !important;
    border-color: var(--text-primary) !important;
}

.home-product-slider-btn:disabled {
    opacity: 0.25 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

.home-product-slider-page {
    min-width: 80px !important; /* ?섏씠吏 ?몃뵒耳?댄꽣 ?덈퉬 ?뺣? */
    color: var(--text-secondary) !important;
    font-family: var(--font-outfit), sans-serif !important;
    font-size: 15px !important; /* ?섏씠吏 ?고듃 ?ш린 ?뺣? */
    font-weight: 700 !important;
    text-align: center !important;
    letter-spacing: 0.5px !important;
}

#main-new-arrivals-section.product-expanded .home-product-slider-controls {
    display: none !important; /* ?뺤옣 ??而⑦듃濡??⑤꼸 ?먮룞 ?④? */
}

/* ?넅 [?좎꽕] ?좎긽???섎떒 ?묎린 ?곸뿭 ?ㅽ???*/
.new-arrivals-bottom-fold-area {
    display: none !important; /* 湲곕낯 ?곹깭?먯꽌???④? */
    justify-content: center !important;
    width: 100% !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

/* ?좎긽???뱀뀡???쇱퀜議뚯쓣(expanded) ?뚮쭔 理쒗븯???묎린 ?곸뿭 ?몄텧 */
#main-new-arrivals-section.product-expanded .new-arrivals-bottom-fold-area {
    display: flex !important;
}

.all-collection-section.filter-results-wide {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: clamp(20px, 4vw, 72px) !important;
    padding-right: clamp(20px, 4vw, 72px) !important;
    box-sizing: border-box !important;
}

.all-collection-section.filter-results-wide .product-grid-container {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

@media (min-width: 1500px) {
    .all-collection-section.filter-results-wide .product-grid-container {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1900px) {
    .all-collection-section.filter-results-wide .product-grid-container {
        grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .all-collection-section.filter-results-wide {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .all-collection-section.filter-results-wide .product-grid-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 14px !important;
    }
}

.luxury-fold-btn {
    padding: 12px 35px !important;
    border: 1px solid var(--text-primary) !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
    text-transform: uppercase !important;
}

.luxury-fold-btn:hover {
    background: var(--text-primary) !important;
    color: #ffffff !important;
}

.main-story-wide .story-single-container {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 690 / 220 !important;
    min-height: 190px !important;
}

@media (min-width: 1500px) {
    #main-weekly-best-section .best-grid-container,
    #main-new-arrivals-section.product-expanded .new-grid-container {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important; /* 怨좏빐?곷룄 ?곸뿭 6?대줈 ?쒖감 ?뺤옣 */
    }
}

@media (min-width: 1900px) {
    #main-weekly-best-section .best-grid-container,
    #main-new-arrivals-section.product-expanded .new-grid-container {
        grid-template-columns: repeat(7, minmax(0, 1fr)) !important; /* ??대뱶 酉고룷????묒쓣 ?꾪빐 7?대줈 ?쒖감 ?뺤옣 */
    }
}

@media (max-width: 900px) {
    #main-weekly-best-section,
    #main-new-arrivals-section,
    .main-story-wide {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    #main-weekly-best-section .best-grid-container,
    #main-new-arrivals-section.product-expanded .new-grid-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 14px !important;
    }
}

/* Mobile slim header: remove mobile search field and reduce vertical header space. */
@media (max-width: 768px) {
    .mobile-search-overlay,
    #mobile-search-overlay {
        display: none !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    .mobile-actions .mobile-action-btn:first-child {
        display: none !important;
    }

    .mobile-top-bar {
        padding: 4px 10px !important;
    }

    .mobile-top-bar-container {
        gap: 10px !important;
        justify-content: center !important;
    }

    .mobile-top-item {
        font-size: 9.5px !important;
        letter-spacing: 0.8px !important;
    }

    .mobile-main-header {
        padding: 8px 14px !important;
        min-height: 46px !important;
    }

    .mobile-logo {
        font-size: 16px !important;
        letter-spacing: 3px !important;
    }

    .mobile-actions {
        gap: 8px !important;
        min-width: 32px !important;
        justify-content: flex-end !important;
    }

    .shop-filter-bar {
        padding: 6px 10px 8px 10px !important;
        gap: 6px !important;
    }

    .shop-filter-bar > div {
        gap: 6px !important;
    }

    .cat-tab {
        padding: 7px 2px !important;
    font-size: 12.5px !important; /* ?뮕 紐⑤컮???뚮툝由?理쒖냼 12.5px ?듭씪 */
    font-weight: 700 !important;
        letter-spacing: 2px !important;
    }

    .filter-label-luxury {
        font-size: 9px !important;
        letter-spacing: 2px !important;
    }
}

/* Full width footer: align footer with the full-bleed main sections. */
.fashion-footer {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    padding: 34px clamp(20px, 4vw, 72px) !important;
    background: #1f1b17 !important;
    border-top: 1px solid rgba(196, 164, 120, 0.28) !important;
    text-align: center !important;
}

.fashion-footer .footer-copy {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.74) !important;
    font-family: var(--font-outfit), sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    font-weight: 500 !important;
}

@media (max-width: 768px) {
    .fashion-footer {
        width: 100% !important;
        margin-left: 0 !important;
        padding: 24px 16px !important;
    }

    .fashion-footer .footer-copy {
        font-size: 9.5px !important;
        line-height: 1.6 !important;
        letter-spacing: 1.2px !important;
    }
}

/* Responsive mobile reset: keep desktop full-bleed, but fit mobile to the viewport. */
@media (max-width: 768px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    #hero-banner,
    .hero-section,
    #main-weekly-best-section,
    #main-new-arrivals-section,
    .main-story-wide,
    .fashion-footer {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    #hero-banner,
    .hero-section {
        aspect-ratio: 855 / 240 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-bottom: 14px !important;
        overflow: hidden !important;
    }

    .hero-slider-track,
    .hero-slide {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .hero-slide {
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }

    #main-weekly-best-section,
    #main-new-arrivals-section,
    .main-story-wide {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #main-weekly-best-section .filter-header,
    #main-new-arrivals-section .filter-header {
        margin-bottom: 16px !important;
        padding-bottom: 0 !important;
        align-items: flex-end !important;
    }

    #main-weekly-best-section .section-title,
    #main-new-arrivals-section .section-title {
        font-size: 18px !important;
        line-height: 1.35 !important;
        letter-spacing: 1.2px !important;
        word-break: keep-all !important;
    }

    #main-weekly-best-section .section-sub,
    #main-new-arrivals-section .section-sub {
        font-size: 11.5px !important;
        line-height: 1.45 !important;
        margin-top: 4px !important;
        word-break: keep-all !important;
    }

    #main-weekly-best-section .best-grid-container,
    #main-new-arrivals-section .new-grid-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .main-story-wide .story-single-container {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 690 / 220 !important;
        height: auto !important;
        min-height: 0 !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }

    .fashion-footer {
        padding: 22px 14px !important;
    }
}

/* Mobile Q&A cleanup: compact card and readable list layout. */
@media (max-width: 768px) {
    .qna-section {
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        margin: 34px auto 18px auto !important;
        padding: 22px 16px !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }

    .qna-header {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 12px !important;
        align-items: center !important;
        margin-bottom: 18px !important;
        padding-bottom: 16px !important;
    }

    .qna-title {
        font-size: 17px !important;
        line-height: 1.2 !important;
        letter-spacing: 2.5px !important;
        margin: 0 0 8px 0 !important;
        white-space: nowrap !important;
    }

    .qna-desc {
        font-size: 12.5px !important;
        line-height: 1.7 !important;
        margin: 0 !important;
        word-break: keep-all !important;
    }

    .qna-write-btn {
        width: 96px !important;
        min-height: 72px !important;
        padding: 10px 8px !important;
        border-radius: 10px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        word-break: keep-all !important;
        white-space: normal !important;
    }

    .qna-table-container {
        width: 100% !important;
        overflow: visible !important;
        border-top: 1px dashed var(--border-light) !important;
        padding-top: 14px !important;
    }

    .qna-table,
    .qna-table thead,
    .qna-table tbody,
    .qna-table tr,
    .qna-table th,
    .qna-table td {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .qna-table {
        display: block !important;
        border-collapse: separate !important;
        font-size: 12.5px !important;
    }

    .qna-table thead {
        display: none !important;
    }

    .qna-table tbody {
        display: block !important;
    }

    /* ?벑 紐⑤컮??Q&A ?쒕ぉ ??tr) 媛쒗렪 */
    .qna-table tbody tr.qna-row-tr {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        padding: 12px 10px !important;
        border-bottom: 1px solid var(--border-light) !important;
        background: #fff !important;
        cursor: pointer !important;
    }

    /* 泥?踰덉㎏ td(?곹깭)? ??踰덉㎏ td(?쒕ぉ)???????곷떒)?쇰줈 諛곗튂 */
    .qna-table tbody tr.qna-row-tr td:nth-child(1),
    .qna-table tbody tr.qna-row-tr td:nth-child(2) {
        display: inline-block !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: none !important;
    }

    .qna-table tbody tr.qna-row-tr td:nth-child(1) {
        margin-right: 8px !important;
    }

    .qna-table tbody tr.qna-row-tr td:nth-child(2) {
        flex: 1 !important;
        min-width: 0 !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: var(--text-primary) !important;
        text-align: left !important;
    }

    /* ??踰덉㎏ td(?묒꽦??? ??踰덉㎏ td(?묒꽦????洹??꾨옯以??섎떒)??媛蹂띻쾶 媛濡??뺣젹 */
    .qna-table tbody tr.qna-row-tr td:nth-child(3),
    .qna-table tbody tr.qna-row-tr td:nth-child(4) {
        display: inline-block !important;
        width: auto !important;
        padding: 0 !important;
        margin-top: 6px !important;
        font-size: 11px !important;
        color: var(--text-secondary) !important;
        border: none !important;
    }

    /* ?묒꽦???ㅼ쓬???몃줈 援щ텇??湲고샇 異붽? */
    .qna-table tbody tr.qna-row-tr td:nth-child(3) {
        margin-left: 2px !important;
    }

    .qna-table tbody tr.qna-row-tr td:nth-child(3)::after {
        content: "  |  " !important;
        color: var(--border-light) !important;
        margin: 0 6px !important;
    }

    /* 紐⑤컮?쇱뿉?쒕뒗 遺덊븘?뷀븳 ?덉씠釉??곹깭, 臾몄쓽, ?묒꽦?? ?묒꽦?? 媛???붿냼瑜??꾨꼍?섍쾶 李⑤떒?⑸땲?? */
    .qna-table td::before,
    .qna-table td:nth-child(1)::before,
    .qna-table td:nth-child(2)::before,
    .qna-table td:nth-child(3)::before,
    .qna-table td:nth-child(4)::before {
        content: none !important;
    }

    /* ?벑 Q&A 蹂몃Ц ?щ씪?대뱶 ?댁슜 ??tr) 媛쒗렪 */
    .qna-table tbody tr[id^="qna-detail-"] {
        display: block !important;
        width: 100% !important;
        background-color: #faf9f6 !important;
        border-bottom: 1px solid var(--border-light) !important;
        box-sizing: border-box !important;
    }

    .qna-table td[colspan='4'] {
        display: block !important;
        padding: 16px 14px !important;
        text-align: left !important;
        color: var(--text-primary) !important;
        font-size: 12.5px !important;
        line-height: 1.6 !important;
        box-sizing: border-box !important;
    }

    .qna-table td[colspan='4']::before {
        content: none !important;
    }

    .qna-title-link {
        display: inline-block !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    /* ?벑 紐⑤컮???곸꽭?섏씠吏 ?곸꽭?대?吏 ?먮낯 鍮꾩쑉 蹂듭썝 諛??곗깋 ?щ갚 ?쒓굅 */
    .detail-sub-images-container img {
        aspect-ratio: auto !important;
        height: auto !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
}

/* Floating controls restore: keep Kakao chat and page arrows visible on mobile. */
.floating-control-menu {
    z-index: 12000 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.kakao-chat-btn {
    text-decoration: none !important;
}

.kakao-talk-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    color: #1f1a00 !important;
    font-family: var(--font-outfit), Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 768px) {
    .floating-control-menu {
        right: max(12px, env(safe-area-inset-right)) !important;
        bottom: calc(22px + env(safe-area-inset-bottom)) !important;
        gap: 8px !important;
    }

    .floating-btn {
        width: 44px !important;
        height: 44px !important;
        opacity: 1 !important;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
    }

    .floating-btn span,
    .scroll-btn svg {
        width: 20px !important;
        height: 20px !important;
        font-size: 10px !important;
    }
}

/* Kakao chat icon restore: use a Kakao-style speech bubble SVG instead of plain text. */
.kakao-chat-btn {
    background-color: #FEE500 !important;
    overflow: hidden !important;
}

.kakao-chat-btn .kakao-talk-icon {
    display: block !important;
    width: 88% !important;
    height: 88% !important;
    transform: none !important;
    flex: 0 0 auto !important;
}

@media (max-width: 768px) {
    .kakao-chat-btn .kakao-talk-icon {
        width: 86% !important;
        height: 86% !important;
    }
}

/* Remove storefront sort dropdown and PC header search controls. */
.header-search-box,
.header-search-btn,
.sort-box,
#sort-select {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.bottom-nav-actions {
    min-width: 0 !important;
}

.main-filters,
.category-filter-bar,
.filter-bar-luxury {
    column-gap: 14px !important;
}

@media (max-width: 768px) {
    .sort-box,
    #sort-select {
        display: none !important;
    }
}

/* Mobile category drawer connected to the hamburger button. */
.mobile-category-drawer {
    position: fixed;
    inset: 0;
    z-index: 15000;
    display: none;
    pointer-events: none;
}

.mobile-category-drawer.active {
    display: block;
    pointer-events: auto;
}

.mobile-category-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(28, 26, 23, 0.36);
    opacity: 0;
    transition: opacity 180ms ease;
}

.mobile-category-drawer.active .mobile-category-backdrop {
    opacity: 1;
}

.mobile-category-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(88vw, 360px) !important;
    height: 100%;
    background: #FAF9F6 !important;
    border-right: 1px solid var(--border-light);
    box-shadow: 18px 0 42px rgba(28, 26, 23, 0.16);
    transform: translateX(-100%);
    transition: transform 220ms ease;
    padding: 18px 16px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto;
}

.mobile-category-drawer.active .mobile-category-panel {
    transform: translateX(0);
}

.mobile-category-head {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #D8C6A8 !important;
    margin-bottom: 18px !important;
}

.mobile-category-head strong {
    font-family: var(--font-outfit), sans-serif;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    color: #181510 !important;
}

.mobile-category-close {
    width: auto !important;
    min-width: 72px !important;
    height: 44px !important;
    border: 1px solid #1F1A14 !important;
    border-radius: 4px !important;
    background: #1F1A14 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer;
}

.mobile-category-list,
.mobile-category-sub-list {
    display: grid !important;
    gap: 10px !important;
}

.mobile-category-sub-list {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed var(--border-light);
}

.mobile-category-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
    border: 1px solid #D8C6A8 !important;
    border-radius: 6px !important;
    background: #FFFFFF !important;
    color: #211B14 !important;
    font-family: var(--font-outfit), var(--font-noto), sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    padding: 0 16px !important;
    box-shadow: 0 3px 10px rgba(30, 24, 17, 0.04) !important;
    cursor: pointer;
}

.mobile-category-item.active {
    background: #8F8677 !important;
    border-color: #8F8677 !important;
    color: #fff !important;
}

.mobile-category-branch {
    display: grid !important;
    gap: 8px !important;
    margin: -2px 0 10px 14px !important;
    padding: 0 0 0 12px !important;
    border-left: 3px solid #C4A478 !important;
}

.mobile-category-branch.micro {
    margin-left: 14px !important;
    border-left-color: #D8C6A8 !important;
}

.mobile-category-item.mobile-category-child {
    min-height: 46px !important;
    background: #FBF7EF !important;
    border-color: #CDB58D !important;
    color: #4F3C25 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.mobile-category-item.mobile-category-grandchild {
    min-height: 42px !important;
    background: #FFFFFF !important;
    border-color: #D8C6A8 !important;
    color: #5F4A2F !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.mobile-category-item.mobile-category-child.active,
.mobile-category-item.mobile-category-grandchild.active {
    background: #C4A478 !important;
    border-color: #C4A478 !important;
    color: #111111 !important;
}

body.mobile-category-open {
    overflow: hidden;
}

@media (min-width: 769px) {
    .mobile-category-drawer {
        display: none !important;
    }
}

/* Full width storefront header: stretch nav, logo, and category filter across the screen. */
.fashion-header {
    width: 100% !important;
    max-width: none !important;
}

.header-bottom-nav,
.shop-filter-bar {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.bottom-nav-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: clamp(18px, 4vw, 72px) !important;
    padding-right: clamp(18px, 4vw, 72px) !important;
    box-sizing: border-box !important;
}

.header-center-logo {
    padding-left: clamp(18px, 4vw, 72px) !important;
    padding-right: clamp(18px, 4vw, 72px) !important;
}

.shop-filter-bar {
    padding-left: clamp(18px, 4vw, 72px) !important;
    padding-right: clamp(18px, 4vw, 72px) !important;
}

.shop-filter-bar > div {
    width: 100% !important;
}

.category-tabs {
    flex: 1 1 auto !important;
}

@media (max-width: 768px) {
    .mobile-top-bar,
    .mobile-main-header,
    .mobile-search-overlay,
    .header-bottom-nav,
    .header-center-logo,
    .shop-filter-bar {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .mobile-top-bar-container,
    .mobile-main-header,
    .bottom-nav-container,
    .shop-filter-bar {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* 🛒 [추가] 모바일 화면 장바구니 최적화 및 닫기 버튼 ✕ 위치 복구 패치 */
    .cart-modal-overlay {
        top: 76px !important;              /* 🛡️ [개선] 모바일 헤더 높이만큼 아래로 이격 */
    }

    .cart-modal-content {
        width: 100% !important;
        max-width: 100% !important;
        height: calc(100% - 76px) !important; /* 🛡️ [개선] 바닥에 딱 맞추어 높이 차감 */
        padding: 20px !important;
        box-sizing: border-box !important;
    }

    #auth-modal .auth-modal-content {
        height: calc(100dvh - 76px) !important;
        max-height: calc(100dvh - 76px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* Slimmer story banner for the shorter owner-philosophy copy. */
.main-story-wide .story-single-container {
    aspect-ratio: 4 / 1 !important;
    min-height: 150px !important;
    max-height: 360px !important;
}

@media (max-width: 768px) {
    .main-story-wide .story-single-container {
        aspect-ratio: 3.4 / 1 !important;
        min-height: 112px !important;
        max-height: 150px !important;
    }
}

/* Story banner source replacement: keep the provided artwork in a slim 4:1 banner frame. */
.main-story-wide .story-single-container {
    aspect-ratio: 4 / 1 !important;
    min-height: 150px !important;
    max-height: 360px !important;
    background-position: center !important;
}

@media (max-width: 768px) {
    .main-story-wide .story-single-container {
        aspect-ratio: 3.4 / 1 !important;
        min-height: 112px !important;
        max-height: 150px !important;
        background-position: center !important;
    }
}

/* Story banner balanced crop: keep the supplied text block centered with a slightly taller frame. */
.main-story-wide .story-single-container {
    aspect-ratio: 3.63 / 1 !important;
    min-height: 170px !important;
    max-height: 390px !important;
    background-position: center !important;
}

@media (max-width: 768px) {
    .main-story-wide .story-single-container {
        aspect-ratio: 3.15 / 1 !important;
        min-height: 120px !important;
        max-height: 165px !important;
        background-position: center !important;
    }
}

/* Full width Q&A board on desktop, while preserving the mobile card layout. */
@media (min-width: 769px) {
    .qna-section {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding: 34px clamp(36px, 5vw, 96px) 36px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        background: rgba(250, 249, 246, 0.86) !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .qna-header,
    .qna-table-container {
        width: 100% !important;
        max-width: none !important;
    }

    .qna-header {
        padding-bottom: 22px !important;
        margin-bottom: 24px !important;
        border-bottom: 1px dashed var(--border-light) !important;
    }

    .qna-table-container {
        border: 1px solid var(--border-light) !important;
        background: #fff !important;
    }

    .qna-table {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .qna-table th,
    .qna-table td {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* Cafe24-style bulk editor for admin product list. */
#admin-dashboard .cafe24-product-bulk-editor {
    border: 1px solid #d8dee8;
    background: #f8fafc;
    margin: 0 0 12px 0;
    padding: 10px 12px;
    display: grid;
    gap: 8px;
}

#admin-dashboard .bulk-editor-top,
#admin-dashboard .bulk-editor-actions,
#admin-dashboard .bulk-editor-quick,
#admin-dashboard .bulk-category-panel {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

#admin-dashboard .bulk-editor-top {
    justify-content: space-between;
}

#admin-dashboard .bulk-editor-count {
    font-size: 12.5px;
    font-weight: 700;
    color: #1f2937;
    white-space: nowrap;
}

#admin-dashboard .bulk-editor-count strong {
    color: #245cff;
    font-size: 15px;
}

#admin-dashboard .bulk-editor-actions button,
#admin-dashboard .bulk-editor-quick button,
#admin-dashboard .bulk-category-panel button {
    min-height: 34px;
    border: 1px solid #b8c2d2;
    background: #fff;
    color: #1f2937;
    padding: 0 12px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

#admin-dashboard .bulk-editor-actions button:hover,
#admin-dashboard .bulk-editor-quick button:hover,
#admin-dashboard .bulk-category-panel button:hover {
    border-color: #245cff;
    color: #245cff;
}

#admin-dashboard .bulk-editor-actions button.danger {
    color: #c62828;
    border-color: #f0a5a5;
}

#admin-dashboard .bulk-editor-quick {
    border-top: 1px solid #e4e9f0;
    padding-top: 8px;
}

#admin-dashboard .bulk-editor-quick label,
#admin-dashboard .bulk-category-panel span {
    font-size: 12px;
    font-weight: 800;
    color: #475569;
}

#admin-dashboard .bulk-editor-quick input,
#admin-dashboard .bulk-category-panel select {
    height: 34px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #111827;
    padding: 0 10px;
    border-radius: 3px;
    font-size: 12px;
}

#admin-dashboard .bulk-editor-quick input {
    width: 120px;
}

#admin-dashboard .bulk-category-panel {
    border-top: 1px dashed #d8dee8;
    padding-top: 8px;
}

#admin-dashboard .bulk-category-panel .ghost {
    background: #eef2f7;
}

/* Admin product list page-size and pagination controls. */
#admin-dashboard .admin-product-list-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0 4px;
    flex-wrap: wrap;
}

#admin-dashboard .admin-product-list-title {
    font-size: 12.5px;
    font-weight: 800;
    color: var(--text-primary);
}

#admin-dashboard .admin-product-list-title #admin-prod-total-count {
    color: var(--admin-accent);
}

#admin-dashboard .admin-product-list-controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

#admin-dashboard .admin-product-list-controls select {
    min-width: 132px;
    height: 36px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #111827;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 12.5px;
    font-weight: 700;
}

#admin-dashboard .admin-product-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 4px 4px;
    flex-wrap: wrap;
}

#admin-dashboard .admin-pagination-summary {
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
}

#admin-dashboard .admin-pagination-summary strong {
    color: #245cff;
}

#admin-dashboard .admin-pagination-buttons {
    display: flex;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
}

#admin-dashboard .admin-pagination-buttons button,
#admin-dashboard .admin-page-current {
    min-width: 34px;
    height: 32px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #1f2937;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 800;
}

#admin-dashboard .admin-pagination-buttons button.active,
#admin-dashboard .admin-page-current {
    background: #245cff;
    border-color: #245cff;
    color: #fff;
}

#admin-dashboard .admin-pagination-buttons button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}


/* Admin product thumbnail hover actions. */
#admin-dashboard .admin-thumb-action-wrap {
    position: relative;
    display: inline-block;
    line-height: 0;
}

#admin-dashboard .admin-thumb-action-wrap .admin-img-thumb {
    display: block;
    cursor: pointer;
}

/* ?袁⑸열 ??諭띈첋??紐껉퐬???紐껋쒔 筌롫뗀???????(燁삳똾??4 ???????뺚댘??쇱뒲) */
.admin-thumb-action-menu:not(.visible) {
    display: none !important;
}

.admin-thumb-action-menu {
    position: absolute;
    min-width: 168px;
    padding: 6px;
    background: #ffffff;
    border: 1px solid rgba(30, 35, 42, 0.18);
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 999999 !important;
    transition: opacity 0.12s ease-in-out, visibility 0.12s ease-in-out;
}

/* ?紐껋쒔 筌롫뗀???紐꾪뀱 筌ｌ꼶??*/
.admin-thumb-action-menu.visible {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.admin-thumb-action-menu::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 50%;
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-left: 1px solid rgba(30, 35, 42, 0.18);
    border-bottom: 1px solid rgba(30, 35, 42, 0.18);
    transform: translateY(-50%) rotate(45deg);
}

.admin-thumb-action-menu button {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 8px 10px;
    text-align: left;
    color: #111827;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    cursor: pointer;
    border-radius: 3px;
    white-space: nowrap;
}

.admin-thumb-action-menu button:hover {
    background: #f3f5f8;
    color: #1d4ed8;
}

.product-card.admin-store-preview-highlight {
    outline: 3px solid #2563eb;
    outline-offset: 5px;
    box-shadow: 0 0 0 8px rgba(37, 99, 235, 0.14), 0 18px 38px rgba(15, 23, 42, 0.18);
    transition: box-shadow 0.2s ease, outline 0.2s ease;
}

/* Mobile compact product order section. */
@media (max-width: 768px) {
    #view-detail .detail-layout {
        gap: 0;
    }

    #view-detail .detail-panel {
        padding: 0 16px;
    }

    #view-detail .sticky-panel-content {
        padding: 0;
    }

    #view-detail .detail-brand-wrapper {
        display: none;
    }

    #view-detail .detail-title {
        margin: 16px 0 0;
        padding: 16px 6px 15px;
        border-top: 1px solid var(--border-light);
        border-bottom: 1px solid rgba(224, 219, 210, 0.75);
        color: #4f4a43;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.45;
        text-align: center;
        word-break: keep-all;
    }

    #view-detail .detail-price-box,
    #view-detail .option-select-area {
        margin: 0;
        padding: 12px 0 14px;
        border-bottom: 1px solid rgba(224, 219, 210, 0.85);
    }

    #view-detail .detail-price-box > div {
        display: grid !important;
        grid-template-columns: 86px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        margin-top: 0 !important;
        min-height: 40px;
    }

    #view-detail .detail-price-box > div::before {
        content: "?먮ℓ媛";
        color: #756f66;
        font-size: 18px;
        font-weight: 400;
        letter-spacing: 0.5px;
    }

    #view-detail .price-val {
        font-size: 19px;
        font-weight: 800;
        letter-spacing: 0;
    }

    #view-detail .option-group,
    #view-detail .option-group[style] {
        display: grid !important;
        grid-template-columns: 86px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        margin: 7px 0 !important;
        min-height: 40px;
    }

    #view-detail .opt-label {
        margin: 0;
        color: #756f66;
        font-size: 18px;
        font-weight: 400;
        letter-spacing: 0.5px;
        line-height: 1.2;
        text-transform: none;
    }

    #view-detail .opt-label::first-letter {
        text-transform: uppercase;
    }

    #view-detail .detail-select-box {
        height: 39px;
        min-width: 0;
        border-radius: 0;
        padding: 0 34px 0 12px;
        font-size: 15.5px;
        line-height: 39px;
        background-color: #fff;
        background-position: right 12px center;
    }

    #view-detail .selected-options-container {
        gap: 8px;
        margin: 10px 0 0;
    }

    #view-detail .selected-option-item {
        padding: 10px;
        grid-template-columns: 1fr auto auto 24px;
        gap: 8px;
        border-radius: 0;
        font-size: 12px;
    }

    #view-detail .detail-total-price-box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0;
        padding: 16px 0;
        border-top: 0;
        border-bottom: 1px solid rgba(224, 219, 210, 0.9);
        background: transparent;
    }

    #view-detail .detail-total-price-box .total-label {
        font-size: 18px;
        font-weight: 800;
        color: var(--text-primary);
    }

    #view-detail .detail-total-price-box .total-price-display {
        text-align: right;
    }

    #view-detail .detail-divider {
        margin: 0;
        background: transparent;
    }


}

/* Mobile compact product order section clickable buy fix. */
@media (max-width: 768px) {
    /* 3遺꾪븷 ??뀛由?洹몃━???덉씠?꾩썐 ?ㅼ젙 */
    #view-detail .action-buttons-group-luxury {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 8px !important;
        margin-top: 20px !important;
        position: static !important;
        width: 100% !important;
    }

    #view-detail .sub-buttons-row {
        display: contents !important;
    }

    #view-detail .sub-buttons-row::after {
        content: none !important;
    }

    /* 紐⑤컮??媛?낆꽦 理쒖쟻??諛??띿뒪???고듃 蹂듭썝 */
    #view-detail .sub-cart-btn,
    #view-detail .sub-wish-btn,
    #view-detail .buy-now-btn {
        height: 50px !important;
        padding: 0 4px !important;
        border-radius: 0px !important; /* 洹밸??덈? 吏곸꽑 誘명븰 */
        font-size: 11px !important; /* 紐⑤컮????뿉 留욊쾶 理쒖쟻??*/
        font-weight: 700 !important;
        letter-spacing: 0.02em !important;
        white-space: nowrap !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        clip: auto !important;
        overflow: visible !important;
        position: static !important;
        width: 100% !important;
        font-family: var(--font-outfit), var(--font-noto), sans-serif !important;
    }

    /* 1. ?λ컮援щ땲 踰꾪듉 (order: 1) - ?몃젴???붿씠??釉붾옓 ?꾩썐?쇱씤 */
    #view-detail .sub-cart-btn {
        order: 1 !important;
        background-color: #ffffff !important;
        color: #000000 !important;
        border: 1px solid #dcdcdc !important;
    }

    /* 2. 李쒗븯湲?踰꾪듉 (order: 2) - ?몃젴???붿씠??釉붾옓 ?꾩썐?쇱씤 */
    #view-detail .sub-wish-btn {
        order: 2 !important;
        background-color: #ffffff !important;
        color: #000000 !important;
        border: 1px solid #dcdcdc !important;
    }
    
    /* 李쒗븯湲??쒖꽦???곹깭 */
    #view-detail .sub-wish-btn.active {
        border-color: #D32F2F !important;
        color: #D32F2F !important;
        background-color: #fff5f5 !important;
    }

    /* 3. 諛붾줈援щℓ 踰꾪듉 (order: 3) - 媛뺣젹???붾━??釉붾옓 */
    #view-detail .buy-now-btn {
        order: 3 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
        border: 1px solid #000000 !important;
    }

    /* ?ㅽ겕由쏀듃 ?숈쟻 ?띿뒪??諛??덉씠釉??고듃 蹂댁젙 */
    #view-detail .detail-action-label {
        font-size: 11px !important;
        font-weight: 700 !important;
        color: inherit !important;
    }

    /* 媛???좏깮??湲??吏?곌린 湲곕쾿 ?꾩쟾 ?쒓굅 */
    #view-detail .sub-cart-btn::after,
    #view-detail .sub-wish-btn::after,
    #view-detail .buy-now-btn::after {
        content: none !important;
    }
}



/* Mobile category drawer hierarchy and close control. */
.mobile-category-head {
    display: flex !important;
}

.mobile-category-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    font-family: var(--font-outfit), var(--font-noto), sans-serif;
    font-weight: 500;
}

.mobile-category-branch {
    display: grid;
    gap: 7px;
    margin: -2px 0 8px 18px;
    padding: 8px 0 8px 12px;
    border-left: 2px solid #D8C6A8;
}

.mobile-category-branch.micro {
    margin-left: 18px;
    border-left-color: #E2D6C4;
}

.mobile-category-item.mobile-category-child {
    min-height: 40px;
    background: #FFFFFF;
    color: #5F4A2F;
    border-color: #D8C6A8;
    font-size: 12px;
    letter-spacing: 0.6px;
}

.mobile-category-item.mobile-category-grandchild {
    min-height: 36px;
    background: #FFFFFF;
    color: #6B5434;
    border-color: #E2D6C4;
    font-size: 11.5px;
    letter-spacing: 0.4px;
}

.mobile-category-item.mobile-category-child.active,
.mobile-category-item.mobile-category-grandchild.active {
    background: #C4A478;
    border-color: #C4A478;
    color: #111111;
}

/* Mobile drawer readability overhaul */
.mobile-category-panel {
    width: min(88vw, 360px) !important;
    padding: 18px 16px calc(24px + env(safe-area-inset-bottom)) !important;
    background: #FAF9F6 !important;
}

.mobile-category-head {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #D8C6A8 !important;
}

.mobile-category-head strong {
    font-size: 20px !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    color: #181510 !important;
}

.mobile-category-close {
    width: auto !important;
    min-width: 72px !important;
    height: 44px !important;
    padding: 0 16px !important;
    border: 1px solid #1F1A14 !important;
    border-radius: 4px !important;
    background: #1F1A14 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.mobile-category-list {
    display: grid !important;
    gap: 10px !important;
}

.mobile-category-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
    border: 1px solid #D8C6A8 !important;
    border-radius: 6px !important;
    background: #FFFFFF !important;
    color: #211B14 !important;
    font-family: var(--font-outfit), var(--font-noto), sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    padding: 0 16px !important;
    box-shadow: 0 3px 10px rgba(30, 24, 17, 0.04) !important;
}

.mobile-category-item.active {
    background: #8F8677 !important;
    border-color: #8F8677 !important;
    color: #FFFFFF !important;
}

.mobile-category-branch {
    display: grid !important;
    gap: 8px !important;
    margin: -2px 0 10px 14px !important;
    padding: 0 0 0 12px !important;
    border-left: 3px solid #C4A478 !important;
}

.mobile-category-branch.micro {
    margin-left: 14px !important;
    border-left-color: #D8C6A8 !important;
}

.mobile-category-item.mobile-category-child {
    min-height: 46px !important;
    background: #FBF7EF !important;
    border-color: #CDB58D !important;
    color: #4F3C25 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.mobile-category-item.mobile-category-grandchild {
    min-height: 42px !important;
    background: #FFFFFF !important;
    border-color: #D8C6A8 !important;
    color: #5F4A2F !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.mobile-category-item.mobile-category-child.active,
.mobile-category-item.mobile-category-grandchild.active {
    background: #C4A478 !important;
    border-color: #C4A478 !important;
    color: #111111 !important;
}

.mobile-category-drawer:not(.active) {
    display: none !important;
    visibility: hidden !important;
}

/* Mobile detail spacing rhythm cleanup. */
@media (max-width: 768px) {
    #view-detail {
        --detail-mobile-gap: 22px;
        --detail-mobile-gap-tight: 16px;
    }

    #view-detail .back-nav {
        margin: 14px 18px 16px !important;
        padding: 0 !important;
    }

    #view-detail .detail-layout {
        margin-bottom: 0 !important;
    }

    #view-detail .detail-main-img-container {
        margin: 0 18px 18px !important;
    }

    #view-detail .detail-main-img-container img {
        border-radius: 8px !important;
    }

    #view-detail .detail-panel {
        margin-bottom: 0 !important;
    }

    #view-detail .detail-title {
        margin-top: 12px !important;
    }

    #view-detail .action-buttons-group-luxury {
        margin-bottom: 0 !important;
    }

    #view-detail .detail-bottom-wrapper {
        margin-top: var(--detail-mobile-gap) !important;
        padding-top: 0 !important;
    }

    #view-detail .detail-story-banner,
    #view-detail .detail-story-banner[style] {
        margin: 0 auto var(--detail-mobile-gap) !important;
        width: calc(100% - 36px) !important;
    }

    #view-detail .detail-story-banner .story-single-container,
    #view-detail .detail-story-banner .story-single-container[style] {
        min-height: 0 !important;
        aspect-ratio: 3.63 / 1 !important;
        width: 100% !important;
    }

    #view-detail .detail-bottom-wrapper > .detail-divider,
    #view-detail .detail-bottom-wrapper > .detail-divider[style] {
        height: 0 !important;
        margin: var(--detail-mobile-gap-tight) 0 !important;
        background: transparent !important;
        border-bottom: 0 !important;
    }

    #view-detail .luxury-guidelines-accordion,
    #view-detail .luxury-description-accordion {
        margin: 0 18px !important;
    }

    #view-detail .guidelines-accordion-header,
    #view-detail .description-accordion-header {
        min-height: 56px !important;
        padding: 14px 16px !important;
        border-radius: 8px !important;
        line-height: 1.35 !important;
    }

    #view-detail .guidelines-header-title,
    #view-detail .description-header-title {
        font-size: 16px !important;
        line-height: 1.35 !important;
        word-break: keep-all !important;
    }

    #view-detail .detail-sub-images-container {
        margin: var(--detail-mobile-gap) 18px 0 !important;
        gap: 8px !important; /* ?대?吏 媛꾧꺽 8px濡?議곕???*/
    }

    #view-detail .detail-sub-images-container img {
        margin: 0 !important; /* ?섎떒 媛??쒓굅?섏뿬 寃뱀묠 諛⑹? */
        border-radius: 0px !important;
    }

    #view-detail .luxury-care-box {
        margin-top: var(--detail-mobile-gap) !important;
    }
}

/* Mobile product sections: show best/new products in three compact columns. */
@media (max-width: 768px) {
    #main-weekly-best-section,
    #main-new-arrivals-section {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    #main-weekly-best-section .best-grid-container,
    #main-new-arrivals-section .new-grid-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px 12px !important;
        align-items: stretch !important;
    }

    #main-weekly-best-section .product-card,
    #main-new-arrivals-section .product-card {
        border-radius: 8px !important;
        padding: 4px 4px 0 !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.025) !important;
    }

    #main-weekly-best-section .product-image-box,
    #main-new-arrivals-section .product-image-box {
        border-radius: 6px !important;
        background-color: #FFFFFF !important; /* ?대?吏 醫뚯슦 ?щ갚??移대뱶? ?숈씪?섍쾶 ?꾩쟾 ?곗깋?쇰줈 梨꾩썙 寃쎄퀎瑜????*/
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    #main-weekly-best-section .card-info,
    #main-new-arrivals-section .card-info {
        padding: 8px 2px 10px !important;
    }

    #main-weekly-best-section .card-brand,
    #main-new-arrivals-section .card-brand {
        display: none !important;
    }

    #main-weekly-best-section .card-name,
    #main-new-arrivals-section .card-name {
        min-height: 34px !important;
        margin-bottom: 6px !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
        letter-spacing: -0.1px !important;
        word-break: keep-all !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }

    #main-weekly-best-section .price-current,
    #main-new-arrivals-section .price-current {
        font-size: 14px !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    #main-weekly-best-section .new-badge,
    #main-new-arrivals-section .new-badge,
    #main-weekly-best-section .rank-badge,
    #main-new-arrivals-section .rank-badge {
        top: 8px !important;
        left: 8px !important;
        padding: 3px 6px !important;
        font-size: 9.5px !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 380px) {
    #main-weekly-best-section .best-grid-container,
    #main-new-arrivals-section .new-grid-container {
        gap: 12px 5px !important;
    }

    #main-weekly-best-section .card-name,
    #main-new-arrivals-section .card-name {
        font-size: 10.5px !important;
    }

    #main-weekly-best-section .price-current,
    #main-new-arrivals-section .price-current {
        font-size: 12.5px !important;
    }
}

/* ==========================================================================
   ?룧 [?좎꽕] 留덉씠?섏씠吏 ???λ컮援щ땲 ??踰꾪듉 諛???대뱶 諛곕꼫 ?꾨━誘몄뾼 ?붿옄???쒖뒪??
   ========================================================================== */

/* 1. 留덉씠?섏씠吏 ??쒕낫?????대┃ 媛?ν븳 留곹겕??移대뱶 ?④낵 */
.dash-card.link-card {
    cursor: pointer;
    background-color: var(--bg-card);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                border-color 0.3s ease, 
                box-shadow 0.3s ease;
}

/* 留곹겕????쒕낫??移대뱶 ?몃쾭 ?ㅽ???(?뚮몢由?怨⑤뱶??諛??댁쭩 ?좎삤由? */
.dash-card.link-card:hover {
    border-color: var(--accent-gold);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.12);
}

/* 2. 媛濡???대뱶???λ컮援щ땲 ??諛곕꼫 ?붿옄??*/
.mypage-cart-quick-banner {
    cursor: pointer;
    max-width: 1300px;
    margin: 0 auto 30px auto;
    background: linear-gradient(135deg, #111111 0%, #222222 100%);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 25px 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                border-color 0.3s ease, 
                box-shadow 0.3s ease;
}

/* ??諛곕꼫 ?몃쾭 ?ㅽ???*/
.mypage-cart-quick-banner:hover {
    border-color: var(--accent-gold);
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(212, 175, 55, 0.18);
}

/* ??諛곕꼫 ?곗륫 怨⑤뱶 踰꾪듉 ?ㅽ???*/
.mypage-cart-quick-btn {
    background: var(--accent-gold);
    color: #000000;
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

/* 諛곕꼫 ?몃쾭 ???곗륫 踰꾪듉 ?ㅼ????④낵 */
.mypage-cart-quick-banner:hover .mypage-cart-quick-btn {
    background: #e5c158; /* 議곌툑 ???붿궗???꾨━誘몄뾼 怨⑤뱶 而щ윭 */
    transform: scale(1.04);
}

/* 3. 紐⑤컮??諛섏쓳??理쒖쟻??(媛濡???씠 醫곸? 紐⑤컮?쇱뿉?쒕뒗 ?섏쭅 諛곗뿴濡??먯뿰?ㅻ읇寃??꾪솚) */
@media (max-width: 768px) {
    /* [?섏젙] ??쒕떂 ?붿껌?쇰줈 紐⑤컮???붾㈃?먯꽌 移대뱶媛 ?꾨옒濡??섏쭅 諛곗튂????媛꾧꺽(gap)??以꾩뿬???쒓껐 而댄뙥?명븯寃??뺣━?덉뒿?덈떎. */
    .mypage-dashboard-summary-bar {
        gap: 10px !important;
        margin: 0 15px 20px 15px !important; /* 紐⑤컮???꾩슜 醫뚯슦 留덉쭊 ?뺣낫 諛??섎떒 ?щ갚 理쒖쟻??*/
    }
    .dash-card {
        padding: 10px 16px !important; /* 紐⑤컮??湲곌린 ?믪씠??留욎떠 ?몃줈 ?⑤뵫??10px濡???異뺤냼 */
    }

    .mypage-cart-quick-banner {
        flex-direction: column;
        gap: 20px;
        text-align: center;
        padding: 20px;
        margin: 0 15px 30px 15px; /* ?묒쁿 留덉쭊 ?뺣낫 */
    }
    .mypage-cart-quick-banner > div:first-child {
        flex-direction: column;
        gap: 12px !important;
        align-items: center;
    }
    .mypage-cart-quick-banner > div:first-child div {
        text-align: center !important;
    }
    .mypage-cart-quick-btn {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}

/* =========================================================================
   ?썳截?[?꾩씠??以묐났?뺤씤 ?⑥텛 諛??쇰뱶諛??ㅽ???
   ========================================================================= */
.luxury-inline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #000000;
    color: #ffffff;
    border: 1px solid #000000;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.3s ease;
    height: 45px;
    min-width: 90px;
    white-space: nowrap;
    border-radius: 0px; /* ?쇳븨紐곗쓽 吏곸꽑 誘명븰 ?좎? */
}

.luxury-inline-btn:hover {
    background-color: #ffffff;
    color: #000000;
}

.luxury-inline-btn:disabled {
    background-color: #e0e0e0;
    border-color: #e0e0e0;
    color: #999999;
    cursor: not-allowed;
}

/* 以묐났?뺤씤 ?깃났/?ㅽ뙣 ?쇰뱶諛?硫붿떆吏 ?ㅽ???*/
#auth-dup-feedback {
    font-size: 12px;
    margin-top: 6px;
    margin-bottom: 12px;
    font-weight: 500;
    line-height: 1.4;
    display: block;
    width: 100%;
}

/* ?뵏 [?대뱶誘??섏씠吏 UI 理쒖쟻???ㅽ??? */
/* 愿由ъ떎 ?붾㈃(admin-mode)?쇰줈 吏꾩엯 ?? ?쇰컲 ?쇳븨紐곗슜 ?ㅻ뜑? ?명꽣, ?곗륫 ??諛??깆쓣 ?꾨꼍???④꺼 ?덉씠?꾩썐??泥?냼?⑸땲?? */
html.admin-mode .fashion-header,
html.admin-mode .fashion-footer,
html.admin-mode .floating-control-menu,
html.admin-mode #recent-quick-bar {
    display: none !important;
}


/* ?뮲 PC ?붾㈃ ?꾩슜 以??뚮텇瑜??곗퐫?덉씠???ㅽ???*/
@media (min-width: 1024px) {
    .sub-cat-tab,
    .micro-cat-tab {
        font-size: 17.5px !important; /* PC ?붾㈃?먯꽌 留ㅼ슦 ?쒖썝?섍쾶 17.5px濡?????뺣? */
        padding: 6px 16px !important; /* ?뮕 ?띿뒪?명삎 ?꾪꽣??留욎떠 ?щ┝?댁쭊 媛꾧꺽 ?⑤뵫 */
        border-radius: 0 !important; /* ?뮕 ??먰삎 ?쒓굅 */
        font-weight: 700 !important; /* 援듦퀬 媛뺣젹??蹂쇰뱶 ?쒖껜 */
        color: #555555 !important; /* ?뮕 ?됱긽??遺?쒕윭???ㅽ겕 ?ㅻ쾭 洹몃젅??*/
        background: transparent !important; /* ?뮕 ?곗깋 諛곌꼍 ?쒓굅 */
        border: none !important; /* ?뮕 ?뚮몢由ъ꽑 ?쒓굅 */
        box-shadow: none !important; /* ?뮕 洹몃┝???쒓굅 */
        transition: all 0.2s ease !important;
    }
    .sub-cat-tab:hover,
    .micro-cat-tab:hover,
    .sub-cat-tab.active,
    .micro-cat-tab.active {
        background: transparent !important;
        border: none !important;
        color: #000000 !important; /* ?뮕 ?쒖꽦???몃쾭 ???좊챸???꾩쟾 寃?뺤깋 */
        text-decoration: underline !important; /* ?뮕 ?띿뒪???꾪꽣??諛묒쨪 泥섎━ */
        font-weight: 800 !important;
    }
    #subcategory-tabs-container,
    #microcategory-tabs-container {
        justify-content: center !important;
        margin: 18px 0 !important; /* ?곹븯 媛꾧꺽 ?뺣? */
    }
}

/* ?슟 [?좎꽕 - ?명꽣 ?섎떒 媛뺤젣 怨듬갚 ?쒓굅 諛??ㅽ떚??諛李??ㅽ럺 - 諛뷀깢?붾㈃ ?먮났 ?쒕떇 踰꾩쟾] */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
}
#app {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important; /* ?꾩껜 ?붾㈃ ?몃줈 ?믪씠瑜?100% 蹂댁옣?섏뿬 ?명꽣瑜?諛붾떏?쇰줈 諛?대궡湲?*/
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background-color: var(--bg-main) !important; /* ?뮕 ?쇳븨紐?蹂몃옒???곗븘???щ┝ ?쇱씠??諛뷀깢?붾㈃ ?꾨꼍 蹂댁옣 */
}
.fashion-footer {
    margin-top: auto !important; /* 肄섑뀗痢좉? 吏㏃븘???명꽣媛 ?붾㈃ 留?諛묐컮???앹뿉 李곕뼞媛숈씠 ?щ씪遺숇룄濡??쒖뼱 */
}

/* Mobile product/detail floating header. Home and detail only. */
.detail-floating-header {
    display: none;
}

@media (max-width: 768px) {
    html.detail-view-mode .fashion-header,
    html.home-view-mode .fashion-header {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
    }

    html.detail-view-mode .main-viewport,
    html.home-view-mode .main-viewport {
        margin-top: 0 !important;
    }

    .detail-floating-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 12000;
        height: 55px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 14px;
        box-sizing: border-box;
        background-color: rgba(250, 249, 246, 0.58);
        backdrop-filter: blur(8px) saturate(1.08);
        -webkit-backdrop-filter: blur(8px) saturate(1.08);
        border-bottom: 1px solid rgba(150, 140, 126, 0.22);
        box-shadow: 0 6px 16px rgba(32, 28, 23, 0.055);
        opacity: 0;
        transform: translateY(-110%);
        pointer-events: none;
        transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
    }

    html.detail-view-mode.detail-header-compact .detail-floating-header,
    html.home-view-mode.home-header-compact .detail-floating-header {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .detail-floating-menu-btn,
    .detail-floating-action-btn,
    .detail-floating-logo {
        border: 0;
        background: transparent;
        color: var(--text-primary);
        cursor: pointer;
        text-decoration: none;
    }

    .detail-floating-menu-btn {
        width: 34px;
        height: 34px;
        padding: 10px 8px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        flex: 0 0 34px;
    }

    .detail-floating-menu-btn span {
        display: block;
        width: 100%;
        height: 1.5px;
        background: currentColor;
    }

    .detail-floating-logo {
        flex: 1 1 auto;
        min-width: 0;
        text-align: center;
        font-family: var(--font-outfit), sans-serif;
        font-size: 15px;
        font-weight: 500;
        letter-spacing: 2.8px;
        line-height: 55px;
    }

    .detail-floating-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        flex: 0 0 68px;
    }

    .detail-floating-action-btn {
        width: 28px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: relative;
        font-size: 14px;
        line-height: 1;
    }
}

/* Mobile/header utility icons restored after text encoding repair. */
.header-cart-svg,
.header-search-svg {
    width: 20px;
    height: 20px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.detail-floating-action-btn .header-cart-svg,
.detail-floating-action-btn .header-search-svg,
.mobile-action-btn .header-cart-svg,
.mobile-action-btn .header-search-svg {
    width: 21px;
    height: 21px;
}

/* 👑 [어드민 전용 레이아웃 최적화] 
   관리실 모드(.admin-mode)일 때는 쇼핑몰의 1300px 가로폭 제약을 완전히 해제하여 100% 꽉 찬 넓은 화면으로 시원하게 렌더링합니다. */
html.admin-mode .main-viewport {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ⚡ [새 창(팝업) 모드 레이아웃 최적화 CSS] 
   상품 수정실, 고객관리 상세 등 팝업(새 창) 형태로 로드된 경우
   상단 공통 헤더 바와 좌측 어드민 메뉴 바를 완벽하게 가려주고 본문 가로폭을 시원하게 정돈합니다. */
html.admin-popup-mode .admin-dash-header {
    display: none !important;
}
html.admin-popup-mode .admin-sidebar,
body.admin-popup-mode .admin-sidebar,
html.admin-popup-mode #admin-dashboard .admin-sidebar {
    display: none !important;
}
html.admin-popup-mode .admin-content-main,
body.admin-popup-mode .admin-content-main,
html.admin-popup-mode #admin-dashboard .admin-content-main {
    padding: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
}

/* ==========================================================================
   💻 PC 전용 스크롤 헤더 트랜지션 및 플로팅 헤더 최적화 (모바일 격리)
   ========================================================================== */
@media (min-width: 769px) {
    /* 1. 컴팩트 헤더가 등장했을 때 기존 PC 기본 헤더(.fashion-header)를 위로 부드럽게 밀어 올리거나 숨깁니다. */
    html.detail-header-compact .fashion-header,
    html.home-header-compact .fashion-header {
        transform: translateY(-100%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .fashion-header {
        transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.25s ease !important;
    }

    /* 2. PC 화면에 맞추어 플로팅 컴팩트 헤더의 폭과 레이아웃을 중앙 정렬하고 보이게 합니다. */
    .detail-floating-header {
        display: flex !important; /* 기본 display: none을 무력화 */
        position: fixed !important;
        top: 0 !important;
        left: 50% !important;
        transform: translate(-50%, -110%) !important; /* 평소에는 위로 숨김 */
        width: 100% !important;
        max-width: 1300px !important; /* PC 쇼핑몰 표준 최대 너비 */
        height: 60px !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 40px !important;
        box-sizing: border-box !important;
        background-color: rgba(250, 249, 246, 0.9) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(150, 140, 126, 0.22) !important;
        border-top: none !important;
        border-radius: 0 0 12px 12px !important; /* 하단 코너 라운딩 */
        box-shadow: 0 10px 30px rgba(32, 28, 23, 0.08) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: transform 0.34s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.24s ease !important;
        z-index: 12000 !important;
    }

    /* 3. 활성화되었을 때 중앙에 자연스럽게 아래로 내려오게 처리 */
    html.detail-view-mode.detail-header-compact .detail-floating-header,
    html.home-view-mode.home-header-compact .detail-floating-header {
        opacity: 1 !important;
        transform: translate(-50%, 0) !important; /* 정중앙 노출 */
        pointer-events: auto !important;
    }

    /* 4. PC용 플로팅 컴팩트 헤더 구성 요소 스타일 */
    .detail-floating-header .detail-floating-menu-btn {
        display: flex !important;
        flex-direction: column !important; /* 세 줄을 위아래로 배치 */
        justify-content: space-between !important; /* 줄 사이 간격을 고르게 분배 */
        width: 32px !important;
        height: 32px !important;
        padding: 9px 6px !important; /* 삼선이 찌러지지 않도록 안쪽 패딩 조절 */
        margin-right: 20px !important;
        color: var(--text-primary) !important;
        border: 0 !important;
        background: transparent !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    /* PC 화면에서도 햄버거 삼선(span) 선들이 뚜렷하고 예쁘게 그려지도록 스타일 지정 */
    .detail-floating-header .detail-floating-menu-btn span {
        display: block !important;
        width: 100% !important;
        height: 1.8px !important; /* 선 굵기 */
        background: var(--text-primary) !important;
        transition: all 0.2s ease !important;
    }

    /* 로고 버튼의 브라우저 기본 테두리와 배경을 완벽하게 없애고 가로폭 낭비를 차단합니다. */
    .detail-floating-header .detail-floating-logo {
        font-family: var(--font-outfit), sans-serif !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        letter-spacing: 3.5px !important;
        color: var(--text-primary) !important;
        cursor: pointer !important;
        text-decoration: none !important;
        flex: 0 0 auto !important; /* 가로폭을 필요한 만큼만 차지하도록 고정 */
        width: auto !important;
        text-align: left !important;
        line-height: normal !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        outline: none !important;
    }

    /* 5. PC 브라우저에서 카테고리 서랍 토글 활성화 스타일 정의 (모바일 격리 적용) */
    body.mobile-category-open .mobile-category-drawer {
        display: block !important;
        pointer-events: auto !important;
    }
    
    body.mobile-category-open .mobile-category-backdrop {
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    
    body.mobile-category-open .mobile-category-panel {
        transform: translateX(0) !important;
        pointer-events: auto !important;
    }
    
    /* PC 브라우저에서는 서랍이 열려도 우측 스크롤바를 유지하여 화면 흔들림(Layout Shift)을 완벽 차단합니다. */
    body.mobile-category-open {
        overflow: auto !important;
    }
    
    /* PC 브라우저에서의 서랍 디자인 최적화 (블러 효과와 세련된 미관) */
    .mobile-category-panel {
        z-index: 15001 !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
    }
    
    .detail-floating-actions {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        flex: 0 0 auto !important;
    }
    
    /* 부모 요소에 relative 기준점을 주어 장바구니 숫자 배지가 카트 아이콘 우측 상단에 딱 붙도록 수정합니다. */
    .detail-floating-header .detail-floating-action-btn {
        position: relative !important; /* 절대 좌표의 기준점 제공 */
        width: 34px !important;
        height: 34px !important;
        color: var(--text-primary) !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
    }

    /* 장바구니 내부 아이콘의 크기도 일관되게 정돈합니다. */
    .detail-floating-header .detail-floating-action-btn svg {
        width: 21px !important;
        height: 21px !important;
    }
}

/* =========================================================================
   🛡️ [신설] PC 스크롤 헤더 출현/소멸에 따른 장바구니 동반 슬라이딩 연동 룰
   ========================================================================= */

/* 스크롤을 내려서 헤더가 화면 위로 컴팩트하게 숨겨졌을 때 (top을 0으로 쫀득하게 끌어올림) */
html.detail-header-compact .cart-modal-overlay,
html.home-header-compact .cart-modal-overlay {
    top: 0 !important;
}

/* 헤더가 숨겨진 동안 장바구니 창을 화면 세로 100% 꽉 채우도록 팽창 */
html.detail-header-compact .cart-modal-content,
html.home-header-compact .cart-modal-content {
    height: 100% !important;
}

/* Mobile checkout order choice buttons: keep labels centered inside each box. */
@media (max-width: 768px) {
    #checkout-order-choice {
        padding: 14px 14px 16px !important;
    }

    #checkout-order-choice > div {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    #checkout-order-choice .postcode-btn {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 58px !important;
        padding: 8px 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        line-height: 1.28 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: anywhere !important;
        box-sizing: border-box !important;
    }
}

/* Auth modal scroll guard: keep the signup submit button reachable on every screen size. */
#auth-modal.cart-modal-overlay {
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    padding: 18px 10px calc(30px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
}

#auth-modal .auth-modal-content {
    width: min(100%, 500px) !important;
    max-width: 500px !important;
    height: auto !important;
    max-height: calc(100dvh - 36px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
}

#auth-modal .auth-form-box {
    padding-bottom: 28px !important;
}

@media (max-width: 768px) {
    #auth-modal.cart-modal-overlay {
        top: 0 !important;
        bottom: 0 !important;
        height: 100dvh !important;
        padding: 10px 8px calc(28px + env(safe-area-inset-bottom, 0px)) !important;
    }

    #auth-modal .auth-modal-content {
        width: min(100%, 500px) !important;
        max-width: 500px !important;
        height: auto !important;
        max-height: calc(100dvh - 20px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 26px 24px calc(150px + env(safe-area-inset-bottom, 0px)) !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
    }

    #auth-modal .auth-form-box {
        padding-bottom: 40px !important;
    }
}



/* Admin screens must never show customer floating chat/scroll controls. */
html.admin-mode .floating-control-menu,
body.admin-mode .floating-control-menu,
#view-admin .floating-control-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.admin-hidden-menu-item {
    display: none !important;
}
