/* ==========================================================================
   prv-overview — document cards + commitment list for the legal hub
   Layered on top of privacy.css. Inherits every token from .prv-page,
   so there is nothing to keep in sync when the palette changes.
   Load AFTER privacy.css.
   ========================================================================== */


/* ==========================================================================
   DOCUMENT CARDS
   ========================================================================== */

.prv-docs{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  max-width:var(--prv-read-w);
  margin:6px 0 0;
}

.prv-doc{
  display:flex;
  flex-direction:column;
  padding:22px 24px;
  border:1px solid var(--prv-line);
  border-radius:14px;
  background:var(--prv-page-bg);
  text-decoration:none;
  transition:border-color .16s ease, background-color .16s ease;
}
.prv-doc:hover{
  border-color:#cdd2d8;
  background:var(--prv-soft);
}
.prv-doc:focus-visible{
  outline:2px solid var(--prv-accent);
  outline-offset:3px;
}

.prv-doc-k{
  display:inline-block;
  align-self:flex-start;
  margin-bottom:14px;
  padding:4px 11px;
  border-radius:999px;
  background:var(--prv-note-bg);
  color:var(--prv-accent);
  font-size:11.5px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}

.prv-doc-t{
  display:block;
  margin-bottom:9px;
  color:var(--prv-ink);
  font-size:18px;
  font-weight:600;
  line-height:1.35;
}

.prv-doc-d{
  display:block;
  flex:1 1 auto;
  margin-bottom:18px;
  color:var(--prv-body);
  font-size:15.5px;
  font-weight:400;
  line-height:1.62;
}

.prv-doc-f{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:14px;
  border-top:1px solid var(--prv-line-soft);
}

.prv-doc-m{
  min-width:0;
  overflow:hidden;
  color:var(--prv-faint);
  font-size:13.5px;
  line-height:1.4;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.prv-doc-i{
  flex:0 0 auto;
  color:var(--prv-muted);
  transition:transform .18s var(--prv-ease), color .16s ease;
}
.prv-doc:hover .prv-doc-i{
  transform:translateX(3px);
  color:var(--prv-accent);
}


/* ==========================================================================
   COMMITMENT LIST
   ========================================================================== */

.prv-checks{
  max-width:var(--prv-read-w);
  margin:6px 0 0;
  padding:0;
  list-style:none;
}

.prv-check{
  display:grid;
  grid-template-columns:19px minmax(0, 1fr);
  gap:16px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid var(--prv-line-soft);
}
.prv-check:first-child{ padding-top:8px; }
.prv-check:last-child{ border-bottom:0; padding-bottom:0; }

.prv-check-i{
  margin-top:3px;
  color:var(--prv-accent);
}

.prv-check-b{
  display:block;
  min-width:0;
}

.prv-check-t{
  display:block;
  margin-bottom:6px;
  color:var(--prv-ink);
  font-size:16.5px;
  font-weight:600;
  line-height:1.45;
}

.prv-check-d{
  display:block;
  color:var(--prv-body);
  font-size:16px;
  font-weight:400;
  line-height:1.68;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width:900px){
  .prv-docs,
  .prv-checks{ max-width:none; }
}

@media (max-width:680px){
  .prv-docs{ grid-template-columns:minmax(0, 1fr); }
}

@media (max-width:520px){
  .prv-doc{ padding:18px 20px; border-radius:12px; }
  .prv-doc-t{ font-size:17px; }
  .prv-doc-d{ font-size:15px; }
  .prv-check{ gap:13px; }
  .prv-check-t{ font-size:16px; }
  .prv-check-d{ font-size:15.5px; }
}

@media (prefers-reduced-motion:reduce){
  .prv-doc,
  .prv-doc-i{ transition:none; }
  .prv-doc:hover .prv-doc-i{ transform:none; }
}