@charset "utf-8";

/* ============================================
   개인정보처리방침 (privacy_doc) 전용 스타일
   안내 박스 + 아이콘 섹션 카드 + 담당자 연락 카드
   원본 리스트 스타일(numcircle/numlist/text_list/tb_row) 추출 + 커스텀
   ============================================ */

/* --- 원본 리스트/표 스타일 --- */
.text_list > li {position:relative; padding-left:12px; text-align:left;}
.text_list > li::before {content:'-'; display:block; position:absolute; top:0; left:0;}
.text_list > li + li {margin-top:5px;}
/* numberstyle */
.numlist {counter-reset: number 0;}
.numlist > li {position:relative; list-style:none;}
.numlist > li + li {margin-top:7px;}
.numlist > li::before {counter-increment: number 1; content: counter(number) ')'; font-size:1rem; display:inline-flex; text-indent:calc(17px * -1); margin-right:2px;}
.numcircle {counter-reset: circle 0; margin-left:0;}
.numcircle > li {position:relative; padding-left:20px; list-style:none;}
.numcircle > li + li {margin-top:7px;}
.numcircle > li::before {counter-increment: circle 1; content: counter(circle); font-size:0.625rem; background:#fff; border:1px solid #333; border-radius:50%; flex:0 0 12px; width:12px; height:12px; line-height:13px; text-align:center; margin:6px 5px 0 0; position:absolute; top:0; left:0;}
table {width:100%; border-top:2px solid #555;}
table th, table td {border-bottom:1px solid var(--line); padding:8px 10px;}
table th {text-align:center;}
table td {background:#fff;}
table thead th {background:#f4f5f8;}
.tb_row th, .tb_row td {border:1px solid var(--line);}
.tb_row th:first-child, .tb_row td:first-child {border-left:0;}
.tb_row th:last-child, .tb_row td:last-child {border-right:0;}
.tb_row th {background:#f4f5f8;}

.alignL, td.alignL {text-align:left !important;}

/* ============================================
   커스텀 컴포넌트
   ============================================ */
.privacy_doc {counter-reset: sec;}

/* 안내 박스 */
.pv_intro {position:relative; background:linear-gradient(125deg, #eff4fb 0%, #eef7f4 100%); border:1px solid #dce7f1; border-radius:20px; padding:2rem 2.25rem; margin-bottom:2.5rem; overflow:hidden;}
.pv_intro::before {content:'\e32a'; font-family:var(--material); position:absolute; top:1.25rem; right:1.5rem; font-size:4.5rem; color:rgba(51,87,161,0.1);}
.pv_intro .badge {display:inline-flex; align-items:center; gap:7px; background:var(--color); color:#fff; font-size:0.8125rem; font-weight:700; border-radius:50rem; padding:5px 15px; margin-bottom:0.875rem;}
.pv_intro .badge .material-icons-outlined {font-size:1.0625rem;}
.pv_intro p {position:relative; font-size:1.0625rem; line-height:1.8; color:#3c485d; word-break:keep-all;}

/* 섹션 카드 */
.privacy_doc > dl {display:flex; flex-direction:column; gap:1.25rem;}
.privacy_doc > dl > dt {display:flex; align-items:center; gap:12px; background:linear-gradient(100deg, #f4f7fd 0%, #eef4fb 100%); border:1px solid #e2e7f0; border-left:4px solid var(--color); border-bottom:0; border-radius:14px 14px 0 0; padding:1rem 1.375rem; font-size:1.1875rem; font-weight:700; color:#1e2a44; margin-top:0.25rem;}
.privacy_doc > dl > dt:first-of-type {margin-top:0;}
.privacy_doc > dl > dt .ic {counter-increment: sec; flex:0 0 40px; width:40px; height:40px; display:inline-flex; justify-content:center; align-items:center; background:var(--color); color:#fff; border-radius:12px; position:relative;}
.privacy_doc > dl > dt .ic .material-icons-outlined {font-size:1.375rem;}
.privacy_doc > dl > dt .ic::after {content:counter(sec); position:absolute; top:-6px; right:-6px; width:20px; height:20px; background:#fff; color:var(--color); border:2px solid var(--color); border-radius:50rem; font-size:0.6875rem; font-weight:800; display:flex; justify-content:center; align-items:center; font-family:"Roboto", sans-serif;}
.privacy_doc > dl > dd {background:#fff; border:1px solid #e2e7f0; border-left:4px solid var(--color); border-top:0; border-radius:0 0 14px 14px; padding:1.375rem 1.5rem; line-height:1.8; color:#333;}

/* 내부 리스트 여백 다듬기 */
.privacy_doc dd .numcircle > li,
.privacy_doc dd .numlist > li {line-height:1.75;}
.privacy_doc dd .text_list {margin-top:8px; background:#f8fafd; border:1px solid #eceff4; border-radius:10px; padding:0.875rem 1.125rem;}
.privacy_doc dd .numcircle > li .text_list,
.privacy_doc dd .numlist > li .text_list {margin-top:8px;}
.privacy_doc dd .numcircle > li + li,
.privacy_doc dd .numlist > li + li {margin-top:0.875rem;}

/* 담당자 연락 카드 */
.pv_officer {margin-top:0.875rem; display:grid; grid-template-columns:1fr; gap:0.75rem;}
.pv_officer > div {display:flex; align-items:center; gap:0.75rem; background:#f7f9fc; border:1px solid #e2e7f0; border-radius:12px; padding:0.875rem 1.125rem;}
.pv_officer > div .material-icons-outlined {flex:0 0 38px; width:38px; height:38px; display:inline-flex; justify-content:center; align-items:center; background:#eef3fb; color:var(--color); border-radius:50rem; font-size:1.25rem;}
.pv_officer > div .k {font-size:0.8125rem; color:var(--color); font-weight:700; display:block;}
.pv_officer > div .v {font-size:1.0625rem; color:#222; font-weight:600;}

@media screen and (min-width:769px) {
	.pv_officer {grid-template-columns:repeat(3, 1fr);}
}

@media screen and (max-width:768px) {
	.pv_intro {padding:1.625rem 1.375rem;}
	.privacy_doc > dl > dt {font-size:1.0625rem; padding:0.875rem 1.125rem;}
	.privacy_doc > dl > dd {padding:1.125rem; font-size:1rem;}
}
