@charset "utf-8";
:root {
  --bs-nav-link-font-size:17px;
}
:root {
  --logo-image-white: url('../../../img/logo/suto_hangul_white_v-1.png'); /* 다크 테마 로고 */
}

:root[color-theme='light'] {
  /* 스위치 버튼 */
  --lightVisible: none;
  --darkVisible: inline-block;
  /* background */
  --inputBg: #fff;
  --inputBg2: #f1f1f1;  
  --searchBg: #F5F6F7;
  --bodyBg: #fff;
  --headerBg: #fff;
  --footerBg: #f7f7f7;
  --grayBg: #f9f9f9;
  --lightGray: #a0aec0;  
  --contBg: #fff;
  --gnbBg: #fff;
  --menuBg: #6dc8c6;
  --joinBg: #f7f7f7;
  --prHover: #f7f7f7;
  --pointBg: #edf3fc;
  --closedBg: #f5f5f5;
  --bovHover: #f7f7f7;
  --boNoticeBg: #f9f9f9;
  --twotoneBg: #f8f9fd;
  --pinkBg:#fff4f8;  
  --wrapperBg: #ffffff;
  --btnBgColor: #f9f9f9;
  --btnBgColorHover: #f7f7f7;
  --btnBgColorSelected: #63a2d6;
  --disabledBg: #f3f3f3;
  --chatTitleBg: #4cadac;
  --submitBtn: #007bff;  
  --descriptionBg: #f3f9ff;
  --descriptionBorder: #cce5ff;
  --descriptioncolor: #333;
  --lightblueBg: #f0f4ff;
  /* reward components */
  --reward-card-bg: #ffffff;
  --reward-card-border: #e5e5e5;
  --reward-section-bg: #ffffff;
  --reward-section-alt-bg: #f9fbff;
  --reward-muted-text: #4b5563;
  --reward-soft-text: #6b7280;
  --reward-strong-text: #111827;
  --reward-summary-strong: #111827;
  --reward-progress-track: #e5e7eb;
  --reward-progress-icon-inactive-bg: #e5e7eb;
  --reward-progress-icon-inactive-color: #6b7280;
  --reward-progress-icon-unscheduled: #9ca3af;
  --reward-placeholder-gradient: linear-gradient(135deg,#93c5fd,#38bdf8);
  --reward-card-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  --reward-divider: rgba(148, 163, 184, 0.25);
  --reward-status-pending-bg: #fef3c7;
  --reward-status-pending-text: #92400e;
  --reward-status-approved-bg: #dcfce7;
  --reward-status-approved-text: #166534;
  --reward-status-paid-bg: #e0f2fe;
  --reward-status-paid-text: #075985;
  --reward-status-rejected-bg: #fee2e2;
  --reward-status-rejected-text: #b91c1c;
  --reward-status-unknown-bg: #e5e7eb;
  --reward-status-unknown-text: #4b5563;
  --reward-status-submitted-bg: #fef9c3;
  --reward-status-submitted-text: #854d0e;
  --reward-status-reviewed-bg: #dbeafe;
  --reward-status-reviewed-text: #1e40af;
  --reward-status-canceled-bg: #f3f4f6;
  --reward-status-canceled-text: #475569;
  --reward-status-expired-bg: #e5e7eb;
  --reward-status-expired-text: #374151;
  --reward-status-not-selected-bg: #eef2f7;
  --reward-status-not-selected-text: #475569;

  /* brand campaign (light) */
  --brand-hero-bg: linear-gradient(135deg,#eef2ff,#e6fffa);
  --brand-surface: #ffffff;
  --brand-border: #e2e8f0;
  --brand-text: #0f172a;
  --brand-muted: #475569;
  --brand-soft: #94a3b8;
  --brand-primary: #0ea5e9;
  --brand-shadow: 0 4px 12px rgba(15,23,42,0.05);
  --brand-shadow-strong: 0 10px 24px rgba(15,23,42,0.1);
  --brand-tag-running-bg: #ecfeff;
  --brand-tag-ended-bg: #f8fafc;
  --brand-placeholder: linear-gradient(135deg,#f8fafc,#e2e8f0);

  /* 폰트색상 */
  --fontColor: #333;
  --fontColor2: #666;
  --fontColor3: #999;
  --fontRed: #da4614;
  --disabledColor: #bbb;
  --gnbFontColor: #080808;
  --prFontColor: #465168;
  --btnColor: #000;
  --bovColor: #888;
  --tdColor: #666;
  --shareColor: #555;
  --iconColor: #4b5259;
  --ptStatusColor: #737373;
  --ptStatusColor: #737373;
  --moreOptColor: #6b757c;
  --mainColor:#6ec6c1;
  --mainColorHover:#58b6b1;
  --mainColorBlue:#3DA5F4;
  --mainColorBlueHover:#2e9cf0;
  --mainColor2:#fdd128;
  --blueColor: #2C8BEF;
  --grayColor: #959ea5;
  --request_service: #3a8afd;
  --chatColor: #2D3748;
  --chatBubble1: #A1A5AB;
  --chatBubble2: #ffffff;  
  --ddd: #ddd;  
  /* border */
  --border: 1px solid #E8E8E8;
  --border3px: 3px solid #E8E8E8;
  --border2: 1px solid #eee;  
  --lightblueborder: 1px solid #cce0ff;;
  --borderBottom: 1px solid #e8ecf0;
  --inputBorder: 1px solid #d0d3db;
  --gnbBorder: 1px solid #e0e2e5;
  --olBorder: 1px solid #d5d9dd;
  --scrabBorder: 1px solid #e5ecee;
  --pinkBorder: 1px solid #e6b9ca;    
  --afterBorder: transparent transparent #fff transparent;
  --beforeBorder: transparent transparent #e5ecee transparent;
  --btnBorder: 1px solid #d5d9dd;
  --dotted: 2px dashed #ddd;
  /* login notice 전용 */
  --loginNoticeBg: #f9f9f9;
  --loginNoticeBorder: #eee;
  --loginNoticeColor: #444;
  --loginNoticeStrong: #d9534f;

  /* video preview */
  --video-shape-border: #dadada;
  --video-shape-bg: linear-gradient(145deg,#fafafa,#f0f0f0);
  --video-shape-shadow: inset 0 0 3px rgba(0,0,0,.06);
  --video-play-circle-bg: rgba(255,255,255,.95);
  --video-play-triangle: #6b7280; /* slate-500 톤 */

  /* logo */
  --logo-image: url('../../../img/logo/suto_hangul_black_v-1.png'); /* 라이트 테마 로고 */
}
:root[color-theme='dark'] {
  /* 스위치 버튼 */
  --lightVisible: inline-block;
  --darkVisible: none;
  /* background */
  --inputBg: #323235;
  --inputBg2: #272729;    
  --searchBg: #323235;  
  --bodyBg: #272829;
  --headerBg: #272829;
  --contBg: #212020;
  --gnbBg: #272829;
  --menuBg: #323235;
  --joinBg: #1e1f21;
  --prHover: #1e1f21;
  --pointBg: #323235;
  --closedBg: #343638;  
  --bovHover: #212020;
  --boNoticeBg: #343638;
  --twotoneBg: #272829;
  --wrapperBg: #272829;
  --footerBg: #272829;
  --grayBg: #383b3d;
  --lightGray: #1f1f1f;  
  --pinkBg:#d6c2ca;
  --btnBgColor: #323235;
  --btnBgColorSelected: #1f5e91;
  --btnBgColorHover: #444;;
  --disabledBg: #424242;  
  --chatTitleBg: #212020;  
  --chatBubble1: #424242;
  --chatBubble2: #4e4e4e;
  --lightblueBg: #1e293b;
  --descriptionBg: #1f2a36;
  --descriptionBorder: #3c4753;
  --descriptioncolor: #ddd;  
  --ddd: #424242;  
  /* reward components */
  --reward-card-bg: #1f2024;
  --reward-card-border: #383a40;
  --reward-section-bg: #1f2024;
  --reward-section-alt-bg: #202833;
  --reward-muted-text: #cbd5e1;
  --reward-soft-text: #94a3b8;
  --reward-strong-text: #f8fafc;
  --reward-summary-strong: #f8fafc;
  --reward-progress-track: #3a3d44;
  --reward-progress-icon-inactive-bg: #3a3d44;
  --reward-progress-icon-inactive-color: #94a3b8;
  --reward-progress-icon-unscheduled: #525c6a;
  --reward-placeholder-gradient: linear-gradient(135deg,#60a5fa,#2563eb);
  --reward-card-shadow: 0 18px 40px rgba(2, 6, 23, 0.55);
  --reward-divider: rgba(148, 163, 184, 0.2);
  --reward-status-pending-bg: rgba(250, 204, 21, 0.12);
  --reward-status-pending-text: #facc15;
  --reward-status-approved-bg: rgba(34, 197, 94, 0.14);
  --reward-status-approved-text: #4ade80;
  --reward-status-paid-bg: rgba(59, 130, 246, 0.18);
  --reward-status-paid-text: #93c5fd;
  --reward-status-rejected-bg: rgba(248, 113, 113, 0.18);
  --reward-status-rejected-text: #fca5a5;
  --reward-status-unknown-bg: rgba(148, 163, 184, 0.16);
  --reward-status-unknown-text: #cbd5f5;
  --reward-status-submitted-bg: rgba(250, 204, 21, 0.12);
  --reward-status-submitted-text: #facc15;
  --reward-status-reviewed-bg: rgba(59, 130, 246, 0.18);
  --reward-status-reviewed-text: #93c5fd;
  --reward-status-canceled-bg: rgba(148, 163, 184, 0.16);
  --reward-status-canceled-text: #cbd5e1;
  --reward-status-expired-bg: rgba(100, 116, 139, 0.18);
  --reward-status-expired-text: #9ca3af;
  --reward-status-not-selected-bg: rgba(148,163,184,0.16);
  --reward-status-not-selected-text: #cbd5e1;

  /* brand campaign (dark) */
  --brand-hero-bg: linear-gradient(135deg,#1f2937,#0f172a);
  --brand-surface: #1f2024;
  --brand-border: #30343c;
  --brand-text: #e5e7eb;
  --brand-muted: #94a3b8;
  --brand-soft: #64748b;
  --brand-primary: #38bdf8;
  --brand-shadow: 0 12px 28px rgba(2,6,23,0.45);
  --brand-shadow-strong: 0 18px 40px rgba(2,6,23,0.55);
  --brand-tag-running-bg: rgba(14,165,233,0.12);
  --brand-tag-ended-bg: rgba(148,163,184,0.12);
  --brand-placeholder: linear-gradient(135deg,#1f2937,#111827);

  /* 폰트색상 */
  --fontColor: #E0E0E0;
  --fontColor2: #a0a0a0;  
  --fontColor3: #666;  
  --fontRed: #F7683A;  
  --disabledColor: #7e7e7e;  
  --gnbFontColor: #a0a0a0;
  --prFontColor: #a0a0a0;
  --btnColor: #6FC7C5;
  --bovColor: #b9b9b9;
  --tdColor: #a0a0a0;
  --shareColor: #fff;
  --iconColor: #fff;
  --ptAllColor: #8d8c8c;
  --ptStatusColor: #2c2c2c;
  --moreOptColor: #a0a0a0;
  --mainColor:#4cadac;
  --mainColorHover:rgb(74, 170, 165);  
  --mainColorBlue:#4285f4;  
  --mainColorBlueHover:#2e9cf0;  
  --mainColor2:#f1a81f;  
  --blueColor: #3176a7;  
  --grayColor: #6b757c;  
  --submitBtn: #3176a7;  
  --chatColor: #a8b2c4;
  /* border */
  --border: 1px solid #383838;
  --border3px: 3px solid #383838;
  --border2: 1px solid #282828;    
  --borderBottom: 1px solid #383838;  
  --inputBorder: 1px solid #383838;  
  --gnbBorder: 1px solid #383838;
  --olBorder: 1px solid #383838;
  --pinkBorder: 1px solid #be9eab;
  --scrabBorder: 1px solid #616161;
  --afterBorder: transparent transparent #212020 transparent;
  --beforeBorder: transparent transparent #383838 transparent;
  --btnBorder: 1px solid #d5d9dd;
  --dotted: 2px dashed #383838;  
  --lightblueborder: 1px solid #334155;;
  /* filter */
  --invert: invert(92%);
  /* login notice 전용 (다크톤 맞춤) */
  --loginNoticeBg: #323235;
  --loginNoticeBorder: #444;
  --loginNoticeColor: #ddd;
  --loginNoticeStrong: #f7683a;

  /* video preview */
  --video-shape-border: #3a3d44;
  --video-shape-bg: linear-gradient(145deg,#2a2b2d,#232427);
  --video-shape-shadow: inset 0 0 3px rgba(0,0,0,.35);
  --video-play-circle-bg: rgba(0,0,0,.55);
  --video-play-triangle: #cbd5e1; /* slate-300 톤 */

  /* Logo */
  --logo-image: url('../../../img/logo/suto_hangul_white_v-1.png'); /* 다크 테마 로고 */
}

/* 기본 모두 숨김 */
#logo .logo-img-light,
#logo .logo-img-dark,
.simple-logo .logo-img-light,
.simple-logo .logo-img-dark {
    display: none;
    height: 34px;
    vertical-align: middle;
}

#logo img,
.simple-logo img {
  height: 34px;         /* 고정 높이 */
  width: auto;          /* 비율 자동 */
  max-width: 100%;
  vertical-align: middle;
}

/* 라이트 모드 로고 표시 */
:root[color-theme='light'] #logo .logo-img-light,
:root[color-theme='light'] .simple-logo .logo-img-light {
    display: inline;
}

/* 다크 모드 로고 표시 */
:root[color-theme='dark'] #logo .logo-img-dark,
:root[color-theme='dark'] .simple-logo .logo-img-dark {
    display: inline;
}



input[type=text], input[type=password], textarea {
  -webkit-transition: all 0.30s ease-in-out;
  -moz-transition: all 0.30s ease-in-out;
  -ms-transition: all 0.30s ease-in-out;
  -o-transition: all 0.30s ease-in-out;
  outline: none;
}
input, button {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif;
  font-size: 1em;
}
label, input, button, select, img {
  vertical-align: middle;
  font-size: 1em;
}
*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
/* 초기화 */
html {overflow-y:scroll}
body {margin:0;padding:0;font-size:0.75em;font-family:'Noto Sans KR', 'Malgun Gothic', sans-serif;background:var(--bodyBg)}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Noto Sans KR', 'Malgun Gothic', sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
ul, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:'Noto Sans KR', 'Malgun Gothic', sans-serif;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}
textarea, select {font-family:'Noto Sans KR', 'Malgun Gothic', sans-serif;font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:var(--fontColor);text-decoration:none}
*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
input[type=text],input[type=password], textarea {
-webkit-transition:all 0.30s ease-in-out;
-moz-transition:all 0.30s ease-in-out;
-ms-transition:all 0.30s ease-in-out;
-o-transition:all 0.30s ease-in-out;
outline:none;
}
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
border:1px solid #558ab7 !important;
}
.placeholdersjs {color:#aaa !important}
/* 레이아웃 크기 지정 */
#hd, #wrapper, #ft {min-width:1300px}

#wrapper, #hd {
  padding-left: 1rem;
  padding-right: 1rem;  
}

#hd_pop,
#hd_wrapper,
#tnb .inner,
#gnb .gnb_wrap,
#container_wr,
#ft_wr {width:1300px;display: flow-root; }
#container_full {width:100%;min-width:1300px;}
#container_wr_full, #full_content {width:100%;min-width:1300px;}
#full_content {padding:10px; margin:60px 0; background:var(--twotoneBg);}
.default_bg {background:var(--bodyBg) !important;}
/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
/* 상단 레이아웃 */
#hd {background:var(--headerBg)}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#tnb {border-bottom:var(--border);margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}
.hd_login .tnb_hot_icon {
    border: 1px solid var(--fontRed);
    color: var(--fontRed);
    padding: 2px 3px;
    text-align: center;
    right: 0px;
    top: -17px;
    border-radius: 3px;
    position: absolute;
    font-size: 11px;
}
#hd_wrapper {position:relative;margin:0 auto;zoom:1}
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}
#logo {float:left;padding:15px 0 10px 0px; margin-top:20px;}
#logo_src {width: 130px; height: 34px;content: var(--logo-image); }
#logo_src_white {width: 130px; height: 34px;content: var(--logo-image-white); }
#logo_src_setup {width: auto; height: 34px;}
.hd_sch_wr {float:left;padding-top:28px;width:445px;margin-left:35px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden;position:relative;}
#hd_sch #sch_stx {position:relative;width:100%;height:45px;padding-left:20px;border-radius:30px;background:var(--searchBg);border: 1px solid var(--searchBg);font-size:1.25em;color:var(--fontColor)}
#hd_sch #sch_submit {position:absolute;width:30px;height:45px;right:20px;border:0;background:transparent;color:var(--fontColor2);cursor:pointer;font-size:14px}
#hd_sch #sch_stx::placeholder,
#hd_sch #sch_stx::-webkit-input-placeholder,
#hd_sch #sch_stx:-moz-placeholder,
#hd_sch #sch_stx::-moz-placeholder,
#hd_sch #sch_stx:-ms-input-placeholder {
    font-size: 12.5px;
}
#hd_define {float:left}
#hd_define:after {display:block;visibility:hidden;clear:both;content:""}
#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:var(--border);position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_define li a {display:inline-block;color:#919191}
#hd_define li.active a {color:#fff}
#hd_qnb {float:right;text-align:right}
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:var(--border);position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
#hd_qnb li a {display:inline-block;color:#919191}
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}
.hd_login {position:absolute;right:0;top:50px;font-size:14px;}
.hd_login li {float:left;margin:0 5px;border-left:var(--border);padding-left:10px;line-height:13px;}
.hd_login li:first-child {border-left:0}
.hd_login a {color:var(--fontColor); font-size:14px; position:relative;}
/* 메인메뉴 */
#gnb_sub > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb_sub {position:relative;background:var(--gnbBg); width:1300px; margin:0 auto;}
#gnb_sub .gnb_wrap_sub {margin:0 auto;position:relative; border-bottom:var(--border2);}
#gnb_sub .gnb_wrap_sub:hover, #gnb_sub .gnb_wrap_sub:focus, #gnb_sub .gnb_wrap_sub:active{z-index:3}
#gnb_sub #gnb_1dul_sub {padding:0;zoom:1;}
#gnb_sub .gnb_1dli_sub {display:inline-block;}
#gnb_sub .gnb_1dli_sub a {color:var(--fontColor2);padding:18px 0px;font-size:16px;display:inline-block; margin-right:20px;}
#gnb_sub .gnb_1dli_sub.on a {color:var(--fontColor);font-weight: 600;; }
#gnb_sub ul:after {display:inline-block;visibility:hidden;clear:both;content:""}
#gnb {position:relative;background:var(--gnbBg); border-bottom:var(--gnbBorder);}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap {margin:0 auto;position:relative}
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
#gnb #gnb_1dul {font-size:1.083em;padding:0;zoom:1}
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
#gnb .gnb_1dli:hover > a {color:var(--mainColorBlue);}
.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;filter: grayscale(100%);width:10px;height:10px;overflow:hidden;background:url('../img/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
.gnb_1da {display:block;font-weight:bold;font-size:var(--bs-nav-link-font-size);;padding:0 15px;color:var(--fontColor);text-decoration:none;}
.gnb_1da.on {color:var(--blueColor);}
.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:35px}
.gnb_2dli:first-child {border:0}
.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px}
.gnb_2dul .gnb_2dul_box {border-top:0;padding:0;
-webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
-moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)}
.gnb_2da {display:block;padding:0 10px;line-height:40px;font-size:14px;background:var(--contBg);color:var(--fontColor);text-align:left;text-decoration:none}
a.gnb_2da:hover {color:var(--mainColorBlue);background:var(--inputBg2);
-moz-transition:all 0.3s ease-out;
-o-transition:all 0.3s ease-out;
transition:all 0.3s ease-out}
.gnb_1dli_air .gnb_2da {}
.gnb_1dli_on .gnb_2da {  }
.gnb_2da:focus, .gnb_2da:hover {color:#fff}
.gnb_1dli_over .gnb_2dul {display:block;left:0}
.gnb_1dli_over2 .gnb_2dul {display:block;right:0}
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:var(--gnbFontColor)}
.gnb_wrap .gnb_empty a {color:#3a8afd;text-decoration:underline}
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a {color:#555}
#gnb .gnb_login_btn {font-size:15px;}
#gnb .gnb_scrap_btn {font-size:15px;line-height: 55px;display:inline-block;padding:0 15px;}
#gnb .gnb_menu_btn {background:transparent;color:var(--fontColor2);height:55px;border:0;vertical-align:top;font-size:18px; margin-right:20px;}
#gnb .gnb_write_btn {background:var(--mainColorBlue);font-weight:bold;color: #fff; border-radius:25px; width:100px;height:40px;border:0;vertical-align:top;font-size:15px; margin-top:7px;margin-left:10px;}
#gnb .gnb_mnal {float:right;padding:0}
#gnb .gnb_mnal_total {padding:0}
.gnb_sub_group {
  display: none; /* 기본적으로 숨김 */
  position: absolute;
  background-color:var(--contBg);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 0px;
  border-radius: 4px;
  z-index: 10;
  width:140px;
  margin-top: -10px; 
}
.gnb_scrap_btn:hover + .gnb_sub_group, /* 버튼에 호버 시 하위 메뉴 표시 */
.gnb_sub_group:hover { /* 하위 메뉴에 호버 시 표시 유지 */
  display: block;
}
.gnb_sub_ul {
  list-style: none;
  padding: 0;
}
.gnb_sub_li {
  margin: 5px 0;
  padding:0;
}
/* 전체보기 메뉴 */
#gnb_all.has-sub { margin-top: -57px; }
#gnb_all.no-sub  { margin-top: 0; }
#gnb_all {
  display: none;
  position: absolute;
  width: 100%;
  background: var(--contBg);
  z-index: 1000;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); /* 은은하고 넓은 그림자 */
  margin: -57px auto 0 auto;
}
#gnb_all .gnb_al_inner {
  width: 1300px;
  margin: 0 auto;
  position: relative; /* 🔥 버튼 기준이 될 부모 */
}
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:var(--border);color: var(--fontColor);}
#gnb_all .gnb_al_ul {
  width: 1300px;
  background:var(--contBg);
  margin: 0px auto 0 auto; /* 상단 마진을 음수로 위로 올림 */
  position: relative; 
  display: flex;
  flex-wrap: nowrap; /* 한 줄에 정렬 */
  align-items: stretch; /* 모든 항목 같은 높이로 맞춤 */  
}
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb_all .gnb_al_ul > li:nth-child(6n+1) {border-left:0}
#gnb_all .gnb_al_li {flex: 1; min-height:250px;padding:20px;border-left:var(--border2);box-sizing: border-box;}
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:var(--fontColor);}
#gnb_all .gnb_al_li li {line-height:2.4em}
#gnb_all .gnb_al_li li a {color:#555; font-size:14px;}
#gnb_all_bg {display:none;width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}
#gnb_all .gnb_close_btn {
  position: absolute;
  top: -50px;
  left: 5px;
  width: 40px;
  height: 40px;
  font-size: 18px; /* 🔽 아이콘 크기 줄여서 여백 확보 */
  background: var(--contBg);
  color: var(--fontColor2);
  border: 0;
  border-radius: 50%;
  z-index: 1001;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* 살짝 그림자도 */
}
/* 중간 레이아웃 */
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:300px;padding:0;height:100%;margin:24px 0 24px 0px}
#aside_left {float:left;width:260px;padding:0px;height:100%;margin:24px 20px 0px 0px;}
.inner-wrapper-sticky {padding-bottom: 15px;}
#container_wrap {background:var(--bodyBg);padding:0px;border-radius:10px; box-sizing: border-box;}
#container_right {position:relative;float:right;min-height:500px;height:auto !important;margin:24px 0;font-size:1em;width:1015px;zoom:1}
#container_right:after {display:block;visibility:hidden;clear:both;content:""}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:24px 0;font-size:1em;width:955px;zoom:1}
#container_full {position:relative;min-height:500px;height:auto !important;margin:0px 0;font-size:1em;width:100%;zoom:1}
#container_main {position:relative;min-height:500px;height:auto !important;margin:20px auto;font-size:1em;width:1300px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
#container_title span {margin:0 auto 10px;display:block;line-height:30px;color: var(--fontColor);}
.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}
.latest_wr {margin-bottom:20px}
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
.latest_top_wr {margin:0 0px 20px}
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}
/* 하단 레이아웃 */
#ft {background:var(--bodyBg);margin:0 auto;text-align:center}
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ft_wr {max-width:100%;margin:0;padding:10px 0;position:relative;display:inline-block;text-align:left}
#ft_wr:after {display:block;visibility:hidden;clear:both;content:""}
#ft_link {text-align:center; padding:10px 0;}
#ft_link a {display:inline-block;color:var(--fontColor);line-height:2em;font-weight:bold; padding:0 10px; border-right:var(--border2);}
#ft_link a:last-child {border-right:0;}
#ft_company h2 {font-size:1.2em;margin-bottom:20px}
#ft_company {font-weight:normal;color:var(--fontColor);line-height:2em}
#ft_catch {margin:20px 0 10px}
#ft_copy {text-align:center;width:1300px;margin:0 auto;padding:20px 0;color:#a0a0a0;font-size:0.92em;border-top:var(--border)}
#top_btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0;
    color: #FFF;
    text-align: center;
    font-size: 15px;
    z-index: 90;
    background: #666;
}
#top_btn:hover {
    border-color: #333;
    background: #333;
    color: #fff;
}
#darkmode_btn {
    position: fixed;
    bottom: 70px; /* 기존보다 위로 50px */
    right: 20px;  /* top_btn과 같은 위치 */
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0;
    text-align: center;
    background: #666;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
