/* Namespaced; deliberately independent of page-specific button and section rules. */
.lw-consent[hidden] { display: none !important; }
.lw-consent { position: fixed; z-index: 1000; inset: auto 24px 24px auto; width: min(470px, calc(100vw - 48px)); max-height: calc(100dvh - 48px); overflow: auto; padding: 24px; border: 1px solid #39576a; border-radius: 14px; background: #111e28; color: #edf5fa; box-shadow: 0 16px 60px #0005; font-family: "IBM Plex Sans", Arial, sans-serif; text-align: left; font-size: 15px; line-height: 1.5; }
.lw-consent h2 { margin: 0 32px 10px 0; font-family: Sora, Arial, sans-serif; font-weight: 500; font-size: 20px; letter-spacing: -.03em; line-height: 1.3; color: #edf5fa; }
.lw-consent p { margin: 0 0 12px; color: #c6d7e3; font-size: 14px; line-height: 1.5; }
.lw-consent a { color: #99ddf6; text-decoration: underline; text-underline-offset: 3px; }
.lw-consent .lw-consent-status { font-size: 12px; margin-top: 12px; margin-bottom: 0; color: #b4c8d7; }
.lw-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lw-consent button { appearance: none; font: inherit; cursor: pointer; }
.lw-consent-actions button { min-height: 44px; padding: 10px 14px; border: 1px solid #8ab3c9; border-radius: 6px; background: #1c3546; color: #f0f8fd; font-weight: 500; }
.lw-consent-actions button:hover { background: #294b61; }
.lw-consent-actions button:disabled { opacity: .55; cursor: not-allowed; }
.lw-consent-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 4px; color: #dceaf2; background: transparent; font-size: 24px !important; line-height: 1; }
.lw-consent button:focus-visible, .lw-measurement-settings:focus-visible { outline: 2px solid #a9e5ff; outline-offset: 4px; }
button.lw-measurement-settings { display: block; appearance: none; font: 13px/1.5 "IBM Plex Sans", Arial, sans-serif; border: 0; background: transparent; color: inherit; text-decoration: underline; text-underline-offset: 4px; padding: 12px 0; min-height: 44px; cursor: pointer; }
.lw-measurement-footer { padding: 8px max(24px, calc((100vw - 1320px) / 2)); background: #101e28; color: #bfd1de; }
@media (max-width: 540px) {
  .lw-consent { inset: auto 0 0; width: auto; max-height: 44dvh; padding: 14px 16px 12px; border-width: 1px 0 0; border-radius: 14px 14px 0 0; box-shadow: 0 -10px 36px #0007; }
  .lw-consent h2 { margin: 0 32px 5px 0; font-size: 16px; line-height: 1.25; }
  .lw-consent p { margin-bottom: 7px; font-size: 12px; line-height: 1.35; }
  .lw-consent .lw-consent-status { display: none; }
  .lw-consent-actions { gap: 8px; }
  .lw-consent-actions button { min-height: 40px; padding: 8px 10px; font-size: 12px; }
  .lw-consent-close { top: 5px; right: 8px; width: 34px; height: 34px; }
}
@media (prefers-reduced-motion: reduce) { .lw-consent, .lw-consent * { scroll-behavior: auto; transition: none; } }
