/* ── 카로 모빌리티 — 개인정보 동의 체크박스 표준 컴포넌트 ── */
.consent-block {
  margin:10px 0;
  padding:12px 14px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  font-family:'Noto Sans KR',sans-serif;
}
.consent-all {
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 2px 8px;
  font-weight:800;
  font-size:13px;
  color:#0a1628;
  cursor:pointer;
  border-bottom:1px dashed #d1d5db;
  margin-bottom:6px;
  user-select:none;
}
.consent-all input { width:16px; height:16px; flex-shrink:0; cursor:pointer; }
.consent-row {
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 2px;
  cursor:pointer;
  font-size:12px;
  color:#374151;
  user-select:none;
}
.consent-row input { width:14px; height:14px; flex-shrink:0; cursor:pointer; }
.consent-tag {
  flex-shrink:0;
  font-size:10px;
  font-weight:800;
  padding:2px 6px;
  border-radius:3px;
  letter-spacing:0.3px;
}
.consent-tag.req { background:#fef2f2; color:#dc2626; }
.consent-tag.opt { background:#eff6ff; color:#2563eb; }
.consent-text {
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.consent-detail {
  flex-shrink:0;
  font-size:11px;
  color:#6b7280;
  text-decoration:underline;
  margin-left:auto;
}
.consent-detail:hover { color:#0a1628; }

/* compact (사이드바·작은 폼용) */
.consent-block.compact { padding:8px 10px; margin:8px 0; }
.consent-block.compact .consent-all { font-size:11px; padding:4px 2px 6px; gap:6px; }
.consent-block.compact .consent-all input { width:14px; height:14px; }
.consent-block.compact .consent-row { font-size:10.5px; padding:3px 2px; gap:5px; }
.consent-block.compact .consent-row input { width:12px; height:12px; }
.consent-block.compact .consent-tag { font-size:9px; padding:1px 4px; }
.consent-block.compact .consent-detail { font-size:10px; }

/* inline (가로 1줄) — 최대한 도드라지지 않게 */
.consent-block.inline {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:6px 0;
  background:transparent;
  border:none;
}
.consent-block.inline .consent-all {
  padding:0;
  margin:0;
  border-bottom:none;
  font-size:10.5px;
  font-weight:500;
  color:#9ca3af;
  gap:4px;
  flex:0 0 auto;
}
.consent-block.inline .consent-all input { width:13px; height:13px; }
.consent-block.inline .consent-row {
  padding:0;
  font-size:10px;
  font-weight:400;
  color:#9ca3af;
  gap:4px;
  flex:0 0 auto;
}
.consent-block.inline .consent-row input { width:12px; height:12px; }
.consent-block.inline .consent-text {
  white-space:nowrap;
  overflow:visible;
}
.consent-block.inline .consent-tag {
  font-size:8.5px;
  padding:0;
  background:transparent !important;
  color:#9ca3af !important;
  font-weight:600;
}
.consent-block.inline .consent-detail {
  margin-left:3px;
  font-size:9px;
  color:#c0c4cd;
}
.consent-block.inline .consent-detail:hover { color:#6b7280; }
@media(max-width:768px){
  .consent-block.inline { gap:6px; padding:4px 0; }
  .consent-block.inline .consent-row { font-size:9.5px; }
}

/* dark 배경 폼용 */
.consent-block.dark {
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.15);
}
.consent-block.dark .consent-all { color:#fff; border-bottom-color:rgba(255,255,255,0.15); }
.consent-block.dark .consent-row { color:rgba(255,255,255,0.85); }
.consent-block.dark .consent-detail { color:rgba(255,255,255,0.6); }
.consent-block.dark .consent-detail:hover { color:#fff; }
