/* ==========================================================================
   꼬마숲 포털 하위 페이지 — 2026-10 브랜드·서비스형 컨셉 통일 (메인 portal.css 와 같은 톤)
   style.css(구 동글/캐릭터 테마) 위에 덮어쓴다: 토큰 재정의 → 컴포넌트 정리 → 공통 헤더/푸터
   ========================================================================== */

/* ── 1. 토큰 재정의: 기존 컴포넌트 색·글꼴·모서리를 한 번에 새 컨셉으로 ── */
body.pt{
  --g:#1e4632; --g-d:#163626; --g-dd:#141a16; --g-l:#eef2ee; --g-ll:#f6f7f4;
  --y:#c69c5d; --o:#1e4632; --o-d:#163626;
  --ink:#141a16; --gray:#7b827d; --line:#e6e8e4; --bg:#ffffff; --cream-2:#f5f6f2;
  --r:4px; --r-lg:6px; --r-sm:3px; --r-md:4px; --r-xl:6px;
  --sh:none; --sh-sm:none; --shadow-sm:none; --shadow-md:0 18px 40px rgba(20,26,22,.08); --shadow-lg:0 24px 60px rgba(20,26,22,.12);
  --font-body:Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-head:Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-hand:Pretendard,sans-serif;
  --forest-900:#141a16; --forest-700:#1e4632; --forest-500:#2d6a4b; --forest-300:#c9d6cc; --leaf-100:#eef2ee;
  --cream:#fff; --paper:#fff; --ink-soft:#7b827d;
  --sky:#2d6a4b; --sky-soft:#f5f6f2; --sun:#c69c5d; --sun-soft:#f6efe2; --berry:#a3483b; --berry-soft:#f7ece9; --grape:#2d6a4b;
  background:#fff; color:#141a16; font-size:15.5px; line-height:1.7; word-break:keep-all;
}
body.pt h1,body.pt h2,body.pt h3,body.pt h4{font-family:var(--font-head);font-weight:800;letter-spacing:-.03em;color:#141a16}
body.pt b,body.pt strong{font-weight:700}
body.pt .lf-main{min-height:50vh}
body.pt .lf-container{max-width:1240px;padding-left:32px;padding-right:32px}

/* 장식 이모지·캐릭터 아이콘 정리 (서비스형: 텍스트·선 중심) */
body.pt .lf-room__ic,body.pt .lf-manage__ic,body.pt .lf-point__ic,body.pt .lf-facility__ic,body.pt .lf-map__ic,
body.pt .lf-support__ic,body.pt .lf-prog-card2__ic,body.pt .lf-intro__tree,body.pt .lf-greeting__leaf,
body.pt .lf-region__mark,body.pt .lf-counsel__done-mark,body.pt .lf-modal__logo,body.pt .floatpanel .fab-call{display:none}
body.pt .lf-cloud,body.pt .lf-birds,body.pt .lf-butterfly,body.pt .wave{display:none}

/* ── 2. 페이지 머리 (서브 히어로) ── */
body.pt .lf-subhead{background:#fff;padding:72px 0 40px;margin-bottom:56px;border-bottom:1px solid var(--line);position:relative}
body.pt .lf-subhead::before{content:"KKOMASOOP";display:block;max-width:1240px;margin:0 auto 14px;padding:0 32px;font-size:12.5px;font-weight:700;letter-spacing:.2em;color:#2d6a4b}
body.pt .lf-subhead h1{font-size:clamp(32px,4vw,48px);line-height:1.2;margin:0 0 18px;color:#141a16}
body.pt .lf-breadcrumb{font-size:13px;color:#7b827d;letter-spacing:.01em}
body.pt .lf-breadcrumb a{color:#7b827d}
body.pt .lf-breadcrumb a:hover{color:#141a16;text-decoration:none}
body.pt .lf-breadcrumb span{color:#141a16;font-weight:600}

/* ── 3. 버튼·폼 ── */
body.pt .lf-btn{border-radius:4px;box-shadow:none;background:#1e4632;color:#fff;font-weight:700;letter-spacing:-.01em;padding:12px 22px;transform:none!important;transition:background .2s,color .2s,border-color .2s}
body.pt .lf-btn:hover{background:#163626}
body.pt .lf-btn--lg{padding:15px 32px;font-size:15.5px}
body.pt .lf-btn--sm{padding:7px 14px;font-size:13px}
body.pt .lf-btn--ghost,body.pt .lf-btn--white{background:#fff;color:#141a16;border:1.5px solid #141a16}
body.pt .lf-btn--ghost:hover,body.pt .lf-btn--white:hover{background:#141a16;color:#fff}
body.pt .lf-btn--danger{background:#fff;color:#a3483b;border:1.5px solid #e2c3bd}
body.pt .lf-btn--danger:hover{background:#a3483b;color:#fff;border-color:#a3483b}
body.pt input[type=text],body.pt input[type=password],body.pt input[type=email],body.pt input[type=tel],body.pt input[type=search],
body.pt input[type=date],body.pt input[type=month],body.pt input[type=number],body.pt select,body.pt textarea{border-radius:3px!important;border:1px solid #d5d9d4!important;background:#fff!important;font-family:inherit}
body.pt input:focus,body.pt select:focus,body.pt textarea:focus{outline:none;border-color:#1e4632!important;box-shadow:0 0 0 3px rgba(30,70,50,.08)}
body.pt .lf-form__row>label{color:#141a16;font-weight:700;font-size:14.5px}
body.pt .lf-alert{border-radius:3px;background:#f7ece9;border-color:#e2c3bd;color:#8f3a2e}
body.pt .lf-find__ok{border-radius:3px}
body.pt .lf-muted{color:#7b827d}

/* ── 4. 게시판 ── */
body.pt .lf-board__count b{color:#1e4632}
body.pt .lf-table{border-top:1.5px solid #141a16}
body.pt .lf-table th{background:#fff;color:#7b827d;font-weight:600;font-size:13px;letter-spacing:.02em;border-bottom:1px solid #d5d9d4}
body.pt .lf-table td{font-size:14.5px;padding:16px 10px}
body.pt .lf-table tbody tr:hover td{background:#f9faf8}
body.pt .lf-table .t-title a{font-weight:500}
body.pt .lf-table .t-title a:hover{color:#1e4632;text-decoration:underline;text-underline-offset:3px}
body.pt .lf-pagination a,body.pt .lf-pagination span,body.pt .lf-pagination strong{border-radius:3px!important}
body.pt .lf-pagination .on,body.pt .lf-pagination strong{background:#141a16!important;border-color:#141a16!important;color:#fff!important}
body.pt .lf-post__head{border-top:1.5px solid #141a16;border-bottom:1px solid var(--line);background:#fff}
body.pt .lf-post__head h2,body.pt .lf-post__head h1{font-size:26px}
body.pt .lf-post__body{line-height:1.85;font-size:16px}
body.pt .lf-comment,body.pt .lf-comments{border-radius:0}
body.pt .lf-gallery__thumb,body.pt .lf-gallery__thumb img{border-radius:2px}
body.pt .lf-cat-tabs a,body.pt .lf-tabs a,body.pt .lf-region-tabs a,body.pt .lf-region-tabs button{border-radius:3px!important}
body.pt .lf-cat-tabs a.on,body.pt .lf-tabs a.on,body.pt .lf-region-tabs .on{background:#141a16!important;color:#fff!important;border-color:#141a16!important}

/* ── 5. 카드·섹션류 (소개·특징·지원·시설·지점 등) ── */
body.pt .lf-card,body.pt .lf-room__card,body.pt .lf-manage__card,body.pt .lf-point,body.pt .lf-facility__card,body.pt .lf-map__card,
body.pt .lf-support__card,body.pt .lf-prog-card2,body.pt .lf-branch,body.pt .lf-step,body.pt .lf-tier,body.pt .lf-cs-card,
body.pt .lf-login__box,body.pt .lf-find__box,body.pt .lf-guide__block,body.pt .lf-intro,body.pt .lf-greeting{
  border-radius:0!important;box-shadow:none!important;border:1px solid var(--line);background:#fff}
body.pt .lf-room__card:hover,body.pt .lf-branch:hover,body.pt .lf-prog-card2:hover,body.pt .lf-point:hover{transform:none;background:#f9faf8;border-color:#141a16}
body.pt .lf-room__gtitle,body.pt .lf-guide__h{border-bottom:1.5px solid #141a16;padding-bottom:12px;font-size:20px}
body.pt .lf-room__card b,body.pt .lf-manage__card h3{color:#141a16}
body.pt .lf-room__soon,body.pt .lf-manage__soon,body.pt .lf-badge,body.pt .lf-cs-badge,body.pt .lf-jobtype{border-radius:2px!important}
body.pt .lf-manage__welcome{border-radius:0!important;background:#f6f7f4!important;border:0;border-left:3px solid #1e4632;box-shadow:none}
body.pt .lf-manage__badge{border-radius:2px!important;background:#1e4632!important;color:#fff!important}
body.pt .lf-manage__welcome h2 b,body.pt .lf-manage__welcome h2 span{color:#2d6a4b}
body.pt .lf-history__title h2,body.pt .lf-region__title{letter-spacing:.06em}
body.pt .lf-era__badge,body.pt .lf-step__no,body.pt .lf-tier__no{border-radius:2px!important;background:#1e4632!important;color:#fff!important}
body.pt .lf-timeline,body.pt .lf-era__line{border-color:var(--line)!important}
body.pt .lf-quote{border-left:3px solid #c69c5d;background:#f6f7f4;border-radius:0}
body.pt .lf-page__body img,body.pt .lf-rich img{border-radius:0}
body.pt .lf-map__frame,body.pt .lf-map__frame iframe{border-radius:0!important}
body.pt .lf-empty{border-radius:0;background:#f6f7f4;color:#7b827d}
body.pt .lf-page__editnote{color:#7b827d}
body.pt .floatpanel .fab{border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
body.pt .floatpanel .fab-top{background:#fff;color:#141a16;border:1px solid #d5d9d4}
/* 설정 화면(관리) 공통 요소 */
body.pt .hp-box,body.pt .rp-row,body.pt .hp-tabs button,body.pt .dz-card,body.pt .pk-stat div,body.pt .pk-tbl,body.pt .ml-tbl{border-radius:0!important}
body.pt .hp-tabs button.on{background:#141a16!important;border-color:#141a16!important}
body.pt .dz-card.on{box-shadow:0 0 0 2px var(--dz)!important}

/* 로그인 모달 */
body.pt .lf-modal__panel{border-radius:0;box-shadow:0 30px 80px rgba(0,0,0,.25)}
body.pt .lf-modal__backdrop{background:rgba(16,21,18,.55)}
body.pt .lf-modal__head h2{font-family:var(--font-head);color:#141a16;font-weight:800}
body.pt .lf-modal input{border-radius:3px}
body.pt .lf-modal__submit{border-radius:3px;background:#1e4632;font-family:var(--font-head)}

/* ── 6. 공통 헤더/푸터 (메인과 동일, portal.css 의 해당 부분을 범위 한정으로 이식) ── */
body.pt .ph,body.pt .pf{--ink:#141a16;--ink-2:#3d4540;--mute:#7b827d;--line:#e6e8e4;--soft:#f5f6f2;--forest:#1e4632;--forest-2:#2d6a4b}
.ph .wrap,.pf .wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.ph{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.ph a,.pf a{text-decoration:none;color:inherit}
.ph-util{border-bottom:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.ph-util .wrap{display:flex;justify-content:flex-end;gap:18px;height:34px;align-items:center}
.ph-util a:hover{color:var(--ink)}
.ph-util b{color:var(--ink);font-weight:600}
.ph-main .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:28px}
.ph .logo,.pf .logo{display:flex;align-items:center;gap:10px}
.ph .logo svg,.pf .logo svg{width:34px;height:34px;display:block}
.ph .logo b,.pf .logo b{font-size:22px;font-weight:800;letter-spacing:-.04em;color:var(--forest);line-height:1.2}
.ph .logo small,.pf .logo small{display:block;font-size:10.5px;letter-spacing:.22em;color:var(--mute);font-weight:600;margin-top:-2px}
.ph .gnb>ul{display:flex;list-style:none;margin:0;padding:0;gap:4px}
.ph .gnb>ul>li{position:relative}
.ph .gnb>ul>li>a{display:block;padding:26px 14px;font-size:15.5px;font-weight:600;color:var(--ink-2)}
.ph .gnb>ul>li:hover>a{color:var(--forest)}
.ph .gnb .sub{position:absolute;left:50%;top:100%;transform:translate(-50%,6px);min-width:170px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(20,26,22,.10);padding:10px 0;list-style:none;margin:0;opacity:0;visibility:hidden;transition:.18s}
.ph .gnb>ul>li:hover .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ph .gnb .sub a{display:block;padding:8px 20px;font-size:14.5px;color:var(--ink-2)}
.ph .gnb .sub a:hover{background:var(--soft);color:var(--forest)}
.ph-cta{display:flex;gap:8px;align-items:center}
.ph .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:4px;font-weight:700;font-size:14px;border:1.5px solid transparent;white-space:nowrap;transition:background .2s,color .2s}
.ph .btn-pri{background:var(--forest);color:#fff}
.ph .btn-pri:hover{background:#163626}
.ph .btn-dark-line{border-color:var(--ink);color:var(--ink)}
.ph .btn-dark-line:hover{background:var(--ink);color:#fff}
.ph .menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:4px;cursor:pointer;position:relative}
.ph .menu-btn span,.ph .menu-btn span::before,.ph .menu-btn span::after{position:absolute;left:12px;width:20px;height:1.8px;background:var(--ink);content:""}
.ph .menu-btn span{top:21px}.ph .menu-btn span::before{top:-6px;left:0}.ph .menu-btn span::after{top:6px;left:0}
.pf{background:#101512;color:rgba(255,255,255,.62);font-size:13.5px;padding:64px 0 56px;margin-top:100px;line-height:1.65}
.pf-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.pf .logo b{color:#fff}
.pf nav{display:flex;gap:26px;flex-wrap:wrap}
.pf nav a{color:rgba(255,255,255,.82);font-weight:600}
.pf nav a:hover{color:#fff}
.pf p{margin:0}
.pf-info{margin-top:28px;line-height:1.9}
.pf-info span+span::before{content:"|";margin:0 10px;opacity:.35}
.pf-copy{margin-top:18px;color:rgba(255,255,255,.4)}
@media (max-width:1100px){
  .ph .gnb{display:none}.ph .menu-btn{display:block}
  body.nav-open .ph .gnb{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.08);max-height:75vh;overflow:auto}
  body.nav-open .ph .gnb>ul{flex-direction:column;padding:8px 32px 20px;gap:0}
  body.nav-open .ph .gnb>ul>li>a{padding:14px 0;border-bottom:1px solid var(--line)}
  body.nav-open .ph .gnb .sub{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;padding:4px 0 8px 12px;min-width:0}
}
@media (max-width:720px){
  body.pt .lf-container,.ph .wrap,.pf .wrap{padding-left:20px;padding-right:20px}
  body.pt .lf-subhead{padding:48px 0 28px;margin-bottom:36px}
  body.pt .lf-subhead::before{padding:0 20px}
  .ph-util{display:none}
  .ph-main .wrap{height:64px}
  .ph-cta .btn-dark-line{display:none}
  .pf{margin-top:64px}
}

/* ── 7. 보정: 머리 문구 정렬, 소제목 배지, 예전 둥근 버튼(.btn)·그라데이션 박스, 표 머리 ── */
body.pt .lf-subhead::before{content:none}
body.pt .lf-subhead .lf-container::before{content:"KKOMASOOP";display:block;margin-bottom:14px;font-size:12.5px;font-weight:700;letter-spacing:.2em;color:#2d6a4b}
body.pt .section-head{max-width:760px;margin-bottom:48px}
body.pt .section-head h2{font-size:clamp(28px,3.4vw,40px);color:#141a16}
body.pt .section-head p{color:#7b827d}
body.pt .eyebrow{background:none;padding:0;border-radius:0;font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:.16em;color:#2d6a4b;gap:10px;margin-bottom:16px}
body.pt .eyebrow::before{content:"";width:24px;height:1.5px;background:currentColor}
body.pt .btn{border-radius:4px;box-shadow:none!important;transform:none!important;font-weight:700}
body.pt .btn-primary,body.pt .btn-sun{background:#1e4632;color:#fff}
body.pt .btn-primary:hover,body.pt .btn-sun:hover{background:#163626}
body.pt .btn-ghost{background:#fff;color:#141a16;border:1.5px solid #141a16}
body.pt .btn-ghost:hover{background:#141a16;color:#fff}
body.pt .lf-guide__cta{background:#1e4632;border-radius:0;padding:48px 24px;color:#fff}
body.pt .lf-guide__cta h3{color:#fff;font-size:24px}
body.pt .lf-guide__cta p{color:rgba(255,255,255,.75)}
body.pt .lf-guide__cta .btn-primary{background:#fff;color:#1e4632}
body.pt .lf-guide__cta .btn-primary:hover{background:#d9c39a;color:#141a16}
body.pt .lf-guide__cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
body.pt .lf-guide__cta .btn-ghost:hover{background:#fff;color:#141a16}
body.pt .lf-plan__table{border-radius:0!important;box-shadow:none!important}
body.pt .lf-plan__table thead th{background:#141a16!important;color:#fff!important;font-family:var(--font-body);font-weight:700;font-size:13.5px;letter-spacing:.04em}
body.pt .lf-plan__table tbody tr:nth-child(even) td{background:#f9faf8}
body.pt .lf-branch__region,body.pt .lf-branches__views a,body.pt .lf-branches__views button{border-radius:2px!important}
body.pt .lf-branches__views .on,body.pt .lf-branches__views a.on{background:#141a16!important;border-color:#141a16!important;color:#fff!important}
body.pt .lf-branch__go{color:#141a16;font-weight:700}
/* 지역 탭(구인·지점 아이콘 보기) · 게시판 검색 · 지도 */
body.pt .lf-region-tabs{background:#fff!important;border:1px solid var(--line);border-radius:0!important;padding:10px}
body.pt .lf-region-tabs a{border-radius:2px!important;color:#3d4540;border:1px solid transparent}
body.pt .lf-region-tabs a:hover{background:#f5f6f2;color:#141a16}
body.pt .lf-region-tabs a.is-active,body.pt .lf-region-tabs a.on{background:#141a16!important;color:#fff!important;border-color:#141a16}
body.pt .lf-region__title{border-bottom:1.5px solid #141a16;padding-bottom:8px}
body.pt .lf-region__grid a{border-radius:0}
body.pt .lf-region__grid a:hover{background:#f5f6f2;color:#1e4632}
body.pt .lf-search input,body.pt .lf-search-page__form input{border-radius:3px!important}
body.pt .lf-search button{border-radius:3px;background:#141a16}
body.pt .lf-search button:hover{background:#1e4632}
body.pt .lf-map__frame{border:1px solid var(--line);box-shadow:none}
body.pt .lf-map__card{box-shadow:none!important}
body.pt .lf-tabs .lf-tab,body.pt .lf-tab{border-radius:2px!important}
body.pt .lf-tab.on{background:#141a16!important;color:#fff!important;border-color:#141a16!important}
/* 지점 아이콘 보기: 카드 격자용 .lf-branches 클래스와 충돌 → 페이지 래퍼는 블록으로 */
body.pt section.lf-branches:has(> .lf-branches__top){display:block}
body.pt .lf-region-tabs em{font-style:normal;font-size:12px;color:#7b827d;margin-left:4px}
body.pt .lf-region-tabs a.is-active em,body.pt .lf-region-tabs a.on em{color:rgba(255,255,255,.7)}
body.pt .lf-region{scroll-margin-top:130px}
