/* =========================================================
   기본 레이아웃 (외부 템플릿 없이 직접 작성)
   Bootstrap 3 위에 사이트 공통 구조만 정의합니다. 색·세부 디자인은 custom.css
   ========================================================= */
html, body { overflow-x: clip; }  /* hidden 은 상단 고정 메뉴(sticky)를 깨뜨림 */
body { margin: 0; background: #fff; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { transition: color .15s; }
h1, h2, h3, h4 { margin-top: 0; }

/* 헤더: 스크롤해도 위에 고정 */
.site-header { position: sticky; top: 0; z-index: 1030; background: #fff; }
.site-header .navbar { margin-bottom: 0; border-radius: 0; border: none; background: #fff; min-height: 74px; }
.site-header .navbar-header { min-height: 74px; }
.navbar-brand { padding: 0 15px; }
.navbar-toggle { margin-top: 18px; border: 1px solid #dbe5e3; border-radius: 6px; padding: 8px 11px; color: #0f9488; background: #fff; }
.navbar-toggle:hover, .navbar-toggle:focus { background: #e7f5f3 !important; }
.navbar-buttons { float: right; }
@media (max-width: 991px) {
  .navbar-header { float: none; }
  .navbar-toggle { display: block; }
  .navbar-collapse { border-top: 1px solid #e3ebea; }
  .navbar-collapse.collapse { display: none !important; }
  .navbar-collapse.collapse.in { display: block !important; }
  .navbar-nav { float: none !important; margin: 6px -15px; }
  .navbar-nav > li { float: none; }
  .navbar-right { float: none !important; }
}

/* 섹션 공통 */
.bar { position: relative; padding: 80px 0; }
.bar.background-white { background: #fff; }
.heading { text-align: center; }
.no-mb { margin-bottom: 0; }

/* 짙은 배경 섹션(치료후기 띠) */
.dark-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
.bar.color-white, .bar.color-white p { color: #fff; }
.bar .container { position: relative; }
.icon { display: inline-block; width: 80px; height: 80px; line-height: 78px; border-radius: 50%; border: 2px solid #fff; color: #fff; font-size: 28px; text-align: center; }

/* 버튼 */
.btn-template-main { color: #0f9488; background: #fff; border: 1px solid #0f9488; }
.btn-template-main:hover, .btn-template-main:focus { color: #fff; background: #0f9488; }
.btn-template-transparent-black, .btn-template-transparent-primary { color: #fff; background: transparent; border: 1px solid #fff; }
.btn-template-transparent-black:hover, .btn-template-transparent-primary:hover { color: #0b6f66; background: #fff; }

/* 이미지 카드 (칼럼·영상) */
.box-image-text { position: relative; margin: 15px 0; text-align: center; }
.box-image-text .top { position: relative; overflow: hidden; }
.box-image-text .top .bg { position: absolute; inset: 0; opacity: 0; transition: opacity .2s; pointer-events: none; }
.box-image-text .top .text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .2s; }
.box-image-text .top .text .buttons { margin: 0; }
.box-image-text:hover .top .bg { opacity: .7; }
.box-image-text:hover .top .text { opacity: 1; }
.box-image-text .content h4 { font-weight: 700; }
.box-image-text.blog .author-category { color: #8a96a2; font-size: 13px; }

/* 푸터 */
#footer { padding: 50px 0 40px; }
#footer h4 { font-size: 16px; font-weight: 700; margin-bottom: 16px; }
#copyright { padding: 26px 0; font-size: 13px; }
#copyright p { margin: 0; }

/* 404 */
.page-404 { font-size: 34px; font-weight: 800; margin-bottom: 12px; }
