.branch-map-wrap { margin: 20px 0 30px; }
.branch-map { width: 100%; border-radius: 10px; overflow: hidden; }

.branch-cards { display: grid; gap: 20px; }

/* 데스크탑: 3칸 고정 */
.branch-cards.grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

/* 필요 시: 2칸/1칸 버전 유지 */
.branch-cards.grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.branch-cards.grid.cols-1 { grid-template-columns: 1fr; }

/* 태블릿: 2칸 */
@media (max-width: 1024px){
  .branch-cards.grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
}

/* 모바일: 1칸 */
@media (max-width: 640px){
  .branch-cards.grid { grid-template-columns: 1fr; }
}


.branch-card { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.07); display:flex; flex-direction:column; }
.branch-card .card-image { padding-top:56%; background-size:cover; background-position:center; }
.branch-card .card-body { padding:16px; }
.branch-card .card-title { margin:0 0 8px; font-weight:800; font-size:18px; }
.branch-card .card-phone a { text-decoration:none; font-weight:600; }
.branch-card .card-address { color:#555; margin:8px 0 16px; line-height:1.5; }
.branch-card .btn-view { display:inline-block; padding:10px 14px; border-radius:10px; background:#e67300; color:#fff; text-decoration:none; font-weight:700; transition:transform .06s ease, box-shadow .2s ease; }
.branch-card .btn-view:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.12); }
.branch-map { min-height: 300px; } /* height는 shortcode로, min-height는 안전장치 */

/* Single Branch */
.branch-hero{position:relative;background:#eef3f6 center/cover no-repeat;padding:72px 0}
.branch-hero .inner{max-width:1100px;margin:0 auto;padding:0 16px}
.branch-hero .title{font-size:36px;font-weight:800;margin:0}
.branch-hero .subtitle{margin-top:6px;color:#667}

/* ▼ 교체: 브랜치 화면에서의 본문 컨테이너만 제한 */
.single-branch .site-content .container,
.post-type-archive-branch .site-content .container,
.page-template-branches .site-content .container{max-width:1200px;margin:0 auto;padding:24px 16px}

.contact-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.contact-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.contact-card .label{font-size:12px;color:#7a7a7a;margin-bottom:6px}
.contact-card .value{font-weight:700;text-decoration:none}

.map-actions{margin:10px 0 0}
.map-actions .btn-view{display:inline-block;padding:8px 12px;border-radius:10px;background:#e67300;color:#fff;text-decoration:none;font-weight:700}

.branch-info details{background:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.06);padding:12px 16px;margin:10px 0}
.branch-info summary{font-weight:700;cursor:pointer;list-style:none}
.branch-info summary::-webkit-details-marker{display:none}
.branch-info .detail-body{margin-top:10px;line-height:1.6}

@media (max-width: 900px){
  .contact-grid{grid-template-columns:1fr}
}

/* Layout helpers */
/* ▼ 교체: 전역 .page .container → 브랜치 화면 한정 */
.single-branch .page .container,
.post-type-archive-branch .page .container,
.page-template-branches .page .container{max-width:1200px;margin:0 auto;padding:24px 16px}

/* Hero */
.branch-hero{position:relative;background:#eef3f6 center/cover no-repeat;min-height:220px;display:flex;align-items:flex-end}
.branch-hero.has-bg .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,0) 100%)}
.branch-hero .inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:28px 16px 18px 16px;width:100%}
.branch-hero .title{font-size:40px;line-height:1.15;font-weight:800;margin:0;color:#fff}
.branch-hero .subtitle{margin-top:6px;color:#e6eef5;font-weight:600}

/* Summary bar */
.branch-summary .summary-row{display:grid;grid-template-columns:2fr 5fr 1fr;gap:16px;background:#fff;border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.branch-summary .item .k{font-size:12px;color:#7a7a7a;margin-bottom:4px}
.branch-summary .item .v{font-weight:700}
.branch-summary .item.action{display:flex;align-items:end;justify-content:flex-end}
.btn-view{display:inline-block;padding:10px 14px;border-radius:10px;background:#e67300;color:#fff;text-decoration:none;font-weight:700;}

/* Map */
.branch-map-wrap.elevated{border-radius:14px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.08);}

/* Details (accordion) */
.branch-info details{background:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.06);padding:12px 16px;margin:12px 0}
.branch-info summary{font-weight:700;cursor:pointer;list-style:none}
.branch-info summary::-webkit-details-marker{display:none}
.branch-info .detail-body{margin-top:10px;line-height:1.65}

/* Responsive */
/* 모바일: 1칸 고정 */
@media (max-width: 640px){
  .branch-cards.grid,
  .branch-cards.grid.cols-3,
  .branch-cards.grid.cols-2 {
    grid-template-columns: 1fr !important;
  }
  .branch-card { margin: 0; }
  .branch-card .card-body { padding: 14px; }
}

.branch-subtitle {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 16px;
}
/* 본문 타이틀(한글/영문) */
.branch-title-kr { font-size: 32px; font-weight: 800; margin: 0 0 4px; }
.branch-title-en { font-size: 26px; font-weight: 700; color: #5aa0ad; margin: 0 0 14px; }

/* 히어로는 배경만 사용 – 높이 유지, 텍스트 없음 */
.branch-hero{position:relative;background:#eef3f6 center/cover no-repeat;min-height:180px}
.branch-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.06) 60%,rgba(0,0,0,0) 100%)}

/* 본문 타이틀(한글/영문) */
.branch-title-kr { font-size: 32px; font-weight: 800; margin: 0 0 4px; }
.branch-title-en { font-size: 26px; font-weight: 700; color: #5aa0ad; margin: 0 0 14px; }

/* 히어로는 배경만 사용 – 높이 유지, 텍스트 없음 */
.branch-hero{position:relative;background:#eef3f6 center/cover no-repeat;min-height:180px}
.branch-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.06) 60%,rgba(0,0,0,0) 100%)}

