/* ============================================================
   달리자한의원 공통 하단 v2 — contact + footer (PILOT)
   승인 원본: C:\dev\dalrija-common-prototype\common.css
   모든 selector는 body.common-shell-v2로 격리.
   기존 .cta / .wrap / footer / h2 generic 규칙에 영향 없음.
   색상은 전역 token(--paper-2/--green-900 등)을 참조하지 않고
   아래 common-v2 전용 token만 사용 — phase1.css 미로드 페이지에서도
   Pilot(pain/neck) computed 색과 동일하게 렌더된다.
   ============================================================ */

body.common-shell-v2{
  /* Pilot(pain/neck.html) computed 실측값 고정 */
  --common-v2-sans:'Pretendard Variable',Pretendard,'Gothic A1',sans-serif;
  --common-v2-contact-bg:#F3F0E8;
  --common-v2-contact-ink:#333A33;   /* 제목·전화 */
  --common-v2-contact-soft:#666B66;  /* 보조문 */
  --common-v2-contact-mute:#858A84;  /* 라벨·화살표 */
  --common-v2-contact-link:#4B554A;  /* 링크 기본 */
  --common-v2-contact-hover:#596457; /* 링크 hover 보조 */
  --common-v2-rule:#D8D5CC;          /* 밝은 배경 hairline */
  --common-v2-footer-bg:#333A33;
  --common-v2-footer-text:#A9BDB1;
  --common-v2-footer-soft:#B9CBC0;
  --common-v2-footer-muted:#8AA295;
  --common-v2-footer-dim:#7D9488;
  --common-v2-footer-head:#E4EDE7;
  --common-v2-footer-accent:#C9BFA6; /* hover 강조 */
  --common-v2-footer-rule:rgba(255,255,255,.12);
}

/* ── 공통 inner 폭: 1440에서 1240px, 1600px 이상 88vw(max 1500px) ── */
body.common-shell-v2 .site-contact-v2__inner,
body.common-shell-v2 .site-footer-v2__inner{max-width:1240px;margin:0 auto;padding:0 28px}
@media(min-width:1600px){
  body.common-shell-v2 .site-contact-v2__inner,
  body.common-shell-v2 .site-footer-v2__inner{width:88vw;max-width:1500px}
}

/* ── 링크 공통: 상시 밑줄·하단선 금지 (visited·pseudo까지 방어) ── */
body.common-shell-v2 .site-contact-v2 a,
body.common-shell-v2 .site-contact-v2 a:visited,
body.common-shell-v2 .site-footer-v2 a,
body.common-shell-v2 .site-footer-v2 a:visited{text-decoration:none;box-shadow:none;background-image:none}
body.common-shell-v2 .site-footer-v2 a{border-bottom:0}
body.common-shell-v2 .site-contact-v2 a::before,
body.common-shell-v2 .site-contact-v2 a::after,
body.common-shell-v2 .site-footer-v2 a::before,
body.common-shell-v2 .site-footer-v2 a::after{content:none}
body.common-shell-v2 .site-contact-v2 a:focus-visible,
body.common-shell-v2 .site-footer-v2 a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* ============================================================
   1. Contact (구 CTA 대체) — 밝은 배경, 비대칭 2열
   ============================================================ */
body.common-shell-v2 .site-contact-v2{background:var(--common-v2-contact-bg);border-top:1px solid var(--common-v2-rule);padding:56px 0 60px;font-family:var(--common-v2-sans);color:var(--common-v2-contact-ink);text-align:left;line-height:1.75}
body.common-shell-v2 .site-contact-v2__inner{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:72px;align-items:start}

body.common-shell-v2 .site-contact-v2 h2{font-family:var(--common-v2-sans);font-weight:700;font-size:clamp(30px,27.5px + 1.15vw,48px);line-height:1.3;letter-spacing:-.035em;color:var(--common-v2-contact-ink);word-break:keep-all;margin:0}
body.common-shell-v2 .site-contact-v2 .c2-note{margin:12px 0 0;color:var(--common-v2-contact-soft);font-size:1rem;line-height:1.75;max-width:32em}

body.common-shell-v2 .c2-info{border-left:1px solid var(--common-v2-rule);padding-left:48px}
body.common-shell-v2 .c2-label{margin:0 0 2px;font-size:.85rem;color:var(--common-v2-contact-mute)}
body.common-shell-v2 .c2-tel{display:inline-block;font-weight:800;font-size:clamp(1.65rem,2.3vw,2.05rem);line-height:1.3;color:var(--common-v2-contact-ink);letter-spacing:.01em;font-variant-numeric:tabular-nums}
body.common-shell-v2 .c2-tel:hover{color:var(--common-v2-contact-hover)}

