/* 스노우의원 공통 스타일 (build.py가 dist/assets/style.css로 복사) */
:root{
  --blue:#1f6fd1; --blue-dark:#16529c; --blue-soft:#eaf3fd;
  --ink:#1b2430; --sub:#5b6776; --line:#e3e9f0; --bg:#ffffff; --bg2:#f6f9fc;
  --kakao:#fee500; --radius:14px; --max:1080px; --img-bg:#efede9;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;word-break:keep-all}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}

/* ===== 상단 배너 (병원명) ===== */
.top-banner{position:relative;background:#1c2736 url(/images/common/top.jpg) center/cover no-repeat}
.top-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,36,.15),rgba(12,22,36,.45))}
.brand{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 10px;min-height:120px;align-content:center;padding:20px 16px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);letter-spacing:-.5px}
.brand-main{font-size:32px;font-weight:800}
.brand-branch{font-size:24px;font-weight:600;opacity:.95}

/* ===== 상단 고정 그리드 액션바 ===== */
.action-bar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(20,60,120,.06)}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:7px 16px;max-width:560px;margin:0 auto}
.action-grid a{display:flex;align-items:center;justify-content:center;gap:4px;height:36px;border-radius:8px;font-weight:700;font-size:13px}
.btn-kakao{background:var(--kakao);color:#3a1d1d}
.btn-call{background:var(--blue);color:#fff}
.btn-event{background:var(--blue-soft);color:var(--blue-dark);border:1px solid #cfe2f8}

/* ===== 브레드크럼 ===== */
.breadcrumb{font-size:13px;color:var(--sub);padding:12px 0 0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb li+li::before{content:"›";margin-right:6px;color:#9aa6b4}
.breadcrumb a{color:var(--blue-dark)}

/* ===== 히어로 ===== */
.hero{background:linear-gradient(180deg,var(--blue-soft),#fff);padding:36px 0 36px}
.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}
.eyebrow{display:inline-block;background:#fff;border:1px solid #cfe2f8;color:var(--blue);font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px;margin-bottom:14px}
h1{font-size:34px;line-height:1.35;letter-spacing:-.8px;margin-bottom:14px}
h1 em{font-style:normal;color:var(--blue)}
.hero p{color:var(--sub);font-size:16px;margin-bottom:22px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.hero-cta a{padding:12px 20px;border-radius:10px;font-weight:700;font-size:15px}
.hero-img{width:100%;height:auto;aspect-ratio:936/610;object-fit:cover;border-radius:var(--radius);background:var(--bg2)}
/* 세로형 장비 사진은 잘리지 않게 contain */
.hero-img.fit-contain,.hero-img.is-fallback{object-fit:contain;background:var(--img-bg)}

/* ===== 섹션 공통 ===== */
section{padding:52px 0;scroll-margin-top:64px} /* 고정 액션바에 제목이 가려지지 않게 */
section.alt{background:var(--bg2)}
h2{font-size:26px;letter-spacing:-.6px;margin-bottom:8px}
.sec-desc{color:var(--sub);margin-bottom:26px}
h3{font-size:18px;letter-spacing:-.3px;margin-bottom:6px}
.prose p{font-size:16px;color:#36414f;margin-bottom:12px}
.prose a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}

/* 시술 카드 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(20,60,120,.08)}
.card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--img-bg)}
.card-body{padding:14px 16px 16px}
.card-body p{font-size:14px;color:var(--sub)}

/* 추천 대상 */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.feature .num{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:14px;margin-bottom:10px}
.feature p{font-size:14.5px;color:var(--sub)}

/* 진료 과정 */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:step}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;counter-increment:step}
.steps li::before{content:"STEP " counter(step);display:block;font-size:12px;font-weight:800;color:var(--blue);margin-bottom:6px}
.steps p{font-size:14px;color:var(--sub)}

/* 장비 */
.equip{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.equip-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.equip-item img{width:120px;height:120px;object-fit:cover;border-radius:10px;background:var(--img-bg)}
.equip-item .tag{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:2px 8px;border-radius:999px;margin-bottom:6px}
.equip-item p{font-size:14px;color:var(--sub)}

/* 주의사항 */
.notice-list{list-style:none;display:grid;gap:10px;margin-top:12px}
.notice-list li{background:#fff;border-left:4px solid var(--blue);padding:12px 16px;border-radius:8px;font-size:15px}

/* 진료정보 */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.info-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.info-box table{width:100%;border-collapse:collapse;font-size:15px}
.info-box th,.info-box td{text-align:left;padding:8px 0;border-bottom:1px dashed var(--line)}
.info-box th{width:90px;color:var(--sub);font-weight:600}

/* ===== 아코디언 공통 (FAQ / 하단 내부 링크) ===== */
.kw-nav details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.kw-nav summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px}
.kw-nav summary::-webkit-details-marker{display:none}
.kw-nav summary::after{content:"+";font-size:20px;color:var(--blue);transition:transform .2s;flex-shrink:0}
.kw-nav details[open] summary::after{transform:rotate(45deg)}
.kw-nav details[open] summary{border-bottom:1px solid var(--line);background:var(--blue-soft)}
.kw-nav h3{margin:22px 0 10px}
.faq .faq-a{padding:14px 18px 18px;color:var(--sub);font-size:15px}
.kw-links{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 18px}
.kw-links a{font-size:14px;padding:6px 12px;border:1px solid #cfe2f8;border-radius:999px;color:var(--blue-dark);background:#fff}
.kw-links a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.kw-links a.hub{background:var(--blue-soft);font-weight:700}

/* ===== 푸터 ===== */
footer{background:#17202b;color:#aeb8c4;font-size:13.5px;padding:36px 0 90px}
footer strong{color:#fff;font-size:15px}
footer .biz{margin:10px 0 16px;line-height:1.9}
footer .legal{border-top:1px solid #2c3a4a;padding-top:14px;color:#8794a3;font-size:12.5px}

/* 세부 진료 안내 카드 (시술 허브 → /geomdan-*/ 주제 페이지) */
.topic-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.topic-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .15s,transform .15s}
.topic-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.topic-card .tag{font-size:12px;font-weight:700;color:var(--blue);margin-bottom:6px}
.topic-card h3{flex:1;margin-bottom:12px}
.topic-card .more{font-size:13px;font-weight:700;color:var(--blue)}

/* 지역 페이지의 시술 블록 (/wondang/#acne) */
.t-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.t-block{display:grid;grid-template-columns:120px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;scroll-margin-top:70px}
.t-block:target{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.t-block img{width:120px;height:120px;object-fit:cover;border-radius:10px;background:var(--img-bg)}
.t-block .tag{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);margin-bottom:4px}
.t-block p{font-size:14.5px;color:var(--sub);margin:4px 0 10px}
.t-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.t-links a{font-size:12.5px;padding:3px 10px;border-radius:999px;background:var(--bg2);color:#36414f}
.t-links a.t-more{background:var(--blue);color:#fff;font-weight:700}

@media (max-width:820px){
  .t-blocks{grid-template-columns:1fr}
  .t-block{grid-template-columns:84px 1fr;gap:12px}
  .t-block img{width:84px;height:84px}
  .topic-cards{grid-template-columns:1fr}
  .hero-inner,.info-grid,.equip,.features{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .brand{min-height:100px}
  .brand-main{font-size:28px}
  .brand-branch{font-size:21px}
  h1{font-size:26px}
  h2{font-size:22px}
  section{padding:40px 0}
}
