/* Regions directory — dedicated visual system */
.regions-page {
  --region-coral: #e94b71;
  --region-wine: #8f294e;
  --region-ink: #28232a;
  --region-muted: #72686d;
  --region-cream: #fff8f3;
  --region-blush: #fdeef1;
  --region-line: #f0dce2;
}

.regions-page .seo-breadcrumb { padding-top: 18px; padding-bottom: 18px; }
body.regions-page .subpage-hero {
  min-height: 570px;
  padding: 64px 0;
  color: var(--region-ink);
  background:
    radial-gradient(circle at 8% 5%, rgba(255,255,255,.94), transparent 30%),
    linear-gradient(120deg, #fffaf7 0%, #fff3f4 52%, #f8e4e8 100%);
  border: 0;
}
body.regions-page .subpage-hero::before {
  width: 420px; height: 420px; right: -130px; top: -190px;
  background: #f27b94; opacity: .13;
}
body.regions-page .subpage-hero::after {
  width: 190px; height: 190px; left: 45%; bottom: -135px;
  border-radius: 50%; background: #f2a778; opacity: .12;
}
.regions-page .subpage-hero .hero-mini {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(420px,1.12fr);
  gap: clamp(44px,6vw,88px);
  align-items: center;
}
.regions-page .hero-mini-copy { max-width: 600px; }
.regions-page .subpage-hero .eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  margin: 0 0 18px; color: var(--region-coral);
  font-size: 12px; font-weight: 900; letter-spacing: .17em;
}
.regions-page .subpage-hero .eyebrow::before {
  content: ""; width: 28px; height: 2px; background: currentColor;
}
body.regions-page .subpage-hero h1 {
  max-width: 9ch; margin: 0 0 22px;
  color: var(--region-ink); font-size: clamp(44px,5vw,66px);
  line-height: 1.08; letter-spacing: -.055em; word-break: keep-all;
}
body.regions-page .subpage-hero .hero-mini-copy > p:not(.eyebrow) {
  max-width: 570px; margin-bottom: 27px;
  color: var(--region-muted); font-size: 16px; line-height: 1.9; word-break: keep-all;
}
.regions-page .mini-links { gap: 11px; }
.regions-page .mini-links .btn {
  min-height: 48px; align-items: center; padding: 0 20px;
  border-radius: 13px; box-shadow: none;
}
.regions-page .mini-links .btn:not(.btn-light) {
  background: var(--region-coral); border-color: var(--region-coral);
  box-shadow: 0 12px 25px rgba(200,50,89,.19);
}
.regions-page .mini-links .btn-light { color: var(--region-wine); border-color: #e9b9c7; }
.regions-page .subpage-hero-visual { min-width: 0; max-width: none; }
.regions-page .page-preview-frame {
  position: relative; padding: 0; overflow: hidden;
  border: 7px solid rgba(255,255,255,.9); border-radius: 34px 90px 34px 34px;
  background: #fff; box-shadow: 0 28px 70px rgba(95,44,59,.2);
}
.regions-page .page-preview-frame::after {
  content: "부산 · 울산 · 대구 · 경남";
  position: absolute; left: 20px; bottom: 18px;
  padding: 9px 13px; border: 1px solid rgba(255,255,255,.62); border-radius: 999px;
  color: #fff; background: rgba(48,31,38,.54); backdrop-filter: blur(8px);
  font-size: 11px; font-weight: 800; letter-spacing: .04em;
}
.regions-page .page-preview-frame img {
  width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; object-position: center;
}

.regions-page .seo-toc { display: none; }
.regions-page .floating-contact { display: none !important; }
.regions-page .site-directory-search {
  margin-top: 42px; padding: 26px 28px;
  border: 1px solid var(--region-line); border-radius: 22px;
  background: linear-gradient(120deg,#fff,#fff8fa); box-shadow: 0 14px 34px rgba(80,40,54,.07);
}
.regions-page .site-directory-search label { color: var(--region-ink); font-size: 18px; }
.regions-page .site-directory-search input {
  max-width: none; border-color: #dfbdc8; border-radius: 13px; background: #fff;
}

.regions-page #page-section-3 { padding-top: 62px; }
.regions-page .quick-link-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.regions-page .quick-link-card {
  padding: 0; overflow: hidden; border-color: var(--region-line); border-radius: 22px;
  background: #fff; box-shadow: 0 10px 30px rgba(70,35,48,.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.regions-page .quick-link-card:hover {
  transform: translateY(-5px); border-color: #e8a9ba; box-shadow: 0 18px 38px rgba(70,35,48,.12);
}
.regions-page .quick-link-card .search-card-image {
  width: 100%; height: auto; aspect-ratio: 16/10; margin: 0; border-radius: 0;
  object-fit: cover; background: var(--region-blush);
}
.regions-page .quick-link-card strong { padding: 20px 20px 0; font-size: 20px; }
.regions-page .quick-link-card p {
  display: -webkit-box; min-height: 5.2em; margin: 8px 20px 21px;
  overflow: hidden; color: var(--region-muted); line-height: 1.72;
  -webkit-box-orient: vertical; -webkit-line-clamp: 3;
}
.regions-page #region-photo-guide { background: var(--region-cream) !important; }
.regions-page .media-gallery-card { border-radius: 20px; border-color: var(--region-line); }
.regions-page .media-gallery-card img { aspect-ratio: 16/10; height: auto; }
.regions-page .media-gallery-card a { display: inline-block; margin-top: 7px; color: var(--region-coral); font-size: 12px; font-weight: 800; }

@media(max-width:900px) {
  .regions-page .subpage-hero { min-height: 0; padding: 48px 0; }
  .regions-page .subpage-hero .hero-mini { grid-template-columns: 1fr; gap: 32px; }
  .regions-page .hero-mini-copy { max-width: 680px; }
  .regions-page .subpage-hero h1 { max-width: none; }
  .regions-page .quick-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media(max-width:700px) {
  .regions-page .subpage-hero,.regions-page.v19-page .subpage-hero { padding: 34px 0 28px !important; }
  .regions-page .subpage-hero .hero-mini { display: grid !important; gap: 25px; }
  .regions-page .subpage-hero .eyebrow { margin-bottom: 13px; font-size: 10px; }
  .regions-page .subpage-hero h1 { max-width: 11ch; margin-bottom: 16px; font-size: 35px !important; }
  .regions-page .subpage-hero .hero-mini-copy > p:not(.eyebrow) { margin-bottom: 20px; font-size: 14px; line-height: 1.75; }
  .regions-page .mini-links { display: grid; grid-template-columns: 1fr 1fr; }
  .regions-page .mini-links .btn { justify-content: center; min-height: 44px; padding: 0 8px; font-size: 12px; }
  .regions-page .subpage-hero-visual { margin-top: 0 !important; }
  .regions-page .page-preview-frame { border-width: 5px; border-radius: 22px 52px 22px 22px; }
  .regions-page .page-preview-frame img { max-height: none !important; aspect-ratio: 4/3; object-position: 62% center; }
  .regions-page .page-preview-frame::after { left: 12px; bottom: 11px; padding: 7px 10px; font-size: 9px; }
  .regions-page .site-directory-search { margin-top: 24px; padding: 19px 16px; border-radius: 17px; }
  .regions-page .site-directory-search label { font-size: 16px; }
  .regions-page #page-section-3 { padding-top: 42px; }
  .regions-page .quick-link-grid { grid-template-columns: 1fr; gap: 15px; }
  .regions-page .quick-link-card { display: grid; grid-template-columns: 112px minmax(0,1fr); grid-template-rows: auto 1fr; border-radius: 17px; }
  .regions-page .quick-link-card .search-card-image { grid-row: 1/3; width: 112px; height: 100%; min-height: 138px; aspect-ratio: auto; }
  .regions-page .quick-link-card strong { padding: 17px 15px 0; font-size: 17px; }
  .regions-page .quick-link-card p { min-height: 0; margin: 5px 15px 15px; font-size: 12px; -webkit-line-clamp: 3; }
}
