/* 공통 UX 레이어 — 모든 템플릿 </head> 직전에 로드. 템플릿별 인라인 CSS를 덮어쓴다. */

/* ── 섹션 구분 ── */
.section,.cta-wrap,.cta-section{position:relative}
.section{padding:4.5rem 1.5rem}
.section + .section{border-top:1px solid var(--border)}
.section-alt{background:var(--bg3)}
.section-inner > .section-label{display:block;width:max-content;max-width:100%}

/* ── 제목 위계: label → h2(굵은 막대) → sub → h3(카드 제목) ── */
.section-title,h2.section-title{font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:800;line-height:1.3;letter-spacing:-.01em;margin-bottom:1rem;padding-bottom:.9rem;position:relative}
.section-title::after{content:'';position:absolute;left:0;bottom:0;width:44px;height:4px;border-radius:4px;background:var(--primary-dark)}
[style*="text-align:center"] > .section-title::after,.section-inner[style*="center"] .section-title::after,.cta-inner .section-title::after{left:50%;transform:translateX(-50%)}
[style*="text-align:center"] > .section-label,[style*="text-align:center"] > .section-title{margin-left:auto;margin-right:auto}
.section-sub{font-size:1rem;line-height:1.85;color:#4b5563;font-weight:400;max-width:720px}
h3{line-height:1.4}
.section h3,.section-inner h3{font-size:1.05rem;font-weight:800}
.section h4,.section-inner h4{font-size:.95rem;font-weight:700}
.section-inner h3 + p,.section-inner h4 + p{margin-top:.35rem}

/* ── 번호 마커 제거 ── */
.service-num,.process-num,.step-num{display:none !important}
.step-card,.process-card{border-top:3px solid var(--primary)}
.step-item::before{content:'';flex-shrink:0;width:.7rem;height:.7rem;margin-top:.45rem;border-radius:50%;background:var(--primary-dark)}
.process-step{gap:0 !important}
.process-step .step-body{padding-left:0}

/* ── 카드: 호버/포커스 ── */
a:focus-visible,button:focus-visible{outline:3px solid var(--primary-dark);outline-offset:2px;border-radius:.5rem}
.faq-q{min-height:52px}

/* ── 증상 카드 / 이동 카드(사진형) ── */
.ux-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.75rem}
.ux-card{display:flex;flex-direction:column;background:var(--bg1);border:1px solid var(--border);border-radius:var(--card-radius);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;color:inherit}
.ux-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.12);border-color:var(--primary)}
.ux-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--bg3)}
.ux-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ux-card:hover .ux-card-img img{transform:scale(1.05)}
.ux-card-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.ux-card-tag{font-size:.7rem;font-weight:700;color:var(--primary-dark);letter-spacing:.04em}
.ux-card-title{font-size:1.02rem !important;font-weight:800;line-height:1.45;color:var(--text)}
.ux-card-desc{font-size:.85rem;font-weight:400;line-height:1.7;color:var(--text-muted)}
.ux-card-go{margin-top:auto;padding-top:.6rem;font-size:.85rem;font-weight:700;color:var(--primary-dark)}
.ux-more{text-align:center;margin-top:1.75rem}
.ux-more a{display:inline-block;border:1.5px solid var(--primary-dark);color:var(--primary-dark);padding:.6rem 1.5rem;border-radius:9999px;font-weight:700;font-size:.9rem}
.ux-more a:hover{background:var(--primary-dark);color:#fff}
.ux-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.ux-grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.ux-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.ux-grid{grid-template-columns:repeat(2,1fr)}}

/* ── 모바일 하단 고정 상담 바 ── */
.ux-bar{display:none}

/* ── 모바일 ── */
@media(max-width:768px){
  body{padding-bottom:76px}
  .section{padding:3rem 1.1rem}
  .section-title{margin-bottom:.8rem}
  /* 버튼: 전폭, 터치 영역 48px+ */
  .hero-btns,.cta-btns,.local-hero-btns,.btn-row,[class*="-btns"]{flex-direction:column;align-items:stretch;gap:.7rem;width:100%}
  .hero-btns > a,.cta-btns > a,[class*="-btns"] > a,.btn-sms,.btn-tel,.btn-primary,.btn-outline-w,.btn-white,.btn-white-outline,.btn-cta-white,.btn-cta-outline,.btn-hero-primary,.btn-hero-outline,.btn-dark,.btn-outline-dark,.btn-cta{display:flex !important;align-items:center;justify-content:center;min-height:50px;width:100%;padding:.8rem 1.25rem !important;font-size:1rem !important;text-align:center;border-radius:.9rem}
  .cta-strip .btn-cta{width:auto;display:inline-flex !important}
  .btn-service{display:flex;justify-content:center;align-items:center;min-height:46px;width:100%;align-self:stretch}
  .ux-more a{display:flex;justify-content:center;align-items:center;min-height:48px;width:100%}
  /* 헤더 전화 버튼은 작게 유지 */
  .btn-header,.btn-call{min-height:40px;display:inline-flex;align-items:center;font-size:.8rem}
  /* 기존 플로팅 버튼은 하단 바로 대체 */
  .floating-wrap,.floating-btn,.float-btn{display:none !important}
  .ux-bar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:1001;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
  .ux-bar a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:50px;border-radius:.9rem;font-weight:800;font-size:1rem}
  .ux-bar .bar-tel{background:var(--primary-dark);color:#fff}
  .ux-bar .bar-sms{background:var(--bg3);color:var(--text);border:1.5px solid var(--primary)}
  .ux-grid,.ux-grid.cols-4{grid-template-columns:1fr}
  .ux-card{flex-direction:row}
  .ux-card-img{aspect-ratio:auto;width:38%;flex-shrink:0}
  .ux-card-body{padding:.9rem 1rem}
  .ux-card-desc{display:none}
  .ux-card-title{font-size:.95rem !important}
}

/* 메인: 지역 카드 4열 */
.areas-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important}
