@charset "utf-8";

/* ===== 05.장소찾기(목록) — Figma 1060:11994 (teal) ===== */
.pf-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}

/* 헤더 */
.pf-head {position:sticky; top:0; z-index:20; background:var(--card);}
.pf-bar {display:flex; align-items:center; gap:14px; padding:17px 22px; border-bottom:1.92px solid var(--line);}
.pf-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:58px; height:58px;}
.pf-back img {width:32px; height:32px;}
.pf-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;}
.pf-search img {width:31px; height:31px;}
.pf-search input {flex:1; min-width:0; border:0; background:transparent; font-size:25px; color:var(--ink);}
.pf-search input::placeholder {color:#6B7280;}

/* 필터 (좌우 스크롤, 조건이 많아 넘칠 때 좌우 화살표로 스크롤) */
.pf-filterswrap {position:relative; border-bottom:1.92px solid var(--line);}
.pf-filters {display:flex; flex-wrap:nowrap; gap:11.52px; padding:15px 27px 21px; overflow-x:auto; scrollbar-width:none;}
.pf-filters::-webkit-scrollbar {display:none;}
.pf-filterarrow {position:absolute; top:0; bottom:0; width:44px; z-index:5; display:flex; align-items:center; justify-content:center; border:0; cursor:pointer; padding:0;}
.pf-filterarrow img {width:15px; height:15px;}
.pf-filterarrow.prev {left:0; background:linear-gradient(to right, var(--card) 55%, transparent);}
.pf-filterarrow.next {right:0; background:linear-gradient(to left, var(--card) 55%, transparent);}
.pf-dd {position:relative; flex:0 0 auto;}
.pf-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;}
.pf-fil .lbl {white-space:nowrap; font-size:inherit;}
.pf-fil img {width:21px; height:21px; transition:transform .2s ease;}
.pf-dd.open .pf-fil img {transform:rotate(180deg);}
.pf-fil.on {border-color:var(--teal-2); color:var(--teal); background:var(--mint); font-weight:700;}
.pf-fil-region::before {content:''; flex:0 0 auto; width:21px; height:21px; background:url('/asset/images/meet-place/mp-pin.svg') center/contain no-repeat;}
.pf-toggle {cursor:pointer;}
.pf-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;}
.pf-dd.open .pf-dd-menu {max-height:420px; overflow-y:auto; opacity:1; padding:10px; border:1.92px solid var(--line);}
.pf-dd-menu li {padding:16px 20px; border-radius:10px; font-size:22px; color:var(--body); cursor:pointer; white-space:nowrap;}
.pf-dd-menu li.on {background:var(--mint); color:var(--teal); font-weight:700;}

/* 브레드크럼 */
.pf-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;}
.pf-crumb img {width:25px; height:25px;}

/* 탭 (게시판 종류가 늘어나면 좌우 화살표로 스크롤) */
.pf-tabswrap {position:relative;}
.pf-tabs {display:flex; gap:0; padding:0 27px; overflow-x:auto; scrollbar-width:none; border-bottom:3.84px solid var(--line);}
.pf-tabs::-webkit-scrollbar {display:none;}
.pf-tab {flex:0 0 auto; position:relative; padding:21px 23px; background:none; color:#94A3B8; font-size:23px; font-weight:500; white-space:nowrap;}
.pf-tab.on {color:var(--teal); font-weight:700;}
.pf-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);}
.pf-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;}
.pf-tabarrow img {width:16px; height:16px;}
.pf-tabarrow.prev {left:0; background:linear-gradient(to right, var(--card) 55%, transparent);}
.pf-tabarrow.next {right:0; background:linear-gradient(to left, var(--card) 55%, transparent);}

