@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url('/font/Pretendard/Pretendard-Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url('/font/Pretendard/Pretendard-Medium.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	src: url('/font/Pretendard/Pretendard-SemiBold.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url('/font/Pretendard/Pretendard-Bold.woff2') format('woff2');
}

/* css reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; text-decoration: none; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: '';	content: none; }
table {border-collapse: collapse; border-spacing: 0;}
button{background-color: transparent; border: none; padding: 0; }
*, *:before, *:after{box-sizing: border-box;}
a{color: inherit;}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* styles */
:root{
--neutral-00: rgba(255, 255, 255, 1);
--neutral-20: rgba(248, 250, 252, 1);
--neutral-40: rgba(240, 244, 248, 1);
--neutral-80: rgba(226, 232, 239, 1);
--neutral-120: rgba(214, 222, 232, 1);
--neutral-200: rgba(189, 199, 214, 1);
--neutral-400: rgba(134, 146, 163, 1);
--neutral-500: rgba(108, 120, 136, 1);
--neutral-600: rgba(85, 95, 111, 1);
--neutral-750: rgba(51, 60, 75, 1);
--neutral-900: rgba(21, 28, 41, 1);
--neutral-alpha-800: rgba(255, 255, 255, 0.8);
--neutral-alpha-120: rgba(21, 28, 41, 0.12);
--neutral-alpha-180: rgba(21, 28, 41, 0.18);
--neutral-alpha-80: rgba(21, 28, 41, 0.08);
--brand-20: rgba(250, 250, 255, 1);
--brand-40: rgba(244, 243, 255, 1);
--brand-80: rgba(231, 230, 254, 1);
--brand-120: rgba(220, 217, 254, 1);
--brand-200: rgba(199, 191, 255, 1);
--brand-400: rgba(146, 129, 241, 1);
--brand-500: rgba(122, 90, 248, 1);
--brand-600: rgba(102, 51, 236, 1);
--brand-750: rgba(64, 10, 175, 1);
--blue-20: rgba(245, 248, 255, 1);
--blue-40: rgba(238, 244, 255, 1);
--blue-80: rgba(221, 232, 255, 1);
--blue-120: rgba(207, 221, 255, 1);
--blue-200: rgba(177, 197, 255, 1);
--blue-400: rgba(115, 139, 235, 1);
--blue-500: rgba(89, 106, 235, 1);
--blue-600: rgba(64, 72, 227, 1);
--blue-750: rgba(26, 24, 186, 1);
--violet-20: rgba(251, 250, 255, 1);
--violet-40: rgba(246, 243, 255, 1);
--violet-80: rgba(235, 229, 252, 1);
--violet-120: rgba(226, 215, 253, 1);
--violet-200: rgba(209, 188, 253, 1);
--violet-400: rgba(163, 124, 235, 1);
--violet-500: rgba(143, 84, 238, 1);
--violet-600: rgba(124, 42, 223, 1);
--violet-750: rgba(82, 0, 162, 1);
--lilac-20: rgba(251, 248, 253, 1);
--lilac-40: rgba(248, 242, 253, 1);
--lilac-80: rgba(241, 227, 247, 1);
--lilac-120: rgba(232, 213, 252, 1);
--lilac-200: rgba(220, 183, 253, 1);
--lilac-400: rgba(182, 114, 237, 1);
--lilac-500: rgba(164, 72, 233, 1);
--lilac-600: rgba(142, 35, 205, 1);
--lilac-750: rgba(94, 7, 141, 1);
--blue-light-20: rgba(245, 251, 255, 1);
--blue-light-40: rgba(236, 245, 251, 1);
--blue-light-80: rgba(211, 236, 252, 1);
--blue-light-120: rgba(187, 227, 248, 1);
--blue-light-200: rgba(121, 209, 250, 1);
--blue-light-400: rgba(28, 153, 217, 1);
--blue-light-500: rgba(0, 125, 188, 1);
--blue-light-600: rgba(0, 99, 152, 1);
--blue-light-750: rgba(0, 63, 97, 1);
--teal-20: rgba(243, 251, 250, 1);
--teal-40: rgba(227, 248, 244, 1);
--teal-80: rgba(191, 242, 232, 1);
--teal-120: rgba(181, 232, 222, 1);
--teal-200: rgba(88, 218, 202, 1);
--teal-400: rgba(0, 162, 147, 1);
--teal-500: rgba(0, 134, 125, 1);
--teal-600: rgba(0, 107, 100, 1);
--teal-750: rgba(0, 67, 65, 1);
--rose-20: rgba(255, 248, 248, 1);
--rose-40: rgba(252, 242, 243, 1);
--rose-80: rgba(251, 226, 230, 1);
--rose-120: rgba(253, 210, 218, 1);
--rose-200: rgba(254, 178, 191, 1);
--rose-400: rgba(234, 99, 130, 1);
--rose-500: rgba(223, 46, 92, 1);
--rose-600: rgba(189, 0, 68, 1);
--rose-750: rgba(119, 12, 52, 1);

/* Text-size styles */
/* font: [font-style] [font-variant] [font-weight] [font-stretch] [font-size] [/line-height] [font-family];
 */
--body-body1-b: normal 700 16px/135% 'Pretendard';
--ls-body-body1-b: -0.16px;
--body-body1-sb: normal 600 16px/135% 'Pretendard';
--ls-body-body1-sb: -0.32px;
--body-body1-r: normal 400 16px/135% 'Pretendard';
--ls-body-body1-r: -0.32px;
--body-body1-r-l: normal 400 16px/135% 'Pretendard';
--ls-body-body1-r-l: -0.32px;
--body-body2-b: normal 700 14px/135% 'Pretendard';
--ls-body-body2-b: 0px;
--body-body2-sb: normal 600 14px/135% 'Pretendard';
--ls-body-body2-sb: -0.14px;
--body-body2-r: normal 400 14px/135% 'Pretendard';
--ls-body-body2-r: -0.28px;

--caption-caption1-r: normal 400 13px/135% 'Pretendard';
--ls-caption-caption1-r: 0px;
--caption-caption2-sb: normal 600 12px/135% 'Pretendard';
--ls-caption-caption2-sb: -0.24px;
--caption-caption2-r: normal 400 12px/135% 'Pretendard';
--ls-caption-caption2-r: 0px;
--caption-caption1-sb: normal 600 13px/135% 'Pretendard';
--ls-caption-caption1-sb: 0px;

--label-label2-b: normal 700 16px/115% 'Pretendard';
--ls-label-label2-b: 0;
--label-label2-sb: normal 600 16px/115% 'Pretendard';
--ls-label-label2-sb: 0;
--label-label2-r: normal 400 16px/115% 'Pretendard';
--ls-label-label2-r: 0;
--label-label3-b: normal 700 14px/115% 'Pretendard';
--ls-label-label3-b: 0;
--label-label3-r: normal 400 14px/115% 'Pretendard';
--ls-label-label3-r: 0;
--label-label3-sb: normal 600 14px/115% 'Pretendard';
--ls-label-label3-sb: 0;
--label-label4-sb: normal 600 12px/115% 'Pretendard';
--ls-label-label4-sb: 0;
--label-label4-r: normal 400 12px/115% 'Pretendard';
--ls-label-label4-r: 0;
--label-label4-b: normal 700 12px/115% 'Pretendard';
--ls-label-label4-b: 0;

--title-title1-b: normal 700 44px/125% 'Pretendard';
--ls-title-title1-b: 0;
--title-title2-b: normal 700 32px/125% 'Pretendard';
--ls-title-title2-b: 0;
--title-title3-b: normal 700 28px/125% 'Pretendard';
--ls-title-title3-b: -0.28px;
--title-title4-b: normal 700 24px/125% 'Pretendard';
--ls-title-title4-b: 0;
--title-title5-b: normal 700 20px/125% 'Pretendard';
--ls-title-title5-b: -0.6px;
--title-title5-sb: normal 600 20px/125% 'Pretendard';
--ls-title-title5-sb: 0;
--title-title6-b: normal 700 18px/125% 'Pretendard';
--ls-title-title6-b: 0;
--title-title6-sb: normal 600 18px/125% 'Pretendard';
--ls-title-title6-sb: 0;
--title-title7-b: normal 700 16px/125% 'Pretendard';
--ls-title-title7-b: 0;
--title-title7-sb: normal 600 16px/125% 'Pretendard';
--ls-title-title7-sb: 0;


/* Effect styles */
--shadow-overlay:  0px 2px 4px rgba(18, 18, 23, 0.04), 0px 5px 8px rgba(18, 18, 23, 0.04), 0px 10px 18px rgba(18, 18, 23, 0.03), 0px 24px 48px rgba(18, 18, 23, 0.03), 0px 0px 0px rgba(255, 255, 255, 0.24);
}


::-webkit-scrollbar{width: 16px; height: 16px; border-radius: 99px; background-color: transparent;}
::-webkit-scrollbar-thumb{width: 8px; height: 8px; border-radius: 99px; background: var(--neutral-120, #D6DEE8); border: 4px solid #fff; }

body{ overflow: auto; color: var(--neutral-900, #151C29); overflow-x: hidden; }
body .container{position: relative;}
body.hidden{overflow: hidden;}

.color-brand{color: var(--brand-600, #6633EC) !important;}

/* button */
button, [class^="btn"], [class^="_button"]{cursor: pointer;}

._button{display: flex; align-items: center; justify-content: center; user-select: none; cursor: pointer; flex-shrink: 0;}

._button.small{padding: 0 12px; height: 32px; gap: 4px; font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb);}
._button.small svg, ._button.small  img{width: 12px;}
._button.medium{padding: 0 24px; height: 46px; gap: 8px; font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);}
._button.medium.tight{padding: 0 12px;}
._button.medium svg, ._button.medium img{width: 16px;}
._button.large{padding: 0 24px; height: 52px; gap: 8px; font: var(--label-label2-b); letter-spacing: var(--ls-label-label2-b);}
._button.large svg, ._button.large img{width: 20px;}


._button.small.square{border-radius: 4px;}
._button.medium.square{border-radius: 8px;}
._button.large.square{border-radius: 8px;}
._button.round{border-radius: 99px;}

._button.primary{background: var(--brand-600, #6633EC); color: var(--neutral-00, white);}
._button.primary svg{fill: var(--neutral-00, white);}
._button.primary:active{background: var(--brand-750, #400AAF);}

._button.primary-outline{border: 1px solid var(--brand-500, #7A5AF8); color: var(--brand-750, #400AAF);}
._button.primary-outline svg{fill: var(--brand-500, #7A5AF8);}
._button.primary-outline:active{background: var(--brand-80, #E7E6FE);}


._button.secondary{background: var(--neutral-750, #333C4B); color: var(--neutral-00, white);}
._button.secondary svg{fill: var(--neutral-00, white);}
._button.secondary:active{background: var(--neutral-900, #151C29);}

._button.secondary-outline{border: 1px solid var(--neutral-200, #BDC7D6); color: var(--neutral-900, #151C29); background: #FFF;}
._button.secondary-outline svg{fill: var(--neutral-900, #151C29);}
._button.secondary-outline:active{background: var(--neutral-40, #F0F4F8);}


._button.tertiary{background: var(--neutral-40, #F0F4F8); color: var(--neutral-900, #151C29);}
._button.tertiary svg{fill: var(--neutral-900, #151C29);}
._button.tertiary:active{background: var(--neutral-80, #E2E8EF);}

._button.ghost{background: transparent; color: var(--neutral-900, #151C29);}
._button.ghost svg{fill: var(--neutral-900, #151C29);}
._button.ghost:active{background: var(--neutral-40, #F0F4F8);}

._button.blue-light{height: 46px; border-radius: 8px; padding: 0 24px; gap: 8px; font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb); letter-spacing: var(--ls-label-label2-sb); color: var(--neutral-00, #FFF); background: var(--blue-light-400, #1C99D9);}
._button.blue-light svg{width: 16px; fill: var(--neutral-00, #FFF);}
._button.blue-light:active{background: var(--blue-light-500, #007DBC);}

._button.teal{height: 46px; border-radius: 8px; padding: 0 24px; gap: 8px; font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb); letter-spacing: var(--ls-label-label2-sb); color: var(--neutral-00, #FFF); background: var(--teal-400, #00A293);}
._button.teal svg{width: 16px; fill: var(--neutral-00, #FFF);}
._button.teal:active{background: var(--teal-500, #00867D);}

._button[disabled], ._button.disabled{background: var(--neutral-40, #F0F4F8); color: var(--neutral-200, #BDC7D6); cursor: default;}
._button[disabled]:active, ._button.disabled:active{background: var(--neutral-40, #F0F4F8);}
._button[disabled] svg, ._button.disabled svg{fill: var(--neutral-200, #BDC7D6);}
._button[class*="outline"][disabled], ._button[class*="outline"].disabled{border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8);}



 /* button_icon_only */
._button_icon_only{display: flex; align-items: center; justify-content: center; user-select: none; cursor: pointer; flex-shrink: 0; font-size: 0; text-indent: -9999px;}

._button_icon_only.xsmall{width: 28px; height: 28px;}
._button_icon_only.xsmall svg, ._button_icon_only.xsmall img{width: 16px;}
._button_icon_only.small{width: 38px; height: 38px;}
._button_icon_only.small svg, ._button_icon_only.small img{width: 18px;}
._button_icon_only.medium{width: 48px; height: 48px;}
._button_icon_only.medium svg, ._button_icon_only.medium img{width: 24px;}

._button_icon_only.square{border-radius: 12px;}
._button_icon_only.round{border-radius: 100%;}

._button_icon_only.primary{background: var(--brand-600, #6633EC);}
._button_icon_only.primary svg{fill: var(--neutral-00, white);}
._button_icon_only.primary:active{background: var(--brand-750, #400AAF);}
._button_icon_only.primary-outline{border: 1px solid var(--brand-500, #7A5AF8);}
._button_icon_only.primary-outline svg{fill: var(--brand-500, #7A5AF8);}
._button_icon_only.primary-outline:active{background: var(--brand-80, #E7E6FE);}
._button_icon_only.primary-outline[disabled], ._button_icon_only.primary-outline.disabled{border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8);}

._button_icon_only.secondary{background: var(--neutral-750, #333C4B);}
._button_icon_only.secondary svg{fill: var(--neutral-00, white);}
._button_icon_only.secondary:active{background: var(--neutral-900, #151C29);}

._button_icon_only.secondary-opacity{background: var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));}
._button_icon_only.secondary-opacity svg{fill: var(--neutral-00, white);}
._button_icon_only.secondary-opacity:active{background: var(--neutral-alpha-180, rgba(21, 28, 41, 0.18));}
._button_icon_only.secondary-opacity[disabled], ._button_icon_only.secondary-opacity.disabled{background: var(--neutral-alpha-80, rgba(21, 28, 41, 0.08));}

._button_icon_only.secondary-outline{border: 1px solid var(--neutral-200, #BDC7D6);}
._button_icon_only.secondary-outline:active{background: var(--neutral-40, #F0F4F8);}
._button_icon_only.secondary-outline[disabled], ._button_icon_only.secondary-outline.disabled{border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8);}


._button_icon_only.tertiary{background: var(--neutral-40, #F0F4F8);}
._button_icon_only.tertiary:active{background: var(--neutral-80, #E2E8EF);}
._button_icon_only.ghost{background: transparent}
._button_icon_only.ghost:active{background: var(--neutral-80, #E2E8EF);}
._button_icon_only.ghost.square:active{background: var(--neutral-40, #F0F4F8);}

._button_icon_only[disabled], ._button_icon_only.disabled{background: var(--neutral-40, #F0F4F8);}
._button_icon_only[disabled] svg, ._button_icon_only.disabled svg{fill: var(--neutral-200, #BDC7D6);}
._button_icon_only[class*="outline"][disabled], ._button_icon_only[class*="outline"].disabled{border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8);}
._button_icon_only[class*="opacity"][disabled] svg, ._button_icon_only[class*="opacity"].disabled svg{fill: var(--neutral-00, white);}

/* _button_heart */
._button_heart{width: 38px; height: 38px; background-color: var(--neutral-alpha-800, rgba(255, 255, 255, 0.80)); background-image: url('../images/icon/icon-heart.svg'); background-repeat: no-repeat; background-size: 24px; background-position: center; text-indent: -9999px; flex-shrink: 0;}
._button_heart.active{width: 38px; height: 38px; background-color: var(--neutral-alpha-800, rgba(255, 255, 255, 0.80)); background-image: url('../images/icon/icon-heart-fill.svg'); background-repeat: no-repeat; background-size: 24px; background-position: center; text-indent: -9999px;}

/* select */
select{height: 46px; padding: 0 36px 0 12px; border-radius: 6px; border: 1px solid var(--neutral-200, #BDC7D6); background-color: var(--neutral-00, #FFF); font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); appearance: none; -webkit-appearance: none; background-image: url('/images/icon/icon-chevron-down.svg'); background-size: 12px; background-position: right 12px center; background-repeat: no-repeat; flex-shrink: 0; user-select: none;}
select:has(option[value=""]:checked){color: var(--neutral-400, #8692A3);}
select option{color: var(--neutral-900, #151C29);}
select option:disabled{color: var(--neutral-200, #BDC7D6);}
select:focus, select:focus-visible{border: 1px solid var(--neutral-750, #333C4B); outline: none;}
select[disabled]{border: 1px solid var(--neutral-120, #D6DEE8); background-color: var(--neutral-40, #F0F4F8);}


._select.round{display: flex; height: 40px; overflow: hidden; padding: 0px 12px; border-radius: 99px; background: var(--neutral-40, #F0F4F8); align-items: center; gap: 8px;color: var(--neutral-750, #333C4B); font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb);}
._select.round .select_name{align-items: center; gap: 8px; display: none;}
._select.round .select_name.selected{display: flex;}
._select.round .select_name.selected:before{content: ''; display: block; width: 1px; height: 16px;background: #D6DEE8;;}
._select.round img{width: 12px;}

/* 드롭다운 */
.dropdown_wrap{position: relative;}
.dropdown{position: absolute; left: 0; display: flex; flex-direction: column; border-radius: 16px; background: var(--neutral-00, #FFF); max-width: 360px; width: 310px; ; z-index: 1; box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.08); margin: 12px 0 0 0;}
[data-direction="left"] + .dropdown{left: 0; right: auto;}
[data-direction="right"] + .dropdown{right: 0; left: auto;}
.dropdown .contents{padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 10px;  align-items: center;}
.dropdown .checkbox_wrap{display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;  align-items: center;}
.dropdown .contents input[type="text"]{width: 0; flex-grow: 1;}
.dropdown .contents ._help_text{flex-basis: 100%;}
.dropdown .contents select{flex-basis: 100%; margin-bottom: 6px;}



/* ._button_cate */
._button_cate{display: flex; flex-direction: column; align-items: center; text-align: center;}
._button_cate.medium{gap: 12px; font: var(--label-label3-b); letter-spacing: var(--ls-label-labe3-b); color: var(--neutral-900, #151C29);}
._button_cate.medium img{width: 74px; height: 74px; background: var(--neutral-20, #F8FAFC); border-radius: 16px;}
._button_cate.small{gap: 0; font: var(--label-label4-r); letter-spacing: var(--ls-label-labe4-r); color: var(--neutral-900, #151C29);}
._button_cate.small img{width: 58px; height: 58px;}

/* _badge */
._badge.dot{display: inline-flex; width: 4px; height: 4px; background-color: var(--rose-500, #DF2E5C); border-radius: 100%;}
._badge.count{padding: 2px 5px 0; height: 16px; background-color: var(--rose-500, #DF2E5C); display: inline-flex; align-items: center; justify-content: center; color: var(--neutral-00, #FFF); font: var(--label-label4-sb); letter-spacing: var(--ls-label-labe4-sb); border-radius: 99px;}

/* _tooltip */
._tooltip{border-radius: 5px; background: var(--neutral-900, #151C29);padding: 10px 15px; text-align: left; color: #E4E4E4; font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r); position: absolute;z-index: 1;}
._tooltip:before{content: ''; display: block;  position: absolute;}
._tooltip.bottom:before{width: 12px; height: 10px; left: calc(50% - 6px); top: -10px; background: url('../images/icon/tooltip-bottom.svg')no-repeat;}
._tooltip.top:before{width: 12px; height: 10px; left: calc(50% - 6px); bottom: -10px; background: url('../images/icon/tooltip-top.svg')no-repeat;}
._tooltip.left:before{width: 10px; height: 12px; top: calc(50% - 6px); right: -10px; background: url('../images/icon/tooltip-left.svg')no-repeat;}
._tooltip.right:before{width: 10px; height: 12px; top: calc(50% - 6px); left: -10px; background: url('../images/icon/tooltip-right.svg')no-repeat;}

/* _checkbox */
input[type="checkbox"]{position: absolute; opacity: 0; pointer-events: none;}
input[type="checkbox"]+label{display: flex; align-items: flex-start; gap: 6px; user-select: none; cursor: pointer; font: var(--label-label2-r); letter-spacing: var(--ls-label-label2-r);}
input[type="checkbox"]+label:has(> span){padding: 7px 8px;}
input[type="checkbox"]+label:before{content: ''; display: block; width: 18px; height: 18px; border-radius: 4px; border: 1px solid var(--neutral-200, #BDC7D6); background: var(--neutral-20, #F8FAFC); flex-shrink: 0;}
input[type="checkbox"]:not([disabled]):active+label:before{border: 1px solid var(--neutral-400, #8692A3); background-color: var(--neutral-40, #F0F4F8) }
input[type="checkbox"]:checked+label:before{ border: none; background-image: url('../images/icon/checkbox.svg'); background-repeat: no-repeat; background-position: center; background-color:  var(--neutral-750, #333C4B);}
input[type="checkbox"]:not([disabled]):checked:active+label:before{border: none; background-color: var(--neutral-900, #151C29);}
input[type="checkbox"].title+label{font: var(--label-label2-b); letter-spacing: var(--ls-label-label2-b); color: var(--neutral-900, #151C29); padding: 7px 8px;}
input[type="checkbox"].body+label{font: var(--label-label2-r); letter-spacing: var(--ls-label-label2-r); color: var(--neutral-900, #151C29); padding: 7px 8px;}
input[type="checkbox"][disabled]+label:before{order: 1px solid var(--neutral-120, #D6DEE8); background-color: var(--neutral-40, #F0F4F8);}
input[type="checkbox"][disabled]:checked+label:before{background-color: var(--neutral-120, #D6DEE8);}
input[type="checkbox"][disabled]+label{color: var(--neutral-200, #BDC7D6);}
input[type="checkbox"]+label.required:after{content: '*'; font: var(--title-title7-sb); letter-spacing: var(--ls-title-titlel7-sb); color: var(--rose-500, #DF2E5C); margin: -7px 0 0 -2px}


/* _radio */
input[type="radio"]{position: absolute; opacity: 0; pointer-events: none;}
input[type="radio"]+label{display: flex; align-items: flex-start; gap: 6px; user-select: none; font: var(--label-label2-r); letter-spacing: var(--ls-label-label2-r); color: var(--neutral-900, #151C29); padding: 7px 8px; cursor: pointer;}
input[type="radio"]+label:has(> span){padding: 7px 8px;}
input[type="radio"]+label:before{content: ''; display: block; width: 18px; height: 18px; border-radius: 100%; border: 1px solid var(--neutral-200, #BDC7D6); background: var(--neutral-20, #F8FAFC); flex-shrink: 0;}
input[type="radio"]:not([disabled]):active+label:before{border: 1px solid var(--neutral-400, #8692A3); background: var(--neutral-40, #F0F4F8);}
input[type="radio"]:checked+label:before{background: var(--neutral-00, #FFF); border: 4px solid  var(--neutral-750, #333C4B);} 
input[type="radio"]:not([disabled]):checked:active+label:before{border: 4px solid var(--neutral-900, #151C29); background: var(--neutral-00, #FFF);}
input[type="radio"][disabled]+label:before{border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8);}
input[type="radio"][disabled]:checked+label:before{border: 4px solid var(--neutral-120, #D6DEE8); background: var(--neutral-00, #FFF);}
input[type="radio"][disabled]+label{color: var(--neutral-200, #BDC7D6);}

/* _switch */
input[type="checkbox"]._switch{position: absolute; opacity: 0; pointer-events: none;}
input[type="checkbox"]._switch+label{position: relative;}
input[type="checkbox"]._switch+label:before{content: ''; display: block; width: 36px; height: 20px; border-radius: 10px; background: var(--neutral-80, #E2E8EF); transition: all 0.2s ease; border: none !important;}
input[type="checkbox"]._switch:active+label:before{background: var(--neutral-120, #D6DEE8);}
input[type="checkbox"]._switch:checked+label:before{background: var(--neutral-750, #333C4B);}
input[type="checkbox"]._switch:checked:active+label:before{background: var(--neutral-900, #151C29);}
input[type="checkbox"]._switch+label:after{content: ''; display: block; position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; border-radius: 100%; background-color: var(--neutral-00, #FFF); box-shadow: 0px 1px 3px 0px rgba(18, 18, 23, 0.10), 0px 1px 2px 0px rgba(18, 18, 23, 0.06);  transition: all 0.2s ease;}
input[type="checkbox"]._switch:checked+label:after{left: 18px;}
input[type="checkbox"]._switch[disabled]+label:before{background: var(--neutral-80, #E2E8EF);}
input[type="checkbox"]._switch[disabled]+label:after{background: var(--neutral-40, #F0F4F8);}
input[type="checkbox"]._switch:checked[disabled]+label:before{background: var(--neutral-200, #BDC7D6);}

/* _input */
._input input, ._input input:focus, ._input input:focus-visible, ._input, textarea, ._input textarea:focus, ._input textarea:focus-visible, ._input:focus {border: none; outline: none;}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {-webkit-box-shadow: 0 0 0 30px white inset !important; }
input:autofill, input:autofill:hover, input:autofill:focus, input:autofill:active {box-shadow: 0 0 0 30px white inset !important; }

._input{height: 46px; border: 1px solid var(--neutral-200, #BDC7D6); background: var(--neutral-00, #FFF); display: flex; align-items: center; padding: 0 12px; gap: 4px; border-radius: 6px; flex-shrink: 0;}
._input.round{border-radius: 99px; padding: 0 12px 0 16px; gap: 8px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); overflow: hidden;}

._input, ._input input, ._input textarea{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r);}
._input input{height: 100%;}
._input input, ._input textarea{flex-grow: 1; width: 0; padding: 0}
._input textarea{height: 100%;}
._input input::placeholder, ._input::placeholder, ._input textarea::placeholder, textarea::placeholder{color: var(--neutral-400, #8692A3);}
._input .left_icon{width: 16px;  flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
._input .left_icon img{width: 100%; height: 100%; object-fit: contain;}
._input .right_icon{width: 24px;  flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
._input .right_icon img{width: 100%; height: 100%; object-fit: contain;}
._input .unit{color: var(--neutral-900, #151C29); font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb);}
._input .limit{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); color: var(--brand-500, #7A5AF8);}
._input .right_icon{width: 24px;  flex-shrink: 0;}
._input:has(input:not([readonly]):not([disabled]):focus), input._input:not([readonly]):not([disabled]):focus{border: 1px solid var(--neutral-750, #333C4B);}
._input.round .left_icon{width: 24px; flex-shrink: 0;}

._input:has(input[disabled]), ._input[disabled], ._input:has(input[readonly]:not(.date)), ._input[readonly]:not(.date){border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8);}
._input:has(input[disabled]) input[disabled], ._input:has(input[readonly]) input[readonly]{background: transparent;}
._input:has(input[disabled]) input, ._input:has(input[disabled]) .unit, ._input[disabled]{color: var(--neutral-200, #BDC7D6);}

._input input.right, ._input.right{text-align: right;}
._input input.sb, ._input.sb{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb);}

/* textarea */

textarea{padding: 12px; border-radius: 6px; border: 1px solid var(--neutral-200, #BDC7D6); background: var(--neutral-00, #FFF); font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); resize: none; overflow-y: auto; min-height: 96px;}
textarea:focus{border: 1px solid var(--neutral-750, #333C4B);}
textarea::placeholder{color: var(--neutral-400, #8692A3);}
._textarea textarea[disabled], textarea[disabled], ._textarea textarea[readonly], textarea[readonly]{border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-40, #F0F4F8); color: var(--neutral-200, #BDC7D6);}

._input.textarea{height: auto; padding: 12px; flex-direction: column; align-items: normal;}
._input.textarea textarea{border: none; padding: 0; width: 100%;  min-height: 84px;}
._input.textarea .action_wrap{display: flex; align-items: center; justify-content: space-between;}
._input.textarea .action_wrap .left{display: flex; gap: 2px; align-items: center;}
._input.textarea .action_wrap .tip{display: flex; align-items: center;}
._input.textarea .action_wrap .tip img{width: 18px; height: 18px; opacity: 0.5;}
._input.textarea .action_wrap .tip ._tooltip{position: relative; margin: 0 0 0 12px; display: none; padding: 5px 13px; font: var(--caption-caption2-r); letter-spacing: var(--ls-caption-caption2-r);}
._input.textarea .action_wrap .tip ._tooltip.right:before{width: 9px; height: 11px; top: calc(50% - 5px); left: -9px; background: url('../images/icon/tooltip-right.svg')no-repeat;}
._input.textarea .action_wrap .tip img:hover+._tooltip{display: block;}

._input.textarea .right{display: flex;;}

/* _toast */
._toast{position: fixed; width: 100%; bottom: -80px; display: flex; justify-content: center; transition: all 0.3s ease; z-index: 1050; left: 0;user-select: none; pointer-events: none;}
._toast span{border-radius: 8px; background: rgba(21, 28, 41, 0.70); padding: 16px 24px; color: var(--neutral-alpha-800, rgba(255, 255, 255, 0.80)); font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb);}
._toast.error span{background: rgba(189, 0, 68, 0.70);}
._toast.on{bottom: 16px;}

/* divider */
._divider.ver{width: 1px; height: 18px; align-items: center; display: flex; justify-content: center;}
._divider.ver:before{content:''; display: block; width: 1px; height: 1px; height: 10px; background: var(--neutral-80, #E2E8EF);}
._divider.hor{display: flex; width: 100%; height: 1px; background: var(--neutral-80, #E2E8EF);}

/* label */
._label{display: flex; align-items: center; gap: 2px;}
._label .title{color: var(--neutral-900, #151C29);}
._label .optional{color: var(--neutral-600, #555F6F);}
._label .required{color: var(--foreground-error-secondary, #FF3838);}
._label.col{flex-direction: column; gap: 4px; align-items: flex-start;}

._label.small .title{font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb);}
._label.small .optional{font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb);}
._label.small .required{font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb);}

._label.medium .title{font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);}
._label.medium .optional{font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);}
._label.medium .required{font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);}

._label.large .title{font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
._label.large .optional{font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);}
._label.large .required{font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);}


._label_control{padding: 18px 0 0 0; display: flex; flex-direction: column; gap: 8px;}
._label_control .control{display: flex; flex-direction: column; gap: 8px;}
._label_control .help{display: flex; flex-direction: column; gap: 4px;}

._label_control.row{flex-direction: row; align-items: flex-start; gap: 16px;}
._label_control.row ._label{width: 120px; height: 46px;}
._label_control.row .control{flex-grow: 1;}

._label_control_button{display: flex; align-items: flex-start; gap: 8px;}
._label_control_button ._label_control{flex-grow: 1;}
._label_control_button ._button{margin: 18px 0 0 0;}

._label_file{padding: 18px 0 0 0; display: flex; flex-direction: column; gap: 8px;}
._label_file .file{display: flex; align-items: flex-start; gap: 10px;}
._label_file.row{flex-direction: row; align-items: flex-start; gap: 16px;}
._label_file.row ._label{width: 120px; height: 46px;}
._label_file.row .file{flex-grow: 1;}


._attached{display: flex; align-items: center; gap: 6px; color: var(--neutral-750, #333C4B); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}

._attach_btn_wrap{padding: 10px 0 0 0; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; color: var(--neutral-750, #333C4B); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}

._attach_list{display: flex; gap: 10px; flex-wrap: wrap;}
._attach_list .list{border-radius: 12px; width: 120px; height: 120px; position: relative; overflow: hidden; flex-shrink: 0; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));}
._attach_list .list .preview_img{width: 100%; height: 100%; object-fit: cover;}
._attach_list .list .btn_del{position: absolute; right: 8px; top: 8px;}


/* link */
._link{color: var(--neutral-750, #333C4B); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); cursor: pointer;}
._link:active{text-decoration: underline; font: var(--body-body2-b); letter-spacing: var(--ls-body-body2-b);}

/* help_text */
._help_text{color: var(--neutral-600, #555F6F); font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r); display: flex; gap: 2px;}
._help_text.error{color: var(--rose-500, #DF2E5C);}
._help_text.success{color: var(--teal-500, #00867D);}
._help_text.success:before{content: ''; display: block; width: 14px; height: 14px; margin: 2px 0; background: url('/images/icon/help-chk.svg')no-repeat center; background-size: contain;}

/* icon_helper */
._icon_helper{display: flex; gap: 2px; align-items: flex-start; color: var(--rose-500, #DF2E5C); font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
._icon_helper img{width: 14px; height: 14px; margin-top: 2px;}

/* tag */
._tag{display: inline-flex; border-radius: 2px; padding: 3px 4px; font: var(--label-label4-sb); letter-spacing: var(--ls-label-label4-sb); display: flex; align-items: center; justify-content: center; line-height: 1;}

._tag.primary{background: var(--brand-500, #7A5AF8); color: var(--neutral-00, #FFF);}
._tag.primary-outline{border: 1px solid var(--brand-500, #7A5AF8); color: var(--brand-500, #7A5AF8);}

._tag.neutral{background: var(--neutral-500, #6C7888); color: var(--neutral-00, #FFF);}
._tag.neutral-outline{border: 1px solid var(--neutral-120, #D6DEE8); background-color: var(--neutral-00, #FFF); color: var(--neutral-600, #555F6F);}
._tag.disabled-dark{background: var(--neutral-80, #E2E8EF); color: var(--neutral-400, #8692A3);}
._tag.disabled-light{background: var(--neutral-40, #F0F4F8); color: var(--neutral-400, #8692A3);}

._tag.fuchsia{background: var(--fuchsia-500, #D946EF); color: var(--neutral-00, #FFF);}

._tag.pink-tinted{background: var(--pink-50, #FDF2F8); color: var(--pink-900, #831843);}

._tag.rose{background: var(--rose-500, #DF2E5C); color: var(--neutral-00, #FFF);}
._tag.rose-tinted{background: var(--rose-80, #FBE2E6); color: var(--rose-750, #770C34);}

._tag.yellow-tinted{background: var(--yellow-200, #FEF08A); color: var(--yellow-900, #713F12);}

._tag.orange{background: var(--orange-400, #FB923C); color: var(--neutral-00, #FFF);}
._tag.orange-tinted{background: var(--orange-50, #FFF7ED); color: var(--orange-500, #F97316);}

._tag.lime-tinted{background: var(--lime-100, #ECFCCB);color: var(--lime-900, #365314);}

._tag.green{background: var(--green-500, #22C55E); color: var(--neutral-00, #FFF);}
._tag.green-tinted{background: var(--green-50, #F0FDF4); color: var(--green-900, #14532D);}



._tag.teal{background: var(--teal-500, #00867D); color: var(--neutral-00, #FFF);}
._tag.teal-tinted{background: var(--teal-40, #E3F8F4); color: var(--teal-500, #00867D);}

._tag.blue-light{background: var(--blue-light-500, #007DBC); color: var(--neutral-00, #FFF);}
._tag.blue-light-tinted{background: var(--blue-light-40, #ECF5FB); color: var(--blue-light-600, #006398);}

._tag.blue{background: var(--blue-500, #596AEB); color: var(--neutral-00, #FFF);}
._tag.blue-tinted{background: var(--blue-40, #EEF4FF); color: var(--blue-750, #1A18BA);}

._tag.lilac{background: var(--lilac-500, #A448E9);color: var(--neutral-00, #FFF);}
._tag.lilac-outline{border: 1px solid var(--lilac-500, #A448E9);background: var(--neutral-00, #FFF); color: var(--lilac-500, #A448E9);}


/* pagination */
._pagination{display: flex; justify-content: space-between; align-items: center; align-items: stretch;}
._pagination .number{display: flex; gap: 0;}
._pagination .number a{font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb); text-indent: 0; border-radius: 4px; width: 32px; height: 32px;}
._pagination .number .on a{background: var(--neutral-750, #333C4B);  pointer-events: none; color: var(--neutral-00, #FFF);}

/* tag_text */
._tag_text{display: flex; gap: 4px;}
._tag_text .text{color: var(--neutral-600, #555F6F); font: var(--caption-caption2-r); letter-spacing: var(--ls-caption-caption2-r); }



/* text_button */
._text_button{display: inline-flex; align-items: center; gap: 10px;}
._text_button .text{font: var(--label-label2-r); letter-spacing: var(--ls-labe-label2-r);}


/* calendar */

.calendar-popup {width: 400px; border-radius: var(--corner-radius-xl, 12px); border: 1px solid var(--neutral-120, #D6DEE8); background: var(--neutral-00, #FFF); box-shadow: 0 25px 80px -12px rgba(18, 18, 23, 0.16); position: absolute; z-index: 1040;}

.calendar-popup.hidden {display: none;}

.calendar-header {margin: 16px 20px 0; padding: 16px 0; display: flex; align-items: center; justify-content: space-between; font: var(--title-title5-sb);}

.calendar-guide{display: flex; padding: 8px; align-items: flex-start; justify-content: center; gap: 4px; align-self: stretch;border-radius: 4px; background: var(--brand-40, #F4F3FF);color: var(--brand-600, #6633EC); font: var(--caption-caption1-r); margin: 0 20px; text-align: center;}
.calendar-weekdays, .calendar-days {display: grid; grid-template-columns: repeat(7, 1fr); text-align: center;}

.calendar-weekdays {margin: 0 20px; padding-bottom: 4px; color: var(--neutral-400, #8692A3); font-size: 16px; font-weight: 500; line-height: 24px;}
.calendar-weekdays div{height: 48px; display: flex; align-items: center; justify-content: center;}

.calendar-days{ margin: 0 20px 16px; gap: 6px 4px;}
.calendar-days div {cursor: pointer; font: var(--body-body1-sb); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; position: relative;}

.calendar-days div.disabled {color: var(--neutral-200, #BDC7D6); cursor: default;}

.calendar-days div.selected {border-radius: 24px 0 0 24px; background: var(--neutral-750, #333C4B); color: var(--neutral-00, #FFF);}
.calendar-days div.selected ~ .selected{border-radius: 0 24px 24px 0; background: var(--neutral-750, #333C4B); color: var(--neutral-00, #FFF);}
.calendar-days div.in-range + .selected{border-radius: 0 24px 24px 0; background: var(--neutral-750, #333C4B); color: var(--neutral-00, #FFF);}
.calendar-days div.multi-selected{border-radius: var(--corner-radius-Full-round, 9999px); background: var(--neutral-700, #404040); color: var(--neutral-00, #FFF);}

.calendar-days div.in-range{background: var(--neutral-40, #F0F4F8);}
.calendar-days div.in-range:not(:nth-child(7n)):after{content: ''; display: block; position: absolute; right: -5px; top: 0; width: 5px; height: 100%; background: var(--neutral-40, #F0F4F8);}
.calendar-days div.selected+.in-range:not(:nth-child(7n+1)):before{content: ''; display: block; position: absolute; left: -5px; top: 0; width: 5px; height: 100%; background: var(--neutral-40, #F0F4F8);}

.calendar-days div.today:after {content: ''; display: block; width: 4px; height: 4px; border-radius: 100%; background: var(--neutral-750, #333C4B); position: absolute; bottom: 6px;}
.calendar-days div.single-selected{color: var(--neutral-00, #FFF); outline: 1px solid var(--brand-500, #7A5AF8); border-radius: 100%;}
.calendar-days div.single-selected:before{content: ''; display: block; width: 44px; height: 44px; background: #333C4B; border-radius: 100%; position: absolute; z-index: -1;}


.calendar-footer {display: flex; padding: 16px; border-top: 1px solid var(--neutral-80, #E2E8EF); justify-content: space-between; align-items: center;}


/* 토스트 스타일 */
.calendar-popup .toast {position: absolute; display: flex; justify-content: center;  bottom: 94px; opacity: 0; width: 100%; pointer-events: none;}
.calendar-popup .toast span{border-radius: 4px; background: var(--rose-500, #DF2E5C);display: flex; padding: 12px; align-items: center; gap: 6px;  font: var(--label-label3-sb); color: var(--neutral-00, #FFF);}
.calendar-popup .toast span:before{content: ''; display: block; width: 18px; height: 18px; background: url('/images/icon/icon-info-fill-white.svg')no-repeat; background-size: contain; flex-shrink: 0;}
.calendar-popup .toast span{flex-shrink: 0;}
.calendar-popup .toast.show {opacity: 1;}



/* gnb */
._menu_gnb{display: flex; color: var(--neutral-900, #151C29); font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb);padding: 0 12px; align-items: center;}

/* menu-sub */
._menu_sub-1{display: flex; position: relative; height: 52px; padding: 12px 16px 0px 24px; align-items: center; gap: 4px; color: var(--neutral-900, #151C29); font: var(--title-title7-sb); letter-spacing: var(--ls-title-title7-sb); justify-content: space-between; position: relative;}
._menu_sub-1 button{position: absolute; right: 5px; bottom: 1px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;}
._menu_sub-1 button img{width: 16px; height: 16px; transition: all 0.2s ease;}

._menu_sub-2{display: flex; flex-direction: row; height: 46px; padding: 8px 24px 0; align-items: center; justify-content: space-between; font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb); color: var(--neutral-900, #151C29); position: relative;}
._menu_sub-2 button{position: absolute; right: 11px; bottom: 0; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;}
._menu_sub-2 button img{width: 12px; height: 12px;}

._menu_sub-3{display: flex; flex-direction: row; height: 40px; padding: 0 8px 0 24px; align-items: center; justify-content: flex-start; font: var(--label-labe3-r); letter-spacing: var(--ls-label-label3-r); color: var(--neutral-750, #333C4B);}

/* modal */
._modal_container{position: fixed; left: 0; top: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; z-index: 1040; display: none;}
.dimmer{content: ''; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.20); z-index: 1039; display:none;}
._modal_container.show, .dimmer.show{display: flex;}

._modal_wrapper{max-width: 560px; max-height: calc(100% - 96px); border-radius: 16px; background: var(--neutral-00, #FFF); width: 100%; display: flex; flex-direction: column;}

._modal_header{display: flex; padding: 0px 8px 0px 24px; border-bottom: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); align-items: center; gap: 8px;}
._modal_header.medium{height: 52px}
._modal_header.small{height: 46px}

._modal_header.medium ._modal_title{flex-grow: 1; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
._modal_header.small ._modal_title{flex-grow: 1; font: var(--title-title7-b); letter-spacing: var(--ls-title-title7-b);}

._modal_header.medium ._modal_close{width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
._modal_header.medium ._modal_close img{width: 24px;}
._modal_header.small ._modal_close{width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
._modal_header.small ._modal_close img{width: 18px;}

._modal_contents{display: flex; flex-direction: column; overflow-y: auto; flex-grow: 1;}
._modal_contents table.row tr:last-child{border-bottom: none;}
._modal_footer{display: flex; gap: 12px; justify-content: center;}
._modal_footer ._button{flex: 1 0 0;}
._modal_footer.medium{padding: 12px 16px; border-top: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));}
._modal_footer.small{padding: 0 16px 16px;}
._modal_footer.medium .w128{flex: 0 0 128px;}
._modal_footer .btn_wrap{display: flex; gap: 12px; align-items: center;}
._modal_footer .btn_wrap ._button.large{flex: 1 0 0;}

._modal_container.confirm{background-color: rgba(0,0,0,0.2);}
._modal_container.confirm ._modal_wrapper{max-width: 360px;}
._modal_container.confirm ._modal_contents{padding: 32px 24px; gap: 12px; overflow: visible; text-align: center; min-height: 120px; justify-content: center;}
._modal_container.confirm ._modal_contents strong{font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
._modal_container.confirm ._modal_contents p{color: var(--neutral-750, #333C4B); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}

/* counter */
._counter{display: flex; padding: 4px; border-radius: 6px; border: 1px solid var(--neutral-200, #BDC7D6); background: var(--neutral-00, #FFF); align-items: center; gap: 4px;}
._counter button{width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;}
._counter button:before{content: ''; display: block; width: 18px; height: 18px; background-size: contain; background-repeat: no-repeat;}
._counter button.plus:before{background-image: url('/images/icon/icon-plus.svg');}
._counter button.minus:before{background-image: url('/images/icon/icon-minus.svg');}
._counter input{width: 36px; text-align: center; border: none !important; outline: none !important; font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}

/* prd_counter */
._prd_counter{display: flex; padding: 12px; border-radius: 6px; background: var(--neutral-20, #F8FAFC); flex-direction: column; align-items: flex-start; gap: 8px; align-self: stretch;}
._prd_counter .name{display: flex; justify-content: space-between; align-items: flex-start; align-self: stretch;}
._prd_counter .name strong{padding: 5px 0; font: var(--body-bod1-r); letter-spacing: var(--ls-body-body1-r);}
._prd_counter .counter_price{display: flex; justify-content: space-between; align-items: center; align-self: stretch;}
._prd_counter .price{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}

/* tab */
._tab{padding: 0 24px; background: #FFF; display: flex; overflow-x: auto;  z-index: 10;}
._tab li{flex-shrink: 0; padding: 13px 16px; display: inline-flex; gap: 4px; align-items: center; font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb); position: relative; cursor: pointer; justify-content: center; user-select: none;}
._tab li img{width: 12px; height: 12px;  opacity: 0.5;}
._tab li.active{color: var(--brand-600, #6633EC);}
._tab li.active:before{content: ''; display: block; width: 100%; height: 2px; position: absolute; left: 0; bottom: 0; background: var(--brand-600, #6633EC);}

/* button_heart */
._button_heart{width: 38px; height: 38px; border-radius: 100%;  display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
._button_heart:before{content: ''; display: block; width: 24px; height: 24px; background: url('/images/icon/icon-heart.svg')no-repeat; background-size: 24px;}
._button_heart.on:before{content: ''; display: block; width: 24px; height: 24px; background: url('/images/icon/icon-heart-fill.svg')no-repeat; background-size: 24px;}

/* sort */
.dropdown_wrap.sort button{color: var(--neutral-600, #555F6F);}
.dropdown_wrap.sort button img{opacity: 0.8}
.dropdown_wrap.sort .dropdown{ margin: 0; max-width: none; width: auto; border-radius: 12px;}
.dropdown_wrap.sort .dropdown .contents{padding: 12px; gap: 4px; flex-direction: column; align-items: flex-start; width: max-content;}
.dropdown_wrap.sort input[type="radio"]+label:before, .dropdown_wrap.sort input[type="radio"]+label:after{display: none;}
.dropdown_wrap.sort input[type="radio"]+label{font: var(--label-label3-r); letter-spacing: var(--ls-label-label3-r); align-self: stretch;}

/* table */
table.row tr{border-bottom: 1px solid var(--neutral-120, #D6DEE8);}
table.row th{background: var(--neutral-40, #F0F4F8); padding: 12px 24px; font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb); text-align: left;}
table.row td{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); padding: 12px;}
table.row td > *:not(:first-child){margin-top: 12px;}
table.row .label_body_caption{display: flex; flex-direction: column;}
table.row .label{color: var(--neutral-750, #333C4B); font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb);}
table.row .caption{color: var(--neutral-600, #555F6F); font: var(--body-body2-r); ;letter-spacing: var(--ls-body-body2-r);}
table.row .title{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb); display: block;}

/* 더보기 */
.dropdown_wrap.more .dropdown{left: auto; right: 8px; border-radius: 0; max-width: 73px; margin: 0; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.24), 0 24px 48px 0 rgba(18, 18, 23, 0.03), 0 10px 18px 0 rgba(18, 18, 23, 0.03), 0 5px 8px 0 rgba(18, 18, 23, 0.04), 0 2px 4px 0 rgba(18, 18, 23, 0.04); border-radius: 0;}
.dropdown_wrap.more .dropdown .contents{flex-direction: column; padding: 8px 0; gap: 0; align-items: normal; width: auto;}

/* container */
#contents{ min-height: calc(100vh - 270px); position: relative;}
.container{max-width: 992px; margin: 0 auto;}
body{font-family: 'Pretendard'; color: var(--neutral-900);}

/* header */
header{height: 68px;}
header .fixed{position: fixed; left: 0; top: 0; width: 100%; height: 68px; background: var(--neutral-00, #FFF); box-shadow: 0px 1px 0px 0px rgba(21, 28, 41, 0.08); z-index: 1000;}
header .container{padding: 0 18px 0 28px; display: flex; justify-content: space-between; align-items: center; height: 100%; max-width: 1240px; width: 100%; position: relative; margin: 0 auto;}
header .container .left{display: flex; align-items: center; flex: 1 0 0; gap: 24px; align-self: stretch;}
header .container .logo{width: 108px;}
header .container .divider{width: 1px; height: 12px; background: var(--neutral-120, #D6DEE8);}
header .container .menu{display: flex; align-items: center; align-self: stretch;}
header .container .menu li{display: flex; align-self: stretch; }
header .container .menu li a.active{color: var(--brand-600, #6633EC);}
header .container .right{display: flex; align-items: center; gap: 12px; }
header .container .right > button, header .container .right > a{width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 12px; position: relative;}
header .container .right > button.on{background: var(--neutral-40, #F0F4F8);}
header .container .btn_header_right.on{background: var(--neutral-40, #F0F4F8);}
header .container .right .login{font: var(--label-label2-sb); letter-spacing: var(--ls-label-label2-sb); padding: 0 12px; color: var(--neutral-900, #151C29); width: auto;}
header .container .right ._badge.count, header .container .right ._badge.count{position: absolute; right: 0; top: 0;}
header .container .right ._badge.dot, header .container .right ._badge.dot{position: absolute; right: 12px; top: 12px;}

/* 헤더 메뉴 */
header .menu_sub{position: absolute; right: 18px; top: 68px; z-index: 1000;  width: 356px; border-radius: 16px; box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.24), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 2px 4px 0px rgba(18, 18, 23, 0.04); max-height: calc(100vh - 86px); background: #FFF;  overflow-y: auto; display: flex; flex-direction: column; gap: 2px; display: none; scrollbar-gutter: stable;}
header .cate{display: flex; flex-direction: column; gap: 2px; padding-bottom: 32px;}
header .menu_sub .menu_sub_header{display: flex; justify-content: space-between; padding: 12px 4px 0px 24px; align-items: center;}
header .menu_sub .menu_sub_header .login{display: flex; align-items: center; gap: 4px; padding: 0;}
header .menu_sub .menu_sub_header .login strong{color: var(--neutral-900, #151C29); font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
header .menu_sub .menu_sub_header .login .arrow{width: 12px; opacity: 0.5;;}
header .menu_sub .menu_sub_header button{width: 38px; height: 38px; }
header .menu_sub .menu_sub_header button img{width: 18px; height: 18px;}

header .menu_sub .box_wrap{padding: 0 16px;}
header .menu_sub .box{border-radius: 8px; background: var(--neutral-20, #F8FAFC); padding: 8px 0; gap: 2px; width: 100%;}
header .menu_sub .category{padding: 8px 12px 16px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between;}
header .menu_sub .category li{width: 58px;}
header .menu_sub .category a{display: flex; flex-direction: column; align-items: center; font: var(--label-label4-r); letter-spacing: var(--ls-label-labe4-r);}
header .menu_sub .category a img{width: 100%;}
header .menu_sub .depth2{padding: 0 16px; display: flex; flex-direction: column; gap: 2px;}
header .menu_sub .partner{margin: 16px 0; border-top: 1px solid var(--neutral-80, #E2E8EF); border-bottom: 1px solid var(--neutral-80, #E2E8EF); padding: 8px 0 20px;}

/* 헤더 검색 */
.modal_search{position: fixed; left: 0; top: 0; width: 100%; height: 100%;  background: rgba(0, 0, 0, 0.20); display: flex; flex-direction: column; display: none; z-index: 1040;}
.modal_search.show{display: flex;}
.modal_search .container{width: 100%; max-width: 600px; align-items: normal;}
.modal_search .wrapper{background: #FFF; display: flex; flex-direction: column;}
.modal_search .title{border-bottom: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));height: 52px; flex-shrink: 0;}
.modal_search .title .container{ display: flex; justify-content: flex-end; height: 100%; align-items: center;}
.modal_search .contents{padding: 32px 0 ; display: flex; flex-direction: column; gap: 48px;}
.modal_search .tab{display: flex; gap: 12px;}
.modal_search .tab input[type="radio"]+label{padding: 0; padding: 0 12px; border-radius: 4px; border: 1px solid var(--neutral-120, #D6DEE8); font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb); height: 32px; flex: 1 0 0; justify-content: center; cursor: pointer; align-items: center;}
.modal_search .tab input[type="radio"]:checked+label{border: 1px solid var(--neutral-750, #333C4B);; background: var(--neutral-750, #333C4B); color: var(--neutral-00, #FFF);}
.modal_search .tab input[type="radio"]+label:before, .modal_search .tab input[type="radio"]+label:after{display: none !important;}
.modal_search .search_input{display: flex; flex-direction: column; gap: 18px;}
.modal_search section{display: flex; flex-direction: column; gap: 14px;}
.modal_search section .search_word_title{display: flex; justify-content: space-between; align-items: center;}
.modal_search section h6{font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.modal_search section .contents{display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start; flex-direction: row; padding: 0;}

/* 알림함 */
.alarm_modal{position: absolute; right: 138px; top: 68px; z-index: 1000;  width: 356px; border-radius: 16px; box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.24), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 2px 4px 0px rgba(18, 18, 23, 0.04); max-height: calc(100vh - 86px); background: #FFF;  overflow-y: auto; display: flex; flex-direction: column; gap: 2px; display: none;}
.alarm_modal .layer_title{height: 52px; flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; padding: 12px 4px 0 24px;}
.alarm_modal .layer_title strong{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}
.alarm_modal ul{padding: 20px 36px 20px 24px; display: flex; flex-direction: column; gap: 12px;}
.alarm_modal li{padding-bottom: 12px; display: flex; flex-direction: column; gap: 6px;}
.alarm_modal li:not(:last-child){border-bottom: 1px solid var(--neutral-80, #E2E8EF); }
.alarm_modal li .title{display: flex; gap: 4px;}
.alarm_modal li .title strong{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}
.alarm_modal li .des{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r);}
.alarm_modal li .time{color: var(--neutral-500, #6C7888); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}


/* footer */
footer{background: var(--neutral-20, #F8FAFC); padding: 38px 0;}
footer .container{ display: flex; gap: 18px; max-width: 1240px; padding: 0 60px;}
footer .customer{display: flex; flex-direction: column; align-items: flex-start; gap: 16px; flex-basis: 225px; flex-shrink: 0;}
footer .customer strong{color: var(--neutral-750, #333C4B); font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
footer .customer p{color: var(--neutral-600, #555F6F); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
footer .right{flex-grow: 1; display: flex; flex-direction: column; gap: 18px;}
footer .link{display: flex; align-items: center; gap: 8px;}
footer .info{display: flex; gap: 2px 8px; font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); color: var(--neutral-600, #555F6F); flex-wrap: wrap;}
footer .copyright{font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r); color: var(--neutral-600, #555F6F);}


/* swiper-prev, swiper-next */
.swiper-outer{position: relative;}
.swiper-button-next, .swiper-button-prev{width: 38px ; height: 38px ; border-radius: 12px ; border: 1px solid var(--neutral-200, #BDC7D6); top: calc(50% - 100px); margin: 0;}
.swiper-button-next:active, .swiper-button-prev:active{background: var(--neutral-40, #F0F4F8);}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled{opacity: 0;}
.swiper-button-prev{left: 32px;}
.swiper-button-prev:after{content: ''; width: 18px; height: 18px; background: url('/images/icon/icon-chevron-left.svg')no-repeat; background-size: 18px;}
.swiper-button-next{right: 32px;}
.swiper-button-next:after{content: ''; width: 18px; height: 18px; background: url('/images/icon/icon-chevron-right.svg')no-repeat; background-size: 18px;}

/* swiper-pagination */
.swiper-pagination{position: static; display: flex ;justify-content: center;}
.swiper-pagination-bullet{width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background-color: transparent; opacity: 1; margin: 0 !important;}
.swiper-pagination-bullet:before{content: ''; display: block; width: 10px; height: 10px; border-radius: 100%; background: var(--neutral-120, #D6DEE8);}
.swiper-pagination-bullet-active:before{background: var(--brand-500, #7A5AF8);}



/* 렌트 상품 리스트 */
.rent_product{display: flex; flex-direction: column;}
.rent_product .thumb{aspect-ratio: 1/1; position: relative;border-radius: 12px 12px 0px 0px; border-top: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-right: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-left: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));overflow: hidden;}
.rent_product .thumb ._button_heart{border: 1px solid var(--neutral-00, #FFF);background: var(--neutral-alpha-800, rgba(255, 255, 255, 0.80)); position: absolute; right: 8px; bottom: 8px;}

.rent_product .thumb img{width: 100%; height: 100%; object-fit: cover; }
.rent_product .rank_box{display: flex; padding: 16px 14px; background: var(--neutral-40, #F0F4F8); gap: 2px; border-radius: 0 0 12px 12px;}
.rent_product .rank_box .rank{width: 28px; display: flex; justify-content: center; font-size: 24px; font-weight: 700; line-height: 100%; letter-spacing: -0.08px; color: var(--brand-600, #6633EC); flex-shrink: 0;}
.rent_product .text{display: flex; flex-direction: column; gap: 4px; flex-grow: 1; padding: 16px 0;}
.rent_product .rank_box .text{padding: 0;}
.rent_product .text .brand{font: var(--body-body2-b); letter-spacing: var(--ls-body-body2-b); overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.rent_product .text .name{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); overflow: hidden;}
.rent_product .text .sales{display: flex; gap: 4px; padding: 0 0 12px;}
.rent_product .text .sales dt{color: var(--neutral-600, #555F6F); font: var(--body-body2-sb); letter-spacing: var(--ls-body-body2-sb);}
.rent_product .text .sales dd{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); display: flex; align-items: center;}
.rent_product .text .sales dd strong{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}
.rent_product .text .location{display: flex; align-items: center; color: var(--neutral-600, #555F6F); font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.rent_product .text .location img{width: 16px; height: 16px; opacity: 0.5;}



/* 샵 상품 리스트 */
.shop_product{display: flex; flex-direction: column;}
.shop_product .thumb{aspect-ratio: 1/1; position: relative;border-radius: 12px 12px 0px 0px; border-top: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-right: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-left: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));overflow: hidden;}
.shop_product .thumb ._button_heart{border: 1px solid var(--neutral-00, #FFF);background: var(--neutral-alpha-800, rgba(255, 255, 255, 0.80)); position: absolute; right: 8px; bottom: 8px;}

.shop_product .thumb img{width: 100%; height: 100%; object-fit: cover; }
.shop_product .rank_box{display: flex; padding: 16px 14px; background: var(--neutral-40, #F0F4F8); gap: 2px; border-radius: 0 0 12px 12px;}
.shop_product .rank_box .rank{width: 28px; display: flex; justify-content: center; font-size: 24px; font-weight: 700; line-height: 100%; letter-spacing: -0.08px; color: var(--brand-600, #6633EC); flex-shrink: 0;}
.shop_product .text{display: flex; flex-direction: column; flex-grow: 1; padding: 16px 0;}
.shop_product .rank_box .text{padding: 0;}
.shop_product .text .brand{font: var(--body-body2-b); letter-spacing: var(--ls-body-body2-b); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-bottom: 4px;}
.shop_product .text .name{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); overflow: hidden; margin-bottom: 8px;}
.shop_product .text .tag{display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 12px;}
.shop_product .text .sales{display: flex; flex-direction: column; gap: 4px; padding: 12px 0 0 0;}
.shop_product .text .sales dl{display: flex; align-items: center; justify-content: space-between;}
.shop_product .text .sales dt{color: var(--neutral-600, #555F6F); font: var(--caption-caption2-sb); letter-spacing: var(--ls-caption-caption2-sb);}
.shop_product .text .sales dd{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.shop_product .text .sales strong{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}

/* 샵 상품 리스트 */
.contents_product{display: flex; flex-direction: column;}
.contents_product .thumb{aspect-ratio: 1.7/1; position: relative;border-radius: 12px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); overflow: hidden;}
.contents_product .thumb ._button_heart{border: 1px solid var(--neutral-00, #FFF);background: var(--neutral-alpha-800, rgba(255, 255, 255, 0.80)); position: absolute; right: 8px; bottom: 8px;}
.contents_product .text{display: flex; flex-direction: column; padding: 16px 0;}
.contents_product .text .tag{padding-bottom: 12px; display: flex; flex-wrap: wrap; gap: 4px;}
.contents_product .text .name{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-bottom: 8px;}
.contents_product .text .price{padding: 12px 0 4px; display: flex; align-items: center; justify-content: space-between;}
.contents_product .text .price dt{color: var(--neutral-600, #555F6F); font: var(--caption-caption2-sb); letter-spacing: var(--ls-caption-caption2-sb);}
.contents_product .text .price dd{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.contents_product .text .price dd strong{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}

/* 전문가 매칭 상품 리스트 */
.expert_product{display: flex; overflow: hidden; padding: 12px; border-radius: 12px; border: 1px solid var(--neutral-120, #D6DEE8); flex-direction: column; }
.expert_product .select_area{display: flex; align-items: flex-start;}
.expert_product .contents{flex-grow: 1 !important; display: flex !important; gap: 10px !important; padding: 12px !important; width: 0 !important; flex-direction: row !important;}
.expert_product .contents img{width: 44px; height: 44px; flex-shrink: 0; border-radius: 100%;}
.expert_product .detail{display: flex; flex-direction: column; flex-grow: 1; gap: 8px; width: 0;}
.expert_product .detail .text{display: flex; flex-direction: column; gap: 12px;}
.expert_product .detail .text .name{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.expert_product .tag{display: flex; flex-wrap: wrap; gap: 4px;}
.expert_product ._button_heart{flex-shrink: 0;}
.expert_product .price_wrap{display: flex; padding: 0 12px 12px 12px; justify-content: flex-end; align-items: center; gap:4px;}
.expert_product .price_wrap .time{color: var(--neutral-600, #555F6F); font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.expert_product .price_wrap .price{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.expert_product .price_wrap .price strong{font: var(--body-body2-b); letter-spacing: var(--ls-body-body2-b);}

/* 커뮤니티 리스트 */
.community_list{border-bottom: 1px solid var(--neutral-80, #E2E8EF); padding: 16px 4px 12px; display: flex; flex-direction: column; gap: 6px;}
.community_list .tag{display: flex; justify-content: flex-start;}
.community_list .text_wrap{display: flex; flex-direction: column; align-items: flex-start; gap: 4px;}
.community_list .text_wrap .title{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb); padding: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%;}
.community_list .text_wrap .contents{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); height: 38px; overflow: hidden; padding: 0; width: 100%;}
.community_list .text_wrap .bottom{display: flex; align-items: center; justify-content: space-between; align-self: stretch;}
.community_list .text_wrap .write_info{display: flex; gap: 6px; align-items: center; color: var(--neutral-600, #555F6F); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); flex-grow: 1;}
.community_list .text_wrap .write_info .info{display: flex; align-items: center; flex-shrink: 0;}
.community_list .text_wrap .write_info .info:not(:first-child){overflow: hidden; text-overflow: ellipsis; white-space: nowrap;  width: 0; flex-grow: 1; display: -webkit-box;-webkit-box-orient: vertical; -webkit-line-clamp: 1;}
.community_list .text_wrap .write_info .info:not(:first-child):before{content: ''; display: inline-block; width: 1.4px; height: 1.4px; border-radius: 100%; background: var(--neutral-600, #555F6F); flex-shrink: 0; vertical-align: middle; margin: 0 6px 0 0;}
.community_list .text_wrap .engagement{display:flex; align-items: center; gap: 12px; color: var(--neutral-600, #555F6F); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.community_list .text_wrap .engagement .info{display: flex; align-items: center; gap: 2px;}
.community_list .text_wrap .engagement .likes:before{content: ''; display: block; width: 18px; height: 18px; background: url('/images/icon/icon-thumbsup-neutral600.svg')no-repeat; background-size: contain;}
.community_list .text_wrap .engagement .comments:before{content: ''; display: block; width: 18px; height: 18px; background: url('/images/icon/icon-comment-neutral600.svg')no-repeat; background-size: contain;}


/* 검색 페이지 상단 */
.search_top{border-bottom: 1px solid var(--neutral-80, #E2E8EF);}
.search_top .container{width: 100%;  display: flex; flex-direction: column; }
.search_top .page_top{padding: 32px 0; display: flex; flex-direction: column; gap: 12px; }
.search_top .page_top h2{font: var(--title-title4-b);}
.search_top .page_top ._input{max-width: 400px; width: 100%;}
.search_top .filter_wrap{margin: 12px 0 0 0; display: flex; flex-wrap: wrap; gap: 6px;}
.seclect_filter_wrap{background: var(--brand-20, #FAFAFF); border-bottom: 1px solid var(--neutral-80, #E2E8EF); padding: 15px 0;}
.seclect_filter_wrap .container{display: flex; align-items: center; justify-content: space-between;;}
.seclect_filter_wrap .select_list{display: flex; gap: 12px; flex-wrap: wrap; flex-grow: 1;}
.seclect_filter_wrap .btn_filter_reset{opacity: 0.5;}
.search_tab_wrap ._tab{padding: 0;}

/* 검색결과 없음 */
.goods_list_empty{min-height: 300px; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; font: var(--title-title7-b); letter-spacing: var(--ls-title-title7-b); justify-content: center;}
.goods_list_empty img{width: 112px;}


/* 마이페이지 모달 공통 */
.mypage ._modal_container .goods_info{ display: flex; gap: 20px; align-items: flex-start; background: var(--neutral-40, #F0F4F8); padding: 16px;}
.mypage ._modal_container .goods_info .thumb{border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-radius: 12px; width: 100px; height: 100px; object-fit: cover; flex-shrink: 0;}
.mypage ._modal_container .goods_info .text{display: flex; flex-direction: column; gap: 4px; padding: 4px 0;}
.mypage ._modal_container .goods_info .title{display: flex; gap: 4px; align-items: center;}
.mypage ._modal_container .goods_info .title .cate_img{width: 20px; height: 20px;}
.mypage ._modal_container .goods_info .title .cate_name{font: var(--title-title7-b); letter-spacing: var(--ls-title-title7-b);}
.mypage ._modal_container .goods_info .title .state{color: var(--brand-600, #6633EC); font: var(--label-labe3-r); letter-spacing: var(--ls-label-label3-r);}
.mypage ._modal_container .goods_info .goods_name{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r);}
.mypage ._modal_container .goods_info .price{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b);}
.mypage ._modal_container .goods_info .option{color: var(--neutral-500, #6C7888); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}

.mypage ._modal_container .form_wrap{display: flex; flex-direction: column; gap: 8px; padding: 14px 24px 24px;}
.mypage ._modal_container .form_wrap textarea{height: 207px;}

/* GNB */
#subMenu .btn_toggle img {transition: transform 0.3s ease;}
#subMenu .btn_toggle.rotated img {transform: rotate(180deg);}

#subMenu .btn_toggle2 img {transition: transform 0.3s ease;}
#subMenu .btn_toggle2.rotated img {transform: rotate(180deg);}