/* c2-links의 border-bottom은 메뉴 행 구분 layout hairline (텍스트 밑줄 아님 — 유지) */
body.common-shell-v2 .c2-links{margin-top:20px;border-top:1px solid var(--common-v2-rule)}
body.common-shell-v2 .c2-links a{display:flex;justify-content:space-between;align-items:baseline;padding:11px 2px;border-bottom:1px solid var(--common-v2-rule);font-size:.98rem;font-weight:600;color:var(--common-v2-contact-link);transition:.15s}
body.common-shell-v2 .c2-links a .c2-go{color:var(--common-v2-contact-mute);font-weight:400;transition:.15s}
body.common-shell-v2 .c2-links a:hover{color:var(--common-v2-contact-ink);padding-left:6px}
body.common-shell-v2 .c2-links a:hover .c2-go{color:var(--common-v2-contact-hover)}

/* ============================================================
   2. Footer — contact + legal 중심 (원형 마크·SNS 배지·사이트맵 없음)
   style.css의 footer/footer p/footer h4/footer ul 규칙을 격리 스코프로 덮음
   ============================================================ */
body.common-shell-v2 .site-footer-v2{background:var(--common-v2-footer-bg);color:var(--common-v2-footer-text);padding:40px 0 24px;font-size:.92rem;font-family:var(--common-v2-sans);line-height:1.75}

body.common-shell-v2 .f2-top{display:grid;grid-template-columns:1.45fr .8fr .95fr;gap:56px;padding-bottom:26px}

body.common-shell-v2 .f2-wordmark{font-family:var(--common-v2-sans);font-weight:700;font-size:1.375rem;color:#fff;letter-spacing:-.02em}
body.common-shell-v2 .f2-wordmark:hover{color:var(--common-v2-footer-accent)}
body.common-shell-v2 .f2-addr{font-style:normal;margin:10px 0 0;line-height:1.65;color:var(--common-v2-footer-soft);font-size:.95rem}
/* footer 전화: contact가 주 행동 정보 — 여기서는 한 줄 정보로 위계 하향 */
body.common-shell-v2 .f2-telrow{margin:8px 0 0;font-size:.95rem;color:var(--common-v2-footer-soft);max-width:none;line-height:1.5}
body.common-shell-v2 .f2-telrow a{font-weight:700;font-size:1.2rem;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-left:6px}
body.common-shell-v2 .f2-telrow a:hover{color:var(--common-v2-footer-accent)}
body.common-shell-v2 .f2-hours{margin:6px 0 0;line-height:1.65;color:var(--common-v2-footer-soft);font-size:.95rem;max-width:none}
body.common-shell-v2 .f2-closed{color:var(--common-v2-footer-muted)}

body.common-shell-v2 .site-footer-v2 h4{font-family:var(--common-v2-sans);font-weight:700;font-size:.88rem;color:var(--common-v2-footer-head);margin:0 0 10px;letter-spacing:.02em}
body.common-shell-v2 .site-footer-v2 ul{list-style:none;display:block;margin:0;padding:0}
body.common-shell-v2 .site-footer-v2 ul li a{display:inline-block;padding:3px 0;color:var(--common-v2-footer-text);font-size:.93rem}
body.common-shell-v2 .site-footer-v2 ul li a:hover{color:#fff}
body.common-shell-v2 .f2-out{color:var(--common-v2-footer-dim);margin-left:4px;font-size:.85em}

body.common-shell-v2 .f2-legal{border-top:1px solid var(--common-v2-footer-rule);padding-top:16px;font-size:.85rem;color:var(--common-v2-footer-muted);line-height:1.65}
body.common-shell-v2 .f2-legal p{margin:0;max-width:none;color:var(--common-v2-footer-muted);font-size:.85rem;line-height:1.65}
body.common-shell-v2 .f2-legal-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 24px;margin-top:8px}

/* ── 반응형 ── */
@media(max-width:960px){
  body.common-shell-v2 .site-contact-v2__inner{grid-template-columns:1fr;gap:32px}
  body.common-shell-v2 .c2-info{border-left:0;border-top:1px solid var(--common-v2-rule);padding-left:0;padding-top:26px;max-width:480px}
  body.common-shell-v2 .f2-top{grid-template-columns:1fr 1fr;gap:36px}
  body.common-shell-v2 .f2-brand{grid-column:1 / -1}
}
@media(max-width:640px){
  body.common-shell-v2 .site-contact-v2{padding:46px 0 52px}
  body.common-shell-v2 .site-footer-v2{padding:34px 0 22px}
  body.common-shell-v2 .f2-top{grid-template-columns:1fr;gap:22px;padding-bottom:20px}
  /* 모바일: 세로 사이트맵 대신 가로 wrap — style.css footer ul의 column 상쇄 */
  body.common-shell-v2 .f2-nav ul,
  body.common-shell-v2 .f2-ext ul{display:flex;flex-direction:row;flex-wrap:wrap;gap:2px 22px}
  body.common-shell-v2 .f2-legal{font-size:.875rem}
  body.common-shell-v2 .f2-legal p{font-size:.875rem}
  body.common-shell-v2 .f2-legal-row{flex-direction:column;gap:4px}
}