/* 카테고리 이모지 줄 (신규 컴포넌트) */
.pf-cats {display:flex; gap:12px; padding:19px 27px 23px; overflow-x:auto; scrollbar-width:none; border-bottom:1.92px solid var(--line);}
.pf-cats::-webkit-scrollbar {display:none;}
.pf-cat {flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:8px; background:none;}
.pf-cat-ico {display:flex; align-items:center; justify-content:center; width:88px; height:88px; border:1.92px solid var(--line); border-radius:23px; background:var(--snow); font-size:38px; line-height:1;}
.pf-cat-lb {font-size:19px; font-weight:600; color:#475569; white-space:nowrap;}
.pf-cat.on .pf-cat-ico {background:var(--mint); border-color:var(--teal-2);}
.pf-cat.on .pf-cat-lb {color:var(--teal);}

/* 요청 목록 */
.pf-body {flex:1; padding:16px 22px 170px;}
.pf-lhead {display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px;}
.pf-lhead .l {font-size:30px; font-weight:700; color:var(--ink);}
.pf-lhead .l b {color:var(--teal);}
.pf-lhead .c {font-size:22px; color:var(--sub);}
.pf-listwrap {display:flex; flex-direction:column; gap:18px;}
.pf-item {display:flex; gap:19px; align-items:flex-start; padding:23px; background:var(--card); border:1.92px solid var(--line); border-radius:19px; box-shadow:0 1.92px 5.76px rgba(15,23,42,.06);}
.pf-thumb {flex:0 0 104px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:104px; height:104px; border:1.92px solid var(--line); border-radius:23px; background:var(--snow);}
.pf-thumb-emoji {font-size:42px; line-height:1;}
.pf-thumb-lb {font-size:17px; font-weight:700; color:var(--sub);}
.pf-ibody {flex:1; min-width:0; display:flex; flex-direction:column; gap:6px;}
.pf-tags {display:flex; flex-wrap:wrap; gap:7.68px; align-items:center;}
.pf-tag {padding:4px 15px; border-radius:38px; font-size:19px; font-weight:600;}
.pf-tag.t-cat {background:var(--mint); color:var(--teal);}
.pf-tag.t-loc {background:var(--cream); color:#92400E;}
.pf-tag.t-done {background:var(--line); color:var(--sub);}
.pf-resp {display:flex; align-items:center; gap:5.76px; padding:4px 15px; border-radius:38px; background:var(--mint); border:1.92px solid #CCFBF1; color:var(--teal); font-size:19px; font-weight:700;}
.pf-resp img {width:19px; height:19px;}
.pf-ititle {font-size:25px; font-weight:600; color:var(--ink); line-height:1.4; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.pf-meta {display:flex; flex-wrap:wrap; gap:12px;}
.pf-m {display:flex; align-items:center; gap:4px; font-size:21px; color:var(--sub);}
.pf-m img {width:21px; height:21px;}
.pf-foot {display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:2px;}
.pf-req {min-width:0; font-size:21px; font-weight:600; color:var(--teal); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pf-req.done {color:var(--sub); font-weight:400;}
.pf-time {flex:0 0 auto; font-size:19px; color:var(--sub);}
.pf-bm {flex:0 0 auto; width:44px; align-self:flex-start; display:flex; justify-content:center;}
.pf-bm img {width:29px; height:29px;}
.pf-item.done {opacity:.72;}
.pf-item.done .pf-thumb {filter:grayscale(.55);}

/* 페이지네이션 */
.pf-page {display:flex; align-items:center; justify-content:center; gap:8px; padding:38px 0 6px;}
.pf-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;}
.pf-page .pg.on {background:var(--teal); border-color:var(--teal); color:#fff; font-weight:700;}
.pf-page .pg img {width:24px; height:24px;}
.pf-page .dots {padding:0 5px; color:var(--sub); font-size:24px;}

/* FAB */
.pf-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:#1E3A5F; box-shadow:0 8px 16px rgba(30,58,95,.4);}
.pf-write img {width:42px; height:42px;}

/* 하단 탭바 */
.pf-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);}
.pf-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.pf-nav .tab img {width:42px; height:42px;}
.pf-nav .tab.on {color:var(--teal);}
.pf-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.pf-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);}
.pf-nav .tab-fab .fab img {width:48px; height:48px;}

@media (hover:hover) and (pointer:fine) {
	.pf-item:hover {background:var(--snow);}
}

/* ===== 05.장소찾기(상세) — Figma 1060:12918 ===== */
.pfd-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow); padding-bottom:290px;}

