/* common */
html, body {background:#fff;}
.is-pc {display:block;}
.is-m {display:none;}
@media (max-width:991px){
.is-pc {display:none;}
.is-m {display:block;}
}

/* container */
:root{
	--container-padding: 15px;
	--container-padding-minus: -15px;
}
.container {max-width: calc(1400px + (var(--container-padding) * 2)); margin:0 auto; padding:0 var(--container-padding); width:100%;}
.container-xxl {max-width: calc(1400px + (var(--container-padding) * 2));}
.container-xl {max-width: calc(1200px + (var(--container-padding) * 2));}
.container-lg {max-width: calc(991px + (var(--container-padding) * 2));}
.container-md {max-width: calc(767px + (var(--container-padding) * 2));}
.container-sm {max-width: calc(575px + (var(--container-padding) * 2));}
.container-xs {max-width: calc(400px + (var(--container-padding) * 2));}

/* ============================================================
 * 공통 "사진 추가" 바텀시트 — PhotoAddSheet (Figma 1119:13231)
 * 720px webview = Figma 1.92x → 표기 px / 1.92 = CSS px
 * ============================================================ */
.pa-overlay{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:1000;
	width:720px;max-width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
	background:rgba(15,23,42,.45);}
.pa-sheet{position:relative;width:100%;background:var(--card);border-radius:42px 42px 0 0;
	max-height:calc(100% - 60px);display:flex;flex-direction:column;
	box-shadow:0 -11.52px 38.4px rgba(0,0,0,.22);overflow:hidden;}
.pa-grab{width:77px;height:8px;border-radius:8px;background:var(--line);margin:23px auto 8px;flex:0 0 auto;}

/* 헤더 — Figma 1119:13275 */
.pa-head{display:flex;align-items:center;justify-content:space-between;
	padding:5px 35px 25px;border-bottom:1.92px solid var(--line);flex:0 0 auto;}
.pa-head h2{margin:0;font-size:31px;font-weight:800;color:var(--ink);}
.pa-close{width:61px;height:61px;border-radius:31px;background:var(--snow);border:1.92px solid var(--line);
	display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.pa-close img{width:27px;height:27px;display:block;}

/* 스크롤 본문 */
.pa-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:31px 35px 16px;}

/* 소스 카드 3종 — Figma 1119:13284/13291/13299 */
.pa-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;}
.pa-src{display:flex;flex-direction:column;align-items:center;gap:12px;
	background:var(--snow);border:1.92px solid var(--line);border-radius:19px;padding:29px 12px;cursor:pointer;}
.pa-src.on{background:var(--mint);border-color:var(--teal);}
.pa-src-ic{width:84px;height:84px;border-radius:23px;display:flex;align-items:center;justify-content:center;}
.pa-src-ic img{width:42px;height:42px;display:block;}
.pa-src b{font-size:23px;font-weight:700;color:var(--ink);}
.pa-src small{font-size:19px;color:var(--mute);}

/* 선택된 사진 — Figma 1119:13306 */
.pa-selbox{margin-top:27px;background:var(--snow);border:1.92px solid var(--line);border-radius:19px;padding:21px 25px;}
.pa-selhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;}
.pa-selhead b{font-size:23px;font-weight:700;color:var(--ink);}
.pa-selcount{font-size:21px;font-weight:700;color:var(--teal);background:var(--mint);border-radius:38px;padding:4px 15px;}
.pa-selrow{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;}
.pa-selthumb{position:relative;flex:0 0 auto;width:108px;height:108px;border-radius:15px;overflow:hidden;background:var(--line);}
.pa-selthumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-selx{position:absolute;top:4px;right:4px;width:31px;height:31px;border:0;border-radius:15px;
	background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.pa-selx img{width:15px;height:15px;display:block;}
.pa-selnum{position:absolute;left:6px;bottom:8px;font-size:17px;font-weight:700;color:#fff;
	background:rgba(0,0,0,.7);border-radius:6px;padding:2px 8px;line-height:1.2;}

/* 구분선 — Figma 1119:13334 */
.pa-divider{display:flex;align-items:center;gap:15px;margin:31px 0;}
.pa-divider::before,.pa-divider::after{content:'';flex:1;height:1.92px;background:var(--line);}
.pa-divider span{font-size:21px;font-weight:600;color:var(--mute);white-space:nowrap;}

/* 갤러리 그리드 — Figma 1119:13339 */
.pa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.pa-tile{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--line);}
.pa-tile img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-tile.on{outline:5.76px solid var(--teal);outline-offset:-5.76px;}
.pa-badge{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:19px;
	display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;color:#fff;
	background:rgba(255,255,255,.3);border:3.84px solid rgba(255,255,255,.7);}
