/**
 * privacy-center.css: /privacy-center (ACT-299). Built from the design system's tokens on the contact page's cards: a white card with a 1px line ring, pill buttons that
 * go ink to ember on hover, Archivo throughout. The two buttons (.is-solid and .is-line) are the same height and weight, as the cookie banner's are. Sizes the tokens do
 * not name are in rem so design-token-check stays quiet. Nothing here moves.
 */
.pc-sec { padding: 0 var(--act-gutter) 7.5rem; }
.pc { gap: 1.5rem; max-width: 52rem; }
.pc-box { gap: 1.25rem; }
.pc-p { margin: 0; font-size: 1.0625rem; line-height: 1.6; color: var(--act-body); }
.pc-p a, .pc-done a, .pc-note a { color: var(--act-ember-text); text-decoration: underline; text-underline-offset: .2rem; }
.pc-note { font-size: var(--act-small); }
.pc-gpc { padding: .75rem 1rem; border-radius: .75rem; background: var(--act-paper); color: var(--act-ink); font-weight: var(--act-weight-strong); }
.pc-gpc[hidden], .pc-row[hidden], .pc-err[hidden], .pc-done[hidden], .pc-form[hidden] { display: none; }

.pc-rows { border-top: .0625rem solid var(--act-line); }
.pc-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1rem 0; border-bottom: .0625rem solid var(--act-line); }
.pc-row b { display: block; font-size: 1rem; font-weight: var(--act-weight-strong); color: var(--act-ink); }
.pc-row span { display: block; margin-top: .25rem; font-size: var(--act-small); line-height: 1.5; color: var(--act-body); }
.pc-row span.pc-fixed { flex: none; margin: 0; padding: .25rem .75rem; border-radius: var(--act-radius-pill); background: var(--act-paper); font-size: var(--act-micro); font-weight: var(--act-weight-strong); color: var(--act-muted); }
.pc-row input[type="checkbox"] { flex: none; width: 1.5rem; height: 1.5rem; margin: .125rem 0 0; accent-color: var(--act-ink); cursor: pointer; }
.pc-row input[type="checkbox"]:disabled { cursor: not-allowed; opacity: .6; }

.pc-actions { display: flex; flex-wrap: wrap; gap: .625rem; }
.pc-btn { height: 2.75rem; min-width: 2.75rem; padding: 0 1.25rem; border-radius: var(--act-radius-pill); font: inherit; font-size: .9375rem; font-weight: var(--act-weight-strong); cursor: pointer; white-space: nowrap; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.pc-btn.is-solid { background: var(--act-button-primary-bg); color: var(--act-button-primary-fg); border: .0625rem solid var(--act-button-primary-bg); }
.pc-btn.is-solid:hover:not(:disabled) { background: var(--act-button-primary-hover-bg); color: var(--act-button-primary-hover-fg); border-color: var(--act-button-primary-hover-bg); }
.pc-btn.is-line { background: transparent; color: var(--act-ink); border: .0625rem solid var(--act-outline); }
.pc-btn.is-line:hover:not(:disabled) { border-color: var(--act-ink); }
.pc-btn:disabled { opacity: .6; cursor: default; }

.pc :focus-visible { outline: 2px solid var(--act-ember-text); outline-offset: 3px; }

.pc-form { display: flex; flex-direction: column; gap: 1.25rem; }
.pc-fs { border: 0; margin: 0; padding: 0; }
.pc-fs legend { padding: 0; margin-bottom: .625rem; font-size: 1rem; font-weight: var(--act-weight-strong); color: var(--act-ink); }
.pc-radios { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .5rem; }
.pc-radio { display: flex; align-items: center; gap: .625rem; min-height: 2.75rem; padding: .5rem .875rem; border-radius: var(--act-radius-inner); box-shadow: var(--act-ring); background: var(--act-white); font-size: var(--act-small); color: var(--act-ink); cursor: pointer; }
.pc-radio input { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--act-ink); }
.pc-radio:has(input:checked) { box-shadow: 0 0 0 .125rem var(--act-ink); }
.pc-field { display: flex; flex-direction: column; gap: .375rem; }
.pc-field label { font-size: 1rem; font-weight: var(--act-weight-strong); color: var(--act-ink); }
.pc-opt { font-weight: 400; color: var(--act-muted); }
.pc-field input, .pc-field textarea { width: 100%; font: inherit; font-size: 1rem; color: var(--act-ink); background: var(--act-white); border: .0625rem solid var(--act-outline); border-radius: var(--act-radius-inner); padding: .75rem .875rem; min-height: 2.75rem; }
.pc-field textarea { resize: vertical; }
.pc-field input:hover, .pc-field textarea:hover { border-color: var(--act-ink); }
.pc-field small { font-size: var(--act-micro); line-height: 1.5; color: var(--act-muted); }
.pc-check { display: flex; align-items: flex-start; gap: .75rem; font-size: var(--act-small); line-height: 1.5; color: var(--act-body); cursor: pointer; }
.pc-check input { flex: none; width: 1.25rem; height: 1.25rem; margin: .125rem 0 0; accent-color: var(--act-ink); }
.pc-err { margin: 0; font-size: var(--act-small); line-height: 1.5; color: var(--act-was-fg); background: var(--act-was-bg); border-radius: .75rem; padding: .625rem .875rem; }
html:not(.js) .pc-form { display: none; }

.pc-done { border-radius: var(--act-radius-inner); background: var(--act-now-bg); color: var(--act-now-fg); padding: 1.25rem 1.5rem; display: flex; flex-direction: column; gap: .625rem; outline: none; }
.pc-done h3 { margin: 0; font-size: 1.25rem; font-weight: var(--act-weight-display); }
.pc-done p { margin: 0; font-size: 1rem; line-height: 1.55; }
.pc-done a { color: inherit; }
.pc-ref { font-size: 1.125rem; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.pc-links { padding-left: 1.25rem; }

@media (max-width: 40rem) {
  .pc-box { padding: 1.5rem; }
  .pc-actions .pc-btn { flex: 1 1 100%; }
}