/* 상단 바 */
.pfd-head {position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:17px 22px; background:var(--card); border-bottom:1.92px solid var(--line);}
.pfd-gbtn {display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:none;}
.pfd-gbtn img {width:32px; height:32px;}
.pfd-gacts {display:flex; gap:4px;}

/* 제목 */
.pfd-titlesec {padding:23px 27px 25px; background:var(--card); border-bottom:1.92px solid var(--line);}
.pfd-tags {display:flex; flex-wrap:wrap; align-items:center; gap:11.52px; margin-bottom:16px;}
.pfd-state {display:inline-flex; align-items:center; padding:4px 15px; border-radius:38px; background:#FEF2F2; color:#DC2626; font-size:19px; font-weight:600;}
.pfd-resp {display:inline-flex; align-items:center; gap:6px; padding:6px 15px; border-radius:38px; background:var(--mint); border:1.92px solid #CCFBF1; color:var(--teal); font-size:19px; font-weight:700;}
.pfd-resp img {width:20px; height:20px;}
.pfd-title {font-size:32px; font-weight:700; line-height:1.4; color:var(--ink);}
.pfd-author {display:flex; align-items:center; gap:15px; margin-top:13px; padding:23px 21px 17px; background:var(--snow); border:1.92px solid var(--line); border-radius:15px;}
.pfd-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:62px; height:62px; border-radius:31px; border:3.84px solid #CCFBF1; background:linear-gradient(135deg, #F0FDFA, #CCFBF1); color:var(--teal); font-size:23px; font-weight:800;}
.pfd-au-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.pfd-au-name {font-size:23px; font-weight:700; color:var(--ink);}
.pfd-au-loc {font-size:19px; color:var(--sub);}
.pfd-au-time {flex:0 0 auto; align-self:flex-start; font-size:19px; color:var(--sub);}

/* 요청 정보 테이블 */
.pfd-info {margin:24px 27px 0; border:1.92px solid var(--line); border-radius:19px; overflow:hidden; background:var(--card);}
.pfd-irow {display:flex; border-bottom:1.92px solid var(--line);}
.pfd-irow:last-child {border-bottom:0;}
.pfd-ik {flex:0 0 auto; min-width:160px; display:flex; align-items:center; padding:17px 24px; background:var(--mint); color:var(--teal); font-size:23px; font-weight:600;}
.pfd-iv {flex:1; padding:17px 23px; font-size:23px; color:var(--ink); line-height:34px; word-break:break-all;}

/* 3열 통계 */
.pfd-stat {display:grid; grid-template-columns:repeat(3, 1fr); margin:24px 27px 0; padding:23px 0; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.pfd-scol {display:flex; flex-direction:column; align-items:center; gap:6px; padding:8px 0;}
.pfd-scol.bd {border-left:1.92px solid var(--line);}
.pfd-scol .k {font-size:19px; color:var(--sub);}
.pfd-scol .v {font-size:30px; font-weight:700; color:var(--ink);}
.pfd-scol .v.teal {color:var(--teal);}

/* 관심/공유/저장 */
.pfd-acts {display:flex; gap:11.5px; margin:18px 27px 0;}
.pfd-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;}
.pfd-act img {width:27px; height:27px;}
.pfd-act.heart.on {background:#FEF2F2; border-color:#DC2626; color:#DC2626;}

/* 본문 */
.pfd-body {padding:0;}
.pfd-sech {display:flex; align-items:center; gap:11.5px; padding:30px 27px 15px;}
.pfd-sech img {width:28px; height:28px;}
.pfd-sech h2 {font-size:25px; font-weight:700; color:var(--ink);}
.pfd-sec-c {font-size:inherit; color:inherit; font-weight:inherit;}
.pfd-desc {margin:0 27px; display:flex; flex-direction:column; gap:16px;}
.pfd-desc p {font-size:23px; line-height:38px; color:var(--body);}

/* 필요 시설 */
.pfd-needs {display:flex; flex-wrap:wrap; gap:11.5px; margin:0 27px;}
.pfd-need {display:flex; align-items:center; gap:7.68px; padding:11.52px 21px; border:1.92px solid #CCFBF1; border-radius:38px; background:var(--mint); color:var(--teal); font-size:21px; font-weight:600;}
.pfd-need img {width:23px; height:23px;}

/* 희망 위치 */
.pfd-map {position:relative; margin:0 27px; height:300px; border:1.92px solid var(--line); border-radius:19px; overflow:hidden; background:#E8F4F8;}
.pfd-map iframe {width:100%; height:100%; border:0; display:block;}
.pfd-mapopen {position:absolute; z-index:2; right:30px; bottom:16px; display:flex; align-items:center; gap:7.68px; padding:11px 21px; border-radius:38px; background:#1E3A5F; color:#fff; font-size:19px; font-weight:700;}
.pfd-mapopen img {width:21px; height:21px;}

/* 교회 정보 */
.pfd-contact {margin:0 27px; padding:25px; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.pfd-crow {display:flex; align-items:center; gap:15px; padding:8px 0;}
.pfd-crow.bd {border-top:1.92px solid var(--line); padding-top:17px; margin-top:9px;}
.pfd-ck {flex:0 0 auto; min-width:90px; font-size:21px; font-weight:600; color:var(--sub);}
.pfd-cv {flex:1; min-width:0; font-size:23px; color:var(--ink); word-break:break-all;}
.pfd-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;}
.pfd-cbtn img {width:23px; height:23px;}

/* 응답 현황 (신규 컴포넌트) */
.pfd-resplist {display:flex; flex-direction:column; gap:18px; margin:0 27px;}
.pfd-rcard {padding:25px; background:var(--card); border:1.92px solid var(--line); border-radius:19px; box-shadow:0 1.92px 5.76px rgba(15,23,42,.05);}
.pfd-rav {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:69px; height:69px; border-radius:50%; color:#fff; font-size:25px; font-weight:800;}
.pfd-rav.green {background:linear-gradient(135deg, #0D9488, #0F766E);}
.pfd-rav.purple {background:linear-gradient(135deg, #7C3AED, #5B21B6);}
.pfd-rhead {display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.pfd-rh-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:5px;}
.pfd-rh-top {display:flex; align-items:center; gap:10px;}
.pfd-rname {font-size:24px; font-weight:700; color:var(--ink);}
.pfd-rtype {padding:4px 15px; border-radius:38px; background:var(--mint); color:var(--teal); font-size:19px; font-weight:600;}
.pfd-rtype.purple {background:#F5F3FF; color:#5B21B6;}
.pfd-rmeta {font-size:19px; color:var(--sub);}
.pfd-rmsg {font-size:22px; line-height:36px; color:var(--body);}
.pfd-rfacs {display:flex; flex-wrap:wrap; align-items:center; gap:9.6px; margin-top:16px;}
.pfd-rfac {padding:4px 15px; border-radius:38px; background:var(--mint); color:var(--teal); font-size:19px; font-weight:600;}
.pfd-rfac.purple {background:#F5F3FF; color:#5B21B6;}
.pfd-rbadge {padding:4px 15px; border-radius:38px; background:#F0FDF4; color:#14532D; font-size:19px; font-weight:600;}
.pfd-rfoot {display:flex; align-items:center; justify-content:space-between; margin-top:14px;}
.pfd-rtime {font-size:19px; color:var(--sub);}
.pfd-rchat {display:flex; align-items:center; gap:7.68px; padding:11.52px 26px; border:0; border-radius:15px; background:#1E3A5F; color:#fff; font-size:21px; font-weight:700;}
.pfd-rchat img {width:22px; height:22px;}

/* 면책 / 신고 */
.pfd-disc {margin:30px 27px 0; padding:20px 24px; background:var(--snow); border-radius:15px; font-size:19px; line-height:30px; color:var(--sub);}
.pfd-report {display:flex; align-items:center; justify-content:center; gap:9.6px; width:calc(100% - 54px); margin:16px 27px 0; padding:17px; border:1.92px solid var(--line); border-radius:15px; background:var(--card); color:var(--sub); font-size:21px;}
.pfd-report img {width:25px; height:25px;}

/* 하단 고정 */
.pfd-bottom {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%;}
.pfd-actionbar {display:flex; align-items:center; gap:13px; padding:22px 27px 18px; background:var(--card); border-top:1.92px solid var(--line);}
.pfd-bar-email {display:flex; flex-direction:column; align-items:center; gap:4px;}
.pfd-bar-email .ic {display:flex; align-items:center; justify-content:center; width:80px; height:80px; border:1.92px solid var(--line); border-radius:19px; background:var(--card);}
.pfd-bar-email .ic img {width:32px; height:32px;}
.pfd-bar-email .lb {font-size:17px; color:var(--sub);}
.pfd-bar-chat {flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:23px; border-radius:19px; background:#1B2E4B; color:#fff; font-size:24px; font-weight:700;}
.pfd-bar-chat img {width:30px; height:30px;}
.pfd-bar-offer {flex:1.4; display:flex; align-items:center; justify-content:center; gap:10px; padding:23px; border-radius:19px; background:linear-gradient(135deg, #0F766E, #0D9488); color:#fff; font-size:25px; font-weight:700;}
.pfd-bar-offer img {width:30px; height:30px;}
.pfd-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.pfd-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.pfd-nav .tab img {width:42px; height:42px;}
.pfd-nav .tab.on {color:var(--teal);}
.pfd-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.pfd-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);}
.pfd-nav .tab-fab .fab img {width:48px; height:48px;}

/* a:link 색상 오버라이드 */
.pfd-wrap a.pfd-cbtn {color:var(--teal);}
.pfd-wrap a.pfd-mapopen, .pfd-bottom a.pfd-bar-offer {color:#fff;}
.pfd-bottom a.pfd-bar-email {color:var(--body);}

/* ===== 05.장소찾기(등록) — Figma 1060:13203 ===== */
.pfw-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.pfw-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);}
.pfw-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:54px; height:54px;}
.pfw-back img {width:38px; height:38px;}
.pfw-head h1 {flex:1; display:flex; align-items:center; gap:8px; font-size:30px; font-weight:700; color:var(--ink);}
.pfw-temp {flex:0 0 auto; padding:9px 18px; border-radius:11px; background:var(--snow); border:1.92px solid var(--line); font-size:21px; font-weight:600; color:var(--teal);}
.pfw-body {flex:1; display:flex; flex-direction:column; gap:21px; padding:21px 27px 170px;}
.pfw-card {display:flex; flex-direction:column; gap:15px; padding:29px; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.pfw-sech {display:flex; align-items:center; gap:9px;}
.pfw-sech img {width:27px; height:27px;}
.pfw-sech b {font-size:25px; font-weight:700; color:var(--ink);}
.pfw-sech i {color:#EF4444; font-size:25px; font-weight:700; font-style:normal;}
.pfw-sech small {font-size:20px; color:var(--sub);}
.pfw-input {width:100%; padding:20px 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:24px; color:var(--ink); font-family:inherit;}
.pfw-input::placeholder {color:var(--sub);}
.pfw-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;}
.pfw-select.sm {padding:18px 44px 18px 18px; background-position:right 12px center; background-size:25px 25px; font-size:23px;}
.pfw-field {display:flex; flex-direction:column; gap:11px;}
.pfw-field > span {font-size:23px; font-weight:500; color:#6B7280;}
.pfw-count {text-align:right; font-size:20px; color:var(--sub);}
.pfw-grid2 {display:grid; grid-template-columns:repeat(2, 1fr); gap:12px;}

/* 공간 유형 칩 (이모지, 3열) */
.pfw-tgrid {display:grid; grid-template-columns:repeat(3, 1fr); gap:13px;}
.pfw-tchip {display:flex; flex-direction:column; align-items:center; gap:9px; padding:21px 8px; border:1.92px solid var(--line); border-radius:19px; background:var(--snow); color:#475569; font-size:21px; font-weight:600;}
.pfw-tchip .em {font-size:38px; line-height:1;}
.pfw-tchip.on {border-color:var(--teal-2); background:var(--mint); color:var(--teal);}

/* 필요 시설 칩 (이모지, 2열) */
.pfw-fgrid {display:grid; grid-template-columns:repeat(2, 1fr); gap:11.5px;}
.pfw-fchip {display:flex; align-items:center; gap:12px; padding:17px 21px; border:1.92px solid var(--line); border-radius:15px; background:var(--snow); color:#475569; font-size:22px; font-weight:600;}
.pfw-fchip img {width:27px; height:27px;}
.pfw-fchip.on {border-color:var(--teal-2); background:var(--mint); color:var(--teal);}

/* 지역 안내 박스 */
.pfw-hint {display:flex; align-items:flex-start; gap:11px; padding:18px 22px; background:var(--mint); border-radius:14px; font-size:21px; line-height:31px; color:var(--teal);}
.pfw-hint::before {content:''; flex:0 0 auto; width:24px; height:24px; margin-top:3px; background:url('/asset/images/common/info.svg') center/contain no-repeat;}

/* 인원/접미사 입력 */
.pfw-inwrap {position:relative; display:flex; align-items:center;}
.pfw-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); font-family:inherit;}
.pfw-inwrap em {position:absolute; right:24px; font-size:22px; font-style:normal; color:var(--sub);}

/* 기간 표시 */
.pfw-nights {display:flex; align-items:center; justify-content:center; padding:16px; border-radius:14px; background:var(--mint); color:var(--teal); font-size:24px; font-weight:700;}

.pfw-textarea {width:100%; min-height:300px; 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;}
.pfw-textarea::placeholder {color:var(--sub);}

/* 연락처 / 이메일 */
.pfw-phone {display:grid; grid-template-columns:1fr 1.3fr 1.3fr; gap:12px; align-items:center;}
.pfw-email {display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center;}
.pfw-email .at {font-size:24px; color:var(--sub); text-align:center;}

.pfw-submit {display:flex; align-items:center; justify-content:center; gap:11px; margin-top:4px; padding:28px; background:#1E3A5F; border-radius:19px; color:#fff; font-size:27px; font-weight:700;}
.pfw-wrap a.pfw-submit {color:#fff;}

.pfw-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.pfw-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.pfw-nav .tab img {width:42px; height:42px;}
.pfw-nav .tab.on {color:var(--teal);}
.pfw-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.pfw-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);}
.pfw-nav .tab-fab .fab img {width:48px; height:48px;}

/* ===== 05.장소찾기(완료) — Figma 1060:13504 ===== */
.pfdn-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.pfdn-body {flex:1; display:flex; flex-direction:column; align-items:center; padding:70px 46px 46px;}
.pfdn-circle {display:flex; align-items:center; justify-content:center; width:192px; height:192px; margin-bottom:40px; border:5.76px solid #A7F3D0; border-radius:50%; background:var(--mint);}
.pfdn-circle img {width:92px; height:92px;}
.pfdn-title {font-size:42px; font-weight:700; color:var(--ink); text-align:center; margin-bottom:15px;}
.pfdn-sub {font-size:24px; color:#6B7280; text-align:center; line-height:39px; margin-bottom:28px;}

/* 상태 칩 */
.pfdn-chips {display:flex; align-items:center; gap:13px; margin-bottom:44px;}
.pfdn-chip {display:inline-flex; align-items:center; gap:7px; padding:9px 21px; border-radius:38px; font-size:21px; font-weight:700;}
.pfdn-chip.cat {background:var(--mint); color:var(--teal);}
.pfdn-chip.done {background:#F0FDF4; color:#14532D;}

.pfdn-card {width:100%; padding:29px 33px; background:var(--card); border:1.92px solid var(--line); border-radius:19px; margin-bottom:23px;}
.pfdn-card-h {display:flex; align-items:center; gap:9.6px; margin-bottom:20px;}
.pfdn-card-h img {width:25px; height:25px;}
.pfdn-card-h b {font-size:23px; font-weight:700; color:#6B7280;}
.pfdn-proc {display:flex; align-items:center; gap:15px; padding:8px 0; font-size:23px; color:#6B7280;}
.pfdn-proc img {flex:0 0 auto; width:25px; height:25px;}
.pfdn-proc.avg {margin-top:6px; padding-top:16px; border-top:1.92px solid var(--line);}
.pfdn-proc.avg span {font-size:23px; font-weight:700; color:var(--teal);}

/* 활용 팁 (민트 카드) */
.pfdn-tips {width:100%; padding:27px 31px; background:var(--mint); border:1.92px solid #CCFBF1; border-radius:19px; margin-bottom:40px;}
.pfdn-tips-h {display:flex; align-items:center; gap:9.6px; margin-bottom:17px;}
.pfdn-tips-h img {width:25px; height:25px;}
.pfdn-tips-h b {font-size:23px; font-weight:700; color:var(--teal);}
.pfdn-tips ul {display:flex; flex-direction:column; gap:11px;}
.pfdn-tips li {position:relative; padding-left:24px; font-size:21px; line-height:32px; color:#0F766E;}
.pfdn-tips li::before {content:'·'; position:absolute; left:6px; font-weight:700;}

.pfdn-btns {display:flex; flex-direction:column; gap:15px; width:100%; margin-bottom:31px;}
.pfdn-btns .pfdn-btn {display:flex; align-items:center; justify-content:center; border-radius:19px; text-align:center;}
.pfdn-btns .pfdn-btn.primary {padding:27px; background:#1E3A5F; color:#fff; font-size:27px; font-weight:700;}
.pfdn-btns .pfdn-btn:not(.primary) {padding:25px; background:var(--card); border:1.92px solid var(--line); color:#6B7280; font-size:25px; font-weight:600;}
.pfdn-btns a.pfdn-btn.primary {color:#fff;}
.pfdn-btns a.pfdn-btn:not(.primary) {color:#6B7280;}

.pfdn-notice {display:flex; align-items:center; gap:13px; width:100%; padding:21px 27px; background:var(--cream); border:1.92px solid #FED7AA; border-radius:15px;}
.pfdn-notice img {flex:0 0 auto; width:25px; height:25px;}
.pfdn-notice p {font-size:21px; color:#92400E; line-height:32px;}

.pfdn-nav {display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.pfdn-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.pfdn-nav .tab img {width:42px; height:42px;}
.pfdn-nav .tab.on {color:var(--teal);}
.pfdn-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.pfdn-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);}
.pfdn-nav .tab-fab .fab img {width:48px; height:48px;}

/* 필터 드롭다운 클립 방지 */
.pf-filters:has(.pf-dd.open){overflow:visible;}
