/* LUMA consent banner — theme-independent, small, no external fonts. */
.luma-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 2147483000; display: flex; justify-content: flex-start; pointer-events: none; }
.luma-consent[hidden] { display: none; }
.luma-consent__card { pointer-events: auto; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow: auto; background: #fff; color: #202020; border-radius: 20px; padding: 22px; box-shadow: 0 10px 40px rgba(0, 0, 0, .18); font: 13px/1.55 var(--font-body, system-ui, sans-serif); }
.luma-consent__title { margin: 0 0 8px; font: 600 18px/1.2 var(--font-heading, system-ui, sans-serif); color: #000; }
.luma-consent__text { margin: 0; color: #3a3a3a; }
.luma-consent__text a { color: #000; text-decoration: underline; text-underline-offset: 3px; }
.luma-consent__prefs { display: grid; gap: 10px; margin-top: 14px; }
.luma-consent__prefs[hidden] { display: none; }
.luma-consent__opt { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #f2f2f4; cursor: pointer; }
.luma-consent__opt input { margin-top: 3px; width: 16px; height: 16px; accent-color: #000; flex: none; }
.luma-consent__opt b { color: #000; }
.luma-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.luma-consent__btn { height: 44px; border: 0; border-radius: 40px; background: #000; color: #fff; font: 700 13px/1 var(--font-body, system-ui, sans-serif); cursor: pointer; }
.luma-consent__btn:hover { background: #1a1a1a; }
.luma-consent__btn[hidden], .luma-consent__link[hidden] { display: none; }
.luma-consent__link { grid-column: 1 / -1; height: 32px; border: 0; background: none; color: #000; font: 13px/1 var(--font-body, system-ui, sans-serif); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.luma-consent [data-consent="save"] { grid-column: 1 / -1; }
.luma-consent :focus-visible { outline: 2px solid #000; outline-offset: 2px; }
@media (max-width: 767px) { .luma-consent { left: 10px; right: 10px; bottom: 10px; } .luma-consent__card { max-width: none; } }
