/* 숙소 상세 소개 본문 (블로그식, 눈에 보이는 제목 없음·aria-label 로 영역 이름 유지). inline style 없이 클래스만 쓴다. */
.villa-body .vb-content{max-width:760px;margin:0 auto;font-size:16px;line-height:1.95;color:var(--ink,#102a37)}
.villa-body .vb-content>*{margin-top:0}
.villa-body .vb-content p{margin:0 0 .75em;color:var(--ink,#102a37);line-height:1.95;overflow-wrap:anywhere}
.villa-body .vb-content h2{font-size:24px;line-height:1.5;margin:1.8em 0 .7em;letter-spacing:-.5px}
.villa-body .vb-content h3{font-size:19px;line-height:1.55;margin:1.6em 0 .6em;letter-spacing:-.3px}
.villa-body .vb-content hr{border:0;border-top:1px solid var(--line,#dbe3e7);margin:1.8em 0}
.villa-body .vb-content ul{margin:0 0 1.1em;padding-left:1.3em}
.villa-body .vb-content li{margin:.3em 0}
.villa-body .vb-content a{color:var(--blue,#007f98);text-decoration:underline;text-underline-offset:3px}
.villa-body .vb-fig{margin:1.6em 0}
.villa-body .vb-frame{aspect-ratio:3/2;background:var(--pale,#eff5f7);border-radius:10px;overflow:hidden}
.villa-body .vb-frame img{display:block;width:100%;height:100%;object-fit:cover}
.villa-body figcaption{font-size:13px;color:var(--muted,#5a6c75);margin-top:8px;text-align:center}
.villa-body .vb-quote{margin:1.8em 0;padding:18px 22px;border-left:4px solid var(--blue,#007f98);background:var(--pale,#eff5f7);border-radius:0 10px 10px 0}
.villa-body .vb-quote p{margin:0;font-size:17px;line-height:1.85}
.villa-body .vb-video{margin:1.6em 0}
.villa-body .vb-video a{display:inline-block;padding:12px 18px;border:1px solid var(--line,#dbe3e7);border-radius:8px;text-decoration:none;font-weight:650}
/* 2026-10-09 소개 블로그 제목·본문 가운데 정렬. 폭(max-width 760px)·줄바꿈(overflow-wrap)·줄간격은 그대로 둔다. */
.villa-body,.villa-body .vb-content,.villa-body .vb-content p,.villa-body .vb-content h2,.villa-body .vb-content h3,.villa-body .vb-content li,.villa-body .vb-quote p{text-align:center}
.villa-body .vb-content ul{list-style-position:inside;padding-left:0}
/* 2026-10-09 소개 블로그 위·아래 구분선: 눈에 보이는 제목을 없애는 대신 앞뒤 섹션과 얇은 가로선으로 구분한다(.detail-main section 의 padding·border-bottom 과 같은 값). */
.detail-main .villa-body{border-top:1px solid var(--line,#dbe3e7);border-bottom:1px solid var(--line,#dbe3e7)}
/* 접기: JS 없이 체크박스. 접힌 상태에서도 글자는 HTML 에 그대로 있다. */
.villa-body .vb-open{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.villa-body.vb-collapsible .vb-content{position:relative;max-height:900px;overflow:hidden}
.villa-body.vb-collapsible .vb-content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(to bottom,rgba(245,248,253,0),var(--bg,#f5f8fd));pointer-events:none}
.villa-body .vb-open:checked~.vb-content{max-height:none;overflow:visible}
.villa-body .vb-open:checked~.vb-content::after{display:none}
.villa-body .vb-more{display:flex;margin:18px auto 0;width:max-content;cursor:pointer}
.villa-body .vb-open:focus-visible~.vb-more{outline:3px solid #14829c;outline-offset:4px}
.villa-body .vb-more-close{display:none}
.villa-body .vb-open:checked~.vb-more .vb-more-open{display:none}
.villa-body .vb-open:checked~.vb-more .vb-more-close{display:inline}
@media(max-width:700px){
  .villa-body .vb-content{font-size:16px;line-height:1.9}
  .villa-body .vb-content h2{font-size:21px}
  .villa-body .vb-content h3{font-size:18px}
  .villa-body.vb-collapsible .vb-content{max-height:760px}
  .villa-body .vb-quote{padding:14px 16px}
}
@media(prefers-reduced-motion:reduce){.villa-body *{transition:none!important}}
