/* 올굿토탈홈케어 — split 테마 / 인디고 팔레트 */
:root{
  --primary:#2A3573;
  --accent:#5B6FD6;
  --ink:#1B1D24;
  --sub:#6B7280;
  --line:#E5E5E5;
}
html{scroll-behavior:smooth;}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink);
  word-break:keep-all;
  overflow-wrap:break-word;
  background:#fff;
}
.prose-body{max-width:68ch;}
.eyebrow{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
}
.hairline{border-color:var(--line);}
.rounded-split{border-radius:10px;}

/* 히어로 글씨 그림자 (오버레이 대신 텍스트 그림자로 가독성 확보) */
.hero-text-shadow{
  text-shadow:0 2px 10px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.5);
}
.hero-overlay-bottom{
  background:linear-gradient(to top, rgba(0,0,0,.36), rgba(0,0,0,0) 55%);
}

/* 카드 그리드 — 열 수 고정, auto-fit/auto-fill 미사용 */
.grid-3col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-3col{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.grid-2col-fixed{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-2col-fixed{grid-template-columns:repeat(4,minmax(0,1fr));}
}
/* 3개 카드 그리드 — 모바일 반드시 1열 */
.grid-3item{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-3item{grid-template-columns:repeat(3,minmax(0,1fr));}
}

.hover-lift{transition:transform .25s ease;}
.hover-lift:hover{transform:translateY(-3px);}
.hover-zoom img{transition:transform .4s ease;}
.hover-zoom:hover img{transform:scale(1.03);}

.phone-enc::after,
.phone-link-enc::after,
.sms-link-enc::after{content:'';}

/* 모바일 햄버거 메뉴 */
.mobile-menu{transform:translateX(100%);transition:transform .25s ease;}
.mobile-menu.open{transform:translateX(0);}

/* 라이트박스 (단일 사진) */
.lightbox{position:fixed;inset:0;background:rgba(15,17,30,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:1.5rem;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}

/* 단일사진 갤러리 */
.grid-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-gallery{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.gal-card{cursor:pointer;background:#fff;}
.gal-thumb-wrap{aspect-ratio:4/5;overflow:hidden;}
.gal-caption{padding:.75rem .9rem;font-size:.85rem;color:var(--sub);font-weight:600;}

/* 전후사진 페어 갤러리 — 한 카드 안에 전/후 이미지 두 장 */
.grid-gallery-pair{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
}
@media(min-width:768px){
  .grid-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));}
}
.gal-card-pair{background:#fff;}
.gal-pair-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px;
  background:var(--line);
}
.gal-pair-thumb{position:relative;aspect-ratio:4/5;overflow:hidden;cursor:pointer;background:#000;}
.gal-pair-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.gal-pair-badge{
  position:absolute;top:.5rem;left:.5rem;z-index:2;
  font-size:.68rem;font-weight:800;letter-spacing:.04em;
  padding:.25rem .55rem;border-radius:999px;
  background:rgba(15,17,30,.72);color:#fff;
}
.gal-pair-badge-after{background:var(--accent);}

/* 상단 고정 헤더 블러 */
.header-blur{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

/* split 테마 — 좌우 분할 컬러 블록 */
.split-block{
  background:var(--primary);
  color:#fff;
}
.split-eyebrow{
  color:rgba(255,255,255,.75);
}
