/* LUMA consent banner v1.0.0 (docs/CONSENT_BANNER_STANDARD.md). Dark card at the bottom, one line, two equal buttons.
   Design source: LOGIC Leasing CookieConsent.tsx. Sites change colours ONLY through the five --lcb-* tint variables
   (set them on :root after this file). --lcb-offset-bottom lifts the card above a sticky mobile action bar.
   Fixed position + transform/opacity only, so the card never moves page content (no layout shift). */
:root {
  --lcb-bg: #171717;
  --lcb-text: #fafafa;
  --lcb-accept-bg: #ffffff;
  --lcb-accept-text: #171717;
  --lcb-decline-border: rgba(255, 255, 255, 0.15);
  --lcb-offset-bottom: 0px;
  --lcb-z: 2147483000;
}
.lcb {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(16px + var(--lcb-offset-bottom) + env(safe-area-inset-bottom, 0px));
  z-index: var(--lcb-z);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  pointer-events: none;
}
.lcb.lcb--in { opacity: 1; transform: none; pointer-events: auto; }
.lcb, .lcb * { box-sizing: border-box; }
.lcb .lcb__card {
  margin: 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  background: var(--lcb-bg);
  color: var(--lcb-text);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  text-align: left;
}
.lcb .lcb__text {
  margin: 0;
  padding: 0;
  color: var(--lcb-text);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}
.lcb .lcb__link,
.lcb .lcb__link:visited,
.lcb .lcb__link:hover {
  color: var(--lcb-text);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.lcb .lcb__actions { display: flex; gap: 8px; margin: 12px 0 0; padding: 0; }
.lcb .lcb__btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border-radius: 12px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  text-align: center;
  text-shadow: none;
  box-shadow: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, filter 0.15s ease;
}
.lcb .lcb__btn--accept,
.lcb .lcb__btn--accept:hover,
.lcb .lcb__btn--accept:focus {
  background: var(--lcb-accept-bg);
  color: var(--lcb-accept-text);
  border: 1px solid var(--lcb-accept-bg);
}
.lcb .lcb__btn--accept:hover { filter: brightness(0.92); }
.lcb .lcb__btn--decline,
.lcb .lcb__btn--decline:hover,
.lcb .lcb__btn--decline:focus {
  background: transparent;
  color: var(--lcb-text);
  border: 1px solid var(--lcb-decline-border);
}
.lcb .lcb__btn--decline:hover { border-color: var(--lcb-text); }
.lcb .lcb__btn:focus { outline: none; }
.lcb .lcb__btn:focus-visible,
.lcb .lcb__link:focus-visible { outline: 2px solid var(--lcb-text); outline-offset: 2px; }
@media (min-width: 640px) {
  .lcb { left: 24px; right: auto; width: 340px; bottom: calc(24px + var(--lcb-offset-bottom) + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .lcb { transition: none; transform: none; }
}
@media print { .lcb { display: none !important; } }
