@charset "utf-8";

/* ===== 마이페이지 — 서비스 이용약관 — Figma 1119:9722 (teal 액센트) =====
   meet-place.css 컨벤션 준수 (720px → Figma 1.92×). prefix: mtm-
   ① 목록 1119:9158 · ② 상세 1119:9355 · ③ 동의 1119:9551 */

.mtm-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}

/* ===== 공통 헤더 (1119:9165 / 1119:9362 / 1119:9558) ===== */
.mtm-htool {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:54px; height:54px;}
.mtm-htool img {width:38px; height:38px;}
.mtm-head .mtm-hspacer {flex:0 0 auto; width:54px;}

/* ===================== ① 이용약관 — 목록 ===================== */

/* 상단 teal 그라데이션 히어로 (1119:9328) */
.mtm-hero {position:relative; overflow:hidden; padding:31px 35px 38px; background:linear-gradient(160deg, #1E3A5F 0%, #1A4A7A 55%, #0F766E 100%);}
.mtm-hero::before {content:''; position:absolute; right:-77px; top:-77px; width:288px; height:288px; border-radius:50%; background:rgba(255,255,255,.04);}
.mtm-hero::after {content:''; position:absolute; left:-19px; bottom:-38px; width:192px; height:192px; border-radius:50%; background:rgba(13,148,136,.10);}
.mtm-hero-top {position:relative; z-index:1; display:flex; align-items:center; gap:23px;}
.mtm-hero-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:85px; height:85px; border:1.92px solid rgba(255,255,255,.18); border-radius:25px; background:rgba(255,255,255,.12);}
.mtm-hero-ic img {width:46px; height:46px;}
.mtm-hero-tx {display:flex; flex-direction:column; gap:6px;}
.mtm-hero-tx b {font-size:33px; font-weight:800; color:#fff;}
.mtm-hero-tx span {font-size:21px; color:rgba(255,255,255,.55);}
.mtm-hero-meta {position:relative; z-index:1; display:flex; gap:19px; margin-top:23px;}
.mtm-hero-chip {display:flex; align-items:center; gap:9px; padding:10px 21px; border:1.92px solid rgba(255,255,255,.15); border-radius:38px; background:rgba(255,255,255,.10); color:rgba(255,255,255,.7); font-size:20px; font-weight:600;}
.mtm-hero-chip img {width:21px; height:21px;}

/* 약관 그룹 카드 (1119:9172 / 1119:9225) */
.mtm-group {margin-top:15px; background:var(--card); border-top:1.92px solid var(--line); border-bottom:1.92px solid var(--line);}
.mtm-group-title {padding:19px 35px 8px; font-size:21px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--sub);}
.mtm-row {display:flex; align-items:center; gap:23px; width:100%; padding:29px 35px; border-top:1.92px solid var(--line); text-align:left;}
.mtm-row-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:77px; height:77px; border-radius:21px;}
.mtm-row-ic img {width:38px; height:38px;}
.mtm-row-ic.t-doc {background:#EEF2FF;}
.mtm-row-ic.t-shield {background:#F0FDFA;}
.mtm-row-ic.t-lock {background:#EFF6FF;}
.mtm-row-ic.t-bell {background:#F0FDF4;}
.mtm-row-ic.t-pin {background:#FFFBEB;}
.mtm-row-ic.t-users {background:#F5F3FF;}
.mtm-row-meta {flex:1; min-width:0; display:flex; flex-direction:column; gap:6px;}
.mtm-row-meta b {font-size:27px; font-weight:700; color:var(--ink);}
.mtm-row-meta span {font-size:21px; color:var(--sub);}
.mtm-badge {flex:0 0 auto; padding:4px 15px; border-radius:38px; font-size:19px; font-weight:700;}
.mtm-badge.b-req {background:#FEF2F2; color:#DC2626;}
.mtm-badge.b-opt {background:#F0FDF4; color:#16A34A;}
.mtm-badge.b-rev {background:#F0FDFA; color:var(--teal);}
.mtm-row-arrow {flex:0 0 auto; width:29px; height:29px;}
.mtm-row-arrow img {width:100%; height:100%;}

/* 약관 개정 이력 (1119:9277) */
.mtm-hist {margin:27px 27px 0; padding:29px; border:1.92px solid var(--line); border-radius:19px; background:var(--card);}
.mtm-hist-h {display:flex; align-items:center; gap:10px; margin-bottom:8px;}
.mtm-hist-h img {width:25px; height:25px;}
.mtm-hist-h b {font-size:23px; font-weight:700; color:var(--body);}
.mtm-hist-row {display:flex; gap:19px; align-items:flex-start; padding:14px 0; border-top:1.92px solid var(--line);}
.mtm-hist-row:first-of-type {border-top:0;}
.mtm-hist-ver {flex:0 0 auto; min-width:62px; font-size:21px; font-weight:700; color:var(--teal);}
.mtm-hist-date {flex:0 0 auto; min-width:100px; font-size:19px; color:var(--sub);}
.mtm-hist-desc {flex:1; min-width:0; font-size:22px; color:var(--body); line-height:1.45;}

.mtm-list-body {flex:1; padding-bottom:150px;}

/* ===================== ② 약관 상세 — 본문 ===================== */
.mtm-d-meta {display:flex; flex-direction:column; gap:14px; padding:29px 35px; background:var(--card); border-bottom:1.92px solid var(--line);}
.mtm-d-badge {align-self:flex-start; padding:5px 17px; border-radius:11px; font-size:20px; font-weight:700; background:#FEF2F2; color:#DC2626;}
.mtm-d-title {font-size:33px; font-weight:800; color:var(--ink);}
.mtm-d-info {display:flex; flex-wrap:wrap; gap:20px;}
.mtm-d-info span {display:flex; align-items:center; gap:9px; font-size:21px; color:var(--sub);}
/* cal/ver.svg 는 stroke=var(--stroke-0,white) → <img>라 항상 흰색 = 흰 카드에서 안보임.
   라이트모드는 어둡게(--sub 톤), 다크모드는 밝게 */
.mtm-d-info img {width:21px; height:21px; filter:brightness(0); opacity:.55;}
.churchro.dark-mode .mtm-d-info img {filter:brightness(0) invert(1); opacity:.7;}

/* 목차 카드 (1119:9392) */
.mtm-toc {margin:31px 35px; padding:29px; border:1.92px solid #C7D2FE; border-radius:19px; background:#EEF2FF;}
.churchro.dark-mode .mtm-toc {border-color:#3A3F66; background:#1E2238;}
.mtm-toc-h {display:flex; align-items:center; gap:10px; margin-bottom:15px;}
.mtm-toc-h img {width:25px; height:25px;}
.mtm-toc-h b {font-size:23px; font-weight:700; color:#1E3A5F;}
.churchro.dark-mode .mtm-toc-h b {color:#C7D2FE;}
.mtm-toc-row {display:flex; align-items:center; gap:12px; width:100%; padding:7px 0; text-align:left;}
.mtm-toc-row img {flex:0 0 auto; width:21px; height:21px;}
.mtm-toc-row .no {flex:0 0 auto; min-width:66px; font-size:21px; font-weight:700; color:var(--teal);}
.mtm-toc-row .nm {font-size:23px; color:#1E3A5F;}
.churchro.dark-mode .mtm-toc-row .nm {color:var(--body);}

/* 조항 (1119:9451 …) */
.mtm-art {padding:33px 35px; background:var(--card);}
.mtm-art-h {display:flex; align-items:center; gap:17px; margin-bottom:21px;}
.mtm-art-no {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:13px; background:var(--mint); color:var(--teal); font-size:25px; font-weight:800;}
.mtm-art-h h2 {font-size:29px; font-weight:700; color:var(--ink);}
.mtm-art p {margin:0; font-size:24px; line-height:1.65; color:var(--body);}
.mtm-art p + p {margin-top:14px;}
.mtm-art ol {margin:17px 0 0; padding:0; list-style:none; counter-reset:art;}
.mtm-art ol li {position:relative; padding:0 0 0 38px; margin-bottom:14px; font-size:23px; line-height:1.6; color:var(--body);}
.mtm-art ol li::before {counter-increment:art; content:counter(art); position:absolute; left:0; top:2px; display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--mint); color:var(--teal); font-size:18px; font-weight:700;}
.mtm-art ol li b {color:var(--ink); font-weight:700;}
/* 섹션 구분 (8px) (1119:9461) */
.mtm-art-gap {height:15px; background:var(--snow);}
/* 경고 박스 — 금지 행위 (1119:9489) */
.mtm-art-warn {display:flex; gap:13px; margin:21px 0 4px; padding:19px 23px; border-left:7px solid #F59E0B; border-radius:0 13px 13px 0; background:var(--cream); font-size:22px; line-height:1.55; color:#92400E;}
.churchro.dark-mode .mtm-art-warn {color:#FCD34D;}
.mtm-art-warn img {flex:0 0 auto; width:30px; height:30px; margin-top:2px;}

.mtm-d-body {flex:1; padding-bottom:150px;}

/* ===================== ③ 약관 동의 — 개정 재동의 ===================== */
/* 상단 teal 히어로 (1119:9710) */
.mtm-a-hero {position:relative; overflow:hidden; padding:35px 35px 42px; background:linear-gradient(160deg, #1E3A5F 0%, #1A4A7A 55%, #0F766E 100%);}
.mtm-a-hero::after {content:''; position:absolute; right:-40px; top:75px; width:230px; height:230px; border-radius:50%; background:rgba(13,148,136,.12);}
.mtm-a-hero-ic {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:92px; height:92px; border:1.92px solid rgba(255,255,255,.18); border-radius:23px; background:rgba(255,255,255,.12);}
.mtm-a-hero-ic img {width:50px; height:50px;}
.mtm-a-hero h2 {position:relative; z-index:1; margin-top:23px; font-size:38px; font-weight:800; color:#fff;}
.mtm-a-hero p {position:relative; z-index:1; margin-top:13px; font-size:23px; line-height:1.55; color:rgba(255,255,255,.78);}

/* 개정 알림 배너 (1119:9563) */
.mtm-a-alert {display:flex; gap:17px; margin:27px; padding:25px 27px; border:1.92px solid #FDE68A; border-radius:19px; background:var(--cream);}
.mtm-a-alert img {flex:0 0 auto; width:31px; height:31px; margin-top:2px;}
.mtm-a-alert p {font-size:23px; line-height:1.6; color:#92400E;}
.churchro.dark-mode .mtm-a-alert p {color:#FCD34D;}
.mtm-a-alert p b {font-weight:800;}

/* 약관 전체 동의 마스터 (1119:9571) */
.mtm-a-master {display:flex; align-items:center; gap:23px; width:100%; padding:29px 35px; background:var(--card); border-top:1.92px solid var(--line); border-bottom:1.92px solid var(--line);}
.mtm-a-master .mtm-chk {width:46px; height:46px;}
.mtm-a-master b {flex:1; min-width:0; text-align:left; font-size:29px; font-weight:800; color:var(--ink);}
.mtm-a-master span {flex:0 0 auto; font-size:21px; color:var(--sub);}

/* 체크박스 (공통) */
.mtm-chk {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:3.84px solid var(--mute); border-radius:11px; background:var(--snow);}
.mtm-chk img {width:0; height:0;}
.mtm-chk.on {border-color:var(--teal-2); background:var(--teal-2);}
.mtm-chk.on img {width:24px; height:24px;}

/* 동의 항목 그룹 (1119:9579 / 1119:9632) */
.mtm-a-sec {background:var(--card); border-bottom:15px solid var(--snow);}
.mtm-a-sectitle {display:flex; align-items:center; gap:10px; padding:19px 35px 8px; font-size:21px; font-weight:700; color:var(--sub);}
.mtm-a-sectitle img {width:23px; height:23px;}
.mtm-a-item {display:flex; align-items:center; gap:19px; width:100%; padding:25px 35px; border-top:1.92px solid var(--line); text-align:left;}
.mtm-a-item.is-rev {background:var(--mint); border-top-color:#CCFBF1;}
.churchro.dark-mode .mtm-a-item.is-rev {border-top-color:#1F3B38;}
.mtm-a-item .mtm-chk {width:42px; height:42px;}
.mtm-a-item-meta {flex:1; min-width:0; display:flex; flex-direction:column; gap:4px;}
.mtm-a-item-name {display:flex; align-items:center; gap:9px; font-size:25px; font-weight:600; color:var(--ink);}
.mtm-a-item.is-rev .mtm-a-item-name {color:var(--teal);}
.mtm-a-item-name .rev {padding:1px 11px; border-radius:19px; background:var(--teal-2); color:#fff; font-size:18px; font-weight:700;}
.mtm-a-item-sub {font-size:20px; color:var(--sub);}
.mtm-a-item.is-rev .mtm-a-item-sub {color:var(--teal-2);}
.mtm-a-item-badge {flex:0 0 auto; padding:4px 14px; border-radius:38px; font-size:18px; font-weight:700;}
.mtm-a-item-badge.b-req {background:#FEF2F2; color:#DC2626;}
.mtm-a-item-badge.b-opt {background:#F0FDF4; color:#16A34A;}
.mtm-a-view {flex:0 0 auto; display:flex; align-items:center; gap:6px; padding:6px 4px; font-size:21px; font-weight:700; color:var(--teal-2);}
.mtm-a-view img {width:21px; height:21px;}

/* 하단 동의 버튼 (1119:9679) */
.mtm-a-foot {position:sticky; bottom:0; z-index:15; padding:25px 27px 21px; background:var(--card); border-top:1.92px solid var(--line);}
.mtm-a-cta {display:flex; align-items:center; justify-content:center; gap:13px; width:100%; padding:27px; border-radius:19px; background:var(--teal); color:#fff; font-size:30px; font-weight:700;}
.mtm-a-cta:disabled {background:var(--mute); cursor:not-allowed;}
.mtm-a-cta img {width:31px; height:31px;}
.mtm-a-note {margin-top:21px; padding-top:21px; border-top:1.92px solid var(--line); text-align:center; font-size:21px; color:var(--sub);}

.mtm-a-body {flex:1; padding-bottom:30px;}

/* 하단 탭바 (fixed) — meet-place 패턴 재사용 */
.mtm-nav {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%; display:flex; align-items:center; justify-content:space-between; padding:20px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.mtm-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.mtm-nav .tab img {width:42px; height:42px;}
.mtm-nav .tab.on {color:var(--teal);}
.mtm-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.mtm-nav .tab-fab .fab {position:absolute; left:50%; top:0; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; background:linear-gradient(135deg, #0D9488, #1E3A5F); border:5px solid var(--card); box-shadow:0 10px 24px rgba(13,148,136,0.4);}
.mtm-nav .tab-fab .fab img {width:48px; height:48px;}

@media (hover:hover) and (pointer:fine) {
	.mtm-row:hover, .mtm-toc-row:hover, .mtm-a-item:hover {background:var(--snow);}
	.mtm-a-item.is-rev:hover {background:#E6FBF6;}
	.churchro.dark-mode .mtm-a-item.is-rev:hover {background:#16242B;}
}
