/* ══════════════════════════════════════════
   두산위브 더센트럴 도화 — main.css v5.0
   모든 수정사항 통합
═══════════════════════════════════════════ */

@font-face { font-family:'Pretendard'; font-weight:400; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/woff2/Pretendard-Regular.woff2') format('woff2'); }
@font-face { font-family:'Pretendard'; font-weight:500; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/woff2/Pretendard-Medium.woff2') format('woff2'); }
@font-face { font-family:'Pretendard'; font-weight:600; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/woff2/Pretendard-SemiBold.woff2') format('woff2'); }
@font-face { font-family:'Pretendard'; font-weight:700; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/woff2/Pretendard-Bold.woff2') format('woff2'); }
@font-face { font-family:'Pretendard'; font-weight:800; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/woff2/Pretendard-ExtraBold.woff2') format('woff2'); }

:root {
  --navy:      #0c1f3f;
  --navy-2:    #163060;
  --navy-3:    #1e4080;
  --blue:      #2563eb;
  --blue-lt:   #dbeafe;
  --blue-gl:   #93c5fd;
  --white:     #ffffff;
  --off:       #f7f8fb;
  --gray-line: #e4e7ef;
  --gray-lt:   #f0f2f7;
  --gray:      #7a8baa;
  --tx:        #0c1f3f;
  --tx-2:      #3d4f72;
  --tx-3:      #7a8baa;
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Pretendard',sans-serif; background:#fff; color:var(--tx); line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; }
address { font-style:normal; }
.container { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ════════════════
   HEADER
════════════════ */
#header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:#fff; border-bottom:1px solid var(--gray-line);
  padding:0 40px; height:70px;
  display:flex; align-items:center; justify-content:space-between;
  transition:box-shadow .3s;
}
#header.scrolled { box-shadow:0 4px 20px rgba(12,31,63,.08); }

/* 로고 이미지 — 화질 최적화 */
.logo { flex-shrink:0; display:flex; align-items:center; }
.logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }




/* PC 네비 */
.header-nav { display:flex; align-items:center; }
.nav-home {
  display:flex; align-items:center; height:70px; padding:0 14px;
  font-size:13px; font-weight:600; color:var(--navy); letter-spacing:.5px;
}
.nav-item { position:relative; }
.nav-item > a {
  display:flex; align-items:center; height:70px; padding:0 14px;
  font-size:13px; font-weight:500; color:var(--tx-2);
  transition:color .2s; white-space:nowrap; position:relative;
}
.nav-item > a::after {
  content:''; position:absolute; bottom:0; left:14px; right:14px; height:2px;
  background:var(--navy); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.nav-item:hover > a { color:var(--navy); }
.nav-item:hover > a::after { transform:scaleX(1); }

/* 드롭다운 */
.nav-dropdown {
  display:none; position:absolute; top:70px; left:50%; transform:translateX(-50%);
  background:#fff; min-width:130px;
  border:1px solid var(--gray-line); border-top:2px solid var(--navy);
  box-shadow:0 12px 32px rgba(12,31,63,.1); z-index:9999; padding:4px 0;
}
.nav-item:hover .nav-dropdown { display:block; }
.nav-dropdown a {
  display:block; padding:10px 16px; font-size:13px; color:var(--tx-2);
  border-bottom:1px solid var(--gray-lt); white-space:nowrap; transition:all .18s;
}
.nav-dropdown a:last-child { border-bottom:none; }
.nav-dropdown a:hover { background:var(--off); color:var(--navy); padding-left:22px; }

.nav-reserve {
  display:inline-flex; align-items:center;
  padding:8px 16px; background:var(--navy); color:#fff;
  font-size:13px; font-weight:600; border-radius:2px;
  margin-left:10px; transition:background .2s;
}
.nav-reserve:hover { background:var(--navy-2); }

/* 모바일 헤더 우측 */
.header-mobile-right { display:none; align-items:center; gap:4px; }
.mob-tel-icon { display:flex; align-items:center; justify-content:center; width:38px; height:38px; color:var(--navy); }
.hamburger {
  display:flex; flex-direction:column; justify-content:space-between;
  width:38px; height:38px; padding:9px 7px;
  background:none; border:none;
}
.hamburger span { display:block; height:2px; background:var(--navy); border-radius:2px; transition:all .3s; }
.hamburger.open span:nth-child(1) { transform:translateY(9px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-9px) rotate(-45deg); }

/* ════════════════
   모바일 오버레이 & 메뉴
════════════════ */
.mob-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.5); z-index:990;
}
.mob-overlay.show { display:block; }

.mobile-menu {
  position:fixed; top:0; right:-105%; bottom:0;
  width:min(300px,88vw);
  background:#fff; z-index:1000; overflow-y:auto;
  transition:right .35s cubic-bezier(.22,.61,.36,1);
  display:flex; flex-direction:column;
  box-shadow:-4px 0 24px rgba(12,31,63,.15);
}
.mobile-menu.open { right:0; }

.mob-menu-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; border-bottom:1px solid var(--gray-line);
  flex-shrink:0; background:#fff;
  position:sticky; top:0; z-index:10;
}
.mob-menu-title { font-size:13px; font-weight:700; color:var(--navy); }
.mob-close { background:none; border:none; font-size:20px; color:var(--gray); padding:4px; line-height:1; }

.mob-menu-body { flex:1; padding:0; overflow-y:auto; }
.mob-nav-home {
  display:block; padding:15px 20px;
  font-size:14px; font-weight:700; color:var(--navy);
  border-bottom:1px solid var(--gray-lt);
}
.mob-nav-home:hover { background:var(--off); }

.mobile-menu-item { border-bottom:1px solid var(--gray-lt); }
.mob-item-btn {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:15px 20px; font-size:14px; font-weight:600; color:var(--navy);
  background:none; border:none; text-align:left; cursor:pointer;
}
.mob-item-btn:hover { background:var(--off); }
.mob-arrow { font-size:15px; color:var(--gray); transition:transform .3s; flex-shrink:0; }
.mobile-menu-item.open .mob-arrow { transform:rotate(90deg); color:var(--blue); }

/* ★ 서브메뉴 — maxHeight 방식으로 표시 */
.mobile-menu-sub {
  background:var(--off);
  overflow:hidden;
  max-height:0;
  transition:max-height .35s ease;
}
.mobile-menu-sub a {
  display:block; padding:11px 20px 11px 32px;
  font-size:13px; color:var(--tx-2);
  border-top:1px solid var(--gray-line);
  transition:color .2s;
}
.mobile-menu-sub a:hover { color:var(--navy); background:#fff; }

.mob-menu-footer {
  padding:16px 20px; border-top:1px solid var(--gray-line);
  flex-shrink:0; display:flex; flex-direction:column; gap:8px;
}
.mob-reserve-btn {
  display:block; padding:13px; background:var(--navy); color:#fff;
  font-size:14px; font-weight:700; text-align:center; border-radius:2px;
}
.mob-tel-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:11px; border:1px solid var(--gray-line);
  font-size:13.5px; font-weight:600; color:var(--navy); border-radius:2px;
}

/* ════════════════
   HERO
════════════════ */
#hero {
  height:100vh; min-height:580px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; position:relative; overflow:hidden; background:var(--navy);
}
.hero-bg {
  position:absolute; inset:0;
  background:center/cover no-repeat; z-index:0;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(160deg,rgba(12,31,63,.82) 0%,rgba(12,31,63,.52) 50%,rgba(12,31,63,.88) 100%);
}
.hero-content { position:relative; z-index:1; padding:0 20px; color:#fff; }
.hero-label { font-size:11px; letter-spacing:5px; color:var(--blue-gl); display:block; margin-bottom:20px; text-transform:uppercase; }
.hero-title { font-size:clamp(32px,5.5vw,64px); font-weight:800; line-height:1.15; letter-spacing:-2px; margin-bottom:12px; word-break:keep-all; }
.hero-title strong { color:#93c5fd; display:block; }
.hero-divider { width:44px; height:2px; background:var(--blue); margin:0 auto 28px; }
.hero-info { display:flex; gap:36px; justify-content:center; margin-bottom:32px; flex-wrap:wrap; }
.hero-info-item .label { display:block; font-size:10px; letter-spacing:2px; color:var(--blue-gl); margin-bottom:5px; }
.hero-info-item .value { font-size:15px; font-weight:700; }
.hero-cta { display:inline-block; padding:14px 40px; background:var(--blue); color:#fff; font-size:14px; font-weight:700; border-radius:2px; transition:background .2s; }
.hero-cta:hover { background:var(--navy-2); }

/* ════════════════
   QUICK NAV
════════════════ */
.quick-section { background:var(--navy); overflow-x:auto; -webkit-overflow-scrolling:touch; }
.quick-grid { display:flex; min-width:max-content; max-width:1400px; margin:0 auto; }
.quick-item {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:15px 18px; color:rgba(255,255,255,.6); font-size:11.5px; font-weight:500;
  border-right:1px solid rgba(255,255,255,.08); gap:5px; transition:all .2s;
  text-decoration:none; white-space:nowrap; flex:1; min-width:80px;
}
.quick-item:hover { background:rgba(255,255,255,.08); color:#fff; }
.quick-item-icon { font-size:17px; }

/* ════════════════
   메인 섹션 공통
════════════════ */
.main-section { padding:80px 0; }
.ms-header { text-align:center; margin-bottom:48px; }
.ms-tag { font-size:10.5px; letter-spacing:4px; color:var(--blue); display:block; margin-bottom:14px; font-weight:600; text-transform:uppercase; }
.ms-title { font-size:clamp(22px,3.2vw,32px); font-weight:800; line-height:1.35; letter-spacing:-1px; color:var(--navy); word-break:keep-all; }
.ms-title strong { color:var(--navy); }
.ms-divider { width:32px; height:3px; background:var(--blue); margin:14px auto 16px; }
.ms-subtitle { font-size:14.5px; color:var(--tx-2); word-break:keep-all; }
.bg-white { background:#fff; }
.bg-off   { background:var(--off); }
.bg-navy  { background:var(--navy); }
.bg-navy .ms-tag { color:var(--blue-gl); }
.bg-navy .ms-title, .bg-navy .ms-title strong { color:#fff; }
.bg-navy .ms-subtitle { color:rgba(255,255,255,.6); }
.bg-navy .ms-divider { background:var(--blue-gl); }

/* ★ 2단 그리드 — 이미지 짤림 수정 */
.ms-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.ms-img-wrap {
  overflow:hidden; border-radius:2px;
  border:1px solid var(--gray-line);
  background:var(--off);
}
.ms-img-wrap img {
  width:100%;
  height:auto;            /* ★ 고정 height 제거 → 짤림 방지 */
  max-height:420px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.ms-desc { font-size:14.5px; color:var(--tx-2); line-height:1.9; margin-bottom:10px; word-break:keep-all; }
.bg-navy .ms-desc { color:rgba(255,255,255,.75); }
.bg-navy .ms-desc strong { color:#fff; }
.ms-spec-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--gray-line); margin:22px 0 26px; }
.ms-spec { padding:11px 0; border-bottom:1px solid var(--gray-line); }
.ms-spec-label { font-size:10.5px; color:var(--gray); display:block; margin-bottom:3px; letter-spacing:.8px; }
.ms-spec-value { font-size:14px; font-weight:700; color:var(--tx); }
.ms-btn {
  display:inline-block; padding:12px 28px;
  background:var(--navy); color:#fff;
  font-size:13.5px; font-weight:600; border-radius:2px; transition:background .2s;
}
.ms-btn:hover { background:var(--navy-2); }

/* 입지환경 4그리드 */
.loc-4grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-line); border:1px solid var(--gray-line); }
.loc-4grid-item { background:#fff; padding:18px 16px; transition:background .2s; }
.loc-4grid-item:hover { background:var(--off); }
.loc-4grid-icon { font-size:22px; margin-bottom:8px; }
.loc-4grid-title { font-size:13px; font-weight:800; color:var(--navy); margin-bottom:4px; }
.loc-4grid-desc  { font-size:12px; color:var(--tx-3); line-height:1.6; word-break:keep-all; }

/* 프리미엄 행 */
.prem-row { display:flex; gap:14px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.08); align-items:flex-start; }
.prem-row-num { font-size:19px; font-weight:800; color:rgba(147,197,253,.3); flex-shrink:0; width:28px; line-height:1; }
.prem-row-title { font-size:13px; font-weight:700; color:#fff; margin-bottom:3px; }
.prem-row-desc  { font-size:12px; color:rgba(255,255,255,.52); line-height:1.7; word-break:keep-all; }

/* 유닛 탭 */
.unit-section-wrap { max-width:800px; margin:0 auto; }
.unit-tab-btns {
  display:flex; border:1px solid var(--gray-line);
  border-radius:2px; overflow:hidden;
  width:fit-content; margin:0 auto 20px;
}
.unit-tab-btn {
  padding:9px 20px; background:#fff; border:none;
  border-right:1px solid var(--gray-line);
  font-size:13px; font-weight:500; color:var(--gray);
  cursor:pointer; transition:all .2s; font-family:'Pretendard',sans-serif;
}
.unit-tab-btn:last-child { border-right:none; }
.unit-tab-btn:hover { color:var(--navy); background:var(--off); }
.unit-tab-btn.active { background:var(--navy); color:#fff; font-weight:600; }
.unit-tab-content { display:none; }
.unit-tab-content.active { display:block; }

.unit-panel {
  display:grid; grid-template-columns:1fr 1fr;
  gap:0; background:#fff; border:1px solid var(--gray-line);
  border-radius:2px; overflow:hidden;
}
.unit-panel-img {
  background:var(--off); border-right:1px solid var(--gray-line);
  display:flex; flex-direction:column;
}
.unit-panel-img img {
  width:100%; flex:1;
  object-fit:contain; padding:20px;
  height:320px;             /* 평면도 고정 높이 */
  display:block;
}
.unit-panel-img-cap {
  font-size:11px; color:var(--gray); text-align:center;
  padding:8px; border-top:1px solid var(--gray-line);
  background:#fff; flex-shrink:0;
}
.unit-panel-info { padding:28px 24px; display:flex; flex-direction:column; justify-content:center; }
.unit-type-badge {
  display:inline-block; padding:4px 10px;
  background:var(--blue-lt); color:var(--blue);
  font-size:11px; font-weight:700; border-radius:2px; margin-bottom:10px;
}
.unit-area-num { font-size:48px; font-weight:200; color:var(--navy); letter-spacing:-3px; line-height:1; margin-bottom:4px; }
.unit-area-num sup { font-size:19px; color:var(--gray); vertical-align:super; font-weight:300; }
.unit-area-sub { font-size:11.5px; color:var(--gray); margin-bottom:18px; }
.unit-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 20px; }
.unit-meta { padding:12px; background:var(--off); border-left:2px solid var(--navy); }
.unit-meta-label { font-size:10px; color:var(--gray); text-transform:uppercase; letter-spacing:.8px; margin-bottom:4px; }
.unit-meta-value { font-size:13px; font-weight:700; color:var(--navy); }

/* 방문예약 폼만 */
.resv-form-only { display:flex; justify-content:center; }
.resv-form-box {
  width:100%; max-width:540px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  padding:32px 36px; border-radius:2px;
}
.resv-form-title { font-size:17px; font-weight:700; color:#fff; margin-bottom:5px; }
.resv-form-sub { font-size:13px; color:rgba(255,255,255,.4); margin-bottom:22px; }

/* CF7 네이비 배경 */
.bg-navy .wpcf7 input[type="text"],.bg-navy .wpcf7 input[type="tel"],
.bg-navy .wpcf7 input[type="email"],.bg-navy .wpcf7 input[type="date"],
.bg-navy .wpcf7 select,.bg-navy .wpcf7 textarea {
  background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.15); color:#fff;
}
.bg-navy .wpcf7 input::placeholder,.bg-navy .wpcf7 textarea::placeholder { color:rgba(255,255,255,.3); }
.bg-navy .wpcf7 input:focus,.bg-navy .wpcf7 select:focus,.bg-navy .wpcf7 textarea:focus { border-color:var(--blue-gl); }
.bg-navy .wpcf7 input[type="submit"] { background:var(--blue); }
.bg-navy .wpcf7 input[type="submit"]:hover { background:#1d4ed8; }
.bg-navy .wpcf7 .wpcf7-list-item-label { color:rgba(255,255,255,.6); }

/* CF7 공통 */
.wpcf7 input[type="text"],.wpcf7 input[type="tel"],.wpcf7 input[type="email"],
.wpcf7 input[type="date"],.wpcf7 select,.wpcf7 textarea {
  width:100%; padding:11px 14px; border:1px solid var(--gray-line); background:#fff;
  font-size:14px; color:var(--tx); font-family:'Pretendard',sans-serif;
  border-radius:2px; outline:none; transition:border-color .2s; margin-bottom:12px;
  -webkit-appearance:none; appearance:none;
}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus { border-color:var(--navy); }
.wpcf7 select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a8baa' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; }
.wpcf7 input[type="submit"] { width:100%; padding:14px; background:var(--navy); color:#fff; font-size:14px; font-weight:700; border:none; cursor:pointer; border-radius:2px; transition:background .2s; font-family:'Pretendard',sans-serif; }
.wpcf7 input[type="submit"]:hover { background:var(--navy-2); }
.wpcf7 .wpcf7-mail-sent-ok { background:#dcfce7; color:#15803d; padding:10px 14px; border-radius:2px; font-size:13px; margin-top:10px; border:none; }
.wpcf7 .wpcf7-validation-errors { background:#fef2f2; color:#dc2626; padding:10px 14px; border-radius:2px; font-size:13px; margin-top:10px; border:none; }
.wpcf7 .wpcf7-acceptance { display:flex; align-items:flex-start; gap:8px; margin:12px 0; }
.wpcf7 .wpcf7-acceptance input { accent-color:var(--navy); width:14px; height:14px; flex-shrink:0; margin-top:3px; }
.wpcf7 .wpcf7-list-item-label { font-size:12.5px; color:var(--tx-2); }

/* ════════════════
   PAGE HERO (서브)
════════════════ */
.page-hero {
  padding:100px 40px 48px;
  background:var(--navy); position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; top:-60px; right:-80px;
  width:380px; height:380px; border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.18) 0%,transparent 65%);
}
.page-hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(to right,var(--blue) 0%,transparent 50%);
}
.page-hero-content { position:relative; z-index:1; max-width:780px; margin:0 auto; }
.page-hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:10px; font-weight:600; letter-spacing:3px;
  color:rgba(255,255,255,.4); text-transform:uppercase; margin-bottom:14px;
}
.page-hero-tag::before { content:''; display:block; width:18px; height:1px; background:var(--blue); }
.page-hero-title { font-size:clamp(22px,3.5vw,38px); font-weight:700; color:#fff; letter-spacing:-1px; line-height:1.2; margin-bottom:6px; }
.page-hero-strong { display:block; font-size:clamp(26px,4vw,46px); font-weight:800; color:#fff; }
.page-hero-divider { width:28px; height:2px; background:var(--blue); margin:16px 0; }
.page-hero-breadcrumb { display:flex; align-items:center; gap:6px; font-size:12px; color:rgba(255,255,255,.35); flex-wrap:wrap; }
.page-hero-breadcrumb a { color:rgba(255,255,255,.35); transition:color .2s; }
.page-hero-breadcrumb a:hover { color:rgba(255,255,255,.7); }
.page-hero-breadcrumb .sep { color:rgba(255,255,255,.18); }

/* 안내 배너 */
.page-info-banner { background:var(--blue-lt); border-bottom:2px solid var(--blue); }
.page-info-banner-inner {
  max-width:780px; margin:0 auto; padding:12px 40px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.page-info-banner-icon { font-size:15px; flex-shrink:0; }
.page-info-banner-text { font-size:13px; font-weight:500; color:var(--navy); flex:1; min-width:0; word-break:keep-all; }
.page-info-banner-cta {
  flex-shrink:0; padding:5px 14px; background:var(--navy); color:#fff;
  font-size:12px; font-weight:600; border-radius:2px; white-space:nowrap; transition:background .2s;
}
.page-info-banner-cta:hover { background:var(--navy-2); }

/* SUB NAV */
.sub-nav { background:#fff; border-bottom:2px solid var(--gray-line); position:sticky; top:70px; z-index:800; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.sub-nav-inner { max-width:780px; margin:0 auto; padding:0 40px; display:flex; }
.sub-nav-link { display:flex; align-items:center; height:48px; padding:0 16px; font-size:13px; font-weight:500; color:var(--gray); border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; white-space:nowrap; }
.sub-nav-link:hover { color:var(--navy); border-color:var(--navy); }
.sub-nav-link.active { color:var(--navy); font-weight:700; border-color:var(--navy); }

/* ★ 서브페이지 콘텐츠 — max-width 제한 + 중앙 정렬 */
.page-content { padding:56px 0 88px; background:#fff; }
.page-content-inner {
  max-width:780px;     /* ★ 콘텐츠 폭 제한 */
  margin:0 auto;
  padding:0 40px;
}

/* 서브페이지 공통 섹션 헤더 */
.content-section { margin-bottom:44px; }
.content-tag {
  display:inline-flex; align-items:center; gap:6px;
  font-size:10px; font-weight:600; letter-spacing:3px;
  color:var(--blue); text-transform:uppercase; margin-bottom:10px;
}
.content-tag::before { content:''; display:block; width:14px; height:1.5px; background:var(--blue); }
.content-title { font-size:clamp(19px,2.8vw,27px); font-weight:800; color:var(--navy); letter-spacing:-.5px; line-height:1.35; margin-bottom:12px; word-break:keep-all; }
.content-title strong { color:var(--navy); }
.content-divider { width:24px; height:2px; background:var(--blue); margin-bottom:16px; }
.content-text { font-size:14.5px; color:var(--tx-2); line-height:1.9; word-break:keep-all; }

/* ★ 서브페이지 이미지 — 사이즈 최적화 */
.img-block { margin:36px 0; border:1px solid var(--gray-line); overflow:hidden; background:var(--off); }
.img-block img {
  width:100%; display:block;
  height:auto; max-height:520px;
  object-fit:contain;    /* 짤림 방지 */
}
.img-caption { font-size:11.5px; color:var(--gray); padding:8px 14px; text-align:center; border-top:1px solid var(--gray-line); background:#fff; }

/* 테이블 */
.info-table { width:100%; border-collapse:collapse; font-size:13.5px; margin:24px 0; }
.info-table th,.info-table td { padding:12px 14px; border:1px solid var(--gray-line); text-align:left; line-height:1.6; }
.info-table th { background:var(--navy); color:rgba(255,255,255,.9); font-weight:600; width:120px; white-space:nowrap; }
.info-table td { background:#fff; color:var(--tx-2); }
.info-table tr:hover td { background:var(--off); }

/* 입지 카드 (서브) */
.loc-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border:1px solid var(--gray-line); margin:32px 0; }
.loc-card { padding:24px 20px; border-right:1px solid var(--gray-line); border-bottom:1px solid var(--gray-line); transition:background .22s; }
.loc-card:nth-child(2n) { border-right:none; }
.loc-card:nth-last-child(-n+2) { border-bottom:none; }
.loc-card:hover { background:var(--off); }
.loc-card-icon { font-size:24px; margin-bottom:10px; display:block; }
.loc-card-title { font-size:14px; font-weight:800; color:var(--navy); margin-bottom:6px; }
.loc-card-desc { font-size:12.5px; color:var(--tx-3); line-height:1.75; word-break:keep-all; }

/* 프리미엄 리스트 (서브) */
.premium-list { border-top:1px solid var(--gray-line); }
.premium-list-item { display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--gray-line); align-items:flex-start; }
.prem-num { font-size:24px; font-weight:800; color:var(--blue-lt); flex-shrink:0; width:36px; line-height:1; }
.prem-title { font-size:15px; font-weight:800; color:var(--navy); margin-bottom:6px; }
.prem-desc { font-size:13.5px; color:var(--tx-2); line-height:1.8; word-break:keep-all; }

/* 유닛 평면 (서브) */
.unit-plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; margin:32px 0; }
.unit-plan-img { border:1px solid var(--gray-line); background:var(--off); overflow:hidden; }
.unit-plan-img img { width:100%; height:auto; max-height:400px; object-fit:contain; padding:16px; display:block; }
.unit-plan-info {}
.unit-type-badge { display:inline-block; padding:4px 10px; background:var(--blue-lt); color:var(--blue); font-size:11px; font-weight:700; border-radius:2px; margin-bottom:10px; }
.unit-area-num { font-size:48px; font-weight:200; color:var(--navy); letter-spacing:-3px; line-height:1; margin-bottom:4px; }
.unit-area-num sup { font-size:19px; color:var(--gray); vertical-align:super; font-weight:300; }
.unit-area-sub { font-size:11.5px; color:var(--gray); margin-bottom:18px; }
.unit-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:22px; }
.unit-meta { padding:12px; background:var(--off); border-left:2px solid var(--navy); }
.unit-meta-label { font-size:10px; color:var(--gray); text-transform:uppercase; letter-spacing:.8px; margin-bottom:4px; }
.unit-meta-value { font-size:13px; font-weight:700; color:var(--navy); }

/* 연락처 */
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--gray-line); margin:32px 0; }
.contact-item { padding:24px 18px; text-align:center; border-right:1px solid var(--gray-line); }
.contact-item:last-child { border-right:none; }
.c-icon { font-size:26px; display:block; margin-bottom:8px; }
.c-label { font-size:10px; letter-spacing:2px; color:var(--gray); display:block; margin-bottom:6px; font-weight:600; text-transform:uppercase; }
.c-value { font-size:16px; font-weight:700; color:var(--navy); display:block; }

/* 방문예약 폼 (서브) */
.form-card { background:var(--off); border:1px solid var(--gray-line); padding:32px; margin:32px 0; border-radius:2px; }
.form-card-title { font-size:17px; font-weight:800; color:var(--navy); margin-bottom:22px; padding-bottom:14px; border-bottom:2px solid var(--navy); }
.notice-box { background:var(--off); border-left:3px solid var(--navy); padding:14px 16px; margin-top:20px; font-size:13px; color:var(--tx-2); line-height:1.8; }

/* ★ CTA 버튼 — 중앙 정렬 */
.cta-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; justify-content:center; }
.btn-primary { display:inline-flex; align-items:center; gap:6px; padding:12px 26px; background:var(--navy); color:#fff; font-size:13px; font-weight:600; border-radius:2px; transition:background .2s; }
.btn-primary:hover { background:var(--navy-2); }
.btn-outline { display:inline-flex; align-items:center; gap:6px; padding:11px 24px; background:#fff; color:var(--navy); font-size:13px; font-weight:500; border:1px solid var(--navy); border-radius:2px; transition:all .2s; }
.btn-outline:hover { background:var(--navy); color:#fff; }

/* FAQ */
.faq-section { margin-top:48px; }
.faq-section-title { font-size:19px; font-weight:800; color:var(--navy); margin-bottom:4px; }
.faq-section-sub { font-size:13px; color:var(--tx-3); margin-bottom:24px; }
.faq-list { border-top:2px solid var(--navy); }
.faq-item { border-bottom:1px solid var(--gray-line); }
.faq-q {
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 4px; cursor:pointer; gap:10px;
  font-size:14px; font-weight:600; color:var(--navy);
  transition:color .2s; user-select:none;
}
.faq-q:hover { color:var(--blue); }
.faq-q-inner { display:flex; align-items:flex-start; gap:8px; }
.faq-q-label { color:var(--blue); font-weight:800; font-size:14px; flex-shrink:0; }
.faq-icon { flex-shrink:0; width:18px; height:18px; border:1px solid var(--gray-line); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--gray); transition:all .3s; }
.faq-item.open .faq-icon { background:var(--navy); border-color:var(--navy); color:#fff; transform:rotate(45deg); }
.faq-a { display:none; padding:0 4px 16px; }
.faq-item.open .faq-a { display:flex; gap:8px; }
.faq-a-label { color:var(--navy); font-weight:800; font-size:14px; flex-shrink:0; }
.faq-a-text { font-size:13.5px; color:var(--tx-2); line-height:1.85; word-break:keep-all; }

/* ════════════════
   ★ 푸터 사이트맵 바 — 서브메뉴 없이 1열
════════════════ */
.footer-sitemap-bar { background:#0a1830; border-bottom:1px solid rgba(255,255,255,.06); }
.footer-sitemap-inner { max-width:1200px; margin:0 auto; padding:28px 40px; }
/* ★ 1행 수평 레이아웃 */
.footer-sitemap-nav {
  display:flex; align-items:flex-start;
  gap:0; justify-content:space-between;
}
.fsm-group {
  flex:1;
  padding:0 16px; border-right:1px solid rgba(255,255,255,.07);
  display:flex; flex-direction:column; gap:6px;
}
.fsm-group:first-child { padding-left:0; }
.fsm-group:last-child  { border-right:none; padding-right:0; }
/* ★ 서브메뉴(두번째 이후 a) 숨기기 */
.fsm-group a:not(.fsm-head) { display:none; }
.fsm-head {
  font-size:13px; font-weight:700;
  color:rgba(255,255,255,.6);
  display:block; padding:6px 0;
  transition:color .2s; white-space:nowrap;
}
.fsm-head:hover { color:#fff; }

/* ════════════════
   FOOTER 메인
════════════════ */
#footer { background:var(--navy); }
.footer-related { background:var(--off); border-bottom:1px solid var(--gray-line); }
.footer-related-inner { max-width:1200px; margin:0 auto; padding:14px 40px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.footer-related-title { font-size:12px; font-weight:600; color:var(--tx-2); white-space:nowrap; }
.footer-related-select { padding:6px 26px 6px 12px; font-size:12px; border:1px solid var(--gray-line); background:#fff; color:var(--tx-2); border-radius:2px; cursor:pointer; font-family:'Pretendard',sans-serif; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237a8baa' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 8px center; }
.footer-social { display:flex; align-items:center; gap:6px; margin-left:auto; }
.footer-social-btn { width:30px; height:30px; background:var(--navy); color:#fff; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; transition:opacity .2s; }
.footer-social-btn:hover { opacity:.75; }
.footer-social-btn svg { width:13px; height:13px; }
.footer-social-naver { background:#03c75a; }
.footer-social-blog  { background:#00c73c; }

.footer-main {
  max-width:1200px; margin:0 auto; padding:44px 40px;
  display:grid; grid-template-columns:2fr 1fr;
  gap:40px; border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logo-name { font-size:15px; font-weight:800; color:#fff; margin-bottom:3px; }
.footer-logo-sub  { font-size:9px; letter-spacing:2.5px; color:rgba(255,255,255,.25); text-transform:uppercase; margin-bottom:16px; }
.footer-address { font-size:12px; color:rgba(255,255,255,.38); line-height:2; margin-bottom:10px; }
.footer-address strong { color:rgba(255,255,255,.6); font-weight:600; }
.footer-address a { color:rgba(255,255,255,.38); transition:color .2s; }
.footer-address a:hover { color:#fff; }
.footer-note { font-size:11px; color:rgba(255,255,255,.22); line-height:1.8; word-break:keep-all; }
.footer-nav-title { font-size:9.5px; font-weight:700; letter-spacing:2.5px; color:rgba(255,255,255,.3); text-transform:uppercase; margin-bottom:14px; }
.footer-contact-card {}
.footer-phone { display:block; font-size:22px; font-weight:300; color:#fff; letter-spacing:-1px; margin-bottom:4px; transition:color .2s; }
.footer-phone:hover { color:var(--blue-gl); }
.footer-hours { font-size:12px; color:rgba(255,255,255,.4); margin-bottom:16px; }
.footer-reserve-btn { display:block; padding:11px 16px; background:var(--blue); color:#fff; font-size:13px; font-weight:700; text-align:center; border-radius:2px; transition:background .2s; }
.footer-reserve-btn:hover { background:#1d4ed8; }
.footer-bottom { max-width:1200px; margin:0 auto; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.footer-copy { font-size:11px; color:rgba(255,255,255,.18); }
.footer-links { display:flex; gap:14px; }
.footer-links a { font-size:11px; color:rgba(255,255,255,.24); transition:color .2s; }
.footer-links a:hover { color:rgba(255,255,255,.65); }
.footer-links span { color:rgba(255,255,255,.12); }

/* 플로팅 */
.floating-btns { position:fixed; right:16px; bottom:22px; z-index:880; display:flex; flex-direction:column; gap:7px; align-items:center; }
.float-btn { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; line-height:1.3; text-align:center; cursor:pointer; border:none; transition:transform .25s,box-shadow .25s; box-shadow:0 4px 16px rgba(12,31,63,.18); text-decoration:none; color:inherit; font-family:'Pretendard',sans-serif; }
.float-btn:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(12,31,63,.22); }
.float-reg { background:var(--navy); color:#fff; }
.float-tel { background:#fff; color:var(--navy); border:1px solid var(--gray-line); }
.float-top { background:var(--off); color:var(--tx-3); border:1px solid var(--gray-line); font-size:15px; }

/* 모바일 하단 CTA */
.mob-bottom-cta { display:none; position:fixed; bottom:0; left:0; right:0; z-index:870; }
.mob-cta-tel,.mob-cta-reserve { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:14px 12px; font-size:13.5px; font-weight:700; }
.mob-cta-tel     { background:#fff; color:var(--navy); border-top:2px solid var(--gray-line); border-right:1px solid var(--gray-line); }
.mob-cta-reserve { background:var(--navy); color:#fff; }

/* 페이드업 */
.fade-up { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }
.fade-up.visible { opacity:1; transform:none; }

/* ════════════════
   RESPONSIVE — 960px
════════════════ */
@media (max-width:960px) {
  #header { padding:0 20px; height:64px; }
  .header-nav, .nav-reserve { display:none; }
  .header-mobile-right { display:flex; }
  .sub-nav { top:64px; }

  .container,.page-content-inner,.footer-sitemap-inner,
  .footer-related-inner,.footer-main,.footer-bottom { padding-left:20px; padding-right:20px; }

  .page-hero { padding:88px 20px 40px; }
  .page-info-banner-inner { padding:10px 20px; }
  .sub-nav-inner { padding:0 20px; }

  .ms-grid-2 { grid-template-columns:1fr; gap:24px; }
  .ms-img-wrap img { max-height:280px; }

  .unit-section-wrap { max-width:100%; }
  .unit-panel { grid-template-columns:1fr; }
  .unit-panel-img { border-right:none; border-bottom:1px solid var(--gray-line); }
  .unit-panel-img img { height:240px; }
  .unit-panel-info { padding:20px; }

  .unit-plan-grid { grid-template-columns:1fr; }

  .loc-card-grid { grid-template-columns:1fr 1fr; }

  .resv-form-box { padding:24px 20px; max-width:100%; }

  .footer-sitemap-nav { flex-wrap:wrap; gap:16px; }
  .fsm-group { flex:0 0 calc(50% - 8px); border-right:none; padding:0; }
  .footer-main { grid-template-columns:1fr; }

  .float-reg { display:none; }
  .floating-btns { right:12px; bottom:76px; }
  .mob-bottom-cta { display:flex; }
}

/* ════════════════
   RESPONSIVE — 560px
════════════════ */
@media (max-width:560px) {
  #hero { min-height:520px; }
  .hero-title { letter-spacing:-1px; }
  .hero-info { gap:20px; }

  .quick-item { padding:11px 8px; font-size:10.5px; min-width:60px; }
  .quick-item-icon { font-size:15px; }

  .unit-tab-btns { width:100%; }
  .unit-tab-btn { flex:1; padding:9px 4px; font-size:11.5px; text-align:center; }

  .loc-card-grid,.loc-4grid { grid-template-columns:1fr; }
  .loc-card:nth-child(2n) { border-right:none; }
  .loc-card:nth-last-child(-n+2) { border-bottom:1px solid var(--gray-line); }
  .loc-card:last-child { border-bottom:none; }

  .contact-grid { grid-template-columns:1fr; }
  .contact-item { border-right:none; border-bottom:1px solid var(--gray-line); }
  .contact-item:last-child { border-bottom:none; }

  .ms-spec-grid { grid-template-columns:1fr; }
  .unit-meta-grid { grid-template-columns:1fr 1fr; }

  .cta-row { flex-direction:column; align-items:center; }
  .btn-primary,.btn-outline { width:100%; max-width:320px; justify-content:center; }

  .fsm-group { flex:0 0 100%; }

  .footer-bottom { flex-direction:column; text-align:center; }
  .page-info-banner-cta { display:none; }
}

/* ════════════════════════════════════════
   DESIGN v2 패치
════════════════════════════════════════ */

/* ── 1. 메인 이미지 짤림 완전 수정 ── */
.ms-img-wrap {
  overflow: hidden;
  border-radius: 2px;
  border: 1px solid var(--gray-line);
  background: var(--off);
  align-self: start; /* ★ 이미지가 텍스트 높이에 맞춰 늘어나지 않게 */
}
.ms-img-wrap img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;  /* ★ max-height 완전 제거 */
  object-fit: cover !important;            /* ★ 비율 고정 → 짤림 방지 */
  display: block;
}

/* ── 2. 본문 아코디언 (WordPress 편집기 내용) ── */
.page-editor-content {
  margin-top: 40px;
  border-top: 2px solid var(--navy);
}

/* h2 → 아코디언 헤더 */
.page-editor-content h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--tx-2) !important;
  padding: 15px 20px !important;
  margin: 0 !important;
  background: var(--off);
  border: 1px solid var(--gray-line);
  border-top: none;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  letter-spacing: -.2px;
  transition: background .2s, color .2s;
  user-select: none;
}
.page-editor-content h2:hover { background: #ebedf5; color: var(--navy) !important; }
.page-editor-content h2::after {
  content: '+';
  font-size: 22px; font-weight: 300; line-height: 1;
  color: var(--gray); flex-shrink: 0; margin-left: 12px;
  transition: transform .3s, color .2s;
}
.page-editor-content h2.acc-open {
  background: #fff;
  color: var(--navy) !important;
  border-color: var(--gray-line);
  border-bottom: none;
}
.page-editor-content h2.acc-open::after {
  transform: rotate(45deg);
  color: var(--navy);
}

/* acc-body — maxHeight 애니메이션 방식 */
.page-editor-content .acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
  border: 1px solid var(--gray-line);
  border-top: none;
  background: #fff;
}
.page-editor-content .acc-body.open {
  /* max-height는 JS에서 scrollHeight로 설정 */
}

/* acc-body 내부 여백 */
.page-editor-content .acc-body > * { margin: 0; }
.page-editor-content .acc-body > p:first-child,
.page-editor-content .acc-body > h3:first-child { margin-top: 0 !important; }

.page-editor-content .acc-body > p,
.page-editor-content .acc-body > h3,
.page-editor-content .acc-body > ul,
.page-editor-content .acc-body > ol {
  padding: 0 20px;
}
.page-editor-content .acc-body > p:first-child { padding-top: 18px; }
.page-editor-content .acc-body > p:last-child  { padding-bottom: 20px; }

/* h3 스타일 */
.page-editor-content h3 {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 16px 0 8px !important;
  padding-left: 10px !important;
  border-left: 3px solid var(--blue);
}

/* 본문 단락 */
.page-editor-content p {
  font-size: 14px !important;
  color: var(--tx-2) !important;
  line-height: 1.9 !important;
  margin-bottom: 8px !important;
  word-break: keep-all;
}

/* 링크 */
.page-editor-content a {
  color: var(--blue);
  text-decoration: underline;
}

/* ── 3. 관련사이트 + 소셜 세로 배치 ── */
.footer-related { background: var(--off); border-bottom: 1px solid var(--gray-line); }
.footer-related-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 18px 40px;
  display: flex; flex-direction: column; gap: 12px; /* ★ 세로 배치 */
}
.footer-related-row {
  display: flex; align-items: center; gap: 14px;
}
.footer-social-row {
  display: flex; align-items: center; gap: 14px;
}
.footer-social-label {
  font-size: 12px; font-weight: 600; color: var(--tx-2);
  white-space: nowrap; min-width: 52px;
}
.footer-social {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.footer-social-btn {
  width: 32px; height: 32px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; transition: opacity .2s; color: #fff;
}
.footer-social-btn:hover { opacity: .75; }
.footer-social-btn svg { width: 14px; height: 14px; }

/* 소셜 색상 */
.footer-social-blog      { background: #00c73c; }
.footer-social-naver     { background: #03c75a; }
.footer-social-kakao     { background: #FEE500; color: #3C1E1E !important; }
.footer-social-kakaostory{ background: #FF7A00; }
.footer-social-insta     { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.footer-social-youtube   { background: #FF0000; }
.footer-social-facebook  { background: #1877F2; }
.footer-social-x         { background: #000; }
.footer-social-cafe      { background: #00C300; }

/* 카카오 아이콘 색 조정 */
.footer-social-kakao svg { color: #3C1E1E; }

/* ── 4. 모바일 ── */
@media (max-width: 960px) {
  .footer-related-inner { padding: 14px 20px; }
  .ms-img-wrap img { }
}
@media (max-width: 560px) {
  .footer-related-row { flex-wrap: wrap; }
  .ms-img-wrap img { }
}

/* ════════════════════════════════════════
   FIX-6 패치
════════════════════════════════════════ */

/* ── 이미지 짤림 완전 수정 (입지환경·프리미엄) ── */
/* 2단 그리드에서 이미지 높이를 텍스트에 맞추지 않음 */
.ms-grid-2 {
  align-items: start !important; /* ★ stretch → start */
}
.ms-img-wrap {
  overflow: hidden;
  border-radius: 2px;
  border: 1px solid var(--gray-line);
  background: var(--off);
}
.ms-img-wrap img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: fill !important;   /* ★ fill → 원본 비율 그대로 */
  display: block;
}

/* ── 플로팅 버튼 완전 제거 ── */
.floating-btns { display: none !important; }

/* ── 관련사이트 + 소셜 세로 배치 (서브페이지 포함 통일) ── */
.footer-related {
  background: var(--off);
  border-bottom: 1px solid var(--gray-line);
}
.footer-related-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 16px 40px;
  display: flex;
  flex-direction: column !important; /* ★ 세로 배치 강제 */
  gap: 12px;
}
.footer-related-row {
  display: flex; align-items: center; gap: 14px;
}
.footer-social-row {
  display: flex; align-items: center; gap: 14px;
}
.footer-social-label {
  font-size: 12px; font-weight: 600;
  color: var(--tx-2); white-space: nowrap; min-width: 52px;
}
.footer-social {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.footer-social-btn {
  width: 32px; height: 32px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; transition: opacity .2s;
  text-decoration: none;
}
.footer-social-btn:hover { opacity: .75; }
.footer-social-btn svg { width: 14px; height: 14px; }
.footer-social-blog       { background: #00c73c; }
.footer-social-naver      { background: #03c75a; }
.footer-social-kakao      { background: #FEE500; }
.footer-social-kakaostory { background: #FF7A00; }
.footer-social-insta      { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.footer-social-youtube    { background: #FF0000; }
.footer-social-facebook   { background: #1877F2; }
.footer-social-x          { background: #000; }
.footer-social-cafe       { background: #00C300; }

@media (max-width: 960px) {
  .footer-related-inner { padding: 14px 20px; }
}
@media (max-width: 560px) {
  .footer-related-row { flex-wrap: wrap; }
  .footer-social { gap: 5px; }
}

/* ════════════════════════════════════════
   FIX-7 통합 패치
════════════════════════════════════════ */

/* ── 1. 이미지 눌림/짤림 최종 수정 ── */
.ms-img-wrap {
  overflow: hidden;
  border-radius: 2px;
  border: 1px solid var(--gray-line);
  background: var(--off);
  align-self: start !important;  /* 텍스트 높이에 맞춰 늘어나지 않음 */
  width: 100%;
}
.ms-img-wrap img {
  width: 100% !important;
  height: auto !important;       /* 원본 비율 그대로 */
  max-height: none !important;
  aspect-ratio: unset !important;
  object-fit: fill !important;   /* fill = 비율 그대로 */
  display: block;
}
/* 그리드도 align-items: start 강제 */
.ms-grid-2 { align-items: start !important; }

/* ── 2. 사이트맵 바 상하 사이즈 최소화 ── */
.footer-sitemap-bar { background: #0a1830; border-bottom: 1px solid rgba(255,255,255,.07); }
.footer-sitemap-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 8px 40px !important;  /* ★ 상하 8px */
}
.footer-sitemap-nav { display: flex; align-items: center; justify-content: space-between; }
.fsm-group { flex: 1; padding: 0 14px; border-right: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; }
.fsm-group:first-child { padding-left: 0; }
.fsm-group:last-child  { border-right: none; padding-right: 0; }
.fsm-head {
  font-size: 12px; font-weight: 600;
  color: rgba(255,255,255,.5); display: block;
  padding: 5px 0 !important; transition: color .2s; white-space: nowrap;
}
.fsm-head:hover { color: rgba(255,255,255,.9); }
.fsm-group a:not(.fsm-head) { display: none !important; }

/* ── 3. CF7 폼 라벨 흰색 (방문예약 네이비 배경) ── */
.bg-navy .wpcf7 label,
.bg-navy .wpcf7 .wpcf7-list-item-label,
.resv-form-box label,
.resv-form-box .wpcf7-list-item-label {
  color: #fff !important;
}
.bg-navy .wpcf7 .wpcf7-not-valid-tip { color: #fca5a5 !important; }

/* ── 4. 서브페이지 편집기 본문 — 메인페이지와 동일한 디자인 ── */
.page-editor-content {
  margin-top: 40px;
}
/* 첫 단락 (h2 이전) */
.page-editor-content > p {
  font-size: 15px !important;
  color: var(--tx-2) !important;
  line-height: 1.9 !important;
  margin-bottom: 12px !important;
  word-break: keep-all;
}

/* h2 → 아코디언 헤더 */
.page-editor-content h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--tx-2) !important;
  padding: 15px 20px !important;
  margin: 4px 0 0 !important;
  background: var(--off) !important;
  border: 1px solid var(--gray-line) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  letter-spacing: -.2px;
  transition: background .2s, color .2s;
  user-select: none;
  list-style: none !important;
}
.page-editor-content h2:hover {
  background: #ebedf5 !important;
  color: var(--navy) !important;
}
.page-editor-content h2::after {
  content: '+' !important;
  font-size: 22px; font-weight: 300; line-height: 1;
  color: var(--gray); flex-shrink: 0; margin-left: 12px;
  transition: transform .3s, color .2s;
}
.page-editor-content h2.acc-open {
  background: #fff !important;
  color: var(--navy) !important;
  border-color: var(--navy) !important;
  border-bottom-color: var(--off) !important;
  border-radius: 2px 2px 0 0 !important;
}
.page-editor-content h2.acc-open::after {
  transform: rotate(45deg) !important;
  color: var(--navy) !important;
}

/* acc-body */
.page-editor-content .acc-body {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .45s cubic-bezier(0,1,0,1) !important;
  border: 1px solid var(--navy) !important;
  border-top: none !important;
  border-radius: 0 0 2px 2px !important;
  background: #fff;
  margin-bottom: 2px;
}
.page-editor-content .acc-body.open {
  transition: max-height .45s ease-in-out !important;
}
.page-editor-content .acc-body > * {
  padding: 0 20px;
}
.page-editor-content .acc-body > *:first-child { padding-top: 18px; }
.page-editor-content .acc-body > *:last-child  { padding-bottom: 20px; }

/* h3 */
.page-editor-content h3 {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 16px 0 8px !important;
  padding-left: 10px !important;
  border-left: 3px solid var(--blue) !important;
}
/* acc-body 내부 h3 패딩 보정 */
.page-editor-content .acc-body h3 {
  padding-left: 10px !important;
}

/* 단락 */
.page-editor-content .acc-body p {
  font-size: 14px !important;
  color: var(--tx-2) !important;
  line-height: 1.9 !important;
  margin-bottom: 8px !important;
  word-break: keep-all;
}
.page-editor-content a { color: var(--blue); text-decoration: underline; }

/* ── 5. 이미지 라이트박스 ── */
.img-lightbox-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.92);
  cursor: zoom-out;
  align-items: center; justify-content: center;
}
.img-lightbox-overlay.show { display: flex; }
.img-lightbox-img {
  max-width: 92vw; max-height: 88vh;
  object-fit: contain; border-radius: 2px;
  box-shadow: 0 0 40px rgba(0,0,0,.5);
  cursor: default;
}
.img-lightbox-close {
  position: fixed; top: 20px; right: 24px;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.15); border: none; cursor: pointer;
  color: #fff; font-size: 20px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.img-lightbox-close:hover { background: rgba(255,255,255,.3); }

/* 클릭 가능한 이미지 커서 */
.img-zoomable { cursor: zoom-in; }

/* ── 반응형 ── */
@media (max-width: 960px) {
  .footer-sitemap-inner { padding: 6px 20px !important; }
  .fsm-group { padding: 0 10px; }
}

/* ════════════════════════════════════════
   FIX-8 패치
════════════════════════════════════════ */

/* ── 1. 이미지 위 / 내용 아래 레이아웃 (입지환경·프리미엄) ── */
.ms-img-full {
  width: 100%;
  margin-bottom: 28px;
  border: 1px solid rgba(255,255,255,.1);
}
.ms-img-full img {
  width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: cover !important;
  display: block;
}
.ms-stack-content { width: 100%; }

/* ── 2. 프리미엄 4그리드 ── */
.prem-4grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
}
.prem-4grid-item {
  background: rgba(255,255,255,.04);
  padding: 28px 22px;
  transition: background .2s;
}
.prem-4grid-item:hover { background: rgba(255,255,255,.09); }
.prem-4grid-num  { font-size:28px; font-weight:800; color:rgba(147,197,253,.25); line-height:1; margin-bottom:8px; }
.prem-4grid-icon { font-size:22px; margin-bottom:10px; }
.prem-4grid-title{ font-size:14px; font-weight:700; color:#fff; margin-bottom:6px; }
.prem-4grid-desc { font-size:12.5px; color:rgba(255,255,255,.5); line-height:1.75; word-break:keep-all; }

/* ── 3. 입지환경 4그리드 (아래) ── */
.loc-4grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--gray-line);
  border: 1px solid var(--gray-line);
}
.loc-4grid-item { background:#fff; padding:22px 18px; transition:background .2s; }
.loc-4grid-item:hover { background:var(--off); }
.loc-4grid-icon  { font-size:24px; margin-bottom:10px; }
.loc-4grid-title { font-size:14px; font-weight:800; color:var(--navy); margin-bottom:6px; }
.loc-4grid-desc  { font-size:12.5px; color:var(--tx-3); line-height:1.7; word-break:keep-all; }

/* ── 4. CF7 select 옵션 글자색 검정 ── */
.wpcf7 select,
.wpcf7 select option,
.resv-form-box select,
.resv-form-box select option,
.bg-navy .wpcf7 select option {
  color: #111 !important;
  background: #fff !important;
}
/* placeholder 스타일 */
.bg-navy .wpcf7 select { color: rgba(255,255,255,.7) !important; }
.bg-navy .wpcf7 select option { color: #111 !important; }

/* ── 5. 모바일 최적화 전면 보강 ── */

/* 전체 뷰포트 처리 */
html, body { max-width: 100%; overflow-x: hidden; }

/* 헤더 */
@media (max-width: 960px) {
  #header { padding: 0 16px; height: 60px; }
  .sub-nav { top: 60px; }
  .logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }

  /* 퀵 네비 */
  .quick-section { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .quick-grid    { min-width: max-content; }
  .quick-item    { padding: 12px 14px; font-size: 11px; min-width: 64px; }
  .quick-item-icon { font-size: 16px; }

  /* 메인 섹션 */
  .main-section  { padding: 52px 0; }
  .ms-header     { margin-bottom: 32px; }
  .container     { padding: 0 16px; }

  /* 이미지 */
  .ms-img-full img { max-height: 260px !important; }

  /* 입지 4그리드 → 2열 */
  .loc-4grid  { grid-template-columns: 1fr 1fr; }
  /* 프리미엄 4그리드 → 2열 */
  .prem-4grid { grid-template-columns: 1fr 1fr; }

  /* 유닛 패널 */
  .unit-panel { grid-template-columns: 1fr; }
  .unit-panel-img { border-right: none; border-bottom: 1px solid var(--gray-line); }
  .unit-panel-img img { height: 220px; }
  .unit-panel-info { padding: 20px; }

  /* 유닛 탭 */
  .unit-tab-btns { width: 100%; }
  .unit-tab-btn  { flex: 1; padding: 9px 4px; font-size: 11.5px; text-align: center; }

  /* 방문예약 폼 */
  .resv-form-box { padding: 24px 16px; max-width: 100%; }

  /* 서브페이지 */
  .page-hero     { padding: 80px 16px 36px; }
  .page-content-inner { padding: 0 16px !important; }
  .page-info-banner-inner { padding: 10px 16px; }
  .sub-nav-inner { padding: 0 16px; }

  /* 테이블 스크롤 */
  .info-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .info-table { min-width: 480px; }

  /* 서브페이지 그리드 */
  .unit-plan-grid { grid-template-columns: 1fr; }
  .loc-card-grid  { grid-template-columns: 1fr 1fr; }
  .contact-grid   { grid-template-columns: 1fr; }
  .contact-item   { border-right: none; border-bottom: 1px solid var(--gray-line); }
  .contact-item:last-child { border-bottom: none; }

  /* 푸터 */
  .footer-main   { padding: 32px 16px; }
  .footer-sitemap-inner  { padding: 8px 16px !important; }
  .footer-related-inner  { padding: 12px 16px; }
  .footer-bottom { padding: 14px 16px; }
  .fsm-group { flex: 0 0 33.33%; padding: 4px 8px; border-right: none; }

  /* 모바일 하단 CTA */
  .mob-bottom-cta { display: flex; }
  body { padding-bottom: 56px; }
}

@media (max-width: 560px) {
  /* 히어로 */
  #hero { min-height: 480px; }
  .hero-title    { font-size: clamp(26px, 8vw, 40px); letter-spacing: -1px; }
  .hero-info     { gap: 16px; }
  .hero-info-item .value { font-size: 13px; }
  .hero-cta      { width: 100%; text-align: center; padding: 14px; }

  /* 섹션 */
  .main-section  { padding: 40px 0; }
  .container     { padding: 0 14px; }

  /* 이미지 */
  .ms-img-full img { max-height: 200px !important; }

  /* 그리드 전환 */
  .loc-4grid     { grid-template-columns: 1fr 1fr; }
  .prem-4grid    { grid-template-columns: 1fr 1fr; }

  /* 유닛 탭 */
  .unit-tab-btn  { padding: 8px 2px; font-size: 11px; }

  /* 아코디언 */
  .page-editor-content h2 { font-size: 14px !important; padding: 13px 14px !important; }

  /* CTA 버튼 */
  .cta-row { flex-direction: column; align-items: center; }
  .btn-primary, .btn-outline { width: 100%; max-width: 320px; justify-content: center; }

  /* 푸터 */
  .footer-sitemap-nav { flex-wrap: wrap; }
  .fsm-group { flex: 0 0 50%; padding: 4px 8px; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 6px; }
  .footer-social { gap: 5px; }
  .footer-social-btn { width: 30px; height: 30px; }

  /* 방문예약 */
  .resv-form-box { padding: 20px 14px; }
}

/* ── 6. 분양안내 SEO 섹션 아코디언 래퍼 ── */
/* 메인페이지 SEO 본문도 동일한 page-editor-content 클래스 적용 */
.seo-editor-content {
  max-width: 860px;
  margin: 0 auto;
}
.seo-editor-content > h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--tx-2) !important;
  padding: 15px 20px !important;
  margin: 4px 0 0 !important;
  background: var(--off) !important;
  border: 1px solid var(--gray-line) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background .2s, color .2s;
  user-select: none;
}
.seo-editor-content > h2::after {
  content: '+' !important;
  font-size: 22px; font-weight: 300; color: var(--gray);
  flex-shrink: 0; margin-left: 12px;
  transition: transform .3s, color .2s;
}
.seo-editor-content > h2:hover { background: #ebedf5 !important; color: var(--navy) !important; }
.seo-editor-content > h2.acc-open { background: #fff !important; color: var(--navy) !important; border-color: var(--navy) !important; border-bottom-color: var(--off) !important; border-radius: 2px 2px 0 0 !important; }
.seo-editor-content > h2.acc-open::after { transform: rotate(45deg) !important; color: var(--navy) !important; }
.seo-editor-content .acc-body {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .45s ease-in-out !important;
  border: 1px solid var(--navy) !important;
  border-top: none !important;
  border-radius: 0 0 2px 2px !important;
  background: #fff;
  margin-bottom: 2px;
}
.seo-editor-content .acc-body > * { padding: 0 20px; }
.seo-editor-content .acc-body > *:first-child { padding-top: 18px; }
.seo-editor-content .acc-body > *:last-child  { padding-bottom: 20px; }
.seo-editor-content h3 { font-size: 14px !important; font-weight: 700 !important; color: var(--navy) !important; margin: 14px 0 8px !important; border-left: 3px solid var(--blue); padding-left: 10px !important; }
.seo-editor-content p  { font-size: 14px !important; color: var(--tx-2) !important; line-height: 1.9 !important; margin-bottom: 8px !important; word-break: keep-all; }
.seo-editor-content a  { color: var(--blue); text-decoration: underline; }

/* ── SEO 링크 그룹 ── */
.seo-link-group {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 20px;
}
.seo-link-group a {
  padding: 8px 14px;
  background: var(--off);
  border: 1px solid var(--gray-line);
  border-radius: 2px;
  font-size: 13px; color: var(--navy); font-weight: 500;
  text-decoration: none; transition: all .2s;
}
.seo-link-group a:hover { background: var(--navy); color: #fff; }
.seo-link-group a.btn-reserve {
  background: var(--navy); color: #fff; font-weight: 600;
}

@media (max-width: 560px) {
  .seo-link-group { gap: 6px; }
  .seo-link-group a { font-size: 12px; padding: 7px 11px; }
}

/* ════════════════════════════════════════
   FIX-9 최종 패치
════════════════════════════════════════ */

/* ── 1. CF7 select — 네이비 배경에서 흰색 글씨 ── */
.bg-navy .wpcf7 select,
.resv-form-box .wpcf7 select,
.resv-form-box select {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.15) !important;
  color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}
/* option은 브라우저 기본 = 검정 배경 흰글씨 유지 */
.bg-navy .wpcf7 select option { color: #111 !important; background: #fff !important; }
/* placeholder 첫번째 option */
.bg-navy .wpcf7 select option:first-child { color: rgba(255,255,255,.5) !important; background: #1e3a6e !important; }

/* ── 2. 이미지 짤림 완전 해결 — 길이 제한 없음 ── */
.ms-img-full {
  width: 100%;
  margin-bottom: 32px;
  overflow: hidden;
  border-radius: 2px;
}
.ms-img-full img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;      /* 높이 제한 없음 */
  object-fit: fill !important;      /* 원본 비율 그대로 */
  display: block;
}
/* bg-navy border */
.bg-navy .ms-img-full { border: 1px solid rgba(255,255,255,.1); }
.bg-off  .ms-img-full { border: 1px solid var(--gray-line); }

/* ── 3. 분양안내 아코디언 — 스크린샷 디자인 ── */
.info-accordion-wrap {
  max-width: 860px;
  margin: 0 auto;
}
.info-accordion-header {
  text-align: center;
  margin-bottom: 48px;
}
.info-accordion-tag {
  font-size: 11px; font-weight: 600; letter-spacing: 4px;
  color: var(--blue); text-transform: uppercase;
  display: block; margin-bottom: 14px;
}
.info-accordion-title {
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 800; color: var(--navy);
  letter-spacing: -1px; line-height: 1.3;
  margin-bottom: 0;
}
.info-accordion-divider {
  width: 36px; height: 3px; background: var(--blue);
  margin: 16px auto 20px;
}
.info-accordion-sub {
  font-size: 15px; color: var(--tx-2);
  word-break: keep-all;
}

/* 아코디언 리스트 */
.info-accordion-list {
  border-top: 1px solid var(--gray-line);
}
.info-acc-item {
  border-bottom: 1px solid var(--gray-line);
}
.info-acc-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 4px;
  cursor: pointer;
  gap: 16px;
  user-select: none;
  transition: color .2s;
}
.info-acc-q:hover { color: var(--blue); }
.info-acc-q-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4;
  word-break: keep-all;
}
.info-acc-item:hover .info-acc-q-text { color: var(--blue); }
.info-acc-icon {
  flex-shrink: 0;
  width: 24px; height: 24px;
  border: 1.5px solid var(--gray-line);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 300; color: var(--gray);
  transition: all .3s;
}
.info-acc-item.open .info-acc-icon {
  background: var(--navy); border-color: var(--navy);
  color: #fff; transform: rotate(45deg);
}
.info-acc-item.open .info-acc-q-text { color: var(--navy); }
.info-acc-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .45s ease;
}
.info-acc-a-inner {
  padding: 0 4px 24px;
  font-size: 14.5px; color: var(--tx-2);
  line-height: 1.9; word-break: keep-all;
}
.info-acc-a-inner p { margin-bottom: 8px; }
.info-acc-a-inner strong { color: var(--navy); }
.info-acc-a-inner a { color: var(--blue); text-decoration: underline; }

/* 내부 링크 버튼 그룹 */
.info-acc-links {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 16px;
}
.info-acc-links a {
  padding: 8px 14px;
  background: var(--off); border: 1px solid var(--gray-line);
  border-radius: 2px; font-size: 13px; color: var(--navy);
  font-weight: 500; text-decoration: none !important;
  transition: all .2s; display: inline-flex; align-items: center; gap: 4px;
}
.info-acc-links a:hover { background: var(--navy); color: #fff; }
.info-acc-links a.btn-navy { background: var(--navy); color: #fff; font-weight: 600; }
.info-acc-links a.btn-navy:hover { background: var(--navy-2); }

/* 공공기관 링크 */
.info-acc-ext-links {
  margin-top: 14px;
  font-size: 13px; color: var(--tx-3); line-height: 1.8;
}

/* ── 4. 소셜 버튼 간격 줄이기 ── */
.footer-social-row {
  display: flex;
  align-items: center;
  gap: 8px !important;    /* SNS 글자와 버튼 간격 줄임 */
}
.footer-social-label {
  font-size: 12px; font-weight: 600;
  color: var(--tx-2); white-space: nowrap;
  min-width: 32px !important;   /* 더 좁게 */
}
.footer-social { gap: 5px !important; }

/* ── 5. 모바일 ── */
@media (max-width: 960px) {
  .info-accordion-wrap { max-width: 100%; }
  .info-acc-q { padding: 18px 4px; }
  .info-acc-q-text { font-size: 14.5px; }
}
@media (max-width: 560px) {
  .info-acc-q-text { font-size: 13.5px; }
  .info-acc-a-inner { font-size: 13.5px; }
  .info-acc-links { gap: 6px; }
  .info-acc-links a { font-size: 12px; padding: 7px 10px; }
}

/* ════════════════════════════════════════
   FIX-10: 편집기 본문 → 메인페이지 분양안내와 동일한 디자인
════════════════════════════════════════ */

/* 편집기 본문 전체 래퍼 */
.page-editor-content {
  margin-top: 48px;
  max-width: 100%;
}

/* 섹션 헤더 (h2 위 첫 단락) */
.page-editor-content > p:first-child {
  font-size: 15px;
  color: var(--tx-2);
  line-height: 1.9;
  margin-bottom: 16px;
  word-break: keep-all;
}

/* 아코디언 제목 라인 구분 */
.page-editor-content .acc-body > h3:first-child { margin-top: 0 !important; }

/* 내부 링크 그룹 (관련 페이지: 텍스트) */
.page-editor-content .acc-body > p:last-child {
  margin-top: 12px;
  font-size: 13px;
  color: var(--tx-3);
}
.page-editor-content .acc-body > p:last-child a {
  color: var(--blue);
  text-decoration: underline;
}

/* ── 메인페이지 분양안내와 동일한 h2 스타일 ── */
.page-editor-content h2 {
  font-size: 15.5px !important;
  font-weight: 600 !important;
  color: var(--tx-2) !important;
  padding: 20px 4px !important;        /* 메인 아코디언과 동일한 여백 */
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--gray-line) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: color .2s;
  user-select: none;
}
.page-editor-content h2:hover { color: var(--navy) !important; }
.page-editor-content h2::after {
  content: '+' !important;
  font-size: 20px; font-weight: 300; line-height: 1;
  color: var(--gray); flex-shrink: 0; margin-left: 16px;
  width: 24px; height: 24px;
  border: 1.5px solid var(--gray-line);
  border-radius: 50%;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .3s;
}
.page-editor-content h2.acc-open {
  color: var(--navy) !important;
  border-color: var(--gray-line) !important;
  background: transparent !important;
}
.page-editor-content h2.acc-open::after {
  transform: rotate(45deg) !important;
  background: var(--navy) !important;
  border-color: var(--navy) !important;
  color: #fff !important;
}

/* acc-body — 메인과 동일 */
.page-editor-content .acc-body {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .45s ease !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin-bottom: 0 !important;
}
.page-editor-content .acc-body > * { padding: 0 4px; }
.page-editor-content .acc-body > *:first-child { padding-top: 16px; }
.page-editor-content .acc-body > *:last-child  { padding-bottom: 20px; }

/* 첫 번째 h2 위 테두리 (리스트 상단) */
.page-editor-content { border-top: 1px solid var(--gray-line); }

/* h3 */
.page-editor-content h3 {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 14px 0 8px !important;
  padding-left: 10px !important;
  border-left: 3px solid var(--blue) !important;
  border-bottom: none !important;
  background: transparent !important;
  cursor: default !important;
  display: block !important;
  justify-content: unset !important;
}
.page-editor-content h3::after { display: none !important; }

/* p */
.page-editor-content .acc-body p {
  font-size: 14.5px !important;
  color: var(--tx-2) !important;
  line-height: 1.9 !important;
  margin-bottom: 8px !important;
  word-break: keep-all;
  padding: 0 4px;
}
.page-editor-content a { color: var(--blue); text-decoration: underline; }

/* 서브페이지 편집기 본문 헤더 타이틀 */
.page-editor-section-header {
  margin-bottom: 32px;
}
.page-editor-section-tag {
  font-size: 11px; font-weight: 600; letter-spacing: 4px;
  color: var(--blue); text-transform: uppercase;
  display: block; margin-bottom: 12px;
}
.page-editor-section-title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 800; color: var(--navy);
  letter-spacing: -1px; line-height: 1.3;
}
.page-editor-section-divider {
  width: 32px; height: 3px; background: var(--blue);
  margin: 14px 0 14px;
}
.page-editor-section-sub {
  font-size: 14.5px; color: var(--tx-2); word-break: keep-all;
}

/* ════════════════════════════════════════
   FIX-12 패치
════════════════════════════════════════ */

/* ── 버튼(cta-row)과 사이트맵 바 사이 간격 ── */
.page-content { padding-bottom: 80px; }
.cta-row {
  margin-top: 40px;
  margin-bottom: 0;
  padding-bottom: 0;
}
/* 사이트맵 바 위 여백 */
.footer-sitemap-bar { margin-top: 0; }

/* ── 빨간 표시 텍스트 제거: page-editor-content 완전 숨김 ── */
/* page-*.php에서 the_content() 출력 안 하지만 혹시 남아있을 경우 대비 */
.page-editor-content { display: none !important; }

/* ── SNS 소셜 간격 ── */
.footer-social-row { gap: 8px !important; }
.footer-social-label { min-width: 30px !important; }

/* ════════════════════════════════════════
   MOBILE FIX — 전체 모바일 최적화
════════════════════════════════════════ */

/* ── 1. 헤더 로고 최적화 ── */
.logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }
@media (max-width: 960px) {
  .logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }
}

/* ── 2. 헤더 전화기 아이콘 빨간색 ── */
.mob-tel-icon { color: #e02020 !important; }
.mob-tel-icon svg { stroke: #e02020 !important; }

/* ── 3. 사이트맵 바 — 가로 1열 ── */
@media (max-width: 960px) {
  .footer-sitemap-inner { padding: 6px 16px !important; }
  .footer-sitemap-nav {
    display: flex !important;
    flex-direction: row !important;  /* ★ 가로 1열 */
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 0;
  }
  .fsm-group {
    flex: 1 !important;
    min-width: 0;
    padding: 0 8px !important;
    border-right: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: none !important;
    justify-content: center !important;
    text-align: center;
  }
  .fsm-group:first-child { padding-left: 0 !important; justify-content: flex-start !important; }
  .fsm-group:last-child  { border-right: none !important; padding-right: 0 !important; justify-content: flex-end !important; }
  .fsm-head {
    font-size: 10px !important;
    white-space: nowrap;
    padding: 3px 0 !important;
  }
}

/* ── 4. 모바일 하단 CTA — 전화기 빨간색 + 방문예약 빨간색 ── */
.mob-bottom-cta { display: flex; }
.mob-cta-tel {
  background: #fff !important;
  color: #e02020 !important;
  border-top: 2px solid #e02020 !important;
  border-right: 1px solid #f0c0c0 !important;
  font-weight: 700;
}
.mob-cta-tel svg { stroke: #e02020 !important; }
.mob-cta-reserve {
  background: #e02020 !important;
  color: #fff !important;
  font-weight: 700;
}

/* ── 5·6·8·9·10. 테이블 짤림 — 전체 스크롤 처리 ── */
.info-table {
  width: 100%;
  min-width: 0 !important;   /* 기존 min-width 제거 */
  border-collapse: collapse;
  font-size: 13.5px;
  table-layout: fixed;       /* ★ 고정 레이아웃 */
}
.info-table th {
  width: 90px !important;
  min-width: 80px;
  white-space: nowrap;
  font-size: 12.5px;
  padding: 10px 10px;
  vertical-align: top;
}
.info-table td {
  font-size: 13px;
  padding: 10px 10px;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.6;
}

/* 테이블 래퍼 — 스크롤 대신 줄바꿈 처리 */
.info-table-wrap {
  overflow-x: visible !important;  /* 스크롤 제거 */
  width: 100%;
}

/* ── 7·9. 이미지 꽉차게 ── */
/* 프리미엄·커뮤니티 이미지 */
.page-content-inner .img-block img,
.page-content-inner img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block;
}
.img-block {
  margin: 24px 0;
  overflow: hidden;
}

/* ── 6. 입지환경 카드 크기 균일 ── */
.loc-card-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0;
  border: 1px solid var(--gray-line);
}
.loc-card {
  padding: 20px 14px !important;
  border-right: 1px solid var(--gray-line) !important;
  border-bottom: 1px solid var(--gray-line) !important;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.loc-card:nth-child(2n) { border-right: none !important; }
.loc-card:nth-last-child(-n+2) { border-bottom: none !important; }
.loc-card-icon { font-size: 22px; margin-bottom: 8px; }
.loc-card-title { font-size: 13px; font-weight: 800; color: var(--navy); margin-bottom: 5px; }
.loc-card-desc  { font-size: 12px; color: var(--tx-3); line-height: 1.65; word-break: keep-all; }

/* ── 10. 세대안내 — 유닛 플랜 그리드 모바일 ── */
@media (max-width: 960px) {
  /* 유닛 이미지 — 모바일에서 꽉차게 */
  .unit-plan-grid {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
  .unit-plan-img {
    border: 1px solid var(--gray-line);
    background: var(--off);
    overflow: hidden;
  }
  .unit-plan-img img {
    width: 100% !important;
    height: auto !important;
    max-height: 320px;
    object-fit: contain !important;
    padding: 12px;
    display: block;
  }

  /* 서브페이지 전체 이미지 꽉차게 */
  .page-content-inner .ms-img-wrap img,
  .page-content-inner .img-block img {
    max-height: none !important;
    object-fit: cover !important;
  }

  /* 대표번호 테이블 */
  .info-table th { width: 80px !important; font-size: 12px; padding: 9px 8px; }
  .info-table td { font-size: 12.5px; padding: 9px 8px; }

  /* 세대안내 유닛 정보 */
  .unit-plan-info { padding-top: 4px; }
  .unit-area-num { font-size: 40px; }
}

@media (max-width: 560px) {
  /* 헤더 */
  #header { padding: 0 14px; height: 58px; }
  .logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }

  /* 테이블 */
  .info-table { font-size: 12px; }
  .info-table th { width: 72px !important; padding: 8px 6px; font-size: 11.5px; }
  .info-table td { padding: 8px 6px; font-size: 12px; }

  /* 유닛 */
  .unit-plan-img img { max-height: 260px; }
  .unit-area-num { font-size: 36px; }
  .unit-meta-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
  .unit-meta { padding: 10px; }
  .unit-meta-label { font-size: 9px; }
  .unit-meta-value { font-size: 13px; }

  /* 서브페이지 */
  .page-hero { padding: 78px 14px 32px; }
  .page-content-inner { padding: 0 14px !important; }
  .page-info-banner-inner { padding: 10px 14px; }
  .sub-nav-inner { padding: 0 14px; }

  /* 입지 카드 */
  .loc-card { padding: 16px 10px !important; min-height: 100px; }
  .loc-card-title { font-size: 12px; }
  .loc-card-desc  { font-size: 11px; }

  /* 사이트맵 가로 */
  .fsm-head { font-size: 9.5px !important; }

  /* 모바일 CTA */
  .mob-cta-tel, .mob-cta-reserve { font-size: 13px; padding: 13px 10px; }

  /* 연락처 그리드 */
  .contact-grid { grid-template-columns: 1fr; }
  .contact-item { border-right: none; border-bottom: 1px solid var(--gray-line); }
  .contact-item:last-child { border-bottom: none; }
  .c-value { font-size: 15px; }

  /* 버튼 */
  .cta-row { flex-direction: column; align-items: center; }
  .btn-primary, .btn-outline { width: 100%; max-width: 300px; justify-content: center; }
}

/* ── 테이블 모바일 최종 수정 ── */
.info-table-wrap {
  width: 100%;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  margin: 24px 0;
  border: 1px solid var(--gray-line);
}
.info-table-wrap .info-table {
  width: 100%;
  min-width: 360px;     /* 최소 너비 보장 */
  margin: 0 !important; /* 래퍼에 마진 있으므로 */
  border: none !important;
}
.info-table-wrap .info-table th,
.info-table-wrap .info-table td {
  border: 1px solid var(--gray-line);
}

/* 세대안내 유닛 이미지 — 모바일 꽉차게 */
@media (max-width: 960px) {
  .unit-plan-img {
    width: 100%;
    overflow: hidden;
  }
  .unit-plan-img img {
    width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain !important;
    padding: 8px !important;
    display: block;
  }

  /* 프리미엄·커뮤니티 메인 이미지 꽉차게 */
  .content-section + .img-block img,
  .img-block img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    padding: 0 !important;
  }
}

/* ════════════════════════════════════════
   FIX-13 패치
════════════════════════════════════════ */

/* ── 1. 헤더 로고 텍스트 — 모바일에서 글자 크기 조절 ── */
@media (max-width: 960px) {
  
  
  /* 로고 이미지도 줄이기 */
  .logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }
}
@media (max-width: 400px) {
  
  
}

/* ── 2. 모바일 하단 CTA 빨간 선 제거 ── */
.mob-bottom-cta {
  border-top: none !important;   /* ★ 빨간 선 제거 */
  box-shadow: 0 -2px 12px rgba(0,0,0,.1);
}
.mob-cta-tel {
  border-top: none !important;   /* ★ 개별 border-top 제거 */
  border-right: 1px solid #f0c0c0 !important;
  background: #fff !important;
  color: #e02020 !important;
}
.mob-cta-tel svg { stroke: #e02020 !important; }
.mob-cta-reserve {
  background: #e02020 !important;
  color: #fff !important;
  border-top: none !important;
}

/* ── 모바일 헤더 안정화 ── */
@media (max-width: 960px) {
  #header {
    height: 58px !important;
    padding: 0 14px !important;
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-nav { display: none !important; }
  .nav-reserve { display: none !important; }
  .header-mobile-right { display: flex !important; align-items: center; gap: 4px; }
  /* 로고 오버플로우 방지 */
  .logo { overflow: hidden; max-width: calc(100vw - 90px); }
  
}

/* ════════════════════════════════════════
   FIX-14: 헤더 완전 통일 + 이모지 전체 수정
════════════════════════════════════════ */

/* ── 헤더 PC 기본 ── */
#header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: #fff; border-bottom: 1px solid var(--gray-line);
  height: 64px; padding: 0 32px;
  display: flex; align-items: center; justify-content: space-between;
  transition: box-shadow .3s;
}
#header.scrolled { box-shadow: 0 4px 20px rgba(12,31,63,.08); }

/* ── 헤더 로고 ── */
.logo {
  flex-shrink: 0;
  display: flex; align-items: center;
  text-decoration: none;
  max-width: 200px;
}
.logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }




/* ── 모바일 헤더 ── */
.header-mobile-right {
  display: none;
  align-items: center;
  gap: 2px;
}
.mob-tel-icon {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  text-decoration: none;
}
.mob-tel-icon svg { display: block; }

.hamburger {
  display: flex; flex-direction: column; justify-content: center;
  align-items: center; gap: 5px;
  width: 40px; height: 40px;
  background: none; border: none; cursor: pointer; padding: 8px;
}
.hamburger span {
  display: block; width: 22px; height: 2px;
  background: var(--navy); border-radius: 2px;
  transition: all .3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── 모바일 분기점 ── */
@media (max-width: 960px) {
  #header { height: 58px !important; padding: 0 16px !important; }
  .header-nav { display: none !important; }
  .nav-reserve { display: none !important; }
  .header-mobile-right { display: flex !important; }
  .logo { max-width: calc(100vw - 100px); overflow: hidden; }
  .logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }
  
  
}
@media (max-width: 400px) {
  .logo-img { display: block !important; height: 34px; width: auto; max-width: 180px; object-fit: contain; image-rendering: -webkit-optimize-contrast; }
  
  
}

/* ── 모바일 하단 CTA 빨간선 완전 제거 ── */
.mob-bottom-cta {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 870;
  border-top: none !important;
  box-shadow: 0 -2px 10px rgba(0,0,0,.12);
}
.mob-cta-tel {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 14px 12px;
  background: #fff !important; color: #e02020 !important;
  font-size: 13.5px; font-weight: 700;
  border-top: none !important;
  border-right: 1px solid #f0c0c0 !important;
  text-decoration: none;
}
.mob-cta-reserve {
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: 14px 12px;
  background: #e02020 !important; color: #fff !important;
  font-size: 13.5px; font-weight: 700;
  border-top: none !important;
  text-decoration: none;
}

@media (max-width: 960px) {
  .mob-bottom-cta { display: flex !important; }
  body { padding-bottom: 54px; }
}


/* ════ 이모지 원래 크기 확정 (fix14 최종) ════ */
.quick-item-icon      { font-size: 17px; line-height: 1; }
.loc-4grid-icon       { font-size: 22px; line-height: 1; display: block; margin-bottom: 8px; }
.prem-4grid-icon      { font-size: 22px; line-height: 1; display: block; margin-bottom: 8px; }
.loc-card-icon        { font-size: 24px; line-height: 1; display: block; margin-bottom: 10px; }
.c-icon               { font-size: 26px; line-height: 1; display: block; margin-bottom: 8px; }
.page-info-banner-icon{ font-size: 15px; flex-shrink: 0; }

@media (max-width: 960px) {
  .quick-item-icon   { font-size: 15px; }
  .loc-4grid-icon    { font-size: 20px; }
  .prem-4grid-icon   { font-size: 20px; }
  .loc-card-icon     { font-size: 22px; }
  .c-icon            { font-size: 24px; }
}
@media (max-width: 560px) {
  .quick-item-icon   { font-size: 14px; }
  .loc-4grid-icon    { font-size: 18px; }
  .prem-4grid-icon   { font-size: 18px; }
  .loc-card-icon     { font-size: 20px; }
  .c-icon            { font-size: 22px; }
}


/* ════ 이모지 크기 강제 제한 — 최종 확정 ════ */

/* 모든 이모지 컨테이너 공통 */
.loc-card-icon,
.loc-4grid-icon,
.prem-4grid-icon,
.c-icon,
.page-info-banner-icon,
.quick-item-icon,
.prem-row-num + div .prem-row-title,
.info-acc-q-text span:first-child {
  font-size: 24px !important;
  max-height: 32px !important;
  overflow: hidden !important;
  line-height: 1 !important;
  display: block !important;
}

/* 카드별 개별 크기 */
.loc-card-icon        { font-size: 26px !important; max-height: 34px !important; }
.loc-4grid-icon       { font-size: 24px !important; max-height: 30px !important; }
.prem-4grid-icon      { font-size: 24px !important; max-height: 30px !important; }
.c-icon               { font-size: 28px !important; max-height: 36px !important; }
.quick-item-icon      { font-size: 17px !important; max-height: 22px !important; }
.page-info-banner-icon{ font-size: 15px !important; max-height: 20px !important; }

/* ★ loc-card 자체 높이 제한 제거 — 이모지가 카드 전체를 차지하지 않도록 */
.loc-card {
  padding: 20px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* ★ c-icon (방문예약 연락처 카드) */
.contact-item {
  padding: 24px 16px !important;
  text-align: center !important;
}
.c-icon {
  font-size: 28px !important;
  max-height: 36px !important;
  margin: 0 auto 8px !important;
  display: block !important;
}

/* ★ loc-card-grid — PC 4열 */
.loc-card-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

/* 모바일 */
@media (max-width: 960px) {
  .loc-card-icon   { font-size: 22px !important; max-height: 28px !important; }
  .loc-4grid-icon  { font-size: 20px !important; max-height: 26px !important; }
  .prem-4grid-icon { font-size: 20px !important; max-height: 26px !important; }
  .c-icon          { font-size: 24px !important; max-height: 30px !important; }
  .quick-item-icon { font-size: 15px !important; max-height: 20px !important; }
}
@media (max-width: 560px) {
  .loc-card-icon   { font-size: 20px !important; max-height: 26px !important; }
  .loc-4grid-icon  { font-size: 18px !important; max-height: 24px !important; }
  .prem-4grid-icon { font-size: 18px !important; max-height: 24px !important; }
  .c-icon          { font-size: 22px !important; max-height: 28px !important; }
}


/* ════ 로고 최종 확정 ════ */
.logo-img {
  display: block !important;
  height: 34px !important;
  width: auto;
  max-width: 200px;
  object-fit: contain;
}
/* fallback — !important 없어야 inline style(onerror)이 동작함 */




/* 모바일 로고 크기 */
@media (max-width: 960px) {
  .logo-img  { height: 26px !important; max-width: 150px; }
  
  
}
@media (max-width: 480px) {
  .logo-img  { height: 22px !important; max-width: 130px; }
  
}
@media (max-width: 360px) {
  .logo-img  { height: 20px !important; max-width: 110px; }
  
}


/* ════ 헤더 로고 최종 확정 ════ */

/* 헤더 항상 흰색 배경 — 어떤 페이지에서도 동일 */
#header {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 9999 !important;
  background: #fff !important;
  border-bottom: 1px solid var(--gray-line) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* 로고 이미지 항상 보임 */
.logo { display: flex !important; align-items: center; text-decoration: none; flex-shrink: 0; }
.logo-img {
  display: block !important;
  height: 34px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* fallback — !important 없어야 onerror inline style이 동작 */




/* ── 모바일에서만 로고 작게 ── */
@media (max-width: 960px) {
  #header { height: 56px !important; padding: 0 14px !important; }
  .logo-img  { height: 22px !important; max-width: 130px !important; }
  
  
}
@media (max-width: 480px) {
  .logo-img  { height: 20px !important; max-width: 115px !important; }
  
  
}
@media (max-width: 360px) {
  .logo-img  { height: 18px !important; max-width: 100px !important; }
}


/* ════ FIX-15: SVG 아이콘 크기 고정 ════ */
.c-icon svg,
.loc-card-icon svg,
.loc-4grid-icon svg,
.prem-4grid-icon svg,
.quick-item-icon svg,
.page-info-banner-icon svg {
  display: block !important;
  flex-shrink: 0 !important;
}
.c-icon        { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; margin: 0 auto 8px; }
.loc-card-icon { width: 30px; height: 30px; display: block; margin-bottom: 10px; }
.loc-4grid-icon{ width: 26px; height: 26px; display: block; margin-bottom: 8px; }
.prem-4grid-icon{ width: 26px; height: 26px; display: block; margin-bottom: 8px; }
.quick-item-icon{ width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; margin: 0 auto 6px; }
.page-info-banner-icon { width: 18px; height: 18px; display: inline-flex; align-items: center; }

/* 로고 — 이미지만, fallback 없음 */
.logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.logo-img {
  display: block !important;
  height: 34px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
}
@media (max-width: 960px) {
  .logo-img { height: 22px !important; max-width: 130px !important; }
}
@media (max-width: 480px) {
  .logo-img { height: 20px !important; max-width: 115px !important; }
}
@media (max-width: 360px) {
  .logo-img { height: 18px !important; max-width: 100px !important; }
}


/* ════ FIX-15: info-acc-links 이모지 크기 + 기타 ════ */

/* 분양안내 아코디언 링크 버튼 내 이모지 크기 고정 */
.info-acc-links a {
  font-size: 13px !important;
  line-height: 1.4;
}
/* 이모지 문자 크기를 CSS로 제한 */
.info-acc-links a::first-line { font-size: 13px; }

/* 이모지 포함 텍스트 전체를 작게 */
.info-acc-links { font-size: 13px; }
.info-acc-links * { font-size: 13px !important; }

/* q-text 내 SVG 크기 제한 */
.info-acc-q-text svg { width: 16px !important; height: 16px !important; vertical-align: middle; }

/* 분양안내 a 버튼 내 SVG */
.info-acc-links a svg { width: 14px !important; height: 14px !important; vertical-align: middle; }

/* 분양안내 이모지 텍스트 강제 축소 */
.info-acc-a-inner a,
.info-acc-ext-links a {
  font-size: 13px !important;
}

/* 84A 메뉴 link — WordPress 관리자 메뉴에서도 수정 필요 */
/* (functions.php nav_menu_link_attributes 필터로 PHP 수정 완료) */
