/** Privacy controls — a calm, transparent working surface. */

.privacy-center {
    min-height: calc(100vh - 4rem);
    padding-block: clamp(var(--space-6), 6vw, var(--space-12));
    background: radial-gradient(circle at 10% 0%, var(--color-primary-100), transparent 26rem), var(--color-bg);
}
.privacy-center__container { max-width: 74rem; }
.privacy-header { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-6); }
.privacy-eyebrow, .privacy-panel__kicker { margin: 0 0 var(--space-1); color: var(--color-primary-600); font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: .09em; text-transform: uppercase; }
.privacy-header h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.04; }
.privacy-header p:not(.privacy-eyebrow) { max-width: 62ch; margin: var(--space-3) 0 0; color: var(--color-text-secondary); line-height: var(--leading-relaxed); }
.privacy-current { display: grid; grid-template-columns: auto 1fr; min-width: 14rem; padding: var(--space-3) var(--space-4); align-items: center; gap: 0 var(--space-2); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
.privacy-current__dot { grid-row: 1 / 3; width: .75rem; height: .75rem; background: var(--color-success); border: 3px solid var(--color-success-bg); border-radius: var(--radius-full); box-sizing: content-box; }
.privacy-current > span:not(.privacy-current__dot) { color: var(--color-text-tertiary); font-size: var(--text-xs); }
.privacy-current strong { font-size: var(--text-sm); }
.privacy-feedback, .privacy-signal { display: flex; align-items: flex-start; gap: var(--space-3); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); border: 1px solid; border-radius: var(--radius-lg); }
.privacy-feedback > span, .privacy-signal > span { display: grid; flex: 0 0 1.5rem; height: 1.5rem; place-items: center; font-weight: var(--weight-bold); border: 1px solid currentColor; border-radius: var(--radius-full); }
.privacy-feedback p, .privacy-signal p { margin: 0; }
.privacy-feedback--success { color: var(--color-success); background: var(--color-success-bg); }
.privacy-feedback--error { color: var(--color-danger); background: var(--color-danger-bg); }
.privacy-signal { color: var(--color-text); background: var(--color-warning-bg); border-color: var(--color-warning); }
.privacy-signal div { display: grid; gap: .2rem; }
.privacy-signal p { color: var(--color-text-secondary); font-size: var(--text-sm); }
.privacy-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .34fr); gap: var(--space-5); align-items: start; }
.privacy-main, .privacy-side { display: grid; gap: var(--space-5); }
.privacy-side { position: sticky; top: 5.25rem; }
.privacy-panel, .privacy-side-card { background: var(--color-surface); border: 1px solid var(--color-border-light); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
.privacy-panel { overflow: hidden; }
.privacy-panel__heading { display: flex; min-height: 5rem; padding: var(--space-4) var(--space-5); align-items: center; justify-content: space-between; gap: var(--space-3); border-bottom: 1px solid var(--color-border-light); }
.privacy-panel__heading h2, .privacy-side-card h2 { margin: 0; font-size: var(--text-xl); }
.privacy-panel__heading > span { color: var(--color-text-tertiary); font-size: var(--text-xs); white-space: nowrap; }
.privacy-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-3); margin: var(--space-4) var(--space-5) 0; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.privacy-option--essential { background: var(--color-surface-alt); }
.privacy-option--selected { border-color: var(--color-primary-400); box-shadow: 0 0 0 3px var(--color-primary-100); }
.privacy-option__icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; color: var(--color-primary-700); font-weight: var(--weight-bold); background: var(--color-primary-100); border-radius: var(--radius-lg); }
.privacy-option h3 { margin: 0; font-size: var(--text-lg); }
.privacy-option p { margin: var(--space-1) 0 0; color: var(--color-text-secondary); line-height: var(--leading-relaxed); }
.privacy-option ul { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.privacy-option li { color: var(--color-text-tertiary); font-size: var(--text-xs); }
.privacy-option li::before { content: '·'; margin-right: var(--space-1); color: var(--color-primary-500); }
.privacy-badge { align-self: start; min-height: 1.75rem; padding: .25rem .65rem; font-size: var(--text-xs); font-weight: var(--weight-bold); white-space: nowrap; border-radius: var(--radius-full); }
.privacy-badge--required { color: var(--color-primary-700); background: var(--color-primary-100); }
.privacy-badge--allowed { color: var(--color-success); background: var(--color-success-bg); }
.privacy-badge--off { color: var(--color-text-secondary); background: var(--color-surface-alt); }
.privacy-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-5); }
.privacy-actions > span { flex-basis: 100%; color: var(--color-text-tertiary); font-size: var(--text-xs); }
.privacy-actions button:disabled { cursor: not-allowed; opacity: .55; }
.privacy-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); padding: var(--space-5); }
.privacy-data-grid article { padding: var(--space-4); background: var(--color-surface-alt); border-radius: var(--radius-lg); }
.privacy-data-grid article > span { display: inline-grid; width: 2rem; height: 2rem; place-items: center; color: var(--color-primary-700); background: var(--color-primary-100); border-radius: var(--radius-md); }
.privacy-data-grid h3 { margin: var(--space-3) 0 0; font-size: var(--text-base); }
.privacy-data-grid p { margin: var(--space-1) 0 var(--space-3); color: var(--color-text-secondary); font-size: var(--text-sm); line-height: var(--leading-relaxed); }
.privacy-data-grid strong { color: var(--color-text-tertiary); font-size: var(--text-xs); }
.privacy-disclosures { padding: 0 var(--space-5) var(--space-3); }
.privacy-disclosures details { border-bottom: 1px solid var(--color-border-light); }
.privacy-disclosures details:last-child { border-bottom: 0; }
.privacy-disclosures summary { padding: var(--space-4) 0; font-weight: var(--weight-semibold); cursor: pointer; }
.privacy-disclosures summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.privacy-disclosures details > div { padding: 0 0 var(--space-4); }
.privacy-disclosures p { margin: 0 0 var(--space-3); color: var(--color-text-secondary); line-height: var(--leading-relaxed); }
.privacy-disclosures p:last-child { margin-bottom: 0; }
.privacy-side-card { padding: var(--space-5); }
.privacy-side-card > p:not(.privacy-panel__kicker) { margin: var(--space-3) 0; color: var(--color-text-secondary); font-size: var(--text-sm); line-height: var(--leading-relaxed); }
.privacy-checklist { display: grid; gap: var(--space-3); margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.privacy-checklist li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2); font-size: var(--text-sm); }
.privacy-checklist span { color: var(--color-success); font-weight: var(--weight-bold); }
.privacy-side-card .btn { width: 100%; }
.privacy-side-link { display: block; margin-top: var(--space-3); color: var(--color-primary-600); font-size: var(--text-sm); font-weight: var(--weight-semibold); text-align: center; text-underline-offset: .2em; }
@media (max-width: 900px) { .privacy-layout { grid-template-columns: 1fr; } .privacy-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .privacy-center { padding-block: var(--space-5); }
    .privacy-header { align-items: stretch; flex-direction: column; }
    .privacy-current { min-width: 0; width: fit-content; }
    .privacy-panel__heading { align-items: flex-start; flex-direction: column; }
    .privacy-option { grid-template-columns: auto 1fr; margin-inline: var(--space-4); }
    .privacy-badge { grid-column: 2; justify-self: start; }
    .privacy-actions { display: grid; padding: var(--space-4); }
    .privacy-actions .btn { width: 100%; }
    .privacy-data-grid { grid-template-columns: 1fr; padding: var(--space-4); }
    .privacy-disclosures { padding-inline: var(--space-4); }
    .privacy-side { grid-template-columns: 1fr; }
}
@media (forced-colors: active) { .privacy-option--selected, .privacy-current, .privacy-badge { border: 1px solid CanvasText; } }
