.preplan-region-page{--pprs-blue:var(--main-color,#596579);--pprs-secondary:var(--sub-color,#17213a);--pprs-navy:#17213a;--pprs-ink:#242b38;--pprs-muted:#667085;--pprs-line:color-mix(in srgb,var(--pprs-blue) 18%,white);--pprs-soft:color-mix(in srgb,var(--pprs-blue) 6%,white);background:#fff;color:var(--pprs-ink);font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;line-height:1.75;margin-top:80px;min-height:60vh;padding:42px 20px 96px}
.preplan-region-page *{box-sizing:border-box}
.preplan-region-page .preplan-region-page__inner{margin:0 auto;max-width:960px}
.preplan-region-page .preplan-region-page__breadcrumb{align-items:center;color:#7a8495;display:flex;flex-wrap:wrap;font-size:14px;gap:9px;margin:0 0 34px}
.preplan-region-page .preplan-region-page__breadcrumb a{color:#596579;text-decoration:none}
.preplan-region-page .region-hero{background:transparent;border:0;height:auto;left:auto;padding:0 0 42px;position:static;top:auto;transition:none;width:auto;z-index:auto}
.preplan-region-page .region-label,.preplan-region-page .preplan-region-page__eyebrow{color:var(--pprs-blue);font-size:15px;font-weight:800;letter-spacing:.02em;margin:0 0 10px}
.preplan-region-page h1{color:var(--pprs-navy);font-size:clamp(34px,5vw,52px);font-weight:850;letter-spacing:-.045em;line-height:1.22;margin:0;word-break:keep-all}
.preplan-region-page .region-lead{color:#303b50;font-size:clamp(20px,2.5vw,26px);font-weight:700;line-height:1.5;margin:24px 0 12px;word-break:keep-all}
.preplan-region-page .region-intro{color:#596579;font-size:17px;max-width:760px;margin:0;word-break:keep-all}
.preplan-region-page .region-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.preplan-region-page .region-button{align-items:center;border-radius:10px;display:inline-flex;font-size:15px;font-weight:800;justify-content:center;min-height:50px;padding:12px 20px;text-decoration:none}
.preplan-region-page .region-button--kt{background:#265ebc;color:#fff}.preplan-region-page .region-button--lg{background:#ef7048;color:#fff}.preplan-region-page .region-button--kakao{background:#fee500;color:#191600}
.preplan-region-page .region-section{border-top:1px solid var(--pprs-line);margin-top:0;padding:54px 0}
.preplan-region-page .region-section-heading{align-items:flex-start;display:flex;gap:16px;margin-bottom:24px}.preplan-region-page .region-section-heading>span{color:var(--pprs-blue);font-size:15px;font-weight:900;padding-top:5px}
.preplan-region-page h2{color:var(--pprs-navy);font-size:clamp(25px,3vw,31px);font-weight:850;letter-spacing:-.035em;line-height:1.35;margin:0 0 20px;word-break:keep-all}
.preplan-region-page .region-section-heading h2{margin:0}.preplan-region-page h3{color:#252e40;font-size:19px;font-weight:800;line-height:1.45;margin:0 0 8px}.preplan-region-page p{color:#566176;margin:0}.preplan-region-page .region-section>p+p{margin-top:12px}
.preplan-region-page .region-checks{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}.preplan-region-page .region-checks li{background:var(--pprs-soft);border-radius:10px;padding:14px 16px}.preplan-region-page .region-checks li:before{color:var(--pprs-blue);content:"✓";font-weight:900;margin-right:9px}
.preplan-region-page .region-info-box{background:var(--pprs-soft);border-left:4px solid var(--pprs-blue);border-radius:8px;margin-top:20px;padding:20px 22px}.preplan-region-page .region-info-box strong{display:block;margin-bottom:5px}.preplan-region-page .region-info-box p{color:#42506a}
.preplan-region-page .region-visit-booking__card{background:var(--pprs-soft);border:1px solid var(--pprs-line);border-radius:14px;padding:28px 26px}
.preplan-region-page .region-visit-booking__card h2{margin-bottom:12px}
.preplan-region-page .region-visit-booking__card .region-button{margin-top:18px}
@media(max-width:768px){.preplan-region-page .region-visit-booking__card{padding:22px 20px}}
.preplan-region-page .region-time-table{border:1px solid var(--pprs-line);border-radius:14px;overflow:hidden}
.preplan-region-page .region-time-table table{border-collapse:collapse;table-layout:fixed;width:100%}
.preplan-region-page .region-time-table th,.preplan-region-page .region-time-table td{padding:16px 22px;text-align:left}
.preplan-region-page .region-time-table thead th{background:var(--pprs-soft);color:var(--pprs-blue);font-size:13px;font-weight:850}
.preplan-region-page .region-time-table tbody tr+tr td{border-top:1px solid var(--pprs-line)}
.preplan-region-page .region-time-table__label{color:var(--pprs-navy);font-weight:850}
.preplan-region-page .region-time-table th:first-child,.preplan-region-page .region-time-table td:first-child{width:120px}
@media(max-width:768px){.preplan-region-page .region-time-table th,.preplan-region-page .region-time-table td{padding:14px 10px;font-size:14px}.preplan-region-page .region-time-table th:first-child,.preplan-region-page .region-time-table td:first-child{width:92px}}
.preplan-region-page .region-usim-grid,.preplan-region-page .region-situations,.preplan-region-page .region-blog-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.preplan-region-page .region-usim-grid article,.preplan-region-page .region-situations article{border:1px solid var(--pprs-line);border-radius:15px;padding:25px}.preplan-region-page .region-network{color:var(--pprs-blue);font-size:14px;font-weight:850;margin-bottom:5px}.preplan-region-page .region-usim-grid .region-button{margin-top:8px;width:100%}
.preplan-region-page .region-usim-image-wrap{align-items:center;background:transparent;border-radius:10px;display:flex;height:210px;justify-content:center;margin:16px 0 0;overflow:hidden;padding:8px}
@media(max-width:768px){.preplan-region-page .region-usim-image-wrap{height:180px}}
.preplan-region-page .region-usim-image--kt{transform:scale(1.08);transform-origin:center}
.preplan-region-page .region-usim-image{display:block;height:100%;max-width:100%;object-fit:contain;width:100%}
.preplan-region-page .region-usim-next{font-size:13px;font-weight:750;margin:18px 0 0;opacity:.75}
.preplan-region-page .region-case-opening{color:#42506a;font-size:15px;line-height:1.8;margin:0 0 20px}
.preplan-region-page .region-steps{display:grid;list-style:none;margin:0;padding:0}.preplan-region-page .region-steps li{align-items:center;border-bottom:1px solid var(--pprs-line);display:grid;gap:8px 20px;grid-template-columns:90px 1fr;padding:17px 4px}.preplan-region-page .region-steps li:first-child{border-top:1px solid var(--pprs-line)}.preplan-region-page .region-steps span{color:var(--pprs-blue);font-size:13px;font-weight:900}.preplan-region-page .region-steps strong{font-size:17px}
.preplan-region-page .region-steps-aftercare{color:#566176;font-size:14px;margin:14px 0 0}
.preplan-region-page .region-situations article{background:#fff}.preplan-region-page .region-situations a,.preplan-region-page .region-text-link{color:var(--pprs-blue);display:inline-block;font-weight:750;margin-top:14px;text-decoration:none}.preplan-region-page .region-situations a{font-size:14px}
.preplan-region-page .region-plan-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.preplan-region-page .region-plan-grid article{background:var(--pprs-soft);border:1px solid var(--pprs-line);border-radius:14px;padding:22px}.preplan-region-page .region-plan-grid span{color:var(--pprs-blue);font-size:13px;font-weight:850}.preplan-region-page .region-plan-grid strong{display:block;font-size:18px;margin:10px 0 5px}.preplan-region-page .region-plan-grid p{font-size:14px}
.preplan-region-page .region-plan-recommend{background:var(--pprs-soft);border:1px solid var(--pprs-blue);border-radius:14px;margin-bottom:16px;padding:20px 22px}.preplan-region-page .region-plan-recommend-label{color:var(--pprs-blue);font-size:13px;font-weight:850}.preplan-region-page .region-plan-recommend h3{font-size:16px;margin:6px 0}.preplan-region-page .region-plan-recommend strong{display:block;font-size:18px;margin:6px 0}.preplan-region-page .region-plan-recommend p{font-size:14px}
.preplan-region-page .region-plan-intro{color:#566176;font-size:14px;margin:0 0 14px}
.preplan-region-page .region-blog-card{border:1px solid var(--pprs-line);border-radius:14px;color:inherit;display:grid;grid-template-columns:120px 1fr;overflow:hidden;text-decoration:none}.preplan-region-page .region-blog-card>div{padding:18px}.preplan-region-page .region-blog-card img{height:100%;min-height:150px;object-fit:cover;width:120px}.preplan-region-page .region-blog-card span{color:#818a99;font-size:12px}.preplan-region-page .region-blog-card h3{font-size:17px;margin:5px 0}.preplan-region-page .region-blog-card p{display:-webkit-box;font-size:13px;line-height:1.55;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.preplan-region-page .region-faq article{border-bottom:1px solid var(--pprs-line);padding:20px 0}.preplan-region-page .region-faq article:first-of-type{border-top:1px solid var(--pprs-line)}.preplan-region-page .region-faq h3{font-size:17px}.preplan-region-page .region-faq p{padding-left:22px}
.preplan-region-page .region-final-cta{background:var(--pprs-secondary);border-radius:18px;color:#fff;margin-top:14px;padding:42px}.preplan-region-page .region-final-cta h2,.preplan-region-page .region-final-cta p{color:#fff}.preplan-region-page .region-final-cta p{opacity:.82}
.preplan-region-page .region-related{border-top:1px solid var(--pprs-line);margin-top:54px;padding-top:36px}.preplan-region-page .region-related h2{font-size:22px}.preplan-region-page .region-related>div,.preplan-region-page .preplan-region-page__type-links,.preplan-region-page .preplan-region-page__bottom-links{display:flex;flex-wrap:wrap;gap:9px}.preplan-region-page .region-related a,.preplan-region-page .preplan-region-page__type-links a,.preplan-region-page .preplan-region-page__bottom-links a{background:var(--pprs-soft);border:1px solid var(--pprs-line);border-radius:9px;color:#40516b;font-weight:700;padding:9px 14px;text-decoration:none}
.preplan-region-page--list .preplan-region-page__inner{max-width:1040px}.preplan-region-page .preplan-region-page__hero{background:#fff;border:1px solid var(--pprs-line);border-radius:18px;height:auto;left:auto;padding:38px;position:static;top:auto;transition:none;width:auto;z-index:auto}.preplan-region-page .preplan-region-page__hero>p:last-child{color:#566176;font-size:17px}.preplan-region-page .preplan-region-page__section{border-top:1px solid var(--pprs-line);margin-top:28px;padding-top:36px}.preplan-region-page .preplan-region-page__region-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.preplan-region-page .preplan-region-page__region-grid a{background:var(--pprs-soft);border:1px solid var(--pprs-line);border-radius:12px;color:var(--pprs-ink);display:flex;flex-direction:column;padding:20px;text-decoration:none}.preplan-region-page .preplan-region-page__region-grid strong{font-size:18px}.preplan-region-page .preplan-region-page__region-grid span{color:var(--pprs-muted);font-size:14px}
/* Three related guides and centered final actions, scoped to region content. */
.preplan-region-page .region-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.preplan-region-page .region-blog-card{display:flex;flex-direction:column;min-width:0}
.preplan-region-page .region-blog-card img{width:100%;height:auto;min-height:0;aspect-ratio:16/10;object-fit:cover}
.preplan-region-page .region-blog-card>div{min-width:0;overflow-wrap:anywhere}
.preplan-region-page .region-final-cta{text-align:center}
.preplan-region-page .region-final-cta .region-cta-row{display:flex;justify-content:center}
@media(max-width:768px){.preplan-region-page .region-final-cta .region-cta-row{flex-direction:column;align-items:stretch}}
@media(max-width:768px){.preplan-region-page{margin-top:60px;padding:28px 20px 76px}.preplan-region-page .preplan-region-page__breadcrumb{margin-bottom:26px}.preplan-region-page .region-hero{padding-bottom:32px}.preplan-region-page h1{font-size:36px}.preplan-region-page .region-lead{font-size:20px}.preplan-region-page .region-intro{font-size:16px}.preplan-region-page .region-cta-row{display:grid}.preplan-region-page .region-button{width:100%}.preplan-region-page .region-section{padding:40px 0}.preplan-region-page .region-checks,.preplan-region-page .region-usim-grid,.preplan-region-page .region-situations,.preplan-region-page .region-plan-grid,.preplan-region-page .region-blog-grid,.preplan-region-page .preplan-region-page__region-grid{grid-template-columns:1fr}.preplan-region-page .region-steps li{grid-template-columns:72px 1fr}.preplan-region-page .region-blog-card{grid-template-columns:90px 1fr}.preplan-region-page .region-blog-card img{min-height:0;width:100%}.preplan-region-page .region-final-cta{border-radius:14px;padding:30px 22px}.preplan-region-page .preplan-region-page__hero{padding:26px 22px}}
@media(max-width:390px){.preplan-region-page{padding-left:18px;padding-right:18px}.preplan-region-page h1{font-size:32px}.preplan-region-page .region-section-heading{gap:11px}.preplan-region-page .region-blog-card{grid-template-columns:1fr}.preplan-region-page .region-blog-card img{height:160px;width:100%}}

/* Hub layout: all rules stay inside the regional list body. */
.preplan-region-page--list .preplan-region-page__inner{max-width:1040px}
.preplan-region-page--list .preplan-region-page__hero{border-radius:20px;padding:36px 32px;text-align:left}
.preplan-region-page--list .preplan-region-page__hero h1{font-size:clamp(28px,3.6vw,42px);margin:8px 0 16px;text-align:left;line-height:1.3}
.preplan-region-page--list .preplan-region-page__hero>p:last-child{font-size:16px;line-height:1.8}
.preplan-region-page--list .preplan-region-page__type-links{display:flex;position:static;float:none;width:100%;height:auto;margin:28px 0 0;padding:0 0 24px;border-bottom:1px solid var(--pprs-line);gap:10px}
.preplan-region-page--list .preplan-region-page__type-links a{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:46px;padding:10px 12px;border-radius:24px;background:#fff;line-height:1.4}
.preplan-region-page--list .preplan-region-page__type-links a[aria-current="page"]{background:var(--pprs-blue);border-color:var(--pprs-blue);color:#fff}
.preplan-region-page--list .preplan-region-page__section{position:static;float:none;width:100%;height:auto;border:0;margin:32px 0 0;padding:0}
.preplan-region-page--list .pprs-hub-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.preplan-region-page--list .pprs-hub-heading h2{font-size:23px;margin:0;text-align:left}
.preplan-region-page--list .pprs-hub-heading>span{color:var(--pprs-muted);font-size:14px;white-space:nowrap}
.preplan-region-page--list .preplan-region-page__region-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.preplan-region-page--list .preplan-region-page__region-grid a{position:static;min-width:0;margin:0;padding:24px;background:#fff;border:1px solid var(--pprs-line);border-radius:16px;gap:6px;text-align:left;transition:border-color .15s,box-shadow .15s}
.preplan-region-page--list .preplan-region-page__region-grid a:hover{border-color:var(--pprs-blue);box-shadow:0 5px 18px #17213a0d}
.preplan-region-page--list .preplan-region-page__region-grid strong{font-size:21px;color:var(--pprs-navy)}
.preplan-region-page--list .preplan-region-page__region-grid em{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #edf0f5;color:var(--pprs-blue);font-size:14px;font-style:normal;font-weight:700}
.preplan-region-page--list .preplan-region-page__region-grid em span{color:inherit;font-size:20px}
.preplan-region-page--list .preplan-region-page__empty{padding:32px 24px;background:var(--pprs-soft);border-radius:14px;text-align:center}
.preplan-region-page--list .preplan-region-page__bottom-links{position:static;float:none;width:100%;height:auto;margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--pprs-line);gap:12px}
.preplan-region-page--list .preplan-region-page__bottom-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#fff;border-radius:9px;font-size:14px;line-height:1.5}
.preplan-region-page--list a:focus-visible{outline:3px solid var(--pprs-blue);outline-offset:4px}
@media(max-width:768px){.preplan-region-page--list .preplan-region-page__hero{padding:28px 22px}.preplan-region-page--list .preplan-region-page__region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preplan-region-page--list .preplan-region-page__type-links{gap:8px}.preplan-region-page--list .preplan-region-page__type-links a{padding:10px 8px;font-size:14px}}
@media(max-width:600px){
  .preplan-region-page--list .preplan-region-page__type-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
}
@media(max-width:520px){.preplan-region-page--list .preplan-region-page__region-grid{grid-template-columns:1fr}.preplan-region-page--list .pprs-hub-heading h2{font-size:21px}}
/* Region-specific service summary and introduction. */
.preplan-region-page .region-summary{margin-top:24px;padding:22px 24px;background:var(--pprs-soft);border:1px solid var(--pprs-line);border-left:4px solid var(--pprs-blue);border-radius:12px;display:flex;align-items:stretch;flex-wrap:wrap;gap:20px}
.preplan-region-page .region-summary__text{flex:1 1 0;min-width:0;max-width:520px}
.preplan-region-page .region-summary__text>strong{display:inline-block;margin-bottom:10px;color:var(--pprs-blue);font-size:14px;font-weight:800}
.preplan-region-page .region-summary__text>p{margin:0;color:var(--pprs-ink);font-size:16px;line-height:1.85;word-break:keep-all;overflow-wrap:break-word}
.preplan-region-page .region-summary__media{flex:0 0 160px;display:flex;align-items:center;justify-content:center;margin-left:auto}
.preplan-region-page .region-summary__media img{width:100%;height:auto;max-width:160px;max-height:180px;object-fit:contain}
.preplan-region-page .region-editorial-intro{margin:0;padding:0 0 42px;text-align:left}
.preplan-region-page .region-editorial-intro p{margin:0;font-size:16px;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere}
.preplan-region-page .region-editorial-intro p+p{margin-top:18px}
@media(max-width:768px){.preplan-region-page .region-summary{padding:18px;gap:14px}.preplan-region-page .region-summary__text{max-width:none;flex-basis:180px}.preplan-region-page .region-summary__media{flex-basis:100px}.preplan-region-page .region-summary__media img{max-width:100px;max-height:110px}.preplan-region-page .region-editorial-intro{padding-bottom:32px}}

/* editorial intro -> 본문 전환용 transition block. 현재 CTA/핵심정보 카드보다 시각적으로 한 단계
   약하게(옅은 배경, 얇은 border, 그림자/그라데이션 없음) — 새 상세 섹션이 아니라 "여기까지 읽었으니
   아래 상세 안내로 이어진다"는 연결감만 준다. .preplan-region-page/.pprs-region-* 네임스페이스 안에서만
   selector를 쓰고 전역 selector는 건드리지 않는다. */
.preplan-region-page .pprs-region-transition{margin:0 0 48px;padding:28px 0 0;border-top:1px solid var(--pprs-line)}
.preplan-region-page .pprs-region-transition__heading{color:var(--pprs-navy);font-size:19px;font-weight:800;margin:0 0 16px}
.preplan-region-page .pprs-region-transition__grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.preplan-region-page .pprs-region-transition__item{background:var(--pprs-soft);border:1px solid var(--pprs-line);border-radius:10px;padding:16px}
.preplan-region-page .pprs-region-transition__index{color:var(--pprs-blue);display:block;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:6px}
.preplan-region-page .pprs-region-transition__label{color:var(--pprs-ink);display:block;font-size:14px;font-weight:750;margin-bottom:4px}
.preplan-region-page .pprs-region-transition__value{color:#566176;font-size:13px;line-height:1.5;margin:0;word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:768px){
  .preplan-region-page .pprs-region-transition{margin-bottom:36px;padding-top:22px}
  .preplan-region-page .pprs-region-transition__grid{grid-template-columns:1fr}
}

/* /시/ hub only: sido-grouped cards. Markup for these classes is only emitted when $type === '시'
   (see templates/region-list.php), so the other five hubs never receive this styling. Everything is
   scoped under .preplan-region-page--list + .pprs-region-* — no .sidebar/.widget/.site-content/
   .content-area/body/header/footer selectors are touched. Column counts (4 desktop / 2 mobile) and the
   mobile gap value are the previously-approved facts and are kept unchanged below. */
.preplan-region-page--list .pprs-region-sido-groups{display:flex;flex-direction:column;gap:48px}
.preplan-region-page--list .pprs-region-sido-group{scroll-margin-top:32px}
.preplan-region-page--list .pprs-region-sido-group__heading{align-items:flex-start;display:flex;gap:14px;margin-bottom:18px}
.preplan-region-page--list .pprs-region-sido-group__index{color:var(--pprs-muted);font-size:12px;font-weight:800;letter-spacing:.06em;min-width:24px;padding-top:5px}
.preplan-region-page--list .pprs-region-sido-group__title{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}
.preplan-region-page--list .pprs-region-sido-group__title h3{color:var(--pprs-navy);font-size:19px;font-weight:850;margin:0;overflow-wrap:anywhere;word-break:keep-all}
.preplan-region-page--list .pprs-region-sido-group__count{color:var(--pprs-muted);font-size:13px;white-space:nowrap}
.preplan-region-page--list .pprs-region-hub-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.preplan-region-page--list .pprs-region-hub-card{background:#fff;border:1px solid var(--pprs-line);border-radius:14px;color:var(--pprs-ink);display:flex;flex-direction:column;gap:6px;min-width:0;padding:20px;text-align:left;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.preplan-region-page--list .pprs-region-hub-card:hover{border-color:var(--pprs-blue);box-shadow:0 3px 10px #17213a0a;transform:translateY(-2px)}
.preplan-region-page--list .pprs-region-hub-card__top{align-items:center;display:flex;gap:10px;justify-content:space-between}
.preplan-region-page--list .pprs-region-hub-card__top strong{color:var(--pprs-navy);font-size:18px;overflow-wrap:anywhere;word-break:keep-all}
.preplan-region-page--list .pprs-region-hub-card__arrow{color:var(--pprs-muted);flex:none;font-size:15px;transition:color .15s}
.preplan-region-page--list .pprs-region-hub-card:hover .pprs-region-hub-card__arrow{color:var(--pprs-blue)}
.preplan-region-page--list .pprs-region-hub-card__parent{color:var(--pprs-muted);font-size:13px;overflow-wrap:anywhere;word-break:keep-all}
.preplan-region-page--list .pprs-region-hub-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.preplan-region-page--list .pprs-region-hub-card__chip{background:var(--pprs-soft);border-radius:7px;color:#3a4459;font-size:12px;font-weight:650;max-width:100%;overflow-wrap:anywhere;padding:4px 9px}
.preplan-region-page--list .pprs-region-hub-card__children{color:#42506a;font-size:13px;overflow-wrap:anywhere}
.preplan-region-page--list .pprs-region-hub-card__count{color:var(--pprs-muted);font-size:12px;font-weight:650;margin-top:auto;padding-top:8px}
.preplan-region-page--list .pprs-region-hub-card__badge{align-self:flex-start;background:color-mix(in srgb,var(--pprs-blue) 12%,white);border-radius:999px;color:var(--pprs-blue);font-size:11px;font-weight:800;padding:4px 10px;white-space:nowrap}
.preplan-region-page--list .pprs-region-hub-card__cta{align-items:center;color:var(--pprs-blue);display:flex;font-size:13px;font-weight:700;gap:4px;margin-top:auto;padding-top:8px}
/* /군//구//동//읍//면/ 허브: 동일한 pprs-region-hub-card 컴포넌트를 재사용하되 단계별 밀도만 다르게
   조정한다(폰트/라운드/간격 토큰은 위 /시/ 카드와 공유). --gugun: 시보다 카드가 조금 크고 명확하게(3열).
   --dong: 더 밀도 높게(4열). --eupmyeon: 가장 compact(5열), 설명/CTA 문구는 템플릿에서 생략한다.
   아래 @media(max-width:768px) 블록보다 먼저 나와야 한다 — 동일 specificity에서는 나중에 나온
   규칙이 이기므로, 여기 먼저 선언해야 태블릿/모바일에서 기존 2열 축소 규칙이 정상적으로 이긴다. */
.preplan-region-page--list .pprs-region-hub-grid--gugun{grid-template-columns:repeat(3,minmax(0,1fr))}
.preplan-region-page--list .pprs-region-hub-grid--dong{gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.preplan-region-page--list .pprs-region-hub-grid--dong .pprs-region-hub-card{padding:16px}
.preplan-region-page--list .pprs-region-hub-grid--eupmyeon{gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}
.preplan-region-page--list .pprs-region-hub-grid--eupmyeon .pprs-region-hub-card{gap:4px;padding:12px}
.preplan-region-page--list .pprs-region-hub-grid--eupmyeon .pprs-region-hub-card__top strong{font-size:15px}
@media(max-width:768px){
  .preplan-region-page--list .pprs-region-hub-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .preplan-region-page--list .pprs-region-hub-card{gap:4px;padding:14px}
  .preplan-region-page--list .pprs-region-hub-card__top strong{font-size:15px}
  .preplan-region-page--list .pprs-region-hub-card__parent,.preplan-region-page--list .pprs-region-hub-card__children{font-size:12px}
  .preplan-region-page--list .pprs-region-hub-card__chip{font-size:11px;padding:3px 8px}
  .preplan-region-page--list .pprs-region-hub-card__count{font-size:11px;padding-top:6px}
  .preplan-region-page--list .pprs-region-hub-card__badge{font-size:10px;padding:3px 8px}
  .preplan-region-page--list .pprs-region-hub-card__cta{font-size:12px;padding-top:6px}
}
@media(max-width:390px){.preplan-region-page--list .pprs-region-sido-group__title h3{font-size:17px}}
@media(max-width:768px){
  .preplan-region-page--list .pprs-region-hub-grid--eupmyeon{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:390px){
  .preplan-region-page--list .pprs-region-hub-grid--eupmyeon{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 군//구//동//읍//면(/시/ 제외) 공통 필터: 시도 pill + (동만) 검색창. cards는 그대로 DOM에 있고
   [hidden]만 토글되므로 JS가 꺼져도 링크는 전부 보인다. .pprs-region-hub-card는 display:flex를
   선언하므로 기본 UA stylesheet의 [hidden]{display:none}보다 특정도가 높다 — 아래 규칙으로 명시적으로
   다시 이긴다. */
.preplan-region-page--list .pprs-region-hub-card[hidden]{display:none}
.preplan-region-page--list .pprs-region-hub-filter{display:flex;flex-direction:column;gap:12px;margin:22px 0 0}
.preplan-region-page--list .pprs-region-filter-toggle{align-items:center;background:#fff;border:1px solid var(--pprs-line);border-radius:12px;color:var(--pprs-ink);cursor:pointer;display:none;font-family:inherit;font-size:14px;font-weight:700;justify-content:space-between;padding:14px 16px;width:100%}
.preplan-region-page--list .pprs-region-filter-toggle:focus-visible{outline:3px solid var(--pprs-blue);outline-offset:2px}
.preplan-region-page--list .pprs-region-filter-toggle__icon{color:var(--pprs-muted);flex:none;font-size:12px;margin-left:10px}
.preplan-region-page--list .pprs-region-hub-filter__sido{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}
/* /시/는 <a>, 다른 5개 허브는 <button>으로 렌더되는 동일 클래스 — 브라우저 기본 button 스타일(자체
 * line-height/appearance/margin)이 <a>와 다르게 개입해 두 태그가 같은 min-height/padding을 받고도
 * 다른 높이로 보이는 것을 막기 위해, 두 태그 모두 동일한 flex 박스로 명시적으로 normalize한다.
 * 59만모바일 테마 assets/59man-main.css의 전역 `button{width:260px;height:74px}`(element selector)는
 * width/height를 직접 지정하므로, 이 클래스가 min-height만 선언하면(= width/height 미선언) 그 두
 * 속성만은 테마 규칙이 그대로 통과한다 — <a>는애초에 이 테마 selector가 안 걸리므로 영향이 없었다.
 * width/height를 여기서 명시적으로 선언해 테마 규칙을 직접 덮어쓴다(테마 파일 자체는 수정하지 않음). */
.preplan-region-page--list .pprs-hub-filter-pill{-webkit-appearance:none;appearance:none;align-items:center;background:#fff;border:1px solid var(--pprs-line);border-radius:999px;box-sizing:border-box;color:var(--pprs-muted);cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;height:44px;justify-content:center;line-height:1;margin:0;min-height:44px;padding:0 16px;text-align:center;text-decoration:none;transition:background .15s,border-color .15s,color .15s;width:100%}
.preplan-region-page--list .pprs-hub-filter-pill:hover{border-color:var(--pprs-blue);color:var(--pprs-blue)}
.preplan-region-page--list .pprs-hub-filter-pill.is-active{background:var(--pprs-blue);border-color:var(--pprs-blue);color:#fff}
.preplan-region-page--list .pprs-hub-filter-pill:focus-visible{outline:3px solid var(--pprs-blue);outline-offset:2px}
.preplan-region-page--list .pprs-region-hub-search{align-items:center;background:#fff;border:1px solid var(--pprs-line);border-radius:999px;display:flex;gap:8px;max-width:360px;padding:8px 16px;width:100%}
.preplan-region-page--list .pprs-region-hub-search:focus-within{border-color:var(--pprs-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--pprs-blue) 20%,white)}
.preplan-region-page--list .pprs-region-hub-search__input{background:transparent;border:0;color:var(--pprs-ink);flex:1;font-family:inherit;font-size:14px;min-width:0;outline:0}
.preplan-region-page--list .pprs-region-hub-search__input::placeholder{color:var(--pprs-muted)}
.preplan-region-page--list .pprs-region-hub-search__icon{color:var(--pprs-muted);flex:none;font-size:14px}
.preplan-region-page--list .pprs-region-hub-empty{background:var(--pprs-soft);border-radius:14px;color:var(--pprs-muted);margin-top:16px;padding:28px 24px;text-align:center}
.preplan-region-page--list .pprs-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
@media(max-width:1023px){
  .preplan-region-page--list .pprs-region-hub-filter__sido{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  .preplan-region-page--list .pprs-region-hub-search{max-width:none}
}
/* 모바일(<=600px)에서만 toggle bar를 보여주고, filter grid는 JS가 초기화될 때만 접는다(JS 없이는
 * 항상 펼쳐진 상태로 남는다 — is-collapsed 클래스는 JS만 추가/제거한다). */
@media(max-width:600px){
  .preplan-region-page--list .pprs-region-filter-toggle{display:flex}
  .preplan-region-page--list .pprs-region-hub-filter__sido{grid-template-columns:repeat(2,minmax(0,1fr))}
  .preplan-region-page--list .pprs-region-hub-filter__sido.is-collapsed{display:none}
}

/* /동//읍//면/ 전용 parent_id 그룹 wrapper. 카드 자체(.pprs-region-hub-card/.pprs-region-hub-grid--*)는
 * 그대로 재사용하고, 여기서는 그룹 header/count/접기 토글만 추가한다. header는 항상 실제 <button>이며
 * 기본 aria-expanded="true"로 렌더되므로 JS 없이도 grid는 항상 보인다 — .is-collapsed는 모바일
 * (<=600px)에서만 실제 효과가 있고, JS가 로드된 뒤 모바일에서만 이 클래스를 추가/제거한다. */
.preplan-region-page--list .pprs-region-parent-groups{display:flex;flex-direction:column;gap:36px}
.preplan-region-page--list .pprs-region-parent-group__header{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--pprs-line);cursor:pointer;display:flex;font:inherit;gap:10px;padding:0 0 12px;margin:0 0 16px;text-align:left;width:100%}
.preplan-region-page--list .pprs-region-parent-group__header:focus-visible{outline:3px solid var(--pprs-blue);outline-offset:2px}
.preplan-region-page--list .pprs-region-parent-group__title{color:var(--pprs-hub-ink,var(--pprs-navy));font-size:17px;font-weight:800;overflow-wrap:anywhere;word-break:keep-all}
.preplan-region-page--list .pprs-region-parent-group__count{color:var(--pprs-muted);flex:none;font-size:13px;margin-left:auto;white-space:nowrap}
.preplan-region-page--list .pprs-region-parent-group__toggle{color:var(--pprs-muted);display:none;flex:none;font-size:12px}
@media(max-width:600px){
  .preplan-region-page--list .pprs-region-parent-group__header{background:#fff;border:1px solid var(--pprs-line);border-radius:12px;padding:14px 16px;margin-bottom:12px}
  .preplan-region-page--list .pprs-region-parent-group__toggle{display:block}
  .preplan-region-page--list .pprs-region-parent-group__grid.is-collapsed{display:none}
}

/* 6개 허브(시/군/구/동/읍/면) 공통 hero/type-links/카드 design token — 이전에는 /시/에만 적용되던
   "premium" 톤(흰색 카드형 hero + segmented pill nav)을 모든 허브의 기본값으로 승격했다. 그 결과 6개
   허브가 동일한 shell(hero/stage nav/filter)을 쓰는 하나의 서비스처럼 보인다. 카드 정보량(칩/count/
   children line/CTA 유무)만 허브별로 계속 다르다 — 그 차이는 템플릿에서, 디자인 토큰은 여기서 공유한다. */
.preplan-region-page--list{
  --pprs-hub-bg:#F8FAFC;
  --pprs-hub-surface:#FFFFFF;
  --pprs-hub-ink:#111827;
  --pprs-hub-muted:#667085;
  --pprs-hub-border:#E7EBF2;
  --pprs-hub-soft-blue:#F2F6FF;
  background:var(--pprs-hub-bg);
}
.preplan-region-page--list .preplan-region-page__hero{background:var(--pprs-hub-surface);border:1px solid var(--pprs-hub-border);box-shadow:none;overflow:hidden;position:relative}
.preplan-region-page--list .preplan-region-page__hero::before{border:1px solid var(--pprs-hub-border);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-70px;top:-90px;width:200px}
.preplan-region-page--list .preplan-region-page__eyebrow{color:var(--pprs-hub-muted);font-weight:700}
.preplan-region-page--list .preplan-region-page__type-links{background:var(--pprs-hub-surface);border:1px solid var(--pprs-hub-border);border-radius:12px;gap:2px;padding:4px}
.preplan-region-page--list .preplan-region-page__type-links a{background:transparent;border-radius:9px;color:var(--pprs-hub-muted)}
.preplan-region-page--list .preplan-region-page__type-links a[aria-current="page"]{background:var(--pprs-blue);border-color:var(--pprs-blue);color:#fff}
.preplan-region-page--list .pprs-region-hub-card{border-color:var(--pprs-hub-border)}
.preplan-region-page--list .pprs-region-hub-card__chip{background:var(--pprs-hub-soft-blue);color:var(--pprs-hub-ink)}
@media(max-width:768px){
  .preplan-region-page--list .preplan-region-page__breadcrumb{margin-bottom:14px}
  .preplan-region-page--list .preplan-region-page__hero{padding:21px 22px}
  .preplan-region-page--list .preplan-region-page__hero>p:last-child{line-height:1.55;margin-bottom:0}
  .preplan-region-page--list .preplan-region-page__type-links{margin-top:14px}
  .preplan-region-page--list{padding-bottom:110px}
}
