@charset "utf-8";

/* ============================================
   연구 윤리 규정 (rule_ethics) 전용 스타일
   윤리서약 강조 박스 + 장(章) 디바이더 + 조문 카드
   색상/폰트는 레이아웃 공통(--color, --gradient) 사용
   ============================================ */

.rule_ethics {counter-reset: article;}

/* ---------- 윤리서약 (preamble) ---------- */
.ethics_pledge {position:relative; background:linear-gradient(125deg, #eff4fb 0%, #eef7f4 100%); border:1px solid #dce7f1; border-radius:22px; padding:2.5rem 2.25rem 2.25rem; margin-bottom:2.75rem; overflow:hidden;}
.ethics_pledge::before {content:'\201C'; position:absolute; top:0.5rem; left:1.25rem; font-family:Georgia, serif; font-size:6rem; line-height:1; color:rgba(51,87,161,0.12);}
.ethics_pledge .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:1rem; position:relative;}
.ethics_pledge .badge .material-icons-outlined {font-size:1.0625rem;}
.ethics_pledge p {position:relative; font-size:1.0938rem; line-height:1.85; color:#3c485d; word-break:keep-all;}

/* ---------- 장(章) 디바이더 ---------- */
.rule_ethics h4 {display:flex; align-items:center; gap:0.875rem; font-size:1.375rem; color:#1e2a44; margin:3rem 0 1.5rem; padding-bottom:0.875rem; border-bottom:2px solid #e5ebf3; position:relative;}
.rule_ethics h4::before {counter-increment: chapter; content:''; flex:0 0 auto; width:8px; height:1.75rem; background:var(--gradient); border-radius:50rem;}
.rule_ethics h4::after {content:''; position:absolute; left:0; bottom:-2px; width:64px; height:2px; background:var(--color);}
.rule_ethics dl:first-of-type {margin-top:0;}

/* ---------- 조문 카드 ---------- */
.rule_ethics > dl {display:flex; flex-direction:column; gap:1.125rem;}
.rule_ethics > dl > dt {display:flex; align-items:center; gap:11px; 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:0.9375rem 1.375rem; font-size:1.0938rem; font-weight:700; color:var(--color); margin-top:0.25rem;}
.rule_ethics > dl > dt::before {counter-increment: article; content: counter(article); display:inline-flex; justify-content:center; align-items:center; flex:0 0 32px; width:32px; height:32px; background:var(--color); color:#fff; border-radius:50rem; font-size:0.9375rem; font-family:"Roboto", sans-serif;}
.rule_ethics > dl > dt:first-of-type {margin-top:0;}
.rule_ethics > 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.125rem 1.5rem; line-height:1.8; color:#333;}

/* 부칙 (마지막 dt) 강조 */
.rule_ethics > dl:last-of-type > dt:last-of-type {background:#eef7f4; color:#1f8a6d; border-left-color:#2ca985;}
.rule_ethics > dl:last-of-type > dt:last-of-type::before {counter-increment:none; content:'\e5ca'; font-family:var(--material); background:#2ca985; font-size:1.125rem;}
.rule_ethics > dl:last-of-type > dd:last-of-type {border-left-color:#2ca985;}

/* dd 내부 리스트 */
.rule_ethics dd > ol {counter-reset: item; margin:0.625rem 0 0; padding:0; list-style:none;}
.rule_ethics dd > ol > li {counter-increment: item; position:relative; padding:0.5rem 0 0.5rem 2.125rem; line-height:1.7;}
.rule_ethics dd > ol > li::before {content: counter(item); position:absolute; left:0; top:0.5rem; display:inline-flex; justify-content:center; align-items:center; width:23px; height:23px; background:#eef3fb; color:var(--color); border:1px solid #d7e2f2; border-radius:50rem; font-size:0.8125rem; font-weight:700;}
.rule_ethics dd > ol > li + li {border-top:1px dashed #eceff4;}

/* 2차 리스트(numcircle: 원문자) */
.rule_ethics .numcircle {counter-reset: circle 0; margin:0.5rem 0 0.25rem; padding-left:0.25rem; list-style:none;}
.rule_ethics .numcircle > li {position:relative; padding-left:1.75rem; line-height:1.65; border:0;}
.rule_ethics .numcircle > li::before {counter-increment: circle 1; content: counter(circle); position:absolute; left:0; top:0.2rem; display:inline-flex; justify-content:center; align-items:center; width:18px; height:18px; background:#fff; border:1px solid #9db4d6; color:var(--color); border-radius:50rem; font-size:0.6875rem; font-weight:700;}
.rule_ethics .numcircle > li + li {margin-top:5px;}

.rule_ethics a {color:var(--color); text-decoration:underline; word-break:break-all;}

@media screen and (max-width:768px) {
	.ethics_pledge {padding:2rem 1.375rem 1.75rem;}
	.ethics_pledge p {font-size:1.0313rem;}
	.rule_ethics h4 {font-size:1.1875rem; margin:2.25rem 0 1.25rem;}
	.rule_ethics > dl > dt {font-size:1.0313rem; padding:0.8125rem 1.125rem;}
	.rule_ethics > dl > dd {padding:1.125rem; font-size:1rem;}
}
