/* Reuses public-site.css: Apfel type, warm cream and the public CTA palette.
   Figma brand reference: lrZtBV2Nv0em9SkmpBMglf / 108:2 (no artwork needed). */
#trove-privacy-controls { font: 400 16px/1.45 'Apfel Grotezk', ApfelGrotezkRegular, ApfelAccount, Arial, sans-serif; color: #17140f; }
#trove-privacy-controls *, #trove-privacy-controls *::before, #trove-privacy-controls *::after { box-sizing: border-box; }
#trove-privacy-controls [hidden] { display: none !important; }
#trove-privacy-controls h2 { margin: 0 0 10px; font: 500 24px/1.2 'Apfel Grotezk', ApfelGrotezkRegular, ApfelAccount, Arial, sans-serif; }
#trove-privacy-controls p { margin: 0 0 18px; }
#trove-privacy-controls a { color: #794819; text-decoration: underline; }
#trove-privacy-controls button { font: inherit; cursor: pointer; min-height: 44px; }
#trove-privacy-controls :focus-visible { outline: 3px solid #79502f; outline-offset: 3px; }
#trove-privacy-controls .trove-consent-banner { position: fixed; z-index: 200; bottom: max(12px, env(safe-area-inset-bottom)); left: 16px; width: min(540px, calc(100% - 32px)); padding: 22px; background: #fffdf8; border: 1px solid #d9c8b3; border-radius: 23px; box-shadow: 0 8px 32px #00000020; max-height: min(60dvh, 480px); overflow: auto; }
#trove-privacy-controls .trove-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }
#trove-privacy-controls .trove-consent-actions button { flex: 1 0 120px; padding: 11px 14px; border: 1px solid #d2b68c; border-radius: 32px; background: linear-gradient(180deg, #fff0d2, #ffd292); color: #794819; box-shadow: inset 0 1px 2px #fff; }
#trove-privacy-controls .trove-consent-actions button:hover { filter: brightness(.97); }
#trove-privacy-controls .trove-consent-dialog { font: inherit; color: inherit; background: #fffdf8; border: 1px solid #d9c8b3; border-radius: 23px; padding: 28px; width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; overflow: auto; box-shadow: 0 8px 32px #00000020; }
#trove-privacy-controls .trove-consent-dialog::backdrop { background: #17140f55; }
#trove-privacy-controls .trove-consent-choice { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-top: 1px solid #e5dacc; cursor: pointer; }
#trove-privacy-controls .trove-consent-choice input { flex: 0 0 22px; width: 22px; height: 22px; margin: 3px 0; accent-color: #794819; }
#trove-privacy-controls .trove-consent-choice strong, #trove-privacy-controls .trove-consent-choice span span { display: block; }
#trove-privacy-controls .trove-consent-choice strong { font-weight: 500; font-size: 18px; margin-bottom: 4px; }
#trove-privacy-controls .trove-consent-choice:has(input:disabled) { cursor: default; }
#trove-privacy-controls .trove-consent-signal { background: #f1f0df; padding: 12px; border-radius: 12px; }
@media (max-width: 380px) { #trove-privacy-controls .trove-consent-banner, #trove-privacy-controls .trove-consent-dialog { padding: 18px; } }

/* Keep the first-visit banner above the app navigation. */
#trove-privacy-controls[data-privacy-surface="app"] .trove-consent-banner { bottom: calc(max(12px, env(safe-area-inset-bottom)) + 76px); }

@media(max-width:640px){#trove-privacy-controls[data-quiz="aura"] .trove-consent-banner{left:8px;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);padding:10px 12px;border-radius:16px}#trove-privacy-controls[data-quiz="aura"] .trove-consent-banner p{font-size:14px;line-height:1.25;margin:0 0 6px}#trove-privacy-controls[data-quiz="aura"] .trove-consent-actions{gap:5px;flex-wrap:nowrap}#trove-privacy-controls[data-quiz="aura"] .trove-consent-actions button{flex:1 1 0;min-width:0;min-height:44px;font-size:13px;padding:5px}}
