/* Préférences publiques : actions bleues, choix enregistrés pour ce navigateur. */
.privacy-preferences { max-width:932px; margin:2rem auto 3rem; color:var(--text-primary); }
.privacy-preferences-header { margin-bottom:1.5rem; }
.privacy-back-link { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; margin-bottom:.75rem; color:var(--text-secondary); text-underline-offset:3px; }
.privacy-preferences h1 { font-size:clamp(1.6rem,4vw,2rem); line-height:1.25; margin:0 0 .75rem; }
.privacy-preferences p { color:var(--text-secondary); line-height:1.6; }
.privacy-preferences-header .privacy-scope { font-size:.9rem; margin-top:.75rem; }
.privacy-form { display:grid; gap:1.25rem; }
.privacy-card { padding:1.5rem; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-primary); min-width:0; }
.privacy-card h2 { display:flex; align-items:center; gap:.6rem; margin:0 0 .5rem; font-size:1.2rem; line-height:1.4; }
.privacy-card h3, .privacy-setting > label { display:block; font:inherit; font-weight:600; margin:0 0 .35rem; }
.privacy-card .icon { flex-shrink:0; }
.privacy-choice { display:flex; align-items:flex-start; gap:.9rem; padding:1rem; border:1px solid var(--border-color); border-radius:8px; margin-top:1rem; cursor:pointer; }
.privacy-choice:hover { background:var(--bg-secondary); }
.privacy-choice:focus-within { outline:2px solid var(--primary-color); outline-offset:3px; }
.privacy-choice input { width:20px; height:20px; flex:0 0 20px; margin-top:.15rem; accent-color:var(--primary-color); }
.privacy-choice-content { min-width:0; line-height:1.5; }
.privacy-choice-content strong { display:block; margin-bottom:.25rem; }
.privacy-choice-content > span { color:var(--text-secondary); }
.privacy-setting { padding-top:1rem; }
.privacy-setting + .privacy-setting { border-top:1px solid var(--border-color); margin-top:1.25rem; }
.privacy-select { margin-top:.75rem; max-width:360px; min-height:44px; }
.privacy-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1.5rem; }
.privacy-actions p { font-size:.9rem; }
.privacy-actions .privacy-save { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; white-space:normal; background:#4f46e5; color:#fff; border-color:#4f46e5; }
.privacy-actions .privacy-save:hover { background:#4338ca; border-color:#4338ca; }
.privacy-feedback { padding:1rem 1.25rem; border:1px solid; border-radius:8px; margin-bottom:1.25rem; line-height:1.5; }
.privacy-feedback-success { background:#ecfdf5; color:#065f46; border-color:#6ee7b7; }
.privacy-feedback-error { background:#fff1f2; color:#9f1239; border-color:#fda4af; }
.privacy-cookie-details { margin-top:1.5rem; }
.privacy-cookie-details summary { display:flex; align-items:center; gap:.6rem; min-height:44px; cursor:pointer; font-weight:600; list-style:none; }
.privacy-cookie-details summary::-webkit-details-marker { display:none; }
.privacy-cookie-details summary::after { content:'+'; margin-left:auto; font-size:1.25rem; }
.privacy-cookie-details[open] summary::after { content:'−'; }
.privacy-cookie-details p { margin-top:.75rem; }
.privacy-cookie-details a { display:inline-flex; align-items:center; min-height:44px; margin-top:.5rem; color:#4338ca; text-underline-offset:3px; }
.privacy-preferences a:focus-visible, .privacy-preferences summary:focus-visible, .privacy-preferences button:focus-visible { outline:2px solid var(--primary-color); outline-offset:4px; }
[data-theme="dark"] .privacy-cookie-details a { color:#a5b4fc; }
[data-theme="dark"] .privacy-feedback-success { background:#052e24; color:#a7f3d0; border-color:#047857; }
[data-theme="dark"] .privacy-feedback-error { background:#4c0519; color:#fecdd3; border-color:#be123c; }
@media (max-width:600px) {
    .privacy-preferences { margin-top:1rem; }
    .privacy-card { padding:1rem; }
    .privacy-actions { align-items:stretch; flex-direction:column; }
    .privacy-actions .privacy-save { width:100%; }
}
