/* 지하철역 변기막힘 — service/subway-station-toilet-blockage/style.css */

:root{
  --h: 270;
  --bg: hsl(var(--h) 12% 95%);
  --surface: hsl(var(--h) 18% 99%);
  --ink: hsl(var(--h) 28% 13%);
  --muted: hsl(var(--h) 10% 40%);
  --accent: hsl(var(--h) 55% 34%);
  --accent-ink: #fff;
  --line: hsl(var(--h) 14% 84%);
}
:root{ --font-title: 'Black Han Sans', 'Pretendard Variable', Pretendard, sans-serif; --font-body: 'Pretendard Variable', Pretendard, 'Noto Sans KR', sans-serif; }

body{ background: var(--bg); color: var(--ink); font-family: var(--font-body); }
h1,h2,h3,.logo{ font-family: var(--font-title); font-weight:400; }
.container{ width:100%; max-width:1080px; margin-inline:auto; padding-inline:1.25rem; }
a{ color: var(--accent); }
main{ padding-block: 2.5rem; }
main section{ margin-bottom: 2.75rem; }
main h2{ font-size: clamp(1.3rem,1rem + 1.2vw,1.7rem); margin-bottom: 1rem; }
main h3{ font-size: 1.05rem; margin-bottom: .5rem; }
main p{ color: var(--ink); }
.lead{ color: var(--muted); }
.check-table{ width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); }
.check-table th,.check-table td{ text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--line); font-size:.92rem; }
.check-table th{ color:var(--muted); font-weight:600; width:32%; }
.warn-box{ background:var(--surface); border-left:3px solid var(--accent); padding:1rem 1.1rem; margin-bottom:.9rem; border-radius:4px; font-size:.94rem; color:var(--ink); }
.faq{ background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:.2rem 1.1rem; }
.faq details{ padding:.9rem 0; border-bottom:1px solid var(--line); }
.faq details:last-child{ border-bottom:none; }
.faq summary{ cursor:pointer; font-weight:600; }
.faq p{ margin-top:.6rem; color:var(--muted); font-size:.94rem; }
.related-links{ display:flex; flex-wrap:wrap; gap:.6rem; }
.related-links a{ background:var(--surface); border:1px solid var(--line); padding:.5rem .9rem; border-radius:999px; font-size:.88rem; }
.onsite-photo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:900px; margin:0 auto; }
.onsite-photo-grid img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,.08); }
@media(max-width:700px){ .onsite-photo-grid{ grid-template-columns:repeat(2,1fr); } }

.btn-tel{ display:inline-block; margin-top:1rem; background:var(--accent); color:var(--accent-ink); padding:.7rem 1.6rem; border-radius:6px; font-weight:700; }

/* v21: 좌우 정렬 헤더 + 좌측 정렬 히어로 + 가로 1열 컴팩트 푸터 */
.hdr--v21{ background:var(--surface); border-bottom:2px solid var(--accent); padding-block:1rem; }
.hdr--v21 .hdr__inner{ display:flex; align-items:center; justify-content:space-between; }
.hdr--v21 .logo{ font-weight:400; font-size:1.3rem; color:var(--accent); }
.hdr--v21 nav ul{ display:flex; gap:1.4rem; list-style:none; }
.hdr--v21 nav a{ font-size:.88rem; color:var(--muted); }

.hero--v21{ background:linear-gradient(135deg, var(--accent) 0%, hsl(var(--h) 55% 22%) 100%); color:var(--accent-ink); padding-block:3.4rem 2.6rem; }
.hero--v21 .hero__inner{ max-width:720px; }
.hero--v21 h1{ font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem); margin-block:.6rem .9rem; color:#fff; }
.hero--v21 .kicker{ background:rgba(255,255,255,.15); padding:.3rem .8rem; border-radius:999px; font-size:.82rem; font-weight:700; }
.hero--v21 .lead{ color:rgba(255,255,255,.88); }
.hero--v21 .btn-tel{ background:#fff; color:var(--accent); }

.cta--v21{ background:var(--surface); border-top:2px solid var(--accent); border-bottom:2px solid var(--accent); padding-block:2rem; }
.cta--v21 .container{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; }
.cta--v21 h3{ font-family:var(--font-title); font-weight:400; font-size:1.2rem; margin:0; }
.cta--v21 p{ color:var(--muted); margin:.2rem 0 0; }
.cta--v21 a{ display:inline-block; background:var(--accent); color:var(--accent-ink); padding:.7rem 1.6rem; border-radius:6px; font-weight:700; white-space:nowrap; }

.ftr--v21{ background:var(--ink); color:hsl(var(--h) 10% 75%); }
.ftr--v21 .ftr__inner{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1.4rem; padding-block:.9rem; }
.ftr--v21 .ftr__biz{ font-size:.78rem; margin:0; }
.ftr--v21 .ftr__nav{ display:flex; gap:.9rem; font-size:.8rem; }
.ftr--v21 .ftr__nav a{ color:hsl(var(--h) 10% 80%); }
.ftr--v21 .ftr__copy{ font-size:.74rem; margin:0; color:hsl(var(--h) 10% 60%); }