#darkmode_btn input {
    opacity: 0;
    width: 0;
    height: 0;
}
#darkmode_btn .visible {
    width: 24px;
    height: 24px;
    vertical-align: middle;
}
/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:var(--bodyBg)}
/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}
/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:var(--inputBorder);background: var(--inputBg);color: var(--fontColor);font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em;color: var(--fontColor)}
/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}
/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}
/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:20px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:20px}
#bo_v_con li {display:list-item}
/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.2em;cursor:pointer;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}
a.btn01 {display:inline-block;padding:7px;border:var(--btnBorder);background:var(--btnBgColor);color:var(--btnColor);text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}
.btn_confirm {text-align:center} /* 서식단계 진행 */
.btn_submit {border:0;background:var(--mainColorBlue);color:#fff;cursor:pointer;border-radius:3px;}
.btn_submit:hover {background:var(--mainColorBlue);color:#fff; border:0;}
.write_submit {border:0;background:var(--mainColor);color:#fff;cursor:pointer;border-radius:3px;}
.btn_close {border:var(--border);background:var(--inputBg);color: var(--fontColor);cursor:pointer;border-radius:3px;}
a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:var(--btnColor)}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:var(--btnBgColor);border:var(--border2);color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:var(--btnBgColorHover)}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}
/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:var(--bodyBg);border-top:var(--border);border-bottom:var(--border)} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:0;font-weight:bold;text-align:center;color: var(--fontColor);height:40px;}
.tbl_head01 thead th a {color: var(--fontColor);}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:var(--borderBottom); color:var(--fontColor);}
.tbl_head01 td {color:var(--tdColor);padding:10px 5px;border-top:var(--border);border-bottom:var(--borderBottom);line-height:1.4em;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:var(--bodyBg)}
.tbl_head01 a:hover {text-decoration:underline}
.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}
/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:var(--inputBorder);background: var(--inputBg);color: var(--fontColor);vertical-align:middle;border-radius:3px;padding:5px;
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}
.select select {
  padding: 8px;
  border: var(--border);
  border-radius: 4px;
}
.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}
/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}
/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center;color: var(--fontColor);}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}
/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}
.required-mark {
  color: red;
  margin-left: 5px;
  font-weight: bold;
  font-size: 14px;
}
/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}
.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}
/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:var(--contBg);color:var(--fontColor);-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background: var(--bodyBg);text-align:center;padding:0 10px;border:var(--border);border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:var(--bodyBg):0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
/* 검색결과 색상 */
.sch_word {color:#3a8afd; font-weight:bold;}
/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}
/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:var(--gnbFontColor)}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}
/* 페이징 */
.page_container {
  display: flex;
  justify-content: space-between; /* 요소 간의 간격 조정 */
  align-items: center; /* 수직 가운데 정렬 */
  width: 100%; /* 부모 컨테이너의 전체 너비 */
  margin: 0 auto; /* 가운데 정렬 */
  gap: 10px; /* 요소 간의 간격 */
}
.page_container .page_left {
  flex: 0 0 25%; /* 25% 너비 */
  text-align: left;
}
.page_container .page_right {
  flex: 0 0 25%; /* 25% 너비 */
  text-align: right;
}
.pg_wrap {flex: 1; display: flex;justify-content: center; clear:both;text-align:center;margin:0 auto;}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:var(--bovHover);border:var(--border)}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:var(--bovColor);color:#fff;}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% var(--bodyBg);padding:0;border:var(--border)}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% var(--bodyBg);padding:0;border:var(--border)}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% var(--bodyBg);padding:0;border:var(--border)}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% var(--bodyBg);padding:0;border:var(--border)}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}
.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}
/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}
/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
/* 다크모드 설정 */
/* 다크모드 - 스위치버튼 */
#darkmode_btn .visible.dark {display: var(--darkVisible);}
#darkmode_btn .visible.bright {display: var(--lightVisible);}
.request_service{list-style:none;display:none;position:absolute;z-index:10!important;padding:10px;border:var(--border);border-radius:10px;background:var(--bodyBg);right:0px;width:340px;top:55px;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);opacity: 0;transition: opacity 0.2s ease, transform 0.2s ease;transform: translateY(-10px);}
.request_service li{display:block;text-align:left;vertical-align:top}
.request_service li a{display:table;padding:7px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none}
.request_service li a img{width:33px;height:33px;margin-right:10px}
.request_service li a:hover{background:var(--btnBgColorHover);color:var(--fontColor);border-radius:10px;border:0}
.request_service .top_t{display:table-cell;font-weight:700;vertical-align:top;padding:7px 0}
.request_service .top_t.img{width:60px;vertical-align:top;padding:7px;text-align:center;padding-right:0}
.request_service .top_t.title{padding-bottom:5px;color:var(--fontColor); font-size:15px;font-weight:bold;}
.request_service .what{width:20px;font-size:11px;text-align:center;margin-left:5px}
.request_service .what i{padding:5px;border:1px solid #eee;border-radius:6px;background:#fff;color:#bbb;display:inline-block}
.request_service .what i:hover{color:#34bab9;border:1px solid #34bab9}
.request_service .top_s_text{font-size:13px;font-weight:400;color:#999}
.request_service.active {
  display: block !important;
  opacity: 1;
  transform: translateY(0); /* 최종 위치 */
}
/* 깔끔한 고정형 타이틀 바 */
.request_service .register-title{
  --dash-gap: 8px;     /* 공백 길이(간격) - 숫자 줄이면 더 촘촘 */
  --dash-len: 12px;    /* 실선 길이(—)   - 숫자 줄이면 대시가 짧아짐 */
  --dash-color: var(--borderColor, #cfcfcf);
  position:relative;
  color:var(--mainColorBlue);
  background:var(--loginNoticeBg);
  border-radius:5px;
  overflow:hidden;
  padding:10px 10px;
  margin:8px 5px 12px;
  text-align:center;
}
/* 텍스트만 중앙 노출 */
.request_service .register-title .ticker{
  display:inline-block;
  white-space:nowrap;
}
.request_service .register-title .ticker a {
  display:inline-block;
  width:50px;
}
.request_service .register-title .ticker span{
  display:inline-block;
  font-size:14px;
  font-weight:600;
  color:var(--mainColorBlue);
}
/* 캠페인 3칸 그리드 */
.request_service .campaign-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:8px; margin:0 2px 6px;
}
/* 캠페인 카드 */
.request_service .campaign-grid .card{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.request_service .campaign-grid .card{
  border:none;
  padding:5px 6px 10px 6px;
}
.request_service .campaign-grid .card:not(:last-child){
  border-right:1px solid var(--border);
}
.request_service .campaign-grid .card:hover{
  background:var(--btnBgColorHover); 
}
/* 기존 img margin-right 초기화 + 중앙 정렬 */
.request_service .campaign-grid .card img{
  display:block;
  width:42px; height:42px;
  margin:10px auto;        /* 좌우 중앙 + 아래 여백 */
  align-self:center;
}
/* 카드 텍스트 */
.request_service .campaign-grid .card .card-title{
  font-size:15px; font-weight:700; color:var(--fontColor); line-height:1.1;
}
.request_service .campaign-grid .card .card-reward{
  display:none;
  font-size:11px; font-weight:600; color:#999; margin-top:2px;
}
/* 아래 리스트와 구분선 */
.request_service .separator{
  height:10px; margin:0px 0; border-top:1px solid var(--borderColor, #eaeaea);
}
/* 팝업 폭이 좁은 환경 대비(선택): 320px 이하에서는 2칸으로 자동 전환 */
@media (max-width: 360px){
  .request_service{ width:320px; }
  .request_service .campaign-grid{ grid-template-columns:repeat(2, 1fr); }
}
/* 접근성(키보드 포커스) */
.request_service .campaign-grid .card:focus{
  outline:2px solid #88aaff; outline-offset:2px;
}
.group-campaign {
    margin-bottom:0px;
}
/* pc메인 아이콘 */
.pc_main_icons {background:var(--grayBg);border:var(--border); width:100%;margin:0 auto;padding:10px;text-align:center;display:table;border-radius:10px;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin-bottom:20px;}
.pc_main_icons li {display:table-cell;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
.pc_main_icons li img {width:64px;}
.pc_main_icons li p {font-size:13px;}
.pc_main_icons li p:first-child {margin-bottom:3px;}
.section-layout {
  margin: 10px auto 0 auto;
  width: 1300px;
  display: flex;
  justify-content: space-between;  /* 좌우 콘텐츠를 양쪽 끝에 배치 */
  gap: 210px;  /* 좌우 콘텐츠 사이에 10px 간격 */
}
.section-layout .section-left, .section-layout .section-right, .section-layout .section-center {
  width: calc(33% - 20px);  
}
/* 새로운 레이아웃 */
.new-section-layout {
  display: flex;
  width: 1300px; /* 전체 고정 너비 */
  margin: 0px auto 15px auto; /* 가운데 정렬 */
}
.new-section-layout .section-left {
  flex-basis: 890px; /* 왼쪽 영역 고정 너비 */
  max-width: 890px;
  margin-right: 20px; /* 오른쪽과의 간격 */
  box-sizing: border-box;
}
.new-section-layout .section-right {
  flex-grow: 1; /* 남은 공간을 채움 */
  max-width: 390px; /* 최대 너비를 315px로 제한 */
  box-sizing: border-box;
}
.half-half-container {
  display: flex;
  width: 100%; /* 부모 너비에 맞게 100% */
  gap: 20px; /* 가운데 간격 */
  min-width: 0; /* 🔥 필수! flex-item이 줄어들 수 있도록 */
}
.left-half, .right-half {
  flex: 1;
  box-sizing: border-box; /* 패딩과 테두리를 포함해 폭 계산 */
  padding: 0px; /* 내부 간격 */
  max-width: 100%;
  min-width: 0; /* 🔥 필수! flex-item이 줄어들 수 있도록 */  
}
.left-half {
  /* 좌측 영역 추가 스타일 */
  max-width:100%;
}
.right-half {
  /* 우측 영역 추가 스타일 */
  max-width:100%;
}
.three-column-container {
  display: flex;
  width: 1300px; /* 고정 너비 */
  gap: 20px; /* 컬럼 사이 간격 */
  margin: 0 auto; /* 가운데 정렬 */
}
.left-column,
.center-column,
.right-column {
  flex: 1; /* 각 컬럼이 균등하게 분할 */
  max-width: calc((1300px - 60px) / 3); /* 각 컬럼의 최대 너비 */
  box-sizing: border-box;
}
.margin-top-10 {
  margin-top: 10px;
}
.strong {
  font-weight: bold;
}
#red, .red {
  color: var(--fontRed);
}
#blue, .blue {
  color: #007bff
}
.no-drag{-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;-khtml-user-select:none;user-select:none}
.line-height-20 {line-height:20px}
/* 당첨자 발표 링크 등록 */
.comp_layer,.layer,.prize_layer{z-index:99999;}
.comp_layer .bg2,.layer .bg,.prize_layer .bg2{background:#000;opacity:.5;filter:alpha(opacity=50)}
.comp_layer,.comp_layer .bg2,.layer,.layer .bg,.prize_layer,.prize_layer .bg2{top:0;left:0;width:100%;height:100%}
.pop-conts2 .real_name_txt{color:#B80B0B;display:inline-block;margin-left:25%;font-size:12px;padding-top:5px}
.pop-conts2 .small_txt{font-size:12px;color:#888}
.pop-conts2 .small_txt2{font-size:12px;color:#ddd}
.prize_layer{display:none;position:fixed}
.prize_layer .bg2{position:absolute}
.prize_layer .pop-layer{display:block}.comp_layer{display:none;position:fixed}
/* 레이어 팝업 */
.pop-layer {color:var(--fontColor);display:none;top:50%;left:50%;width:80%;max-width:500px;height:auto;z-index:999999999999999999999999;background-color:var(--bodyBg);position:absolute; border-radius:10px;}
.pop-layer{ border-radius:10px;;padding:15px;}
.pop-conts button,.pop-conts input{border:var(--inputBorder);}
.pop-layer .pop-container{padding:0 25px}
.pop-layer2 p.ctxt{color:#666;line-height:22px;border-bottom:0px solid #ddd;padding:10px 0}
.pop-layer2 .btn-r span{font-weight:700}
.pop-layer .btn-r{width:100%;margin:0;padding-top:10px;padding-bottom:10px;border-bottom:var(--borderBottom)}
.pop-layer .btn-r span{font-weight:700;font-size:16px;}
.pop-layer #view_mb_id{display:table}
a.cbtn{display:inline-block;padding:0 14px;font-size:13px;color:#666; float:right;}
.pop-conts {padding-bottom:10px; font-size:14px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.pop-conts .view_title { font-size:14px; font-weight:bold;margin:5px 0; }
.pop-conts ul{border:0;padding:0;margin:0;list-style:none;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.pop-conts li span.view_title{display:inline-block;width:25%;color:#777}
.pop-conts li{border-bottom:var(--borderBottom);padding:5px 0;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.pop-conts li table{width:100%;border:0;padding:0;margin:0}.pop-conts li img{border-radius:10px;margin-right:5px}
.pop-conts li #view_mb_id{line-height:20px}
.pop-conts ul.footer_btn{border:0;padding:10px 0 0;margin:0;list-style:none;text-align:center}
.pop-conts ul.footer_btn li{border:0;display:inline-block;text-align:center;padding:10px 30px;background:#6ec8c6;color:#fff;cursor:pointer;border-radius:10px;}
.pop-conts button{background:#f0f0f0;padding:0 5px}
.pop-conts .real_name_txt{color:#B80B0B;display:inline-block;margin-left:25%;font-size:12px;padding-top:5px}
.pop-conts .small_txt{font-size:12px;color:#888}
.pop-conts .small_txt13{font-size:13px;}
.pop-conts .small_txt2{font-size:11px;color:#ddd}
.hr-border-1 {
  border: none;
  border-top: 1px solid var(--borderBottom); /* 연한 회색 */
  width: 90%;
  margin: 20px auto; /* 위아래 여백 + 가운데 정렬 */
}
/* 탭 컨테이너 스타일 */
.tap_btns {  
  width:30%;
  display: flex;
  border-radius: 5px; /* 전체 탭 컨테이너에 라운드 적용 */
  overflow: hidden; /* 자식 엘리먼트가 컨테이너 밖으로 나가지 않도록 설정 */
}
/* 개별 탭 버튼 스타일 */
.tap_btns a { 
  flex: 1; 
  text-align: center; 
  text-decoration: none; 
  padding: 12px 0; 
  border: var(--border); 
  color: var(--fontColor); 
  background: var(--btnBgColor);
  font-weight:bold;
  font-size:15px;
  transition: background-color 0.3s; 
  border-radius: 0; /* 기본적으로 각 버튼의 모서리는 둥글지 않음 */
}
/* 버튼 간 경계 없애기 및 버튼 간의 겹침 해결 */
.tap_btns a + a {  
  margin-left: -1px; 
}
/* 첫 번째 탭에 좌측 상단 라운드 추가 */
.tap_btns a:first-child {
  border-top-left-radius: 5px; 
  border-bottom-left-radius: 5px; 
}
/* 마지막 탭에 우측 상단 라운드 추가 */
.tap_btns a:last-child {
  border-top-right-radius: 5px; 
  border-bottom-right-radius: 5px; 
}
/* 활성화된 탭 */
.tap_btns a.on {  
  border: 1px solid var(--blueColor); 
  color: var(--blueColor); 
  background: var(--bodyBg);   
  font-weight: bold;  
  position: relative;  
  z-index: 1; 
  border-radius: 0; /* 활성화된 탭도 기본적으로는 둥글지 않음 */
}
/* 활성화된 첫 번째 탭의 좌측 상단 라운드 */
.tap_btns a.on:first-child {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
/* 활성화된 마지막 탭의 우측 상단 라운드 */
.tap_btns a.on:last-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;  
}
/* 탭 컨테이너 스타일 */
.tap_btns_underline {
  display: inline-flex;  /* 가로로 자연스럽게 나열 */
  overflow-x: auto; /* 많을 경우 스크롤 가능 */
  margin-bottom: 15px;
  gap: 5px; /* 탭 사이 약간 간격 */
}
/* 개별 탭 버튼 스타일 */
.tap_btns_underline a {
  display: inline-block;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--fontColor);
  font-weight: bold;
  font-size: 15px;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
}
/* 활성화된 탭 */
.tap_btns_underline a.on {
  border-bottom: 2px solid var(--blueColor);
  color: var(--blueColor);
}
#tap_content {background:var(--bodyBg); color:var(--fontColor);padding:15px;}
#tap_content_bottom {padding:10px;text-align:center;position:relative;clear:both;display:block; }
#tap_content_bottom::after {
  content: "";
  display: table;
  clear: both;
}
#tap_content .tap_title {font-size:14px;margin-bottom:10px;}
/* 정보 제공 */
#info_box {
  background-color: var(--bodyBg); /* 박스 배경색 */
  border-radius: 8px; /* 모서리 둥글게 */
  padding: 0px; /* 내부 여백 */
  margin-bottom: 20px;
}
#info_box_simple {
  padding: 10px 0; /* 내부 여백 */
  margin-bottom:10px;
  position: relative;  
}
#info_title_simple {
  font-size: 22px; /* 타이틀 폰트 크기 */
  font-weight: 700; /* 굵은 글씨 */
  color: var(--fontColor);; /* 텍스트 색상 */
}
#info_desc_simple {
  font-size: 14px; /* 타이틀 폰트 크기 */
  font-weight: normal; /* 굵은 글씨 */
  color: var(--fontColor);; /* 텍스트 색상 */
  margin-left:10px;
}
.settings-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--fontColor3);
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}
#info_title {
  font-size: 22px; /* 타이틀 폰트 크기 */
  font-weight: 700; /* 굵은 글씨 */
  color: var(--fontColor);; /* 텍스트 색상 */
  border-bottom: var(--border);
  padding-bottom: 10px; /* 타이틀과 내용 사이 여백 */
  margin-bottom: 15px; /* 하단 여백 */
}
#info-desc {
  font-size: 14px; /* 설명 텍스트 크기 */
  line-height: 1.6; /* 줄 간격 */
  color: var(--fontColor); /* 텍스트 색상 */
}
#info-desc strong {
  color: #ff6600; /* 강조 텍스트 색상 */
}
#info-desc br {
  margin-bottom: 10px; /* 줄바꿈 사이에 여백 */
}
.renew_bold {
  font-weight: bold;
}
.list_ad_icon {
  color:var(--fontColor3);
  font-size:11px;
}
.mini_btn {font-size:12px;display:inline-block;white-space: nowrap;background:var(--bovHover);color:var(--fontColor);padding:5px 10px;border-radius:5px;cursor:pointer;padding:2px 5px;text-align: center;text-decoration: none !important;cursor:pointer;}
.mini_btn.blue {background: var(--blueColor);color:#fff;}
.mini_btn.gray {background: var(--grayColor);color:#fff;}
/* 응모함 표시 */
save {
  background: #a4a4a4;
  color: #fff;
  border: 1px solid #a4a4a4;
}
visit {
  background: #fff;
  color: #f7941d;
  border: 1px solid #ddd;
}
save, visit {
  border: 0;
  border-radius: 3px;
  text-align: center;
  padding: 1px 3px;
  font-size: 11px;
  display: inline-block;
  width: 35px;
  vertical-align: middle;
  line-height: 19px;
}
save.yellow {
  background: #f7ae2c;
  color: #fff;
  border: 1px solid #f7ae2c;
}
save.blue {
  background: #6d9cc8;
  color: #fff;
  border: 1px solid #6d9cc8
}
save.purple {
  background: #ad5da4;
  color: #fff;
  border: 1px solid #ad5da4
}
save.mainColor {
  background: var(--mainColor);
  color: #fff;
  border: var(--mainColor);
}
save.red {
  background: #ef3978;
  color: #fff;
  border: 1px solid #ef3978
}
save.yellow {
  background: #f7ae2c;
  color: #fff;
  border: 1px solid #f7ae2c
}
save.notice {
  background: #fff;
  color: #6dc8c6;
  border: 1px solid #6dc8c6
}
save.ad {
  background: #fff;
  color: #ef3978;
  border: 1px solid #ef3978
}
save.hot {
  background: #fff;
  color: #e0628e;
  border: 1px solid #e0628e
}
/* 모달 */
/* 모달 배경 어둡게 (overlay) */
#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  display: none; /* 초기에는 숨김 */
}
/* 모달 기본 스타일 */
.well {
  width: 500px;
  max-width: 90%; /* 작은 화면에서는 반응형 */
  background-color: var(--bodyBg);
  color:var(--fontColor);
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  padding: 20px;
  display: none; /* 초기에는 숨김 */
  z-index: 1001;
}
/* 버튼 레이어 */
.button-layer {
  text-align: right;
  margin-top: 15px;
}
.button-layer button {
  padding: 10px 15px;
  margin-left: 10px;
  border: none;
  border-radius: 4px;
  background-color: var(--blueColor);
  color: white;
  cursor: pointer;
  transition: background-color 0.3s;
}
.sponsor_ad {
  color: #EE3B75;
  border:1px solid #EE3B75;
  border-radius: 3px;
  text-align: center;
  padding: 1px 3px;
  font-size: 11px;
  display: inline-block;
  width: 35px;
  vertical-align: middle;
  line-height: 19px  
}
#modal{
  display:none;
  position:fixed; 
  width:100%; height:100%;
  top:0; left:0; 
  z-index:999999;
  background:rgba(0,0,0,0.3);
}
.modal-con{
  display:none;
  position:fixed;
  top:50%; left:50%;
  transform: translate(-50%,-50%);
  width: 400px;;
  max-width:90%;
  min-height: 30%;
  color:var(--fontColor);
  background:var(--bodyBg);
  border-radius:5px;
  z-index:999999;
}
.modal-con .title{
  font-size:16px; 
  padding: 20px; 
  background : var(--mainColorBlue);
  font-weight:bold;
  color:#fff;
  border-top-right-radius:5px;
  border-top-left-radius:5px;
}
.modal-con .con{
  font-size:15px; line-height:1.3;
  padding: 30px;
}
.modal-con .close{
  display:block;
  position:absolute;
  width:28px; 
  height:28px;
  border-radius:50%; 
  border:0;
  text-align:center; 
  line-height: 28px;
  text-decoration:none;
  color:#fff; font-size:16px; font-weight: bold;
  right:15px; 
  top:15px;
}
.modal_btns {display:block;width:100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;margin-top:15px;}
.modal_btns a {display:inline-block;padding:10px 20px;border:var(--border);width:45%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;border-radius:5px;text-align:center;}
.modal_btns button {display:inline-block;padding:10px 20px;border:0;width:100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;border-radius:5px;text-align:center;}
.modal_close {display:block;background:#fff;padding:10px 0; text-align:center;font-size:14px; cursor:pointer;}
.split {
  color:var(--ddd);
}
/* 달력 */
/* DatePicker CSS */
.ui-widget-header { border: none !important; background-color: transparent !important; color: var(--fontColor);}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    border: 0 !important;
    font-weight: normal !important;
    color: var(--fontColor) !important;
    text-align: center !important;
    font-size: 15px;
    background: var(--boNoticeBg) !important;
}
.ui-widget.ui-widget-content { width: 300px; background: var(--bodyBg) !important;color: var(--fontColor) !important;z-index:10 !important;}
.ui-datepicker .ui-datepicker-title {font-size: 15px;color: var(--fontColor) !important;}
.ui-datepicker .ui-datepicker-month {font-size: 16px;color:var(--mainColorBlue);}
.ui-datepicker .ui-datepicker-header { width: 100%;}
.ui-datepicker .ui-state-highlight {background:#ad5da4 !important; color:#fff !important;}
.ui-datepicker .ui-state-active {background:#0d47a1 !important; color:#fff !important;}
.ui-datepicker th { font-size: 14px; padding: 0.7em !important;}
a.ui-state-default { background:var(--boNoticeBg); }
.ui-datepicker-calendar th:first-child { color: #ff0000;}
.ui-datepicker-calendar th:nth-last-child(1) {color: #0d47a1;}
.ui-datepicker-calendar tr td:first-child a {color: #ff0000;}
.ui-datepicker-calendar tr td:nth-last-child(1) a {color: #0d47a1;}
.youtube-wrapper {
  position: relative;
  width: 887px; 
  height: 499px; 
}
.youtube-wrapper.shorts {
  width: 499px; 
  height: 887px; 
  left: 0px; 
  top: 0px;
}
.youtube-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* 알림 숫자 표시 */
#ol_arm {margin-left:5px;font-weight:normal;color: var(--fontColor2);}
#ol_arm i.fa {
  color:var(--fontRed);
  animation: colorChange 3s linear infinite; /* 3초 동안 색상이 변화하며, 반복 실행 */
}
#ol_arm i.far {
  color:var(--fontColor2);
}
/* 그라데이션 색상 애니메이션 */
@keyframes colorChange {
  0% {
    color: #ff6666; /* 빨간색 */
  }
  50% {
    color: #ffcc66; /* 주황색 */
  }
  100% {
    color: #ff6666; /* 다시 빨간색 */
  }
}
.admin_mark {
  font-size: 14px;
  margin-left: 5px;
  color: #56b6b4;
  width: 18px;
  height: 18px;
  display: inline-flex;
  background: url(../../../img/icon/admin_mark_v-1.png) no-repeat center center;
  background-size: 14px 14px;
  vertical-align: middle;
  align-items: center;
  background-position: 0 0;
}
.gift_category {
  width:100%;
  position: relative;
  padding: 20px 0;
  margin: 0 auto;
}
.gift_category .topbox {
  padding: 0;
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: bold;
  color: var(--fontColor);
  text-align: left; /* 왼쪽 정렬 */
}
.gift_category .bottom_box {
  display: flex;
  overflow-x: hidden; /* 스크롤바 숨기기 */
  scroll-behavior: smooth;
  gap: 5px;
  padding: 0;
  margin: 0;
  list-style: none;
  white-space: nowrap; /* 한 줄로 만들기 */
}
.gift_category .bottom_box li {
  display: inline-block;
  text-align: center;
  padding: 0px;
  border-radius: 8px;
  transition: all 0.3s ease;
  min-width: 100px;
}
.gift_category .bottom_box li a {
  text-decoration: none;
  color: inherit;
}
.gift_category .bottom_box li p {
  margin: 0;
  font-size: 12px;
}
.gift_category .bottom_box li img {
  margin-bottom: 5px;
}
.cate_name {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  font-weight: 500;
  color: var(--fontColor);
}
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
  color: black;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 그림자 추가 */
  transition: all 0.3s ease;
}
.arrow:hover {
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* hover 시 더 진한 그림자 */
}
.arrow.left {
  left: -20px;
}
.arrow.right {
  right: -20px;
}
.arrow[disabled] {
  display: none; /* 더 스크롤할 내용이 없으면 버튼 숨김 */
}
.arrow::before {
  content: '';
  border: solid black;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 6px;
}
.arrow.left::before {
  transform: rotate(135deg);
}
.arrow.right::before {
  transform: rotate(-45deg);
}
/* 카드 컨테이너 */
.card-container {
  width: 100%;
  border: var(--border);
  border-radius: 10px;
  padding: 16px;
  background-color: var(--bodyBg);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;  
}
.card-container a {
  display: block;
}
.card-item {
  border-bottom: var(--border);
  padding: 0px 0;
  max-width:100%;
  display: block;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;      
}
.card-item a {
  padding:10px 0;
  display:block;
  max-width:100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;    
}
.card-item:last-child {
  border:0;
}
.days-left {
  display:inline-block;
  background-color: var(--grayBg);
  color: var(--fontColor2);
  padding: 2px 8px;
  border-radius: 8px;
  margin-right: 5px;
  text-align:center;
  font-size: 0.7rem;
}
.days-left-dark {
  display:inline-block;
  background-color: var(--grayColor);
  color: var(--bovHover);
  padding: 2px 8px;
  border-radius: 8px;
  margin-right: 5px;
  text-align:center;
  font-size: 0.7rem;
}
.card-content {
  width:100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden; /* flex 내부에서 자식 요소가 넘치는 걸 방지 */
}
.card-subtitle,
.host {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  min-width: 0;
}
.card-item,
.card-item-wrap {
  width: 100%;
  box-sizing: border-box;
}
.card-subtitle {
  font-size: 14px;
  margin: 4px 0;
  white-space: nowrap;      /* 한 줄로 표시 */
  overflow: hidden;         /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;  /* 말줄임표(...)로 표시 */
  max-width: 100%;          /* 부모 요소 너비에 맞게 설정 */
  min-width: 0;
}
.category-tags {
  color: #888;
  font-size: 0.8rem;
  margin-bottom: 6px;
}
.host {
  width: 100%;
  max-width: 100%;
  min-width: 0;  
  display: block;
  font-size: 0.8rem;
  color: var(--fontColor2);
  margin-top: 6px;
  max-width:100%;
  white-space: nowrap;      /* 한 줄로 표시 */
  overflow: hidden;         /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;  /* 말줄임표(...)로 표시 */  
}
.card-header {
  display: flex;
  align-items: center;         /* 세로 중앙 정렬 */
  justify-content: space-between; /* 좌우 배치 */
  border-bottom:var(--border);
  margin-bottom:0px;
  padding-bottom:10px;
}
.card-title {
  font-weight: bold;
  font-size: 16px;  /* 제목 크기 */
  margin: 0;          /* 기본 여백 제거 */
}
.card-moreBtns {
  display: flex;
  gap: 10px; /* 버튼 사이 간격 */
}
.card-moreBtns a {
  text-decoration: none;
  color: var(--fontColor);
}
.card_more {
  font-size: 13px;
  color: var(--fontColor2);
}
/* New compact shopping slider */
.reco-shopping { border: var(--border); border-radius:12px; padding:14px; background:var(--bodyBg); margin-bottom:20px; overflow:hidden; --thumbH: 100px; --padV: 4px; }
.reco-shopping .reco-grid { display:grid; grid-template-columns: 100px 1fr; gap:5px; align-items:center; }
.reco-shopping .reco-left { padding:6px 8px; }
.reco-shopping .reco-title { font-size:18px; font-weight:700; line-height:1.2; color:var(--fontColor); }
.reco-shopping .reco-title .line { display:block; }
.reco-shopping .apply-link { display:inline-block; margin-top:8px; font-size:12px; color:var(--fontColor2); border:var(--border); padding:4px 8px; border-radius:6px; text-decoration:none; }
.reco-shopping .apply-link:hover { background:var(--grayBg); }
.reco-shopping .reco-right { position:relative; overflow:hidden; }
.reco-shopping .swiper { padding: var(--padV) 10px; width:100%; box-sizing:border-box; }
.reco-shopping .swiper-slide { width:auto; }
.reco-shopping .rs-item { display:block; color:inherit; text-decoration:none; }
.reco-shopping .thumb { width:var(--thumbH); height:var(--thumbH); border-radius:8px; background:#f4f5f7; overflow:hidden; }
.reco-shopping .thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.reco-shopping .title { font-size:14px; margin-top:8px; line-height:1.3; height:2.6em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:var(--fontColor); }
.reco-shopping .price { margin-top:4px; font-weight:700; color:var(--fontColor); font-size:13px; }
.reco-shopping .nav-btn { position:absolute; top: calc(var(--padV) + (var(--thumbH) / 2)); transform:translateY(-50%); width:28px; height:28px; border-radius:50%; background:#fff; border:1px solid var(--borderColor,#e5e7eb); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; }
.reco-shopping .nav-prev { left:0px; background:var(--bodyBg);color:var(--fontColor2);border:var(--border);}
.reco-shopping .nav-next { right:0px; background:var(--bodyBg);color:var(--fontColor2);border:var(--border);}
.reco-shopping .nav-btn::after {
    font-family: swiper-icons;
    font-size: 14px; /* smaller than main banner */
    line-height: 1;
}
.reco-shopping .nav-prev::after { content: 'prev'; }
.reco-shopping .nav-next::after { content: 'next'; }
/* URL 미리보기 컨테이너 스타일 */
.url-preview {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 0px;
  border: var(--border);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: var(--grayBg);
  max-width: 95%; /* 모바일에서의 최대 너비 */
  height:100px;
}
.url-preview-link {
	text-decoration:none !important;
	display:inline-block;
	display: flex;
	flex-direction: row; /* 항상 가로 방향 */
	align-items: center; /* 세로 중앙 정렬 */
}
.url-preview .url-desc-container {
  padding: 10px;
  flex: 1; /* 내용이 남은 공간을 채움 */
}
/* 제목 스타일 */
.url-preview .url-preview-title {
  font-size: 15px; /* 폰트 크기 조정 */
  color: var(--fontColor); /* 폰트 색상 */
  font-weight: bold; /* 굵은 글씨 */
  margin-bottom: 8px; /* 아래쪽 마진 */
  word-break: break-word; /* 긴 단어가 있을 때 줄바꿈 */
  display: -webkit-box; /* WebKit 박스 모델 디스플레이 */
  -webkit-line-clamp: 1; /* 표시할 줄의 최대 수 */
  -webkit-box-orient: vertical; /* 박스의 배치 방향 */
  overflow: hidden; /* 오버플로우되는 텍스트 숨김 */
  text-overflow: ellipsis; /* 오버플로우되는 텍스트를 생략부호로 표시 */
  line-height: 1.2em; /* 줄 간격 */
}
/* 설명 텍스트 스타일 */
.url-preview .url-preview-description {
  font-size: 14px; /* 폰트 크기 */
  color: var(--fontColor2); /* 폰트 색상 */
  overflow: hidden;
  word-break: break-word; /* 긴 텍스트 처리 */
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 줄 수를 2줄로 제한 */
  -webkit-box-orient: vertical;
  line-height: 1.4; /* 줄 간격 설정 */
  max-height: 2.8em; /* 줄 간격과 줄 수에 기반한 최대 높이 설정 (1.4em * 2) */
  text-overflow: ellipsis; /* 텍스트가 넘칠 때 생략 부호 표시 */
}
/* 이미지 컨테이너 스타일 */
.url-preview-image {
  flex: 0 0 30%; /* 이미지 너비 고정, 필요에 따라 조정 */
  height: 100px; /* 이미지 높이 설정, 필요에 따라 조정 */
  display: flex;
  justify-content: top;
  align-items: top;
  overflow: hidden; /* 넘치는 이미지는 숨김 */
}
/* 이미지 스타일 */
.url-preview-image img {
  height: 98px !important;
  min-width: 100% !important;
  object-fit: cover;
  border-radius:10px 0 0 10px;
}
/* PC에서의 최대 너비 조정 */
@media (min-width: 768px) {
  .url-preview {
    max-width: 600px; /* PC에서의 최대 너비 */
  }
}
.auto-link {
  display: inline-block;      /* 인라인 블록으로 설정 */
  max-width: 600px; /* PC에서의 최대 너비 */
  overflow: hidden;           /* 넘치는 부분을 숨김 */
  white-space: nowrap;        /* 한 줄로 표시하여 줄바꿈 방지 */
  text-overflow: ellipsis;    /* 넘치는 부분에 '...' 표시 */
  vertical-align: middle;     /* 수직 가운데 정렬 (필요시) */
  border:var(--border);
  border-radius:5px;
  color:var(--fontColor) !important;
  background:var(--grayBg);
  padding:5px;
  font-size: 90%; /* 기존 폰트 크기의 90% */
  margin:10px 0 5px 0;
}
.is_delete {background:var(--bodyBg); padding:10px;padding-left:20px;border-bottom:var(--border2);color:var(--fontColor2);position:relative;}
.is_delete i {color:var(--fontColor2);}
.del_info {cursor:pointer;font-size:14px; color:var(--fontColor2);}
.del_box {display:none;position:absolute; width:400px;background:var(--chatBubble1); color:#fff; padding:10px;border:var(--border); border-radius:5px; margin-top:10px; margin-left:10px;z-index:1000}
.del_cell {display:block; padding:3px;width:100%; margin:0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
.del_reason,.del_date {color:#fff;}
.del_reason,.del_date, .del_box a {color:#fff;}
.del_cmt_box {display:none;position:absolute; width:400px;background:var(--chatBubble1);color:#fff; padding:5px 10px;border:var(--border); border-radius:5px; margin-top:0px; margin-left:0px;z-index:1000}
.icon_file {color:var(--fontColor2);}
.card-item-wrap {
  display: flex; /* Flexbox로 레이아웃 설정 */
  align-items: flex-start; /* 상단 정렬 */
  margin-bottom: 10px; /* 카드 간격 */
  margin-top:10px;
  white-space: nowrap;      /* 한 줄로 표시 */
  overflow: hidden;         /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;  /* 말줄임표(...)로 표시 */
  max-width: 100%;          /* 부모 요소 너비에 맞게 설정 */
  min-width: 0;  
}
.card-thumbnail {
  flex: 0 0 60px; /* 고정된 100px 크기 */
  height: 60px; /* 높이 설정 */
  overflow: hidden; /* 넘치는 이미지 숨김 */
  margin-right: 10px; /* 썸네일과 콘텐츠 사이 간격 */
  border-radius: 8px; /* 모서리 둥글게 처리 */
}
.card-thumbnail img {
  width: 100%; /* 이미지 너비를 썸네일 크기에 맞춤 */
  height: 100%; /* 이미지 높이를 썸네일 크기에 맞춤 */
  object-fit: cover; /* 이미지 비율 유지하며 썸네일에 채움 */
}
.card-details {
  flex: 1; /* 나머지 공간 차지 */
  display: flex;
  flex-direction: column; /* 내용 세로 정렬 */
  justify-content: space-between; /* 상단과 하단 내용 간 거리 분배 */
  min-width: 0; /* ✅ flex 구조일 경우 반드시 필요 */
  width: 100%;
  max-width: 100%;  
}
.card-details a {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.arrow-icon {
  width: 12px;
  height: 12px;
  display: inline-block;
  border: solid #949494; /* 화살표 색상 */
  border-width: 0 2px 2px 0; /* 오른쪽과 아래쪽 라인만 표시 */
  transform: rotate(45deg); /* 오른쪽 화살표 기본 상태 */
  transition: transform 0.3s ease; /* 부드러운 회전 애니메이션 */
  cursor: pointer; /* 클릭 가능한 아이콘으로 표시 */
}
.arrow-icon.expanded {
  transform: rotate(-135deg); /* 아래쪽 화살표로 변경 */
}
.margin-top-20 {padding-top:20px;}
#pop_msg {
  background: var(--mainColorBlue);
  color: #fff;
  padding: 10px 20px;
  position: fixed;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 380px;
  max-width: 90%;
  line-height: 40px;
  z-index: 999999999;
  font-size: 14px;
  display: none;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
#pop_msg_close_btn {float:right; right:0px;top:10px;font-size:15px; color:#fff;font-weight:bold;cursor:pointer;}

.simple-header {
  height: 55px;
  background: var(--bodyBg);
  border-bottom:var(--border2);
  box-shadow: 0 2px 4px rgba(0,0,0,0.03);
  position: sticky;
  top: 0;
  z-index: 100;
}

.simple-header-inner {
  max-width: 720px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between; /* 좌/우 균형 */
  padding: 0 15px;
  box-sizing: border-box;
  position: relative;
}

/* 오른쪽에 로고와 동일한 크기의 가상공간 */
.simple-header-inner::after {
  content: "";
  width: 32px;       /* 로고와 동일한 너비 */
  height: 32px;      /* 높이가 필요하진 않지만 균형용 */
  display: block;
}

/* 로고 */
.simple-logo img {
  height: 32px;
}

/* 타이틀 */
.simple-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
  font-weight: bold;
  color: var(--fontColor);
  text-align: center;
}


.strike {
  text-decoration: line-through;
}
.resultTodayCnt, .endTodayCnt, .startTodayCnt {
  color:var(--fontColor3);
}
.gray{
  color:var(--fontColor3);
}
.tippy-box[data-theme~='light-border-soft'] {
  background-color: #e0e0e0;
  color: #333;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 13px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  line-height: 1.5;
}
/* 화살표 색 일치 */
.tippy-box[data-theme~='light-border-soft'][data-placement^='top'] > .tippy-arrow::before {
  border-top-color: #e0e0e0;
}
.tippy-box[data-theme~='light-border-soft'][data-placement^='bottom'] > .tippy-arrow::before {
  border-bottom-color: #e0e0e0;
}
.tippy-box[data-theme~='light-border-soft'][data-placement^='left'] > .tippy-arrow::before {
  border-left-color: #e0e0e0;
}
.tippy-box[data-theme~='light-border-soft'][data-placement^='right'] > .tippy-arrow::before {
  border-right-color: #e0e0e0;
}
.saving {
  opacity: 0.6;
  pointer-events: none;
  filter: brightness(0.9);
}
.goNextPage {
    background-color: var(--contBg);
    color:var(--fontColor2);
    font-size: 14px;;
    margin-left:8px;
    border:var(--olBorder);
    height: 30px;
    line-height: 28px;
    padding: 0 12px;
    min-width: 30px;
    text-decoration: none;
    border-radius: 3px;
    display: inline-block;
}
/* 이벤트 사용자 설정 */
.modal_event_user_settings {
  width:400px !important;
}
.modal_event_user_settings .setting-row {
    margin-bottom: 15px;
}
.modal_event_user_settings label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
    color: var(--fontColor);
}
.modal_event_user_settings .prize-input {
    width: 100%;
    max-width: 300px;
    padding: 6px 10px;
    border: var(--border2);
    color:var(--fontColor);
    border-radius: 4px;
    font-size: 13px;
    box-sizing: border-box;
    background: var(--inputBg);
}
.modal_event_user_settings .desc {
    font-size: 12px;
    color: var(--fontColor2);
    margin-top: 4px;
}
.modal_event_user_settings .modal_btns {
    text-align: center;
    margin-top: 20px;
}
.modal_event_user_settings .btn_submit {
    padding: 8px 20px;
    font-size: 14px;
    border: none;
    border-radius: 4px;
    background-color: var(--mainColorBlue, #2172f8);
    color: #fff;
    cursor: pointer;
}
.modal_event_user_settings .btn_submit:hover {
    filter: brightness(0.9);
}
.modal_event_user_settings .prize-input {
    width: 100%;
    max-width: 300px;
    padding: 6px 10px;
    border: var(--border2);
    border-radius: 4px;
    font-size: 13px;
    box-sizing: border-box;
    resize: vertical; /* 사용자가 높이 조절 가능 */
}
.modal_event_user_settings .check_group label {
  display: inline-block;
}
.modal_event_user_settings .check_group label.check_choice {
  font-weight:normal;
  margin-right:10px;
}
/* 전체 자동완성 메뉴 */
.ui-menu.ui-autocomplete {
    overflow-x: hidden !important; /* ✅ 가로 스크롤 제거 */
    max-width: 500px;               /* ✅ 넓이 제한 */  
    font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
    font-size: 15px;
    background-color: var(--bodyBg);
    border: var(--border2);
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 5px 0;
    z-index: 9999;
    max-height: 300px;
    overflow-y: auto;
    width: auto !important; /* 필요시 강제 넓이 적용 */
    min-width: 250px;
}
/* 각 항목 */
.ui-menu .ui-menu-item {
    padding: 0;
    margin: 0;
}
/* 항목 내용 */
.ui-menu .ui-menu-item-wrapper {
    display: block;
    padding: 10px 15px;
    color: var(--fontColor);
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* Hover & 선택 시 강조 */
.ui-menu .ui-menu-item-wrapper:hover,
.ui-menu .ui-menu-item-wrapper.ui-state-active {
    background-color: #f0f4ff;
    color: #1a4fc1;
    font-weight: bold;
}
.side_banner_section {
  text-align: center;
  margin-bottom:10px;
}
.hd_sch_wr { position: relative; }
#hd_sch form { position: relative; }
/* 레이어 */
.kw-suggest{
  position:absolute; left:0; top:100%; width:100%;
  background:var(--bodyBg); border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 10px 28px rgba(0,0,0,.10);
  padding:12px; margin-top:6px; z-index:1000; display:none;
}
.kw-suggest.hidden{ display:none; }
.kw-suggest[aria-hidden="false"]{ display:block; }
.kw-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kw-title{font-size:13px;color:#6b7280}
.kw-muted{font-size:14px;color:#6b7280;padding:8px 2px}
.kw-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.kw-btn.sm{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:4px 8px;font-size:12px;color:#374151;cursor:pointer}
.kw-btn.sm:hover{background:#f9fafb}
.kw-btn.sm:disabled{opacity:.5;cursor:not-allowed}
.kw-switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#374151}
.ac-list {
  list-style:none; margin:8px 0 0; padding:0;
  max-height:360px; overflow:auto;
  /* 스크롤바 숨김 */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.ac-list::-webkit-scrollbar { display: none; } /* Chrome, Safari */
/* 항목: 텍스트와 X 버튼이 같은 라인 중앙정렬 */
.ac-item{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:8px; cursor:pointer;
}
.ac-item:hover,.ac-item.active{ background:#f3f4f6; }
.ac-text{
  flex:1 1 auto; min-width:0;
  color:#111827;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.kw-del{
  flex:0 0 auto;
  border:0;background:transparent;cursor:pointer;font-size:14px;color:#9ca3af;padding:0 4px
}
.kw-del:hover{ color:#374151 }
/* z-index로 가리는 경우 방지 */
#hd_sch{position:relative;z-index:2}
.ac-item.empty { cursor: default; pointer-events: none; }


.st-biz-label {
  font-size: 10px;
  color: #2E8CD8;
  font-weight: 600;
  position: relative;
  display: inline-block;
  top: -3px;
}

.page-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 18px;
    color: var(--fontColor);
}