/* === MyCampervan 맞춤 어코디언 === */
.mc-accordion { display: grid; gap: 12px; }
.mc-acc-item { background:#fff; border-radius:14px; box-shadow:0 8px 20px rgba(0,0,0,.06); overflow:hidden; }
.mc-acc-head { width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; background:#fff; border:none; outline:none; cursor:pointer; }
.mc-acc-title { font-weight:800; font-size:16px; }
.mc-acc-icon { transition: transform .2s ease; color:#888; }
.mc-acc-item.is-open .mc-acc-icon { transform: rotate(180deg); color:#e67300; }

.mc-acc-panel { height:0; overflow:hidden; transition: height .24s ease; background:#fff; }
.mc-acc-body { padding:0 18px 16px 18px; line-height:1.65; color:#333; }

.mc-acc-item.is-open .mc-acc-panel { /* height는 JS에서 계산하여 세팅 */ }
.mc-acc-head:hover .mc-acc-title { color:#e67300; }

/* 버튼/링크 톤 맞춤 */
.mc-acc-body a { color:#e67300; text-decoration:underline; }

/* Hero (featured image + title) */
.page-hero {
  margin: 16px 0 28px;
}
.page-hero__bg {
  position: relative;
  height: 260px;              /* 필요 시 320~420px로 키우세요 */
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.page-hero__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.35); /* 어둡게 */
}
.page-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;          /* 카드/지도 폭과 동일 정렬 */
  margin: 0 auto;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 24px;
  color: #fff;
}
.page-hero__title {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0 0 6px;
}
.page-hero__subtitle {
  font-size: 16px;
  opacity: .9;
  margin: 0;
}

@media (max-width: 640px){
  .page-hero__bg { height: 200px; }
  .page-hero__title { font-size: 30px; }
}
/* ─── Slim Titlebar (왼쪽 예시 모양) ───────────────────────────── */
.titlebar-slim { margin: 0 0 18px; } /* 아래쪽만 여백 */
.titlebar-slim__bg{
  height: 400px;                         /* 얇은 바 높이 */
  background-size: cover;
  background-position: center;
  border-radius: 0px;
  overflow: hidden;
}
.titlebar-slim__inner{
  max-width: 1200px;                    /* 카드/지도와 폭 맞춤 */
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;               /* 좌측 정렬 */
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.titlebar-slim__title{
  margin: 0;
  font-size: 28px;                      /* 왼쪽 예시처럼 과하지 않게 */
  font-weight: 800;
  line-height: 1.1;
}
.titlebar-slim__subtitle{
  margin: 2px 0 0;
  font-size: 14px;
  opacity: .9;
}

@media (max-width: 640px){
  .titlebar-slim__bg { height: 60px; }
  .titlebar-slim__title { font-size: 22px; }
}
/* 히어로 제목/부제목은 항상 흰색 + 가독성 향상 */
.titlebar-slim__title,
.titlebar-slim__subtitle {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

/* 모바일 최적화 */
@media (max-width: 640px){
  .titlebar-slim         { margin: 6px 0 14px; }
  .titlebar-slim__bg     { height: 120px; background-position: center; }
  .titlebar-slim__inner  { max-width: none; padding: 0 16px; align-items: flex-start; }
  .titlebar-slim__title  { font-size: 26px; line-height: 1.15; margin: 0; }
  .titlebar-slim__subtitle { font-size: 13px; margin-top: 2px; opacity: .95; }
}

/* 카드/지도와 간격 살짝 띄우기 */
/* ▼ 교체: 전역 .page → 브랜치 화면 한정 */
.single-branch .page .branch-cards,
.post-type-archive-branch .page .branch-cards,
.page-template-branches .page .branch-cards { margin-top: 16px; }

/* 태블릿 이하에서 좌우 패딩 확보(부트스트랩 컨테이너 보정) */
/* ▼ 교체: 문법 수정 + 범위 축소(콤마 추가 및 브랜치 화면 한정) */
@media (max-width: 992px){
  .single-branch .page-section .container,
  .post-type-archive-branch .page-section .container,
  .page-template-branches .page-section .container,
  .single-branch .with-sidebar.sub-page .container,
  .post-type-archive-branch .with-sidebar.sub-page .container,
  .page-template-branches .with-sidebar.sub-page .container {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ─────────────────────────────────────────────
   [single-branch] 히어로 문구: 왼쪽 아래 정렬
   ───────────────────────────────────────────── */

/* 히어로 컨테이너가 flex가 아닐 수도 있으니 강제로 flex로 바꿔 좌하단 정렬 */
.single-branch .titlebar,
.single-branch .page-title-wrap,
.single-branch .hero,
.single-branch .bt_bb_port, 
.single-branch .bt_bb_section > .bt_bb_port,
.single-branch .rentit-titlebar,
.single-branch .page-header,
.single-branch .entry-header {
  display: flex !important;
  align-items: flex-end !important;   /* 수직: 아래 */
  justify-content: flex-start !important; /* 수평: 왼쪽 */
  text-align: left !important;
  min-height: 280px; /* 필요시 조절 */
}

/* 실제 텍스트 블록(제목, 도시 라벨)에 여백 부여 */
.single-branch .titlebar .container,
.single-branch .page-title-wrap .container,
.single-branch .hero .container,
.single-branch .bt_bb_headline_content,
.single-branch .entry-header .container,
.single-branch .rentit-titlebar .container {
  margin-left: 24px !important;
  margin-bottom: 24px !important;
}

/* 제목/부제(도시) 텍스트 좌측 정렬 보장 */
.single-branch h1.page-title,
.single-branch .entry-title,
.single-branch .bt_bb_headline,
.single-branch .bt_bb_headline_subheadline,
.single-branch .page-subtitle {
  text-align: left !important;
}

/* ─────────────────────────────────────────────
   [single-branch] 아래쪽 중복 제목 숨김
   ───────────────────────────────────────────── */
.single-branch .content-area .entry-title,
.single-branch .post .post-title,
.single-branch .site-content .entry-header + .entry-title,
.single-branch .page-title-wrap + * .entry-title {
  display: none !important;
}
