/* Brand UI tokens: Manual de Marca v1.0, pages 7-10. No remote font request. */
#ta-consent { color: #151515; font: 400 15px/1.5 Roboto, Arial, sans-serif; }
#ta-consent [hidden] { display: none !important; }
#ta-consent *, #ta-consent *::before, #ta-consent *::after { box-sizing: border-box; }
#ta-consent h2 { margin: 0 0 10px; color: #151515; font: 900 23px/1.2 Roboto, Arial, sans-serif; letter-spacing: -.3px; }
#ta-consent p { margin: 0 0 12px; color: #151515; font: inherit; }
#ta-consent a { color: #151515; text-decoration: underline; text-underline-offset: 3px; }
#ta-consent button { min-height: 44px; padding: 10px 16px; border: 1px solid #151515; border-radius: 12px; background: #fff; color: #151515; cursor: pointer; font: 700 14px/1.3 Roboto, Arial, sans-serif; }
#ta-consent button:hover { background: #fff4cc; }
#ta-consent button:focus-visible, #ta-consent a:focus-visible, #ta-consent input:focus-visible { outline: 3px solid #e71d2b; outline-offset: 3px; }
#ta-consent [data-consent-action="accept"], #ta-consent .ta-consent__save { background: #ffc107; }
#ta-consent .ta-consent__banner { position: fixed; inset: auto 16px 16px auto; width: min(650px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid #eaeaea; border-top: 4px solid #ffc107; border-radius: 24px; background: #fff; box-shadow: 0 12px 50px #15151533; z-index: 2147483600; }
#ta-consent .ta-consent__actions { display: flex; gap: 10px; flex-wrap: wrap; }
#ta-consent .ta-consent__actions button { flex: 1 1 auto; }
#ta-consent .ta-consent__meta { color: #676767; font-size: 13px; }
#ta-consent .ta-consent__manage { position: fixed; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); min-height: 36px; padding: 8px 12px; border-color: #eaeaea; border-radius: 14px; background: #fff; box-shadow: 0 2px 12px #15151522; z-index: 2147483500; font-size: 12px; }
body.ta-ads-visible #ta-consent .ta-consent__manage { bottom: 124px; }
/* Keep the privacy control above Flutter's seven mobile navigation targets. */
@media (max-width: 899px) {
  body:has(flutter-view) #ta-consent .ta-consent__manage,
  body:has(flt-glass-pane) #ta-consent .ta-consent__manage { bottom: calc(108px + env(safe-area-inset-bottom)); }
  body.ta-ads-visible:has(flutter-view) #ta-consent .ta-consent__manage,
  body.ta-ads-visible:has(flt-glass-pane) #ta-consent .ta-consent__manage { bottom: calc(218px + env(safe-area-inset-bottom)); }
}
#ta-consent .ta-consent__dialog { width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid #eaeaea; border-radius: 24px; background: #fafafa; color: #151515; box-shadow: 0 20px 60px #15151544; }
#ta-consent .ta-consent__dialog::backdrop { background: #15151599; }
#ta-consent .ta-consent__heading { display: flex; align-items: flex-start; gap: 12px; justify-content: space-between; }
#ta-consent .ta-consent__close { flex: 0 0 44px; width: 44px; padding: 0; font-size: 26px; }
#ta-consent .ta-consent__category { display: flex; align-items: flex-start; gap: 12px; margin: 12px 0; padding: 16px; border: 1px solid #eaeaea; border-radius: 18px; background: #fff; cursor: pointer; }
#ta-consent .ta-consent__category input { width: 22px; height: 22px; flex: 0 0 22px; margin: 2px 0 0; accent-color: #151515; }
#ta-consent .ta-consent__category strong { display: block; font-weight: 700; }
#ta-consent .ta-consent__category small { display: block; margin-top: 4px; color: #676767; font-size: 13px; line-height: 1.5; }
@media (max-width: 480px) {
  #ta-consent .ta-consent__banner, #ta-consent .ta-consent__dialog { padding: 18px; }
  #ta-consent h2 { font-size: 21px; }
  #ta-consent .ta-consent__actions { gap: 8px; }
  #ta-consent .ta-consent__actions button { flex: 1 1 100%; }
}