.pa-badge.on{background:var(--teal);border-color:var(--teal);}

/* 안내 — Figma 1119:13395 */
.pa-info{display:flex;gap:15px;align-items:flex-start;margin-top:31px;
	background:var(--mint);border:1.92px solid var(--teal-2);border-radius:15px;padding:19px 23px;}
.pa-info img{width:25px;height:25px;flex:0 0 auto;margin-top:4px;}
.pa-info p{margin:0;font-size:21px;line-height:1.5;color:var(--teal);}

/* 확인 버튼 — Figma 1119:13400 */
.pa-foot{flex:0 0 auto;padding:23px 35px;border-top:1.92px solid var(--line);background:var(--card);}
.pa-confirm{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;
	background:linear-gradient(136deg, #0F766E 0%, #0D9488 100%);color:#fff;border:0;border-radius:19px;padding:25px;cursor:pointer;
	font-size:27px;font-weight:700;}
.pa-confirm img{width:31px;height:31px;display:block;}
.pa-confirm:disabled{opacity:.5;cursor:not-allowed;}

/* ============================================================
 * 공통 "주소 검색" 바텀시트 — AddressSearchModal
 * pa-overlay/pa-sheet(PhotoAddSheet)와 동일한 바텀시트 구조를 따름
 * ============================================================ */
.as-overlay{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:1000;
	width:720px;max-width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
	background:rgba(15,23,42,.45);}
.as-sheet{position:relative;width:100%;background:var(--card);border-radius:42px 42px 0 0;
	max-height:calc(100% - 60px);display:flex;flex-direction:column;
	box-shadow:0 -11.52px 38.4px rgba(0,0,0,.22);overflow:hidden;}
.as-grab{width:77px;height:8px;border-radius:8px;background:var(--line);margin:23px auto 8px;flex:0 0 auto;}

.as-head{display:flex;align-items:center;justify-content:space-between;
	padding:5px 35px 25px;border-bottom:1.92px solid var(--line);flex:0 0 auto;}
.as-head h2{margin:0;font-size:31px;font-weight:800;color:var(--ink);}
.as-close{width:61px;height:61px;border-radius:31px;background:var(--snow);border:1.92px solid var(--line);
	display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:28px;line-height:1;color:var(--sub);}

/* 다음 우편번호 embed 영역 — 위젯 자체가 iframe으로 스크롤을 처리해 본문에는 패딩을 주지 않는다 */
.as-body{flex:1 1 auto; overflow:hidden; display:flex; flex-direction:column;}
.as-embed{width:100%; min-height:460px;}

/* ===== 등록 상태 드롭다운 (StatusSelect) — Figma 1119:12840 / 1119:13091 ===== */
.stt-dd{position:relative;flex:0 0 auto;}
/* 상태 pill (헤더 우측 버튼) — Figma 1119:13051 (720px = 1.92×) */
.stt-pill{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
	padding:12px 21px;border-radius:38px;border:1.92px solid #a7f3d0;background:#ecfdf5;
	font-size:21px;font-weight:700;line-height:1;white-space:nowrap;color:#059669;}
.stt-pill .stt-ico{width:23px;height:23px;display:block;flex:0 0 auto;}
.stt-pill .stt-arr{width:19px;height:19px;display:block;flex:0 0 auto;transition:transform .15s;}
.stt-dd.open .stt-pill .stt-arr{transform:rotate(180deg);}
/* pill 상태별 색 */
.stt-pill.stt-active{color:#059669;background:#ecfdf5;border-color:#a7f3d0;}
.stt-pill.stt-pause{color:#d97706;background:#fffbeb;border-color:#fde68a;}
.stt-pill.stt-done{color:#6b7280;background:#f9fafb;border-color:#e5e7eb;}
/* 드롭다운 메뉴 — Figma 1119:13060 */
.stt-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:60;
	min-width:326px;list-style:none;margin:0;padding:4px;
	background:var(--card);border:1.92px solid var(--line);border-radius:19px;
	box-shadow:0 15px 46px rgba(0,0,0,.18);
	opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .12s,transform .12s,visibility .12s;}
.stt-dd.open .stt-menu{opacity:1;visibility:visible;transform:translateY(0);}
.stt-menu li{display:flex;align-items:center;gap:19px;cursor:pointer;
	padding:19px 27px;border-top:1.92px solid var(--line);}
.stt-menu li:first-child{border-top:0;}
.stt-menu li:hover{background:var(--snow);}
.stt-menu li:first-child{border-radius:17px 17px 0 0;}
.stt-menu li:last-child{border-radius:0 0 17px 17px;}
.stt-dot{flex:0 0 auto;width:15px;height:15px;border-radius:8px;}
.stt-opt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.stt-opt b{font-size:23px;font-weight:700;color:var(--ink);line-height:1.2;}
.stt-opt small{font-size:19px;font-weight:700;color:var(--mute);line-height:1.2;}
.stt-chk{width:27px;height:27px;display:block;flex:0 0 auto;color:#059669;}
/* 일시중지 안내 배너 — Figma 주석 ② */
.stt-banner{display:flex;align-items:center;gap:15px;
	margin:0 35px 19px;padding:19px 23px;
	background:#fffbeb;border:1.92px solid #fde68a;border-radius:19px;
	font-size:21px;font-weight:600;line-height:1.4;color:#b45309;}
.stt-bdot{flex:0 0 auto;width:15px;height:15px;border-radius:8px;background:#d97706;}
.churchro.dark-mode .stt-banner{background:#2E2410;border-color:#5b4a1e;color:#FCD34D;}

/* 등록 헤더에 StatusSelect 추가 시 오버플로우 방지 (제목 줄임 + pill 고정폭) */
header:has(.stt-dd){gap:8px;}
header:has(.stt-dd) h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ===================================================================
   공통 헤더 (app-header) — 페이지별 *-head/*-back/*-head h1 통합 단일 출처
   base = 공통 구조, 변형은 모디파이어(.done/.dark/.between, back .lg/.thin/.round,
   h1 .center/.light)로 기존 디자인 보존. 한 곳(common.css)에서 전체 관리.
   =================================================================== */
.ui-header {position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:15px; padding:22px 27px; background:var(--card); border-bottom:1.92px solid var(--line);}
.ui-header.between {justify-content:space-between;}
.ui-header.done {padding:23px 31px 25px;}
.ui-header.dark {position:static; gap:18.5px; padding:22.2px 29.5px; background:linear-gradient(135deg,#1E3A5F 0%,#1A4A7A 60%,#0F766E 100%); border-bottom:0;}

.ui-header-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:54px; height:54px;}
.ui-header-back.lg {width:69px; height:69px;}
.ui-header-back.round {width:69px; height:69px; border-radius:19px;}
.ui-header-back.thin {width:40px; height:50px;}
.ui-header-back img {width:38px; height:38px;}
.ui-header-back.thin img {width:20px; height:36px;}

.ui-header h1 {flex:1; font-size:30px; font-weight:700; color:var(--ink);}
.ui-header h1.center {text-align:center; font-size:32px; font-weight:800;}
.ui-header h1.center-mr {text-align:center; font-size:33px; font-weight:800; margin-right:69px;}
.ui-header h1.light {color:#fff; font-size:31.4px; font-weight:700;}
.ui-header.gap12 {gap:12px;}
.ui-header.gap14 {gap:14px;}
.ui-header.p21 {padding:21px 27px;}
.ui-header.p2123 {padding:21px 27px 23px;}
.ui-header h1.s27 {font-size:27px; font-weight:700;}
.ui-header-back.inv img {filter:brightness(0);}
.churchro.dark-mode .ui-header-back.inv img {filter:none;}

/* 공통 ui-addrbtn (btn 동일군 4개 통합) */
.ui-addrbtn {flex:0 0 auto; padding:0 27px; background:#1B2E4B; border-radius:19px; color:#fff; font-size:24px; font-weight:600;}
