/* 이용자 동의사항: 독립적인 native dialog로 배경 포커스/클릭을 차단한다. */
.rwcp{
  --rw-ink:#17243b;--rw-blue:#2a88ff;--rw-blue-600:#1877ed;--rw-soft:#f3f7fc;
  --rw-slate-500:#71839f;--rw-slate-600:#52627a;--rw-slate-700:#334155;
  width:min(520px,calc(100% - 32px));max-width:none;
  max-height:calc(100dvh - 40px);margin:auto;padding:0;
  border:1px solid #e2e8f0;border-radius:20px;background:#fff;
  color:var(--rw-ink);box-shadow:0 24px 80px rgba(15,35,70,.2);
  overflow:hidden;font-family:inherit;
}
.rwcp,.rwcp *{box-sizing:border-box}
.rwcp::backdrop{background:rgba(15,23,42,.48)}
.rwcp .rwcp-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 42px)}
.rwcp .rwcp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:26px 24px 8px;flex-shrink:0}
.rwcp h2{margin:0;font-size:23px;line-height:1.4;font-weight:800;letter-spacing:-.6px;color:var(--rw-ink)}
.rwcp #rwcp-intro{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--rw-slate-500)}
.rwcp .rwcp-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:#f1f5f9;color:var(--rw-slate-600);font:inherit;cursor:pointer}
.rwcp .rwcp-close span{font-size:26px;line-height:1}
.rwcp .rwcp-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.rwcp .rwcp-check{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer;margin:0}
.rwcp .rwcp-check input{
  appearance:none;position:relative;flex:0 0 22px;width:22px;height:22px;
  margin:0;border:1.5px solid #b7c5d6;border-radius:50%;background:#fff;cursor:pointer;
}
.rwcp .rwcp-check input:checked{background:var(--rw-blue);border-color:var(--rw-blue)}
.rwcp .rwcp-check input:checked::after{
  content:"";position:absolute;left:50%;top:50%;box-sizing:border-box;
  width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:translate(-50%,-65%) rotate(-45deg);
}
.rwcp .rwcp-check input:indeterminate{background:var(--rw-blue);border-color:var(--rw-blue)}
.rwcp .rwcp-check input:indeterminate::after{content:"";position:absolute;left:5px;right:5px;top:9px;height:2px;background:#fff}
/* 전체동의 행은 아래 개별 행(68px + 12px 0)과 상하 간격을 맞춘다 — 콘텐츠 68px + 구분선 1px (디자인 검수 FIX-03, 2026-10-12)
   글자는 개별 라벨과 같은 14px/600, 설명(small) 없음 — 헤더 하단 8px 과 함께 v3 C-02 */
.rwcp .rwcp-all{min-height:69px;padding:12px 0;border-bottom:1px solid #edf1f6;font-size:14px;font-weight:600;line-height:1.6}
.rwcp .rwcp-items{margin-top:0}
.rwcp .rwcp-item + .rwcp-item{border-top:1px solid #edf1f6}
.rwcp .rwcp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:68px;padding:12px 0}
.rwcp .rwcp-row label{flex:1;font-size:14px;font-weight:600;line-height:1.6;word-break:keep-all}
.rwcp em{font-style:normal;font-size:12px;white-space:nowrap}
.rwcp em.required{color:var(--rw-blue-600)}
.rwcp em.optional{color:var(--rw-slate-500);font-weight:400}
.rwcp .rwcp-expand{display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;padding:0;border:0;background:transparent;color:var(--rw-slate-500);cursor:pointer}
.rwcp .rwcp-expand span{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.rwcp .rwcp-expand[aria-expanded="true"] span{transform:translateY(2px) rotate(225deg)}
.rwcp .rwcp-content{padding:16px;margin:0 0 16px;border-radius:12px;background:#f8fafc;font-size:13px;line-height:1.75;word-break:normal;overflow-wrap:anywhere}
.rwcp .rwcp-content p{margin:0 0 14px;font-size:inherit;line-height:inherit;color:var(--rw-slate-600);font-weight:400}
.rwcp .rwcp-content p:last-child{margin-bottom:0}
.rwcp .rwcp-content .blue{color:var(--rw-slate-700)}
.rwcp .rwcp-content .bold{font-weight:500}
.rwcp .rwcp-content .tr{text-align:left}
.rwcp .rwcp-facts{margin:14px 0;padding:0}
.rwcp .rwcp-facts > div{padding:12px 0;border-top:1px solid #e2e8f0}
.rwcp .rwcp-facts dt{margin:0 0 4px;color:var(--rw-slate-700);font-size:12px;font-weight:700}
.rwcp .rwcp-facts dd{margin:0;color:var(--rw-slate-600);font-size:13px;line-height:1.7}
.rwcp .rwcp-foot{padding:18px 24px 24px;flex-shrink:0;border-top:1px solid #edf1f6;background:#fff}
.rwcp .rwcp-save{width:100%;min-height:48px;border:0;border-radius:10px;padding:12px;background:var(--rw-blue);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.rwcp button:focus-visible,.rwcp input:focus-visible{outline:2px solid var(--rw-blue-600);outline-offset:3px}
@media(max-width:400px){
  .rwcp .rwcp-head{padding:22px 18px 8px}
  .rwcp .rwcp-body{padding:0 18px}
  .rwcp .rwcp-foot{padding:16px 18px 20px}
  .rwcp .rwcp-all,.rwcp .rwcp-row label{font-size:13px}
  .rwcp .rwcp-check{gap:9px}
  .rwcp h2{font-size:21px}
}
