/* 상담·모임 찾기(/find/)와 진행자로 참여하기(/partners/) 공통. 모든 클래스는 fd- 접두사. 2026-10-26 */
.fd{--ink:#191622;--muted:#686274;--line:#e9e5f2;--violet:#534aa5;--btn:#6A4FE6;--deep:#5B3FD6;--wash:#f5f2ff;--soft:#efeafe;
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);line-height:1.5;word-break:keep-all}
.fd *,.fd *::before,.fd *::after{box-sizing:border-box}
main.fd{max-width:none;margin:0;padding:0 0 24px;min-height:0}
:where(.fd) :where(h1,h2,h3,p){margin:0}
.fd-wrap{width:min(1160px,calc(100% - 48px));margin:0 auto}
.fd-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fd a{color:inherit}
.fd :focus-visible{outline:3px solid #9880ff;outline-offset:3px}

/* 버튼 */
.fd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid var(--btn);background:var(--btn);color:#fff!important;font:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s}
.fd-btn:hover{background:var(--deep);border-color:var(--deep)}
.fd-btn.ghost{background:#fff;color:var(--deep)!important;border-color:#d8cffc;min-height:40px;padding:0 18px;font-size:14px}
.fd-btn.ghost:hover{border-color:var(--btn);background:var(--wash)}
.fd-btn[disabled]{opacity:.55;cursor:wait}
.fd-arrow{width:16px;height:16px;flex:none}
.fd-more{display:inline-flex;align-items:center;gap:4px;color:var(--deep);font-size:14px;font-weight:700;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.fd-more:hover{text-decoration:underline;text-underline-offset:3px}

/* ── /find/ 첫 화면 ── */
.fd-hero{background:linear-gradient(180deg,#f6f3ff 0%,#faf8ff 70%,#fff 100%);border-bottom:1px solid #f0ecfa}
.fd-hero .fd-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:56px;align-items:center;padding:56px 0 52px}
.fd-eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--violet);margin-bottom:16px}
.fd-hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.18;letter-spacing:-.045em;font-weight:800}
.fd-hero h1 em{font-style:normal;color:var(--btn)}
.fd-lead{margin-top:18px!important;font-size:18px;color:var(--muted)}
.fd-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:28px;padding:0;list-style:none;font-size:14px;color:var(--muted)}
.fd-trust li{display:flex;align-items:center;gap:6px}
.fd-trust svg{width:16px;height:16px;color:var(--btn);flex:none}

.fd-panel{display:grid;gap:14px}
.fd-search{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #ddd5fb;border-radius:999px;padding:6px 6px 6px 22px;box-shadow:0 10px 30px rgba(83,74,165,.08)}
.fd-search:focus-within{border-color:var(--btn);box-shadow:0 10px 30px rgba(25,22,34,.08)}
.fd-search svg{width:22px;height:22px;color:var(--violet);flex:none}
.fd-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:16px;color:var(--ink);padding:12px 0}
.fd-search input::placeholder{color:#7d7690}
.fd-search .fd-btn{min-height:46px;padding:0 28px}
.fd-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px}
.fd-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}
.fd-chip:hover,.fd-chip[aria-pressed=true]{border-color:var(--btn);color:var(--deep);background:var(--wash)}
.fd-whenbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.fd-when{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}
.fd-when:hover,.fd-when[aria-pressed=true]{border-color:var(--btn);color:var(--deep);background:var(--wash)}
.fd-when-date input{border:0;background:transparent;font:inherit;color:inherit;padding:0;min-width:0}
.fd-next{color:var(--deep);font-weight:700}

