/* Shared mobile refinement for all regional information pages. */
@media(max-width:700px){
  body.page-cat-local {
    --local-mobile-radius: 20px;
    --local-mobile-line: color-mix(in srgb,var(--page-accent) 18%,#e9e1e4);
    --local-mobile-tint: color-mix(in srgb,var(--page-wash) 76%,#fff);
  }
  body.page-cat-local main { overflow: clip; }
  body.page-cat-local .seo-breadcrumb { display:none!important; }

  body.page-cat-local .subpage-hero {
    padding: 30px 0 24px!important;
    border-top: 0!important;
    border-bottom: 1px solid var(--local-mobile-line)!important;
    background: linear-gradient(150deg,var(--page-wash),color-mix(in srgb,var(--page-soft) 58%,#fff))!important;
  }
  body.page-cat-local .subpage-hero::before {
    width: 280px; height: 280px; right: -145px; top: -135px; opacity:.11;
  }
  body.page-cat-local .subpage-hero::after {
    width: 130px; height: 130px; left: -75px; bottom: -75px; border-radius:50%; opacity:.1;
  }
  body.page-cat-local .subpage-hero .hero-mini {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important; align-items:start!important; text-align:left!important;
  }
  body.page-cat-local .hero-mini-copy {
    max-width:none!important; padding:0!important; border:0!important; margin:0!important;
  }
  body.page-cat-local .hero-mini-copy .eyebrow {
    display:inline-flex; align-items:center; gap:8px;
    margin:0 0 10px; color:var(--page-accent); font-size:10px; font-weight:900; letter-spacing:.12em;
  }
  body.page-cat-local .hero-mini-copy .eyebrow::before {
    content:""; width:22px; height:2px; background:currentColor;
  }
  body.page-cat-local .hero-mini-copy h1 {
    max-width:12ch!important; margin:0 0 14px!important;
    color:var(--page-ink); font-size:clamp(30px,9.2vw,37px)!important;
    line-height:1.2!important; letter-spacing:-.045em!important; word-break:keep-all;
  }
  body.page-cat-local .hero-mini-copy>p:not(.eyebrow) {
    display:-webkit-box; margin:0 0 18px!important; overflow:hidden;
    color:#6f6469; font-size:13px!important; line-height:1.72!important;
    -webkit-box-orient:vertical; -webkit-line-clamp:4;
  }
  body.page-cat-local .mini-links {
    display:grid!important; grid-template-columns:1fr 1fr; gap:9px!important;
  }
  body.page-cat-local .mini-links .btn {
    display:grid; min-width:0; min-height:44px; place-items:center;
    padding:7px 8px; border-radius:13px; font-size:11px; line-height:1.35; text-align:center; box-shadow:none;
  }
  body.page-cat-local .mini-links .btn:not(.btn-light) {
    box-shadow:0 10px 22px color-mix(in srgb,var(--page-accent) 21%,transparent);
  }

  body.page-cat-local .subpage-hero-visual {
    width:100%!important; min-width:0!important; max-width:none!important;
    margin:0!important; gap:0!important;
  }
  body.page-cat-local .page-preview-frame {
    max-width:none!important; margin:0!important; padding:5px!important;
    overflow:hidden; transform:none!important; border:0!important;
    border-radius:var(--local-mobile-radius)!important; background:#fff;
    box-shadow:0 15px 35px rgba(65,38,48,.12)!important;
  }
  body.page-cat-local .page-preview-frame img,
  body.page-cat-local .page-hero-photo {
    display:block; width:100%; height:auto!important; min-height:0!important; max-height:none!important;
    aspect-ratio:4/3!important; border-radius:calc(var(--local-mobile-radius) - 5px)!important;
    object-fit:cover!important; object-position:center!important;
  }
  body.page-cat-local .preview-caption {
    margin:9px 5px 0!important; padding:10px 11px!important;
    border:0!important; border-radius:12px!important;
    color:#6d6267!important; background:rgba(255,255,255,.86)!important;
    font-size:11px!important; line-height:1.55!important; text-align:left!important;
  }

  body.page-cat-local .seo-toc {
    width:100%!important; padding:10px 14px 13px!important;
    border:0!important; border-bottom:1px solid var(--local-mobile-line)!important;
    background:var(--local-mobile-tint)!important;
  }
  body.page-cat-local .seo-toc ul { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.page-cat-local .seo-toc a {
    border-color:var(--local-mobile-line); border-radius:11px;
    color:var(--page-ink); background:rgba(255,255,255,.9); font-size:11px;
  }

  body.page-cat-local .section,
  body.page-cat-local .sub-intro,
  body.page-cat-local .sub-links,
  body.page-cat-local .v19-section,
  body.page-cat-local .sp-editorial,
  body.page-cat-local .sp-flow,
  body.page-cat-local .page-unique-notes,
  body.page-cat-local .region-workbook,
  body.page-cat-local .sub-faq { padding:46px 0!important; }
  body.page-cat-local .section-title,
  body.page-cat-local .v19-title,
  body.page-cat-local .unique-notes-head,
  body.page-cat-local .region-workbook-head { margin-bottom:22px!important; text-align:left!important; }
  body.page-cat-local .section-title h2,
  body.page-cat-local .v19-title h2,
  body.page-cat-local .sp-editorial h2,
  body.page-cat-local .unique-notes-head h2,
  body.page-cat-local .region-workbook-head h2 {
    margin-top:7px; font-size:26px!important; line-height:1.3!important; letter-spacing:-.035em; word-break:keep-all;
  }
  body.page-cat-local .section-title p,
  body.page-cat-local .v19-title p,
  body.page-cat-local .unique-notes-head p,
  body.page-cat-local .region-workbook-head p { font-size:13px; line-height:1.75; }

  body.page-cat-local .sub-grid,
  body.page-cat-local .keyword-grid,
  body.page-cat-local .related-links-grid,
  body.page-cat-local .v20-two-col,
  body.page-cat-local .unique-notes-grid,
  body.page-cat-local .region-workbook-steps { grid-template-columns:1fr!important; gap:12px!important; }
  body.page-cat-local .info-card,
  body.page-cat-local .keyword-box,
  body.page-cat-local .v20-local-box,
  body.page-cat-local .v20-panel,
  body.page-cat-local .unique-notes-grid article,
  body.page-cat-local .region-workbook-steps article {
    min-height:0!important; padding:19px!important; transform:none!important;
    border:1px solid var(--local-mobile-line)!important; border-radius:17px!important;
    background:#fff; box-shadow:none!important;
  }
  body.page-cat-local .info-card h2 { font-size:22px!important; }
  body.page-cat-local .info-card p,
  body.page-cat-local .info-card li,
  body.page-cat-local .keyword-box p,
  body.page-cat-local .v20-local-box p,
  body.page-cat-local .v20-panel p { font-size:13px; line-height:1.72; }
  body.page-cat-local .related-links-grid>a,
  body.page-cat-local .v20-topic-nav>a {
    min-height:0; padding:15px!important; border-left:3px solid var(--page-accent)!important;
    border-radius:14px!important; box-shadow:none!important;
  }
  body.page-cat-local .v20-topic-nav { grid-template-columns:1fr 1fr!important; gap:9px!important; }
  body.page-cat-local .v20-topic-nav strong { font-size:13px; }
  body.page-cat-local .v20-topic-nav small { font-size:10px; }
  body.page-cat-local .v19-nearby,
  body.page-cat-local .v20-local-links,
  body.page-cat-local .sp-links {
    display:flex!important; flex-wrap:nowrap!important; gap:8px!important;
    width:100%; padding-bottom:5px; overflow-x:auto; scrollbar-width:none;
  }
  body.page-cat-local .v19-nearby::-webkit-scrollbar,
  body.page-cat-local .v20-local-links::-webkit-scrollbar,
  body.page-cat-local .sp-links::-webkit-scrollbar { display:none; }
  body.page-cat-local .v19-nearby>a,
  body.page-cat-local .v20-local-links>a,
  body.page-cat-local .v20-local-links>span,
  body.page-cat-local .sp-links>a { flex:0 0 auto; white-space:nowrap; }

  body.page-cat-local .sp-editorial-grid,
  body.page-cat-local .sp-editorial-grid.reverse,
  body.page-cat-local .v19-region-story { grid-template-columns:1fr!important; gap:21px!important; }
  body.page-cat-local .sp-editorial-grid.reverse .sp-photo { order:0!important; }
  body.page-cat-local .sp-photo,
  body.page-cat-local .sp-photo img,
  body.page-cat-local .v19-region-story img {
    min-height:0!important; height:auto!important; aspect-ratio:4/3; border-radius:18px!important; object-fit:cover;
  }
  body.page-cat-local .sp-photo-note { left:10px; right:10px; bottom:10px; padding:10px 12px; border-radius:12px; }

  body.page-cat-local .faq-list summary { padding:15px 5px; font-size:14px; line-height:1.55; }
  body.page-cat-local .faq-list p { margin:0 5px 17px; font-size:13px; line-height:1.75; }
  body.page-cat-local .seo-depth { padding:38px 0!important; }
  body.page-cat-local .seo-depth details.seo-accordion>summary { min-height:52px; padding:14px; font-size:14px; }
  body.page-cat-local .seo-accordion-body { padding:0 14px 18px; }

  body.page-cat-local .cta-section { padding:38px 0!important; background:var(--page-ink)!important; }
  body.page-cat-local .cta-inner { padding:23px 18px!important; border-radius:18px; }
  body.page-cat-local .cta-inner h2 { font-size:23px!important; }
  body.page-cat-local .cta-inner p { font-size:11px; }

  /* 부산 전용 히어로도 다른 지역 페이지와 같은 모바일 리듬으로 정돈한다. */
  body.page-cat-local.busan-page .busan-hero,
  body.page-cat-local.busan-page .busan-hero-grid { min-height:680px!important; }
  body.page-cat-local.busan-page .busan-hero-copy { padding:28px 0 20px!important; }
  body.page-cat-local.busan-page .busan-hero h1 { font-size:34px!important; line-height:1.15; }
  body.page-cat-local.busan-page .busan-lead {
    display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  }
  body.page-cat-local.busan-page .busan-contact-board { padding:3px 15px; border-radius:15px; }
  body.page-cat-local.busan-page .busan-contact-board strong { font-size:25px; }
  body.page-cat-local.busan-page .busan-actions { grid-template-columns:1fr 1fr; gap:8px; }
  body.page-cat-local.busan-page .busan-btn { min-width:0; min-height:44px; padding:0 8px; font-size:11px; }
}

@media(max-width:380px){
  body.page-cat-local .hero-mini-copy h1 { font-size:29px!important; }
  body.page-cat-local .mini-links { grid-template-columns:1fr; }
  body.page-cat-local .v20-topic-nav { grid-template-columns:1fr!important; }
}
