@charset "utf-8";

/* ===== 06.나눔터.공간나눔(목록) — Figma 1018:3638 (teal 액센트) ===== */
.sp-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}

/* 헤더 */
.sp-head {position:sticky; top:0; z-index:20; background:var(--card);}
.sp-bar {display:flex; align-items:center; gap:14px; padding:17px 22px; border-bottom:1.92px solid var(--line);}
.sp-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:58px; height:58px;}
.sp-back img {width:32px; height:32px;}
.sp-search {flex:1; display:flex; align-items:center; gap:16px; height:74px; padding:0 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:42px;}
.sp-search img {width:31px; height:31px;}
.sp-search input {flex:1; min-width:0; border:0; background:transparent; font-size:25px; color:var(--ink);}
.sp-search input::placeholder {color:#6B7280;}

/* 필터 (pill) — 전국 active=teal */
.sp-filters {display:flex; flex-wrap:nowrap; gap:11.52px; padding:15px 27px 21px; border-bottom:1.92px solid var(--line); overflow-x:auto; scrollbar-width:none;}
.sp-filters::-webkit-scrollbar {display:none;}
.sp-dd {position:relative; flex:0 0 auto;}
.sp-fil {flex:0 0 auto; display:flex; align-items:center; gap:6px; padding:11px 23px; border:1.92px solid var(--line); border-radius:38px; background:var(--card); color:#475569; font-size:21px; font-weight:500; white-space:nowrap;}
.sp-fil .lbl {white-space:nowrap; font-size:inherit;}
.sp-fil img {width:21px; height:21px; transition:transform .2s ease;}
.sp-dd.open .sp-fil img {transform:rotate(180deg);}
.sp-fil.on {border-color:var(--teal-2); color:var(--teal); background:var(--mint); font-weight:700;}
.sp-fil-region::before {content:''; flex:0 0 auto; width:21px; height:21px; background:url('/asset/images/space-share/fil-region-pin.svg') center/contain no-repeat;}

.sp-dd-menu {position:absolute; top:64px; left:0; z-index:30; min-width:220px; max-height:0; overflow:hidden; opacity:0; background:var(--card); border-radius:16px; box-shadow:0 18px 44px rgba(15,23,42,.18); transition:opacity .15s ease;}
.sp-dd.open .sp-dd-menu {max-height:560px; overflow-y:auto; opacity:1; padding:10px; border:1.92px solid var(--line);}
.sp-dd-menu li {padding:16px 20px; border-radius:10px; font-size:22px; color:var(--body); cursor:pointer; white-space:nowrap;}
.sp-dd-menu li.on {background:var(--mint); color:var(--teal); font-weight:700;}

/* 브레드크럼 */
.sp-crumb {display:flex; align-items:center; gap:11px; padding:15px 27px 13px; border-bottom:1.92px solid var(--line); font-size:23px; font-weight:700; color:#6B7280;}
.sp-crumb img {width:25px; height:25px;}

/* 함께나눔 서브탭 (active=teal 밑줄, 게시판 종류가 늘어나면 좌우 화살표로 스크롤) */
.sp-tabswrap {position:relative;}
.sp-tabs {display:flex; gap:0; padding:0 27px; overflow-x:auto; scrollbar-width:none; border-bottom:3.84px solid var(--line);}
.sp-tabs::-webkit-scrollbar {display:none;}
.sp-tab {flex:0 0 auto; position:relative; padding:21px 23px; background:none; color:#94A3B8; font-size:23px; font-weight:500; white-space:nowrap;}
.sp-tab.on {color:var(--teal); font-weight:700;}
.sp-tab.on::after {content:''; position:absolute; left:0; right:0; bottom:-3.84px; height:3.84px; border-radius:3px 3px 0 0; background:var(--teal);}
.sp-tabarrow {position:absolute; top:0; bottom:3.84px; width:46px; z-index:5; display:flex; align-items:center; justify-content:center; border:0; cursor:pointer; padding:0;}
.sp-tabarrow img {width:16px; height:16px;}
.sp-tabarrow.prev {left:0; background:linear-gradient(to right, var(--card) 55%, transparent);}
.sp-tabarrow.next {right:0; background:linear-gradient(to left, var(--card) 55%, transparent);}

/* 공간 카테고리 칩 (라운드스퀘어 타일 + 라인아이콘 + 라벨) — 전체 active */
.sp-cats {display:flex; gap:15.36px; padding:19px 27px 21px; overflow-x:auto; scrollbar-width:none; border-bottom:1.92px solid var(--line);}
.sp-cats::-webkit-scrollbar {display:none;}
.sp-cat {flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:7.68px; background:none;}
.sp-cat-av {display:flex; align-items:center; justify-content:center; width:84.48px; height:84.48px; border:1.92px solid var(--line); border-radius:20px; background:var(--snow);}
.sp-cat-ic {width:38.4px; height:38.4px; background-color:#94A3B8; -webkit-mask:center/contain no-repeat; mask:center/contain no-repeat;}
.sp-cat-lb {font-size:19.2px; font-weight:600; color:#475569; white-space:nowrap;}
.sp-cat.on .sp-cat-av {border-color:var(--teal-2); background:var(--mint);}
.sp-cat.on .sp-cat-ic {background-color:var(--teal);}
.sp-cat.on .sp-cat-lb {color:var(--teal); font-weight:700;}

/* ===== 컬러 태그 (status/share/category) ===== */
.sp-tag {padding:5px 16px; border-radius:38px; font-size:19px; font-weight:600; white-space:nowrap;}
.sp-tag.t-on {background:#DCFCE7; color:#15803D;}            /* 진행 */
.sp-tag.t-done {background:#E2E8F0; color:#2D5282;}          /* 완료 */
.sp-tag.t-share {background:var(--mint); color:var(--teal);} /* 나눔 */
.sp-tag.t-req {background:var(--cream); color:#92400E;}      /* 요청 */
.sp-tag.t-new {background:#FEF2F2; color:#DC2626;}           /* 신규 */
.sp-tag.c-violet {background:var(--snow); color:#5B21B6;}
.sp-tag.c-green {background:var(--mint); color:#14532D;}
.sp-tag.c-orange {background:var(--cream); color:#EA580C;}
.sp-tag.c-blue {background:var(--mint); color:#1D4ED8;}
.sp-tag.c-amber {background:#FEF3C7; color:#92400E;}
.churchro.dark-mode .sp-tag.t-on {background:#16321F; color:#86EFAC;}
.churchro.dark-mode .sp-tag.t-done {background:#243049; color:#93B4D8;}
.churchro.dark-mode .sp-tag.t-req {background:#3A2A14; color:#FCD34D;}
.churchro.dark-mode .sp-tag.t-new {background:#3A1D1D; color:#FCA5A5;}
.churchro.dark-mode .sp-tag.c-violet {background:#241B33; color:#C4B5FD;}
.churchro.dark-mode .sp-tag.c-amber {background:#33260D; color:#FCD34D;}

/* 통계 (관심/조회 아이콘 + 숫자) */
.sp-stats {display:flex; align-items:center; gap:15px;}
.sp-stat {display:flex; align-items:center; gap:6px; font-size:19px; color:var(--sub);}
.sp-stat img {width:21px; height:21px;}

/* ===== 추천 공간 (그라데이션 카드) ===== */
.sp-rec {padding:24px 22px 8px;}
.sp-rec-head {display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px;}
.sp-rec-head .t {font-size:24px; font-weight:700; color:#475569;}
.sp-more {font-size:21px; color:var(--sub);}
.sp-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:19px;}
.sp-rec-card {position:relative; display:flex; flex-direction:column; padding:1.92px; background:var(--card); border:1.92px solid var(--line); border-radius:19px; overflow:hidden; box-shadow:0 1.92px 11.52px rgba(15,23,42,.06);}
.sp-rec-thumb {position:relative; height:211px; display:flex; align-items:center; justify-content:center; border-radius:17px 17px 0 0; overflow:hidden;}
.sp-rec-thumb.is-photo {background:var(--mute);}
.sp-rec-img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.sp-rec-ic {width:54px; height:54px; opacity:.92; filter:brightness(0) invert(1);}
.sp-rec-heart {position:absolute; top:12px; right:12px; z-index:3; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:25px; background:rgba(255,255,255,.88);}
.sp-rec-heart img {width:25px; height:25px;}
.sp-rec-badges {position:absolute; left:12px; top:12px; z-index:3; display:flex; gap:8px;}
.sp-rec-badges .sp-tag {padding:3px 12px; font-size:17px;}
.sp-rec-cap {position:absolute; left:12px; bottom:12px; z-index:3; display:flex; align-items:center; gap:5px; padding:4px 15px; border-radius:38px; background:rgba(0,0,0,.55); color:#fff; font-size:19px; font-weight:600;}
.sp-rec-cap img {width:19px; height:19px;}
.sp-rec-info {display:flex; flex-direction:column; gap:6px; padding:15px 19px 19px;}
.sp-rec-title {font-size:23px; font-weight:600; color:var(--ink); line-height:1.3; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.sp-rec-loc {display:flex; align-items:center; gap:6px; font-size:19px; color:var(--sub);}
.sp-rec-loc img {width:19px; height:19px;}
.sp-rec-stats {display:flex; align-items:center; gap:15px; padding-top:2px;}

/* ===== 전체 공간 ===== */
.sp-body {flex:1; padding:16px 22px 170px;}
.sp-lhead {display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px; padding-top:11.52px;}
/* 카운트 라인 — 숫자를 라벨보다 크게 (라벨 23px/600, 숫자 29px/800 teal) */
.sp-lhead .l {font-size:23px; font-weight:600; color:#475569;}
.sp-lhead .l b {font-size:29px; font-weight:800; color:#0F766E;}
.sp-lhead .c {font-size:21.12px; font-weight:400; color:var(--sub);}
.sp-listwrap {display:flex; flex-direction:column; gap:18px;}
.sp-item {display:flex; gap:19px; align-items:flex-start; padding:25px; background:var(--card); border:1.92px solid var(--line); border-radius:19px; box-shadow:0 1.92px 7.68px rgba(0,0,0,.07);}
.sp-item.is-done {opacity:.62;}
.sp-thumb {flex:0 0 134px; width:134px; height:134px; border-radius:15px; overflow:hidden; background:var(--mute);}
.sp-thumb-img {width:100%; height:100%; object-fit:cover; display:block;}
.sp-ibody {flex:1; min-width:0; display:flex; flex-direction:column; gap:6px;}
.sp-tags {display:flex; flex-wrap:wrap; gap:9px; align-items:center;}
.sp-ititle {font-size:25px; font-weight:600; color:var(--ink); line-height:1.35; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.sp-iloc {display:flex; align-items:center; gap:6px; font-size:21px; color:var(--sub);}
.sp-iloc img {width:21px; height:21px;}
.sp-irow {display:flex; align-items:center; justify-content:space-between; margin-top:2px;}
.sp-date {font-size:19px; color:var(--sub);}
.sp-bm {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:44px; align-self:stretch;}
.sp-bm img {width:29px; height:29px;}

/* 페이지네이션 (active=navy) */
.sp-page {display:flex; align-items:center; justify-content:center; gap:8px; padding:38px 0 6px;}
.sp-page .pg {display:flex; align-items:center; justify-content:center; min-width:62px; height:62px; padding:0 16px; border:1.85px solid var(--line); border-radius:14px; background:var(--card); color:var(--body); font-size:22px; font-weight:500;}
.sp-page .pg.on {background:#1E3A5F; border-color:#1E3A5F; color:#fff; font-weight:700;}
.sp-page .pg img {width:24px; height:24px;}
.sp-page .dots {padding:0 5px; color:var(--sub); font-size:24px;}

/* 글쓰기 FAB (teal) */
.sp-write {position:fixed; right:27px; bottom:135px; z-index:35; display:flex; align-items:center; justify-content:center; width:92px; height:92px; border-radius:50%; background:var(--teal); box-shadow:0 8px 16px rgba(13,148,136,.45);}
.sp-write img {width:42px; height:42px;}

/* 하단 탭바 (fixed) */
.sp-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);}
.sp-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.sp-nav .tab img {width:42px; height:42px;}
.sp-nav .tab.on {color:var(--teal);}
.sp-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.sp-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);}
.sp-nav .tab-fab .fab img {width:48px; height:48px;}

@media (hover:hover) and (pointer:fine) {
	.sp-item:hover, .sp-rec-card:hover {background:var(--snow);}
}

/* ===================== 06.나눔터.공간나눔(상세) — Figma 1018:4050 ===================== */
.sd-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.sd-photo {position:relative; height:422px; overflow:hidden; background:linear-gradient(160deg, #1E3A5F 0%, #0D9488 100%);}
.sd-photo-img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.sd-photo-top {position:absolute; z-index:3; left:0; right:0; top:0; display:flex; align-items:center; justify-content:space-between; padding:23px 27px;}
.sd-gacts {display:flex; gap:11.5px;}
.sd-gbtn {display:flex; align-items:center; justify-content:center; width:69px; height:69px; border-radius:19px; background:rgba(0,0,0,.4);}
.sd-gbtn img {width:38px; height:38px;}
.sd-gall {position:absolute; z-index:3; left:23px; bottom:18px; display:flex; align-items:center; gap:8px; padding:8px 19px; border-radius:38px; background:rgba(0,0,0,.55); color:#fff; font-size:21px; font-weight:700;}
.sd-gall img {width:23px; height:23px;}
.sd-gcount {position:absolute; z-index:3; right:25px; bottom:19px; padding:6px 19px; border-radius:38px; background:rgba(0,0,0,.55); color:#fff; font-size:21px; font-weight:600;}
.sd-garrow {position:absolute; z-index:3; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:27px; background:rgba(255,255,255,.8);}
.sd-garrow img {width:27px; height:27px;}
.sd-garrow.l {left:19px;} .sd-garrow.r {right:19px;}

/* 작성자 */
.sd-titlesec {display:flex; flex-direction:column; gap:14px; padding:27px 27px 21px; background:var(--card); border-bottom:1.92px solid var(--line);}
.sd-author {display:flex; align-items:center; gap:11px;}
.sd-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:53px; height:53px; border-radius:50%; color:#fff; font-size:23px; font-weight:800;}
.a-teal {background:linear-gradient(135deg, #0D9488, #1E3A5F);}
.a-violet {background:#7C3AED;}
.a-orange {background:#EA580C;}
.sd-aname {font-size:23px; font-weight:700; color:var(--ink);}
.sd-atime {font-size:21px; color:var(--sub);}
.sd-aloc {display:flex; align-items:center; gap:5px; margin-left:auto; font-size:21px; color:var(--sub);}
.sd-aloc img {width:21px; height:21px;}
.sd-tags {display:flex; flex-wrap:wrap; gap:9px;}
.sd-tag {padding:6px 16px; border-radius:38px; font-size:19px; font-weight:600; white-space:nowrap;}
.sd-tag.t-on {background:#DCFCE7; color:#15803D;}
.sd-tag.t-share {background:var(--mint); color:var(--teal);}
.sd-tag.c-amber {background:#FEF3C7; color:#92400E;}
.churchro.dark-mode .sd-tag.t-on {background:#16321F; color:#86EFAC;}
.churchro.dark-mode .sd-tag.c-amber {background:#33260D; color:#FCD34D;}
.sd-title {font-size:32px; font-weight:700; color:var(--ink); line-height:45px;}
.sd-num {display:flex; align-items:center; gap:11.5px; padding:11px 19px; border-radius:11.5px; background:var(--snow);}
.sd-num .k {font-size:21px; color:var(--sub);}
.sd-num .v {font-size:22px; font-weight:700; color:#6B7280;}
.sd-copy {display:flex; align-items:center; gap:5.76px; margin-left:auto; color:var(--teal); font-size:21px;}
.sd-copy img {width:23px; height:23px;}

.sd-stat {display:grid; grid-template-columns:repeat(4, 1fr); padding:23px 27px 25px; background:var(--card); border-bottom:1.92px solid var(--line);}
.sd-scol {display:flex; flex-direction:column; align-items:center; gap:6px; padding:8px 0;}
.sd-scol.bd {border-left:1.92px solid var(--line);}
.sd-scol .k {font-size:19px; color:var(--sub);}
.sd-scol .v {font-size:25px; font-weight:700; color:var(--ink);}
.sd-scol .v.teal {color:var(--teal);}

.sd-acts {display:flex; gap:11.5px; padding:15px 27px 21px; background:var(--card); border-bottom:1.92px solid var(--line);}
.sd-act {flex:1; display:flex; align-items:center; justify-content:center; gap:9.6px; padding:17px 13px; border:1.92px solid var(--line); border-radius:15px; background:var(--card); color:#6B7280; font-size:21px; font-weight:600;}
.sd-act img {width:27px; height:27px;}
.sd-act.heart.on {background:var(--mint); border-color:#EF4444; color:#EF4444;}

.sd-body {flex:1; padding-bottom:390px;}
.sd-table {margin:24px 27px 0; border:1.92px solid var(--line); border-radius:19px; overflow:hidden;}
.sd-trow {display:flex; border-bottom:1.92px solid var(--line);}
.sd-trow:last-child {border-bottom:0;}
.sd-tk {flex:0 0 auto; min-width:140px; display:flex; align-items:center; padding:17px 24px; background:var(--mint); color:var(--teal); font-size:23px; font-weight:600;}
.sd-tv {flex:1; padding:17px 23px; font-size:23px; color:var(--ink); line-height:34px; word-break:break-all;}
.sd-tv.teal {color:var(--teal); font-weight:600;}
.sd-tv.link {color:var(--teal); font-weight:600;}

.sd-sech {display:flex; align-items:center; gap:11.5px; padding:27px 27px 15px;}
.sd-sech img {width:28px; height:28px;}
.sd-sech h2 {font-size:25px; font-weight:700; color:var(--ink);}
.sd-cmt-count {display:flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 10px; border-radius:17px; background:var(--mint); color:var(--teal); font-size:19px; font-weight:700;}

/* 보유 시설 칩 (실제 디자인 라인 아이콘) */
.sd-facs {display:flex; flex-wrap:wrap; gap:12px; padding:0 27px;}
.sd-fac {display:flex; align-items:center; gap:7.68px; padding:8px 19px; border-radius:38px; background:var(--mint); color:var(--teal); font-size:21px; font-weight:600;}
.sd-fac-ic {width:23px; height:23px;}

.sd-desc {display:flex; flex-direction:column; gap:18px; padding:4px 27px 8px;}
.sd-desc p {margin:0; font-size:24px; color:var(--ink); line-height:40px;}

.sd-map {position:relative; margin:0 27px; height:280px; border:1.92px solid var(--line); border-radius:19px; overflow:hidden; background:#E8F4F8;}
.sd-map iframe {width:100%; height:100%; border:0; display:block;}
.sd-map-pin {position:absolute; z-index:2; left:18px; top:16px; display:flex; align-items:center; gap:6px; padding:7px 16px; border-radius:7.68px; background:rgba(27,46,75,.9); color:#fff; font-size:19px; font-weight:700;}
.sd-map-pin img {width:19px; height:19px; filter:brightness(0) invert(1);}
.sd-mapopen {position:absolute; z-index:2; right:30px; bottom:16px; display:flex; align-items:center; gap:7.68px; padding:10px 19px; border-radius:38px; background:#1B2E4B; color:#fff; font-size:19px; font-weight:700;}
.sd-mapopen img {width:21px; height:21px;}

.sd-contact {margin:24px 27px 0; padding:25px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px;}
.sd-crow {display:flex; align-items:center; gap:15px; padding:8px 0;}
.sd-crow.bd {border-top:1.92px solid var(--line); padding-top:17px;}
.sd-ck {flex:0 0 auto; min-width:80px; font-size:21px; font-weight:600; color:var(--sub);}
.sd-cv {flex:1; min-width:0; font-size:23px; color:var(--ink); word-break:break-all;}
.sd-cbtn {flex:0 0 auto; display:flex; align-items:center; gap:7.68px; padding:10px 19px; border-radius:11.5px; background:var(--mint); color:var(--teal); font-size:21px; font-weight:700;}
.sd-cbtn img {width:23px; height:23px;}

/* 섹션 헤더 (댓글 — 아이콘 없음) */
.sd-sech.no-ic {padding-left:27px;}

/* 댓글 (talent 미러: 흰 카드 영역 + 답글 풀폭 회색) */
.sd-comments {margin-top:8px; padding:0 27px; background:var(--card); border-top:1.92px solid var(--line);}
.sd-comment {display:flex; gap:15px; padding:23px 0; border-bottom:1.92px solid var(--line);}
.sd-comment.reply {margin:0 -27px; padding:21px 27px 21px 81px; border-bottom:1.92px solid var(--line); background:var(--snow); border-radius:0;}
.sd-cmt-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:53px; height:53px; border-radius:50%; color:#fff; font-size:22px; font-weight:700;}
.sd-comment.reply .sd-cmt-av {width:46px; height:46px; font-size:20px;}
.sd-cmt-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:8px;}
.sd-cmt-h {display:flex; align-items:center; gap:11px;}
.sd-cmt-h b {font-size:23px; font-weight:600; color:var(--ink);}
.sd-cmt-date {font-size:21px; color:var(--sub);}
.sd-cmt-body p {margin:0; font-size:23px; color:var(--ink); line-height:34px;}
.sd-cmt-actions {display:flex; align-items:center; gap:21px; padding-top:2px; font-size:21px; color:var(--sub);}
.sd-cmt-like, .sd-cmt-reply {display:flex; align-items:center; gap:6px; font-size:21px; color:var(--sub);}
.sd-cmt-like img, .sd-cmt-reply img {width:23px; height:23px;}

/* 회색 푸터 영역 (안내 + 신고) */
.sd-cfooter {padding:24px 27px 32px; background:var(--snow); border-top:1.92px solid var(--line);}
.sd-disclaim {display:flex; align-items:flex-start; gap:11px; margin:0; padding:21px; background:var(--card); border:1.92px solid var(--line); border-radius:15px;}
.sd-disclaim img {flex:0 0 auto; width:25px; height:25px;}
.sd-disclaim p {margin:0; font-size:19px; color:var(--sub); line-height:31px;}
.sd-report {display:flex; align-items:center; justify-content:center; gap:9.6px; width:100%; margin:16px 0 0; padding:17px; border:1.92px solid var(--line); border-radius:15px; background:var(--card); color:var(--sub); font-size:21px;}
.sd-report img {width:25px; height:25px;}

/* 하단 고정 */
.sd-bottom {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%;}
.sd-cmt-input {display:flex; align-items:center; gap:15px; padding:18px 27px; background:var(--card); border-top:1.92px solid var(--line);}
.sd-cmt-input input {flex:1; height:74px; padding:0 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:42px; font-size:24px; color:var(--ink);}
.sd-cmt-input input::placeholder {color:#6B7280;}
.sd-cmt-send {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:73px; height:73px; border-radius:50%; background:linear-gradient(135deg, #0D9488, #1E3A5F);}
.sd-cmt-send img {width:33px; height:33px;}
.sd-actionbar {display:flex; align-items:center; gap:15px; padding:18px 27px 20px; background:var(--card); border-top:1.92px solid var(--line);}
.sd-bar-email {display:flex; flex-direction:column; align-items:center; gap:4px;}
.sd-bar-email .ic {display:flex; align-items:center; justify-content:center; width:84px; height:84px; border:1.92px solid var(--line); border-radius:19px; background:var(--card);}
.sd-bar-email .ic img {width:34px; height:34px;}
.sd-bar-email .lb {font-size:17px; color:var(--sub);}
.sd-bar-chat, .sd-bar-apply {flex:1; display:flex; align-items:center; justify-content:center; gap:11.5px; padding:23px; border-radius:19px; color:#fff; font-size:26px; font-weight:700;}
.sd-bar-chat img, .sd-bar-apply img {width:30px; height:30px;}
.sd-bar-chat {background:#1B2E4B;}
.sd-bar-apply {background:linear-gradient(135deg, #0F766E, #1E3A5F);}
.sd-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.sd-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.sd-nav .tab img {width:42px; height:42px;}
.sd-nav .tab.on {color:var(--teal);}
.sd-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.sd-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);}
.sd-nav .tab-fab .fab img {width:48px; height:48px;}

/* ===================== 06.나눔터.공간나눔(등록) — Figma 1018:4379 ===================== */
.sw-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.sw-head {position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:12px; padding:22px 27px; background:var(--card); border-bottom:1.92px solid var(--line);}
.sw-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:54px; height:54px;}
.sw-back img {width:38px; height:38px;}
.sw-head h1 {flex:1; font-size:30px; font-weight:700; color:var(--ink);}
.sw-temp {flex:0 0 auto; padding:9px 18px; font-size:22px; font-weight:600; color:var(--teal);}
.sw-body {flex:1; display:flex; flex-direction:column; gap:21px; padding:21px 27px 170px;}
.sw-card {display:flex; flex-direction:column; gap:15px; padding:29px; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.sw-sech {display:flex; align-items:center; gap:9px;}
.sw-sech img {width:27px; height:27px;}
.sw-sech b {font-size:25px; font-weight:700; color:var(--ink);}
.sw-sech i {color:#EF4444; font-size:25px; font-weight:700; font-style:normal;}
.sw-sech small {font-size:20px; color:var(--sub);}
.sw-input {width:100%; padding:20px 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:24px; color:var(--ink);}
.sw-input::placeholder {color:var(--sub);}
.sw-select {width:100%; appearance:none; -webkit-appearance:none; padding:20px 60px 20px 28px; background:var(--snow) url('/asset/images/common/chevron.svg') no-repeat; background-position:right 22px center; background-size:27px 27px; border:1.92px solid var(--line); border-radius:14px; font-size:24px; color:var(--ink); font-family:inherit;}
.sw-field {display:flex; flex-direction:column; gap:11px;}
.sw-field > span {font-size:23px; font-weight:500; color:#6B7280;}
.sw-field > span small {font-size:20px; color:var(--sub);}
.sw-count {text-align:right; font-size:20px; color:var(--sub);}
/* 구분 토글 (2열 칩) */
.sw-grid2 {display:grid; grid-template-columns:repeat(2, 1fr); gap:13px;}
.sw-kchip {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7.68px; padding:21px 8px; border:1.92px solid var(--line); border-radius:19px; background:var(--snow); color:#475569; font-size:22px; font-weight:600;}
.sw-kchip-ic {display:flex; align-items:center; justify-content:center;}
.sw-kchip-ic img {width:34.56px; height:34.56px;}
.sw-kchip.on {border-color:var(--teal); background:var(--mint); color:var(--teal);}
/* 공간유형 칩 (3열 세로 아이콘카드) */
.sw-tgrid {display:grid; grid-template-columns:repeat(3, 1fr); gap:13px;}
.sw-tchip {display:flex; flex-direction:column; align-items:center; gap:7.68px; padding:21px 8px; border:1.92px solid var(--line); border-radius:19px; background:var(--snow); color:#475569; font-size:21px; font-weight:600;}
.sw-tchip-ic {display:flex; align-items:center; justify-content:center;}
.sw-tchip-ic img {width:34.56px; height:34.56px;}
.sw-tchip.on {border-color:var(--teal); background:var(--mint); color:var(--teal);}
/* 보유시설 칩 (2열 가로 아이콘카드) */
.sw-fgrid {display:grid; grid-template-columns:repeat(2, 1fr); gap:11.5px;}
.sw-fchip {display:flex; align-items:center; gap:13px; padding:19px 21px; border:1.92px solid var(--line); border-radius:15px; background:var(--snow); color:#475569; font-size:24px; font-weight:600;}
.sw-fchip span {font-size:inherit;}
.sw-fchip-ic {display:flex; align-items:center; justify-content:center;}
.sw-fchip-ic img {width:26.88px; height:26.88px;}
.sw-fchip.on {border-color:var(--teal); background:var(--mint); color:var(--teal);}
/* 주소 */
.sw-row {display:flex; gap:12px;}
.sw-row .sw-input {flex:1;}

.sw-map {position:relative; height:200px; border:1.92px solid var(--line); border-radius:14px; overflow:hidden;}
.sw-map iframe {width:100%; height:100%; border:0; display:block;}
.sw-map-pin {position:absolute; z-index:2; left:16px; top:14px; display:flex; align-items:center; gap:6px; padding:6px 14px; border-radius:7.68px; background:rgba(27,46,75,.9); color:#fff; font-size:19px; font-weight:700;}
.sw-map-pin img {width:19px; height:19px; filter:brightness(0) invert(1);}
.sw-timerow {display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center;}
.sw-timerow em {font-size:26px; font-style:normal; color:var(--sub);}
.sw-inwrap {position:relative; display:flex; align-items:center;}
.sw-inwrap input {width:100%; padding:20px 70px 20px 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:24px; color:var(--ink);}
.sw-inwrap input::placeholder {color:var(--sub);}
.sw-inwrap em {position:absolute; right:24px; font-size:22px; font-style:normal; color:var(--sub);}
.sw-inwrap .sw-in-ic {position:absolute; right:21px; width:28.8px; height:28.8px; pointer-events:none;}
.sw-textarea {width:100%; min-height:330px; padding:27px 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:24px; line-height:36px; color:var(--ink); resize:vertical; font-family:inherit;}
.sw-textarea::placeholder {color:var(--sub);}
.sw-email {display:flex; align-items:center; gap:12px;}
.sw-email .sw-input {flex:1; min-width:0;}
.sw-email .at {flex:0 0 auto; font-size:26px; color:var(--sub); font-style:normal;}
.sw-email .sw-select {flex:1; min-width:0;}
.sw-photos {display:flex; flex-wrap:wrap; gap:15px;}
.sw-photo-item {position:relative; width:130px; height:130px; border-radius:14px; overflow:hidden; background:linear-gradient(135deg, #BAE6FD, #0284C7);}
.sw-photo-item.g2 {background:linear-gradient(135deg, #D1FAE5, #6EE7B7);}
.sw-photo-item .cover {width:100%; height:100%; object-fit:cover; display:block;}
.sw-photo-x {position:absolute; top:6px; right:6px; display:flex; align-items:center; justify-content:center; width:35px; height:35px; border-radius:50%; background:rgba(0,0,0,.55);}
.sw-photo-x img {width:19px; height:19px;}
.sw-photo-add {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:130px; height:130px; border:3.84px dashed var(--line); border-radius:15px; background:var(--snow); color:var(--teal); font-size:19px; font-weight:600;}
.sw-photo-add img {width:38px; height:38px;}
.sw-photo-count {font-size:23px; font-weight:600; color:var(--teal);}
.sw-note2 {font-size:21px; color:var(--sub);}
.sw-submit {display:flex; align-items:center; justify-content:center; margin-top:4px; padding:28px; background:linear-gradient(135deg, #0F766E, #1E3A5F); border-radius:19px; color:#fff; font-size:27px; font-weight:700;}
.sw-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.sw-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.sw-nav .tab img {width:42px; height:42px;}
.sw-nav .tab.on {color:var(--teal);}
.sw-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.sw-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);}
.sw-nav .tab-fab .fab img {width:48px; height:48px;}

/* ===================== 06.나눔터.공간나눔(완료) — Figma 1018:4702 ===================== */
.sdn-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.sdn-body {flex:1; display:flex; flex-direction:column; align-items:center; padding:77px 46px 46px;}
.sdn-circle {display:flex; align-items:center; justify-content:center; width:192px; height:192px; margin-bottom:46px; border:5.76px solid #CCFBF1; border-radius:50%; background:var(--mint);}
.sdn-circle img {width:92px; height:92px;}
.sdn-title {font-size:40px; font-weight:700; color:var(--ink); text-align:center; margin-bottom:15px;}
.sdn-sub {font-size:25px; color:#475569; text-align:center; line-height:40px; margin-bottom:46px;}
.sdn-card {width:100%; padding:29px 33px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px; margin-bottom:46px;}
.sdn-card-h {display:flex; align-items:center; gap:9.6px; margin-bottom:23px;}
.sdn-card-h img {width:25px; height:25px;}
.sdn-card-h b {font-size:23px; font-weight:700; color:#475569;}
.sdn-proc {display:flex; align-items:center; gap:15px; padding:8px 0; font-size:23px; color:#475569;}
.sdn-proc img {flex:0 0 auto; width:25px; height:25px;}
.sdn-proc.avg span {font-size:23px; font-weight:600; color:var(--teal);}
.sdn-btns {display:flex; flex-direction:column; gap:15px; width:100%; margin-bottom:31px;}
.sdn-btns .sdn-btn {display:flex; align-items:center; justify-content:center; border-radius:19px; text-align:center;}
.sdn-btns .sdn-btn.primary {padding:27px; background:linear-gradient(135deg, #0F766E, #1E3A5F); color:#fff; font-size:27px; font-weight:700;}
.sdn-btns .sdn-btn:not(.primary) {padding:25px; background:var(--card); border:1.92px solid var(--line); color:#475569; font-size:25px; font-weight:600;}
.sdn-notice {display:flex; align-items:center; gap:13px; width:100%; padding:21px 27px; background:var(--cream); border:1.92px solid #FED7AA; border-radius:15px;}
.sdn-notice img {flex:0 0 auto; width:25px; height:25px;}
.sdn-notice p {font-size:21px; color:#92400E; line-height:32px;}
.sdn-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.sdn-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.sdn-nav .tab img {width:42px; height:42px;}
.sdn-nav .tab.on {color:var(--teal);}
.sdn-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.sdn-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);}
.sdn-nav .tab-fab .fab img {width:48px; height:48px;}

/* ===================== 06.나눔터.공간나눔(신청 시트) — Figma 1119:22056 / 1119:22406 ===================== */
/* 틴트 백드롭 위에 바텀시트 (fixed, definite-height; 상단 60px 딤 여백) */
.sa-overlay {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:50; width:720px; max-width:100%; height:100%; display:flex; flex-direction:column; justify-content:flex-end; background:rgba(15,23,42,.45);}
.sa-sheet {display:flex; flex-direction:column; max-height:calc(100% - 60px); background:var(--card); border-radius:42px 42px 0 0; box-shadow:0 -7.68px 30.72px rgba(0,0,0,.18); overflow:hidden;}
.sa-grip {display:flex; align-items:center; justify-content:center; padding:21px 0 6px;}
.sa-grip span {width:77px; height:8px; border-radius:8px; background:#CBD5E1;}

.sa-head {display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding:8px 35px 27px; border-bottom:1.92px solid var(--line);}
.sa-head-tx {display:flex; flex-direction:column; gap:4px;}
.sa-head-tx b {font-size:33px; font-weight:800; color:var(--ink);}
.sa-head-tx span {font-size:21px; color:var(--sub);}
.sa-close {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:61px; height:61px; border:1.92px solid var(--line); border-radius:31px; background:var(--snow);}
.sa-close img {width:27px; height:27px;}

.sa-body {flex:1; overflow-y:auto; padding:27px 35px 46px;}

/* 대상 글 요약 카드 */
.sa-post {display:flex; gap:19px; align-items:flex-start; padding:23px 27px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px;}
.sa-post-emoji {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:99.84px; height:99.84px; border:1.92px solid #CCFBF1; border-radius:17.28px; background:var(--mint); font-size:42px;}
.sa-post.navy .sa-post-emoji {border-color:#C7D2FE; background:#EEF2FF;}
.sa-post-info {flex:1; min-width:0; display:flex; flex-direction:column; gap:8px;}
.sa-post-title {font-size:23px; font-weight:700; color:var(--ink); line-height:32px;}
.sa-post-meta {display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-size:21px; color:var(--sub);}
.sa-post-meta span {font-size:inherit;}
.sa-post-meta img {width:21px; height:21px;}
.sa-post-tags {display:flex; flex-wrap:wrap; gap:8px;}
/* 요약 카드 칩 — Figma 1119:22087~22094 (실제 색상) */
.sa-ptag {padding:2px 14px; border-radius:38px; font-size:19px; font-weight:700; background:#F3F4F6; color:#374151;}
.churchro.dark-mode .sa-ptag {color:#CBD5E1;}
.sa-ptag.give {background:#F0FDFA; color:#0F766E;} /* 나눔 */
.sa-ptag.place {background:#F3F4F6; color:#374151;} /* 예배당 */
.sa-ptag.warn {background:#FFFBEB; color:#D97706;} /* 사전예약 필수 / 기부금 자유 */
.sa-ptag.req {background:#EEF2FF; color:#3730A3;}
.churchro.dark-mode .sa-ptag.give {background:#0C2B28; color:#5EEAD4;}
.churchro.dark-mode .sa-ptag.warn {background:#33260D; color:#FCD34D;}

/* 섹션 라벨 */
.sa-sec {display:flex; align-items:center; gap:9.6px; margin:27px 0 13px;}
.sa-sec img {width:25px; height:25px;}
.sa-sec b {font-size:21px; font-weight:700; color:var(--teal);}
.sa-sec.navy b {color:var(--navy);}
.sa-sec .sa-req {color:#DC2626; font-size:21px; font-weight:700; font-style:normal;}

/* 카드 (조건/프로필) */
.sa-card {padding:23px 27px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px;}

/* 이용 조건 확인 카드 — 아이콘 타일 + 제목 + 불릿이 한 카드 안에 (Figma 1119:22095) */
.sa-cond {display:flex; gap:15.36px; align-items:flex-start; margin:27px 0 13px; padding:21.12px 24.96px; background:#F0FDFA; border:1.92px solid #CCFBF1; border-radius:19.2px;}
.sa-cond-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:61.44px; height:61.44px; border-radius:15.36px; background:#0D9488;}
.sa-cond-ic img {width:30.72px; height:30.72px;}
.sa-cond-bd {flex:1; min-width:0; display:flex; flex-direction:column; gap:5.76px;}
.sa-cond-title {font-size:21.12px; font-weight:700; color:#0F766E;}
.sa-cond .sa-rules {gap:3.456px;}
.sa-card-top {display:flex; align-items:center; justify-content:space-between; margin-bottom:13px;}
.sa-tagchip {padding:4px 14px; border-radius:38px; font-size:19px; font-weight:700;}
.sa-tagchip.gray {background:var(--line); color:var(--sub);}
.sa-loaded {display:flex; align-items:center; gap:6px; padding:6px 16px; border:1.92px solid #CCFBF1; border-radius:38px; background:var(--mint); color:var(--teal); font-size:19px; font-weight:600;}
.sa-loaded.navy {border-color:#C7D2FE; background:#EEF2FF; color:var(--navy);}
.sa-loaded img {width:19px; height:19px;}
.sa-prof {display:flex; align-items:center; gap:17px; padding-top:4px;}
.sa-prof-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:73px; height:73px; border-radius:50%; color:#fff; font-size:27px; font-weight:800;}
.sa-prof-av.teal {background:var(--teal);}
.sa-prof-av.navy {background:var(--navy);}
.sa-prof-tx {display:flex; flex-direction:column; gap:4px; min-width:0;}
.sa-prof-tx b {font-size:25px; font-weight:700; color:var(--ink);}
.sa-prof-tx em {font-size:21px; font-style:normal; color:var(--sub);}
.sa-prof-badges {display:flex; flex-wrap:wrap; gap:9.6px; margin-top:15px;}
.sa-badge {padding:6px 17px; border:1.92px solid var(--line); border-radius:38px; background:var(--card); color:#475569; font-size:19px; font-weight:600;}
.sa-editbtn {display:flex; align-items:center; gap:6px; margin-top:16px; color:var(--teal); font-size:21px; font-weight:600;}
.sa-editbtn.navy {color:#2563EB;}
.sa-editbtn img {width:23px; height:23px;}

/* 규칙/조건 리스트 */
.sa-rules {display:flex; flex-direction:column; gap:9px; list-style:none; margin:0; padding:0;}
.sa-rules li {position:relative; padding-left:30px; font-size:21px; line-height:32px; color:#475569;}
.sa-rules li::before {content:'·'; position:absolute; left:6px; top:-2px; font-size:28px; line-height:32px; color:var(--sub);}
.sa-rules.teal li {color:var(--teal);}
.sa-rules.teal li::before {color:var(--teal);}
.sa-rules li.ck::before {content:'✓'; left:0; font-size:21px; top:0; color:var(--teal); font-weight:700;}
.sa-rulecard {margin-top:13px;}
.sa-rulecard .sa-sub {display:flex; align-items:center; gap:9.6px; margin-bottom:15px;}
.sa-rulecard .sa-sub img {width:25px; height:25px;}
.sa-rulecard .sa-sub span {font-size:21px; font-weight:700; color:var(--teal);}

/* 입력 필드 (날짜/인원/시간) */
.sa-grid2 {display:grid; grid-template-columns:repeat(2, 1fr); gap:15px; margin-bottom:13px;}
.sa-field {display:flex; flex-direction:column; gap:9px;}
.sa-field > span {font-size:21px; font-weight:600; color:#475569;}
.sa-input, .sa-select {position:relative; background:var(--snow); border:1.92px solid var(--line); border-radius:19px;}
.sa-input input {width:100%; padding:19px 25px; background:transparent; border:0; font-size:24px; color:var(--ink); font-family:inherit;}
.sa-select select {width:100%; appearance:none; -webkit-appearance:none; padding:19px 56px 19px 25px; background:transparent url('/asset/images/space-share/sa-chevron.svg') no-repeat right 19px center; background-size:25px 25px; border:0; font-size:24px; color:var(--ink); font-family:inherit;}

/* 사용 목적 라디오 */
.sa-radios {display:flex; flex-direction:column; gap:9.6px;}
.sa-radio-row {display:flex; align-items:center; gap:17px; padding:17px 23px; border:1.92px solid var(--line); border-radius:19px; background:var(--card); text-align:left;}
.sa-radio-row.on {background:var(--mint); border-color:var(--teal);}
.sa-radio {flex:0 0 auto; width:34.56px; height:34.56px; border:3.84px solid var(--line); border-radius:18px; background:var(--card);}
.sa-radio-row.on .sa-radio {border-color:var(--teal); background:radial-gradient(circle, var(--teal) 0 30%, #fff 38%);}
.sa-radio-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:57.6px; height:57.6px; border-radius:13.44px; background:var(--mint);}
.sa-radio-ic img {width:28.8px; height:28.8px;}
.sa-radio-tx {display:flex; flex-direction:column; gap:2px; min-width:0;}
.sa-radio-tx b {font-size:23px; font-weight:600; color:var(--ink);}
.sa-radio-tx em {font-size:19px; font-style:normal; color:var(--sub);}

/* 제공 가능 시설 체크리스트 */
.sa-checks {display:flex; flex-direction:column; gap:9.6px;}
.sa-check-row {display:flex; align-items:center; gap:17px; padding:17px 23px; border:1.92px solid var(--line); border-radius:19px; background:var(--card); text-align:left;}
.sa-check-row.on {background:#EEF2FF; border-color:var(--navy);}
.sa-check-box {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:34.56px; height:34.56px; border:3.84px solid var(--line); border-radius:7.68px; background:var(--card);}
.sa-check-row.on .sa-check-box {border-color:var(--navy); background:var(--navy);}
.sa-check-box img {width:19px; height:19px;}
.sa-check-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:57.6px; height:57.6px; border-radius:13.44px; background:var(--mint);}
.sa-check-ic img {width:28.8px; height:28.8px;}
.sa-check-ic.t-blue {background:#EFF6FF;}
.sa-check-ic.t-amber {background:#FFFBEB;}
.sa-check-ic.t-violet {background:#F5F3FF;}
.sa-check-ic.t-green {background:#F0FDF4;}
.sa-check-tx {display:flex; flex-direction:column; gap:2px; min-width:0;}
.sa-check-tx b {font-size:23px; font-weight:600; color:var(--ink);}
.sa-check-tx em {font-size:19px; font-style:normal; color:var(--sub);}

/* 메시지 */
.sa-textarea {width:100%; min-height:175px; padding:21px 27px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px; font-size:24px; line-height:42px; color:var(--ink); resize:vertical; font-family:inherit;}
.sa-count {margin-top:4px; text-align:right; font-size:21px; color:var(--sub);}

/* 동의 체크 */
.sa-agree {display:flex; align-items:center; gap:17px; width:100%; margin-top:13px; padding:21px 27px; border:1.92px solid var(--line); border-radius:19px; background:var(--card); text-align:left;}
.sa-agree.on {background:var(--mint); border-color:var(--teal);}
.sa-agree-box {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:38.4px; height:38.4px; border:3.84px solid var(--line); border-radius:9.6px; background:var(--card);}
.sa-agree.on .sa-agree-box {border-color:var(--teal); background:var(--teal);}
.sa-agree-box img {width:23px; height:23px;}
.sa-agree-tx {display:flex; flex-direction:column; gap:2px;}
.sa-agree-tx b {font-size:23px; font-weight:600; color:var(--ink);}
.sa-agree-tx em {font-size:19px; font-style:normal; color:var(--sub);}

/* 안내 노트 */
.sa-note {display:flex; align-items:flex-start; gap:15px; margin-top:21px; padding:21px 23px; border-radius:15px; border:1.92px solid;}
.sa-note img {flex:0 0 auto; width:25px; height:25px; margin-top:3px;}
.sa-note p {margin:0; font-size:21px; line-height:34px;}
.sa-note.teal {background:var(--mint); border-color:#CCFBF1;}
.sa-note.teal p {color:var(--teal);}
.sa-note.navy {background:#EEF2FF; border-color:#C7D2FE;}
.sa-note.navy p {color:var(--navy);}
.sa-note.warn {background:#FFFBEB; border-color:#FDE68A;}
.sa-note.warn p {color:#92400E;}

/* 제출 버튼 */
.sa-submit {display:flex; align-items:center; justify-content:center; gap:15px; width:100%; margin-top:21px; padding:27px; border-radius:19px; background:var(--teal); color:#fff; font-size:28px; font-weight:700;}
.sa-submit.navy {background:var(--navy);}
.sa-submit img {width:34.56px; height:34.56px;}

/* 발송 확인 다이얼로그 — Figma 1119:22606 */
.sa-dlg-back {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:60; width:720px; max-width:100%; display:flex; flex-direction:column; justify-content:flex-end; height:100%; background:rgba(15,23,42,.55);}
/* 그립 다음 38.4px 상단 여백 (Figma 1119:22609 pt-38.4) — 상단이 답답하지 않게 */
.sa-dlg {display:flex; flex-direction:column; align-items:center; padding:38.4px 38.4px 53.76px; background:var(--card); border-radius:42px 42px 0 0; box-shadow:0 -7.68px 30.72px rgba(0,0,0,.22); max-height:calc(100% - 60px); overflow-y:auto;}
.sa-dlg .sa-grip {align-self:stretch; margin:-38.4px -38.4px 0;}
.sa-dlg-title {margin:15.36px 0 0; font-size:30.72px; font-weight:800; color:var(--ink); text-align:center;}
.sa-dlg-sub {margin:11.52px 0 0; font-size:23px; color:#475569; text-align:center; line-height:37px;}
.sa-dlg-card {width:100%; margin-top:21px; padding:12px 27px 25px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px;}
.sa-dlg-row {display:flex; gap:15px; align-items:flex-start; padding:9.6px 0; border-top:1.92px solid var(--line);}
.sa-dlg-row:first-child {border-top:0;}
.sa-dlg-row .k {flex:0 0 auto; min-width:84.5px; font-size:23px; font-weight:600; color:var(--sub);}
.sa-dlg-row .v {flex:1; min-width:0; font-size:23px; color:var(--ink); line-height:34.5px; word-break:break-all;}
.sa-dlg-row .v.teal {color:var(--teal); font-weight:700;}
.sa-dlg-row .v.sm {font-size:21px; color:#475569; line-height:32px;}
.sa-dlg-btns {display:flex; flex-direction:column; gap:15px; width:100%; margin-top:34px;}
.sa-dlg-send {display:flex; align-items:center; justify-content:center; gap:11.52px; padding:25px; border-radius:19px; background:var(--teal); color:#fff; font-size:27px; font-weight:700;}
.sa-dlg-send img {width:30.72px; height:30.72px;}
.sa-dlg-edit {padding:23px; border:1.92px solid var(--line); border-radius:19px; background:var(--card); color:#475569; font-size:25px; font-weight:600;}
/* 발송 확인 다이얼로그 네이비 변형 (공간 제공 의향 / 의향서 보내기) */
.sa-dlg-back.navy .sa-dlg-send {background:var(--navy);}
.sa-dlg-back.navy .sa-dlg-row .v.teal {color:var(--navy);}

/* ===================== 06.나눔터.공간나눔(사용 신청 완료) — Figma 1119:22658 (④-A, teal 액센트) ===================== */
.sad-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.sad-head {position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:30px 27px; background:var(--card); border-bottom:1.92px solid var(--line);}
.sad-head h1 {font-size:28px; font-weight:700; color:var(--ink);}
.sad-close {display:flex; align-items:center; justify-content:center; width:69px; height:69px;}
.sad-close img {width:38px; height:38px;}
.sad-body {flex:1; display:flex; flex-direction:column; align-items:center; padding:61px 46px 46px;}
.sad-circle {display:flex; align-items:center; justify-content:center; width:172.8px; height:172.8px; margin-bottom:34.56px; border:5.76px solid #CCFBF1; border-radius:86px; background:var(--mint);}
.sad-circle img {width:84.48px; height:84.48px;}
.sad-title {font-size:40px; font-weight:800; color:var(--ink); text-align:center; margin-bottom:11.52px;}
.sad-sub {font-size:25px; color:#475569; text-align:center; line-height:41px; margin-bottom:31px;}
.sad-sub span {font-size:inherit;}

/* 상태 카드 (teal) */
.sad-status {display:flex; align-items:center; gap:17px; width:100%; padding:23px 27px; margin-bottom:30px; background:var(--mint); border:1.92px solid #CCFBF1; border-radius:19px;}
.sad-status-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:69px; height:69px; border-radius:17px; background:var(--teal);}
.sad-status-ic img {width:34.56px; height:34.56px;}
/* 좌측 정렬 (Figma 1119:22688 — 아이콘 좌측, 텍스트 블록 좌측 정렬) */
.sad-status-tx {display:flex; flex-direction:column; gap:3.84px; text-align:left; align-items:flex-start; flex:1; min-width:0;}
.sad-status-tx b {font-size:23.04px; font-weight:700; color:var(--teal);}
.sad-status-tx em {font-size:21.12px; font-style:normal; color:#0D9488;}

/* 신청 내역 / 다음 단계 카드 */
.sad-card {width:100%; padding:28.8px; margin-bottom:27px; background:var(--snow); border:1.92px solid var(--line); border-radius:19px;}
/* 다음 단계 카드는 흰 배경 (Figma 1119:22720) */
.sad-card.sad-card-steps {background:var(--card);}
.sad-card-h {display:flex; align-items:center; gap:9.6px; margin-bottom:8px;}
.sad-card-h img {width:25px; height:25px;}
.sad-card-h b {font-size:23px; font-weight:700; color:var(--teal);}
/* 신청 내역 행 — 라벨/값 23.04px/400 #475569 (Figma 1119:22701) */
.sad-detail {display:flex; align-items:center; gap:15.36px; padding:13px 0; border-top:1.92px solid var(--line); font-size:25px; color:#475569;}
.sad-detail:nth-of-type(2) {border-top:0; padding-top:20px;}
.sad-detail img {flex:0 0 auto; width:26.88px; height:26.88px;}
.sad-detail span, .sad-detail strong {font-size:inherit;}
.sad-detail .warn {color:#D97706; font-weight:700;}

/* ④-B 제공 의향 완료 — navy 액센트 (Figma 1119:22788) */
.sad-wrap.navy .sad-circle {border-color:#C7D2FE; background:#EEF2FF;}
.sad-wrap.navy .sad-status {background:#EEF2FF; border-color:#C7D2FE;}
.sad-wrap.navy .sad-status-ic {background:#1E3A5F;}
.sad-wrap.navy .sad-status-tx b {color:#1E3A5F;}
.sad-wrap.navy .sad-status-tx em {color:#3730A3;}
.sad-wrap.navy .sad-card-h b {color:#1E3A5F;}
.sad-wrap.navy .sad-step-n {background:#1E3A5F;}
.sad-wrap.navy .sad-btn.primary {background:#1E3A5F;}

.sad-step {display:flex; align-items:flex-start; gap:19px; padding:15px 0 13px; border-top:1.92px solid var(--line);}
.sad-step:nth-of-type(2) {border-top:0; padding-top:32px;}
.sad-step-n {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:42.24px; height:42.24px; margin-top:2px; border-radius:21px; background:var(--teal); color:#fff; font-size:19px; font-weight:700;}
.sad-step-tx {display:flex; flex-direction:column; gap:4px; min-width:0;}
.sad-step-tx b {font-size:23px; font-weight:700; color:var(--ink);}
.sad-step-tx em {font-size:21px; font-style:normal; color:var(--sub); line-height:32px;}

.sad-btns {display:flex; flex-direction:column; gap:15px; width:100%; margin-bottom:31px;}
.sad-btn {display:flex; align-items:center; justify-content:center; gap:11.52px; border-radius:19px; text-align:center;}
.sad-btn.primary {padding:25px; background:var(--teal); color:#fff; font-size:27px; font-weight:700;}
.sad-btn.primary img {width:30.72px; height:30.72px;}
.sad-btn:not(.primary) {padding:23px; background:var(--card); border:1.92px solid var(--line); color:#475569; font-size:25px; font-weight:600;}

.sad-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.sad-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.sad-nav .tab img {width:42px; height:42px;}
.sad-nav .tab.on {color:var(--teal);}
.sad-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.sad-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);}
.sad-nav .tab-fab .fab img {width:48px; height:48px;}

/* a:link 덮어쓰기 — 링크형 버튼 */
.sd-wrap a.sd-cbtn {color:var(--teal);}
.sd-wrap a.sd-mapopen {color:#fff;}
.sd-wrap a.sd-bar-apply {color:#fff;}
.sw-wrap a.sw-submit {color:#fff;}
.sdn-btns a.sdn-btn.primary {color:#fff;}
.sdn-btns a.sdn-btn:not(.primary) {color:#475569;}
.sad-btns a.sad-btn.primary {color:#fff;}
.sad-btns a.sad-btn:not(.primary) {color:#475569;}

/* 완료/신청완료 푸터 고정 */
.sdn-nav, .sad-nav {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%;}
.sdn-body, .sad-body {padding-bottom:170px;}

/* 등록 푸터 고정 */
.sw-nav {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%;}

/* 필터 드롭다운 열렸을 때 잘림 방지 */
.sp-filters:has(.sp-dd.open) {overflow:visible;}
