/* 리호클린 상단 전화 띠·모바일 하단 전화 버튼 (2026-10-25) */
.cb-band { background: #082d21; color: #fffdf8; border-bottom: 3px solid #c9e66e; }
.cb-inner { max-width: 1200px; margin: 0 auto; padding: 12px clamp(20px, 3.5vw, 48px); display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2.4vw, 32px); }
.cb-ico { flex: none; width: 52px; height: 52px; border-radius: 14px; box-shadow: 0 0 0 1px rgba(201,230,110,.35); }
.cb-msg { flex: 0 1 auto; margin: 0; display: grid; gap: 2px; word-break: keep-all; line-height: 1.45; }
.cb-msg strong { color: #c9e66e; font-size: 1.12rem; font-weight: 800; }
.cb-msg span { color: #d5e2d9; font-size: .92rem; }
.cb-num { flex: none; display: grid; justify-items: start; color: #fffdf8; text-decoration: none; font-size: clamp(1.6rem, 2.8vw, 2.2rem); font-weight: 900; letter-spacing: -.01em; line-height: 1.1; }
.cb-num small { color: #c9e66e; font-size: .74rem; font-weight: 700; letter-spacing: 0; }
.cb-num:hover, .cb-num:focus-visible { color: #c9e66e; }
.cb-dock { display: none; }
@media (max-width: 820px) {
  .cb-inner { padding: 10px 20px; gap: 12px; }
  .cb-ico { width: 44px; height: 44px; border-radius: 12px; }
  .cb-msg strong { font-size: .92rem; }
  .cb-msg span { display: none; }
  .cb-inner { justify-content: space-between; }
  .cb-msg { flex: 1; }
  .cb-num { font-size: 1.32rem; }
  .cb-num small { display: none; }
  .cb-dock { position: fixed; z-index: 70; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; border-radius: 12px; background: #c9e66e; color: #082d21; text-decoration: none; font-size: 1.05rem; font-weight: 800; box-shadow: 0 10px 28px rgba(8,45,33,.35); }
  .cb-dock img { width: 30px; height: 30px; border-radius: 8px; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}
@media (max-width: 380px) {
  .cb-msg strong { font-size: .84rem; }
  .cb-num { font-size: 1.16rem; }
}
/* 기존 하단 바(지역 선택·견적 문의 준비 + 전화)는 전화 단일 버튼으로 대체 */
.rr-mobile-cta, .mobile-dock, .riho-v4-mobile-dock, .riho-mobile-dock { display: none !important; }
/* 히어로 장식 마크(RIHO CLEAN): 원래 bottom:-33px로 히어로 밖에 떴고, 안으로 옮기면 사진 배지와 겹쳐 전 구간 숨김(장식, aria-hidden) */
.rr-hero__mark { display: none; }

/* 2026-10-25 체크리스트 항목 26-1: 번호 글자 → 누르고 싶은 전화 버튼(동사형 문구·3D 아이콘·번호, 호버·눌림·포커스, 터치 48px 이상) */
.cb-ico { display: none; }
.cb-cta { display: inline-flex; align-items: center; justify-items: start; gap: 12px; min-height: 60px; padding: 8px 24px 8px 10px; border-radius: 16px; background: #c9e66e; color: #082d21; text-decoration: none; box-shadow: 0 5px 0 #7f9a2d, 0 12px 26px rgba(0,0,0,.32); transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease; }
.cb-cta img { flex: none; width: 40px; height: 40px; max-width: none; border-radius: 11px; box-shadow: 0 0 0 2px rgba(8,45,33,.3); }
.cb-cta span { display: grid; gap: 2px; text-align: left; }
.cb-cta small { display: block; color: #082d21; font-size: .8rem; font-weight: 800; letter-spacing: -.01em; opacity: .86; }
.cb-cta b { font-size: clamp(1.35rem, 2.2vw, 1.8rem); font-weight: 900; letter-spacing: -.01em; line-height: 1.05; }
.cb-cta:hover { background: #d8f283; color: #082d21; transform: translateY(-2px); box-shadow: 0 7px 0 #7f9a2d, 0 16px 30px rgba(0,0,0,.36); }
.cb-cta:active { transform: translateY(4px); box-shadow: 0 1px 0 #7f9a2d, 0 6px 14px rgba(0,0,0,.3); }
.cb-cta:focus-visible { outline: 3px solid #fffdf8; outline-offset: 3px; color: #082d21; }
@media (max-width: 820px) {
  .cb-cta { min-height: 48px; gap: 8px; padding: 5px 14px 5px 6px; border-radius: 12px; box-shadow: 0 3px 0 #7f9a2d; }
  .cb-cta img { width: 34px; height: 34px; border-radius: 9px; }
  .cb-cta small { display: none; }
  .cb-cta b { font-size: 1.12rem; }
}
@media (max-width: 380px) { .cb-cta b { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .cb-cta { transition: none; } }
.cb-band a.cb-cta, .cb-band a.cb-cta:link, .cb-band a.cb-cta:visited, .cb-band a.cb-cta b, .cb-band a.cb-cta small { color: #082d21; }
/* 2026-10-26 전체 점검 AUDIT: 진행 사진 위 설명 상자 → 사진 아래로(26-1 사진 위 글자 상자 금지) */
.rr-process__image { display: flex; flex-direction: column; }
.rr-process__image figcaption { position: static; inset: auto; margin-top: 10px; padding: 0; background: none; color: #315149; font-size: .86rem; line-height: 1.55; box-shadow: none; backdrop-filter: none; max-width: none; }
/* 가이드 목록 카드 요약 한 줄 잘림 → 두 줄까지 보이고 넘치면 말줄임 */
.riho-library-v4__question { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: keep-all; }
/* 2026-10-26 홈 헤더를 가이드 헤더로 통일(사용자 결정 1안): 홈 래퍼 안에서도 가이드와 같은 폭·글꼴 */
.riho-renewal .riho-site-header { font-family: Pretendard, "Noto Sans KR", Arial, sans-serif; }
.riho-renewal .riho-site-header__inner { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
/* 홈에는 body.theme-riho가 없어 헤더 색 변수가 비므로 헤더에 직접 정의, 메뉴 패널이 본문 위로 오게 */
.riho-renewal .riho-site-header { --riho-ink:#102f27; --riho-ink-soft:#315149; --riho-paper:#f6f3ea; --riho-white:#fffdf8; --riho-line:#d9dfd2; --riho-lime:#c9e66e; --riho-max:1200px; --riho-radius:20px; --riho-shadow:0 14px 32px #102f2714; z-index: 60; }
.riho-renewal .riho-site-header *, .riho-renewal .riho-site-header *::before, .riho-renewal .riho-site-header *::after { box-sizing: border-box; }
/* 홈 래퍼의 '.riho-renewal a {color:inherit}'가 헤더 링크 색을 덮으므로 가이드와 같은 색을 다시 지정 */
.riho-renewal .riho-site-header__brand { color: var(--riho-ink); }
.riho-renewal .riho-site-header__call, .riho-renewal .riho-site-header__menu-call { color: var(--riho-white); }
.riho-renewal .riho-site-header__call i { color: var(--riho-ink); }
.riho-renewal .riho-site-header__primary a, .riho-renewal .riho-site-header__guide, .riho-renewal .riho-site-header__topics a { color: var(--riho-ink-soft); }
.riho-renewal .riho-site-header__primary a[aria-current=page], .riho-renewal .riho-site-header__primary a:hover, .riho-renewal .riho-site-header__guide:hover { color: var(--riho-ink); }

/* 2026-10-26 체크리스트 26-2: 전화 버튼은 문구가 주인공(굵게, 번호의 1.15배 이상), 번호는 보조줄. 한 화면 수화기 아이콘 하나 */
.cb-band .cb-cta .cb-cta-label { display: block; font-size: clamp(1.12rem, 1.5vw, 1.3rem); font-weight: 900; line-height: 1.2; letter-spacing: -.02em; }
.cb-band .cb-cta .cb-cta-short { display: none; }
.cb-band .cb-cta small.cb-cta-num { display: block; font-size: .92rem; font-weight: 600; opacity: .88; letter-spacing: 0; }
.cb-dock span { display: grid; gap: 1px; line-height: 1.15; text-align: left; }
.cb-dock b { font-size: 1.06rem; font-weight: 900; }
.cb-dock small { font-size: .8rem; font-weight: 600; opacity: .85; }
@media (max-width: 820px) {
  .cb-band .cb-cta img { display: none; }
  .cb-band .cb-cta { padding: 6px 14px; }
  .cb-band .cb-cta .cb-cta-long { display: none; }
  .cb-band .cb-cta .cb-cta-short { display: inline; }
  .cb-band .cb-cta .cb-cta-label { font-size: .98rem; }
  .cb-band .cb-cta small.cb-cta-num { display: block; font-size: .76rem; }
}
/* 헤더·옆 칸 전화 버튼도 26-2(문구 > 번호) */
.riho-site-header__call span { font-size: .92rem; font-weight: 800; }
.riho-site-header__call b { font-size: .78rem; font-weight: 600; }
.rc-side-call__btn small { font-size: .98rem; font-weight: 900; opacity: 1; }
.rc-side-call__btn b { font-size: .8rem; font-weight: 600; }

/* 2026-10-26 체크리스트 21: 푸터 묶음별 열(모바일은 접기) */
.cb-footcols { max-width: 1200px; margin: 0 auto; padding: 40px clamp(20px, 3.5vw, 48px) 8px; display: grid; grid-template-columns: repeat(3, 1fr) 1.2fr; gap: 28px; word-break: keep-all; }
.cb-footcol summary { list-style: none; cursor: default; margin: 0 0 12px; padding: 0; font-size: .95rem; font-weight: 900; color: #c9e66e; }
.cb-footcol summary::-webkit-details-marker { display: none; }
.cb-footcol ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.cb-footcol a { color: #d5e2d9; text-decoration: none; font-size: .9rem; }
.cb-footcol a:hover, .cb-footcol a:focus-visible { color: #ffffff; text-decoration: underline; }
.cb-footcall p { margin: 0 0 12px; font-size: .95rem; font-weight: 900; color: #c9e66e; }
.cb-footcall a { display: inline-grid; gap: 2px; padding: 12px 18px; border-radius: 14px; background: #c9e66e; color: #082d21; text-decoration: none; min-height: 48px; }
.cb-footcall a b { font-size: 1.02rem; font-weight: 900; }
.cb-footcall a small { font-size: .82rem; font-weight: 600; }
.cb-footcall a:hover, .cb-footcall a:focus-visible { color: #082d21; filter: brightness(1.06); text-decoration: none; }
@media (max-width: 820px) {
  .cb-footcols { grid-template-columns: 1fr; gap: 0; padding: 24px 20px 4px; }
  .cb-footcol { border-bottom: 1px solid rgba(255,255,255,.16); padding: 14px 0; }
  .cb-footcol summary { cursor: pointer; margin: 0; display: flex; justify-content: space-between; }
  .cb-footcol summary::after { content: "+"; font-weight: 900; }
  .cb-footcol[open] summary::after { content: "−"; }
  .cb-footcol[open] ul { margin-top: 12px; }
  .cb-footcall { border-bottom: 0; padding-top: 18px; }
}
/* 푸터: 새 열이 기존 한 줄 메뉴·전화 버튼을 대신(중복 제거), 홈 푸터는 열이 한 줄을 다 쓰게 */
.riho-footer .riho-footer__nav, .riho-footer .riho-footer__call { display: none; }
.rr-footer { flex-wrap: wrap; }
.rr-footer .cb-footcols { flex: 0 0 100%; width: 100%; padding-left: 0; padding-right: 0; }
/* 데스크톱에서는 사이트 공통 summary::after(–)가 열 제목 옆에 붙지 않게 */
@media (min-width: 821px) { .cb-footcols .cb-footcol summary::after { content: none; } }