.fd-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fd-type{position:relative;display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:16px 16px;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.fd-type:hover{border-color:#cfc4fb}
.fd-type[aria-pressed=true]{border-color:var(--btn);box-shadow:0 0 0 3px rgba(106,79,230,.12)}
.fd-type .ico{width:52px;height:52px;flex:none;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#efe9ff,#e0d6ff)}
.fd-type .ico svg{width:30px;height:30px}
.fd-type b{display:block;font-size:17px;letter-spacing:-.02em}
.fd-type small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.fd-type .chk{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);background:#fff}
.fd-type[aria-pressed=true] .chk{border-color:var(--btn);background:var(--btn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}

.fd-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fd-select{position:relative}
.fd-select select{appearance:none;-webkit-appearance:none;width:100%;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 36px 12px 14px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.fd-select select:hover{border-color:#cfc4fb}
.fd-select::after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}

/* ── 목록 ── */
.fd-results{padding:56px 0 8px}
.fd-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px;color:var(--muted)}
.fd-status button{font-size:13px}
.fd-sec{margin-top:36px}
.fd-sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.fd-sec-h h2{font-size:clamp(24px,2.6vw,30px);letter-spacing:-.04em;font-weight:800}
.fd-sec-h h2 small{margin-left:10px;font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0}
.fd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fd-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.fd-card:hover{box-shadow:0 18px 40px rgba(46,36,110,.10);transform:translateY(-2px)}
.fd-card .ph{position:relative;aspect-ratio:16/10;background:var(--wash);overflow:hidden}
.fd-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.fd-card .ph .ph-blank{display:grid;place-items:center;height:100%;color:#b6a8f5}
.fd-card .ph .ph-blank svg{width:56px;height:56px}
.fd-badge{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94);color:var(--deep);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;backdrop-filter:blur(6px)}
.fd-card .bd{display:flex;flex-direction:column;flex:1;padding:20px 22px 20px}
.fd-card h3{font-size:19px;letter-spacing:-.03em;font-weight:800}
.fd-meta{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:8px;font-size:14px;color:var(--muted)}
.fd-meta span:not(:last-child)::after{content:"·";margin:0 7px;color:#c9c3d5}
.fd-when{margin-top:6px!important;font-size:13.5px;color:var(--muted)}
.fd-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.fd-tags span{font-size:12.5px;font-weight:700;color:var(--deep);background:var(--wash);border-radius:999px;padding:4px 10px}
.fd-rating{display:flex;align-items:center;gap:6px;margin:16px 0 0!important;font-size:14px;color:var(--muted)}
.fd-rating .stars{color:#f5a524;letter-spacing:1px;font-size:15px}
.fd-rating b{color:var(--ink);font-weight:800}
.fd-rating + .ft{margin-top:14px}
.fd-card .ft{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid #f1eef7}
.fd-card .bd>.ft{margin-top:18px}
.fd-price{font-size:14px;color:var(--muted)}
.fd-price b{font-size:21px;color:var(--deep);letter-spacing:-.03em;margin-left:4px}

.fd-sec-sub{margin-top:6px!important;color:var(--muted);font-size:14.5px}
.fd-card.pub .ph{aspect-ratio:auto;height:112px;display:flex;align-items:flex-end;padding:14px 16px;background:linear-gradient(135deg,#eef6ef 0%,#e6f0ec 55%,#efeafe 100%)}
.fd-card.pub .ph svg{position:absolute;right:14px;top:12px;width:56px;height:56px;opacity:.9}
.fd-card.pub .fd-badge{position:static;background:#fff}
.fd-card.pub .fd-region{position:absolute;left:16px;top:14px;font-size:13px;font-weight:700;color:#2f5d4a}
.fd-card.pub h3{font-size:17.5px;line-height:1.4}
.fd-card.pub .ph.has-img{height:auto;aspect-ratio:4/3;padding:0;background:#f4f2f8}
.fd-card.pub .ph.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px 10px 0}
.fd-card.pub .ph.has-img .fd-region{background:#fff;border-radius:999px;padding:4px 10px;left:12px;top:auto;bottom:12px;font-size:12px;box-shadow:0 1px 4px rgba(25,22,34,.12)}
.fd-card.pub .ph.has-img .fd-badge{position:absolute;left:auto;right:12px;top:auto;bottom:12px;box-shadow:0 1px 4px rgba(25,22,34,.12)}
.fd-dialog .poster{display:block;width:100%;max-height:70vh;object-fit:contain;margin:18px 0 4px;border-radius:14px;background:#f4f2f8}
.fd-free{font-size:19px;font-weight:800;color:#2f6b52;letter-spacing:-.02em}
.fd-morebar{display:flex;justify-content:center;margin-top:20px}
.fd-morebar .fd-btn{min-height:44px;padding:0 24px;font-size:15px}
.fd-src{margin-top:12px!important;font-size:12.5px;color:var(--muted);text-align:center}
.fd-dialog .pubhead{padding:26px 30px 0;background:linear-gradient(135deg,#eef6ef,#efeafe)}
.fd-dialog .pubhead .fd-badge{position:static;display:inline-block;margin-bottom:14px}
.fd-apply{display:grid;gap:10px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.fd-apply .fd-btn{justify-self:start}
.fd-apply small{color:var(--muted);font-size:13px}

/* 상담사 */
.fd-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fd-person{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px}
.fd-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;background:linear-gradient(145deg,#efe9ff,#dcd1ff);display:grid;place-items:center;font-size:32px;font-weight:800;color:var(--violet)}
.fd-person h3{font-size:19px;letter-spacing:-.03em}
.fd-person .fd-tags{margin-top:8px}
.fd-match{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;border:1.5px dashed #d8cffc;background:linear-gradient(120deg,#fbfaff,#f5f2ff);border-radius:20px;padding:24px 26px}
.fd-match .ico{width:64px;height:64px;border-radius:20px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(83,74,165,.10)}
.fd-match .ico svg{width:36px;height:36px}
.fd-match h3{font-size:19px;letter-spacing:-.03em}
.fd-match p{margin-top:6px!important;color:var(--muted);font-size:14.5px}

.fd-empty{border:1px solid var(--line);border-radius:20px;padding:40px 24px;text-align:center;color:var(--muted)}
.fd-empty b{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}
.fd-empty .fd-btn{margin-top:16px}
.fd-skel{height:330px;border-radius:20px;background:linear-gradient(90deg,#f5f3fa 0,#faf9fd 50%,#f5f3fa 100%);background-size:200% 100%;animation:fd-sh 1.4s infinite linear}
@keyframes fd-sh{to{background-position:-200% 0}}

/* 진행자 안내 띠 */
.fd-join{display:grid;grid-template-columns:minmax(0,1fr) auto 120px;align-items:center;gap:24px;margin:56px 0 0;padding:20px 28px;border-radius:24px;background:linear-gradient(110deg,#f3efff 0%,#ebe5ff 100%);overflow:hidden}
.fd-join b{font-size:19px;letter-spacing:-.03em}
.fd-join p{color:var(--muted);font-size:14.5px;margin-top:4px!important}
.fd-join img{width:120px;height:120px;object-fit:contain;margin:-16px 0}
.fd-safety{margin:28px 0 0!important;font-size:13px;color:var(--muted)}
.fd-safety a{color:var(--deep)}

/* ── 상세·신청 창 ── */
.fd-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:24px;box-shadow:0 30px 80px rgba(25,22,34,.28);color:var(--ink)}
.fd-dialog::backdrop{background:rgba(25,22,34,.48);backdrop-filter:blur(2px)}
.fd-dialog .x{position:absolute;right:14px;top:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:22px;line-height:1;cursor:pointer;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.fd-dialog .hero-img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover}
.fd-dialog .in{padding:26px 30px 30px}
.fd-dialog h2{font-size:26px;letter-spacing:-.04em;font-weight:800;padding-right:44px}
.fd-dialog .host{margin-top:6px!important;color:var(--muted);font-size:14.5px}
.fd-dialog .sum{margin-top:16px!important;font-size:15.5px;line-height:1.7}
.fd-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.fd-facts div{background:#fff;padding:12px 14px;box-shadow:inset -1px -1px 0 var(--line)}
.fd-facts dt{font-size:12px;color:var(--muted)}
.fd-facts dd{margin:2px 0 0;font-size:15px;font-weight:700}
.fd-facts .wide{grid-column:1/-1}
.fd-dialog .full{display:inline-block;margin-top:14px}
.fd-form{display:grid;gap:14px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.fd-form h3{font-size:18px;letter-spacing:-.03em}
.fd-form .row,.fd-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fd-field{display:grid;gap:6px;font-size:14px;font-weight:700}
.fd-field small{font-weight:500;color:var(--muted)}
.fd-field input,.fd-field textarea,.fd-field select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:15px;font-weight:400;color:var(--ink);background:#fff}
.fd-field textarea{min-height:92px;resize:vertical}
.fd-field input:focus,.fd-field textarea:focus,.fd-field select:focus{outline:0;border-color:var(--btn);box-shadow:0 0 0 3px rgba(106,79,230,.14)}
.fd-agree{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.6}
.fd-agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--btn);flex:none}
.fd-msg{font-size:14px;color:#b42318;min-height:1em}
.fd-done{text-align:center;padding:28px 10px 6px}
.fd-done .ok{width:60px;height:60px;margin:0 auto 14px;border-radius:50%;background:var(--wash);display:grid;place-items:center}
.fd-done .ok svg{width:30px;height:30px;color:var(--btn)}
.fd-done h3{font-size:21px}
.fd-done p{margin-top:8px!important;color:var(--muted);font-size:15px}
.fd-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ── /partners/ ── */
.pt-hero .fd-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;padding:64px 0 40px}
.pt-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.14;letter-spacing:-.05em;font-weight:800}
.pt-hero h1 em{font-style:normal;color:var(--btn);display:block}
.pt-hero .fd-lead{font-size:19px;color:#3d3848}
.pt-hero .cta{margin-top:30px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.pt-hero .cta .fd-btn{min-height:56px;padding:0 34px;font-size:17px;box-shadow:0 10px 24px rgba(25,22,34,.14)}
.pt-hero .cta small{font-size:13px;color:var(--muted)}
.pt-hero .art{position:relative;display:grid;place-items:center}
.pt-hero .art img{position:relative;width:min(420px,100%);height:auto}
.pt-sec{padding:44px 0}
.pt-sec h2{font-size:clamp(25px,2.8vw,32px);letter-spacing:-.04em;font-weight:800;margin-bottom:20px}
.pt-kinds{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pt-kind{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:24px 26px;border-radius:20px;border:1.5px solid var(--line);background:#fff;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.pt-kind:hover{border-color:#cfc4fb}
.pt-kind[aria-pressed=true]{border-color:var(--btn);background:var(--wash)}
.pt-kind b{display:block;font-size:22px;letter-spacing:-.03em}
.pt-kind[aria-pressed=true] b{color:var(--deep)}
.pt-kind small{display:block;margin-top:4px;font-size:15px;color:var(--muted)}
.pt-kind .go{width:44px;height:44px;flex:none;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--deep)}
.pt-feats{background:linear-gradient(180deg,#f6f3ff,#faf8ff)}
.pt-feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pt-feat{padding:12px 28px 8px;text-align:center}
.pt-feat+.pt-feat{border-left:1px solid #e3dcf7}
.pt-feat .ico{width:88px;height:88px;margin:0 auto 16px;border-radius:26px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(83,74,165,.12)}
.pt-feat .ico svg{width:48px;height:48px}
.pt-feat h3{font-size:18px;letter-spacing:-.03em}
.pt-feat p{margin-top:6px!important;font-size:14.5px;color:var(--muted)}
.pt-steps{display:flex;align-items:center;gap:14px;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.pt-steps li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px}
.pt-steps li i{font-style:normal;width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--deep);display:grid;place-items:center;font-size:15px}
.pt-steps li+li::before{content:"";width:36px;height:1.5px;background:#d8cffc;margin-right:2px}
.pt-note{margin-top:12px!important;font-size:14px;color:var(--muted)}
.pt-apply{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.pt-apply aside{position:sticky;top:24px}
.pt-apply aside p{color:var(--muted);font-size:15px;line-height:1.75}
.pt-apply aside ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px;font-size:14.5px}
.pt-apply aside li{display:flex;gap:8px}
.pt-apply aside li svg{width:18px;height:18px;color:var(--btn);flex:none;margin-top:2px}
.pt-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 14px 40px rgba(46,36,110,.06)}
.pt-form fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}
.pt-form fieldset+fieldset{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.pt-form legend{font-size:15px;font-weight:800;color:var(--deep);margin-bottom:12px;padding:0}
.pt-form .row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pt-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pt-seg label{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-weight:700;cursor:pointer}
.pt-seg input{accent-color:var(--btn)}
.pt-seg label:has(input:checked){border-color:var(--btn);background:var(--wash);color:var(--deep)}
.pt-form .fd-btn{width:100%;margin-top:18px;min-height:54px;font-size:17px}
.pt-group-only[hidden]{display:none}
/* 질문형 등록(2026-10-26) */
.pt-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f1eef9;border-radius:16px;padding:5px;margin-bottom:14px}
.pt-tab{border:0;background:none;border-radius:12px;padding:11px 8px;font:inherit;font-weight:700;font-size:15px;color:var(--muted);cursor:pointer}
.pt-tab[aria-selected=true]{background:#fff;color:var(--deep);box-shadow:0 2px 8px rgba(46,36,110,.08)}
.pt-chat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 14px 40px rgba(46,36,110,.06)}
.pt-chat[hidden]{display:none}
.pt-msgs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:min(56vh,520px);overflow-y:auto;padding-right:4px}
.pt-msgs li{max-width:88%;padding:11px 15px;border-radius:18px;font-size:15px;line-height:1.65;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}
.pt-msgs .a{align-self:flex-start;background:#f4f1ff;border-bottom-left-radius:6px}
.pt-msgs .u{align-self:flex-end;background:var(--btn);color:#fff;border-bottom-right-radius:6px}
.pt-msgs .wait{color:var(--muted)}
.pt-ask{display:flex;gap:8px;align-items:flex-end;margin-top:14px}
.pt-ask textarea{flex:1;min-height:48px;max-height:30vh;resize:vertical;border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;font:inherit;font-size:15px}
.pt-ask textarea:focus{outline:0;border-color:var(--btn);box-shadow:0 0 0 3px rgba(106,79,230,.14)}
.pt-ask .fd-btn{min-height:48px;padding:0 20px;margin:0;width:auto}
.pt-chat-note{margin-top:10px!important;font-size:12.5px;color:var(--muted)}
.pt-filled{background:#eef9f2;color:#1f6b45;border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:16px!important}
.pt-photo-prev{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}

@media(max-width:960px){
  .fd-hero .fd-wrap,.pt-hero .fd-wrap,.pt-apply{grid-template-columns:minmax(0,1fr);gap:32px}
  .fd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd-people{grid-template-columns:minmax(0,1fr)}
  .pt-hero .art img{width:min(300px,70%)}
  .pt-apply aside{position:static}
}
@media(max-width:640px){
  .fd-wrap{width:calc(100% - 32px)}
  .fd-hero .fd-wrap{padding:36px 0 32px}
  .fd-lead{font-size:16px}
  .fd-types,.fd-grid,.pt-kinds,.pt-feat-grid{grid-template-columns:minmax(0,1fr)}
  .fd-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fd-filters .fd-select:last-child{grid-column:1/-1}
  .fd-search{padding-left:16px}
  .fd-search .fd-btn{padding:0 18px}
  .fd-person{grid-template-columns:72px minmax(0,1fr);padding:18px}
  .fd-person .fd-btn{grid-column:1/-1}
  .fd-avatar{width:72px;height:72px;font-size:26px}
  .fd-match{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px}
  .fd-join{grid-template-columns:minmax(0,1fr);padding:22px;text-align:left}
  .fd-join img{display:none}
  .fd-facts{grid-template-columns:1fr 1fr}
  .fd-form .row,.fd-2col,.pt-form .row3{grid-template-columns:minmax(0,1fr)}
  .fd-dialog .in{padding:22px 20px 24px}
  .pt-hero .fd-wrap{padding:36px 0 16px}
  .pt-feat{padding:18px 8px}
  .pt-feat+.pt-feat{border-left:0;border-top:1px solid #e3dcf7}
  .pt-steps li+li::before{width:16px}
  .pt-form{padding:20px}
}
@media(prefers-reduced-motion:reduce){.fd-card,.fd-skel{transition:none;animation:none}.fd-card:hover{transform:none}}

/* 새 프로그램 알림 신청 (2026-10-26) */
.fd-alert{display:grid;gap:16px;margin-top:28px;padding:26px 26px 22px;background:#fff;border:1.5px solid #ddd5fb;border-radius:22px}
.fd-alert-h h3{font-size:19px;letter-spacing:-.03em;font-weight:800}
.fd-alert-h p{margin-top:4px;color:var(--muted);font-size:14.5px}
.fd-alert-ft{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fd-alert-ft .fd-msg{margin:0}
.fd-alert-ft .fd-msg.ok{color:#1f7a4d}

/* 직접 여는 모임 상세의 참가자 후기 (2026-10-26) */
.fd-revs{display:grid;gap:10px;margin-top:20px}
.fd-revs h3{font-size:16px;letter-spacing:-.02em;font-weight:800}
.fd-revs figure{margin:0;background:#f7f5fd;border-radius:16px;padding:14px 18px}
.fd-revs .stars{margin:0 0 4px;color:#f5a524;font-size:14px;letter-spacing:2px}
.fd-revs blockquote{margin:0;font-size:15px;line-height:1.65;word-break:keep-all}
.fd-revs figcaption{margin-top:4px;font-size:12.5px;color:var(--muted)}

/* 저장·알림 사다리 (2026-10-26) */
.fd-ft-act{display:flex;align-items:center;gap:8px}
.fd-save{flex:none;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:#b8b0cc;transition:color .15s,border-color .15s}
.fd-save svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.fd-save:hover{color:var(--btn);border-color:#cfc4fb}
.fd-save[aria-pressed=true]{color:#c42a5e;border-color:#f6c6d6;background:#fff5f8}
.fd-save[aria-pressed=true] svg{fill:currentColor}
.fd-save:focus-visible{outline:2px solid var(--btn);outline-offset:2px}
.fd-d-save{display:flex;align-items:center;gap:8px;margin:0 0 6px!important;font-size:14px;color:var(--muted)}
.fd-d-save .fd-save{width:36px;height:36px}
.fd-saved .fd-sec-h h2 small{font-size:16px;color:var(--muted);font-weight:700;margin-left:6px}
.fd-sheet{border:0;padding:0;border-radius:24px;width:min(440px,calc(100% - 32px));box-shadow:0 30px 80px rgba(25,22,34,.25)}
.fd-sheet::backdrop{background:rgba(25,22,34,.38)}
.fd-sheet-in{position:relative;display:grid;gap:12px;padding:26px 24px 18px}
.fd-sheet .x{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f4f2f8;font-size:20px;cursor:pointer}
.fd-sheet .ok{margin:0!important;color:#c42a5e;font-weight:800;font-size:13.5px}
.fd-sheet h2{font-size:20px;letter-spacing:-.03em;font-weight:800;padding-right:30px}
.fd-sheet .sub{margin:0!important;color:var(--muted);font-size:14px}
.fd-sheet .row{display:flex;gap:8px;flex-wrap:wrap}
.fd-sheet .row .fd-btn{flex:1;min-height:48px}
.fd-sheet-skip{background:none;border:0;color:var(--muted);font:inherit;font-size:13.5px;text-decoration:underline;cursor:pointer;justify-self:center;padding:4px}
@media(max-width:640px){.fd-sheet{margin:auto auto 0;width:100%;max-width:100%;border-radius:24px 24px 0 0}}

/* ── 2026-10-30 네 갈래 사진 버튼 · 따라오는 탭 막대 · 사진 카드 · 글자 굵기 정리 ── */
.fd-hero h1{font-weight:700;letter-spacing:-.035em}
.fd-sec-h h2{font-size:clamp(22px,2.2vw,26px);font-weight:700;letter-spacing:-.03em}
.fd-sec-h h2 small{font-weight:500}
.fd-card h3,.fd-card.pub h3{font-size:16.5px;font-weight:600;letter-spacing:-.02em;line-height:1.45}
.fd-card .bd{padding:16px 18px 16px}
.fd-card .ft{padding-top:14px}
.fd-meta{font-size:13.5px;margin-top:6px}
.fd-badge,.fd-tags span{font-weight:600}
.fd-price b{font-size:19px;font-weight:700}
.fd-free{font-size:17px;font-weight:700}
.fd-rating b{font-weight:700}
.fd-dialog h2{font-size:24px;font-weight:700;letter-spacing:-.03em}
.fd-facts dd{font-weight:600}
.fd-match h3,.fd-person h3,.fd-join b,.fd-form h3{font-weight:700}
.fd-type b{font-weight:600}

/* 네 갈래: 사진 위, 이름 아래 */
.fd-types{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fd-type{flex-direction:column;align-items:stretch;gap:0;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.fd-type img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--wash)}
.fd-type img.lapi{object-fit:contain;padding:8px;background:linear-gradient(145deg,#f6f3ff,#ebe4ff)}
.fd-type>span{display:block;padding:10px 12px 12px}
.fd-type b{font-size:15px;letter-spacing:-.02em}
.fd-type small{font-size:12.5px;margin-top:1px}
.fd-type:hover{border-color:#cfc4fb;box-shadow:0 10px 24px rgba(46,36,110,.08)}
.fd-type[aria-pressed=true]{border-color:var(--btn);box-shadow:0 0 0 3px rgba(106,79,230,.14)}

/* 따라오는 탭 막대 */
.fd-tabs{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.fd-tabs .fd-wrap{display:flex;align-items:center;gap:16px}
.fd-tabs-in{display:flex;gap:26px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.fd-tabs-in::-webkit-scrollbar{display:none}
.fd-tab{flex:none;position:relative;border:0;background:none;padding:17px 0 15px;font:inherit;font-size:15px;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap}
.fd-tab span{font-size:13px;color:#a7a1b4;margin-left:2px;font-variant-numeric:tabular-nums}
.fd-tab:hover{color:var(--ink)}
.fd-tab[aria-selected=true]{color:var(--ink);font-weight:600}
.fd-tab[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--btn)}
.fd-tabs-reg{flex:none;font-size:14px;font-weight:600;color:var(--deep);text-decoration:none;padding:7px 14px;border:1px solid #ddd5fb;border-radius:999px;background:#fff}
.fd-tabs-reg:hover{background:var(--wash)}
.fd-results{padding-top:28px}
.fd-sec{scroll-margin-top:72px}

/* 공공·템플스테이 카드: 위에 사진 */
.fd-card.pub .ph,.fd-card.pub .ph.has-img{height:auto;aspect-ratio:4/3;padding:0;display:block;background:#f4f2f8}
.fd-card.pub .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;padding:0}
.fd-card.pub .ph.poster img{object-fit:cover;object-position:top}
.fd-card.pub .ph.rapi{background:#f3efe7}
.fd-card.pub .ph.rapi img{object-fit:cover}
.fd-card.pub .fd-region,.fd-card.pub .ph.has-img .fd-region{position:absolute;left:12px;top:auto;bottom:12px;background:rgba(255,255,255,.94);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;box-shadow:0 1px 4px rgba(25,22,34,.10)}
.fd-card.pub .fd-region:empty{display:none}

/* 1:1 상담 매칭 */
.fd-match{border:0;background:linear-gradient(115deg,#f7f4ff 0%,#efe9ff 100%);padding:20px 26px}
.fd-match .lapi{width:84px;height:84px;object-fit:contain;margin:-8px 0}
.fd-match h3{font-size:18px}

/* 상세 창 사찰 사진 출처 */
.fd-d-photo{margin:0}
.fd-d-photo figcaption{padding:6px 30px 0;font-size:11.5px;color:var(--muted)}
.fd-d-photo figcaption a{color:inherit}
.fd-alert-sec{margin-top:48px}

@media(max-width:960px){.fd-types{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){
  .fd-types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd-tabs-in{gap:20px}
  .fd-tabs-reg{padding:6px 10px;font-size:13px}
  .fd-match{grid-template-columns:auto minmax(0,1fr)}
  .fd-match .fd-btn{grid-column:1/-1}
}
@media(max-width:640px){
  .fd-card.pub{flex-direction:row;align-items:stretch}
  .fd-card.pub .ph,.fd-card.pub .ph.has-img{width:112px;flex:none;aspect-ratio:auto;min-height:112px}
  .fd-card.pub .fd-region{display:none}
  .fd-card.pub .bd{padding:12px 14px}
  .fd-card.pub .ft{padding-top:10px;margin-top:10px}
  .fd-card.pub .fd-btn.ghost{min-height:34px;padding:0 12px;font-size:13px}
}
/* 2026-10-30 카드 제목은 가볍게: 굵기 500, 진회색 */
.fd-card h3,.fd-card.pub h3{font-size:16px;font-weight:500;color:#2e2a38;letter-spacing:-.015em;line-height:1.5}
.fd-alert-h h3,.fd-revs h3{font-weight:600}
.fd-sec-h h2{font-weight:600}
/* 2026-10-30 갈래 버튼·탭 이름도 가볍게 */
.fd-type b{font-size:15px;font-weight:500;color:#2e2a38}
.fd-type small{color:#8a8496}
.fd-tab[aria-selected=true]{font-weight:500;color:#2e2a38}
.fd-match h3{font-weight:500;color:#2e2a38}
.fd-sec-h h2{font-weight:500;color:#2e2a38}
.fd-hero h1{font-weight:600;color:#2e2a38}
.fd-sec-h h2{color:#3a3644;letter-spacing:-.02em}

/* ── 2026-10-30 /partners/와 남은 창들도 /find/ 톤으로: 굵기 500~600, 진회색 ── */
.pt-hero h1{font-weight:600;letter-spacing:-.035em;color:#2e2a38}
.pt-sec h2{font-size:clamp(22px,2.4vw,28px);font-weight:500;letter-spacing:-.02em;color:#2e2a38}
.pt-kind b{font-size:19px;font-weight:500;letter-spacing:-.02em;color:#2e2a38}
.pt-kind[aria-pressed=true] b{color:var(--deep)}
.pt-feat h3{font-size:17px;font-weight:500;letter-spacing:-.015em;color:#2e2a38}
.pt-steps li{font-weight:500;color:#2e2a38}
.pt-form legend{font-weight:600}
.pt-seg label,.pt-tab{font-weight:500}
.pt-tab[aria-selected=true]{font-weight:600}
.fd-field{font-weight:500;color:#2e2a38}
.fd-eyebrow{font-weight:600}
.fd-alert-h h3,.fd-revs h3,.fd-sheet h2,.fd-form h3,.fd-join b,.fd-person h3,.fd-done h3{font-weight:500;color:#2e2a38}
.fd-dialog h2{font-weight:600;color:#2e2a38}
.fd-facts dd{font-weight:500}
.fd-sheet .ok{font-weight:600}
.fd-saved .fd-sec-h h2 small{font-weight:500}
.fd-rating b,.fd-free,.fd-price b{font-weight:600}

/* ── 2026-10-30 1분 추천(첫 화면 아래) · 기다리는 동안 먼저 해 보기 ── */
.fd-quiz{padding:28px 0 8px}
.fd-quiz-in{display:grid;gap:14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff 0%,#fbfaff 100%);padding:22px 24px}
.fd-quiz h2{font-size:19px;font-weight:500;color:#2e2a38;letter-spacing:-.02em}
.fd-quiz-q{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center}
.fd-quiz-q .q{font-size:13.5px;color:var(--muted)}
.fd-quiz-opts{display:flex;flex-wrap:wrap;gap:8px}
.fd-quiz-opts button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;color:#4a4556;cursor:pointer}
.fd-quiz-opts button:hover{border-color:#cfc4fb}
.fd-quiz-opts button[aria-pressed=true]{border-color:var(--btn);background:var(--wash);color:var(--deep);font-weight:500}
.fd-quiz-last{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fd-quiz-last .fd-select{min-width:200px}
.fd-quiz-last .fd-btn{min-height:44px;padding:0 22px}
#fd-quiz-out{display:grid;gap:14px}
#fd-quiz-out:empty{display:none}
.fd-quiz-hint{font-size:14px;color:var(--muted)}

.fd-learn{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.fd-learn h2,.fd-learn h3{font-size:15px;font-weight:500;color:#2e2a38;margin-bottom:10px}
.fd-learn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fd-learn-row a{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfaff;text-decoration:none;color:inherit}
.fd-learn-row a:hover{border-color:#cfc4fb;background:var(--wash)}
.fd-learn-row small{font-size:12.5px;color:var(--deep)}
.fd-learn-row b{font-size:15px;font-weight:500;color:#2e2a38}
@media(max-width:640px){
  .fd-quiz-in{padding:18px}
  .fd-quiz-q{grid-template-columns:minmax(0,1fr);gap:6px}
  .fd-learn-row{grid-template-columns:minmax(0,1fr)}
}
.fd-card .ft .fd-btn{white-space:nowrap}
.fd-card .fd-price{white-space:nowrap}

/* 운영 기관이 내용을 확인한 공공 공고(2026-10-30, find_listings.verified_at) */
.fd-verified{display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;color:#1f7a4d;background:#e8f5ee;border-radius:999px;padding:2px 9px}
.fd-doc .pubhead .fd-verified{margin-left:6px}
