#lcm-root {
  --lcm-accent: #2457d6;
  --lcm-bg: #fff;
  --lcm-ink: #172033;
  --lcm-muted: #586174;
  --lcm-line: #dfe3eb;
  color: var(--lcm-ink);
  font-family: var(--lcm-font, Inter, ui-sans-serif, system-ui, sans-serif);
  position: relative;
  z-index: 2147483600;
}
#lcm-root * { box-sizing: border-box; }
.lcm-consent-wall { background: rgba(12, 17, 28, .62); inset: 0; position: fixed; z-index: 1; }
.lcm-banner {
  align-items: center;
  animation: lcm-in .28s ease-out;
  background: var(--lcm-panel-background, var(--lcm-bg));
  border: 1px solid var(--lcm-line);
  border-radius: var(--lcm-radius, 18px);
  bottom: var(--lcm-offset, 0px);
  box-shadow: 0 18px var(--lcm-shadow, 55px) rgba(19, 27, 44, .2);
  display: flex;
  gap: 28px;
  left: var(--lcm-offset, 0px);
  padding: 22px 24px;
  position: fixed;
  right: var(--lcm-offset, 0px);
  z-index: 2;
}
#lcm-root[data-position="top"] .lcm-banner { bottom: auto; top: var(--lcm-offset, 0px); }
#lcm-root[data-notice="box"] .lcm-banner { display: block; max-width: 530px; }
#lcm-root[data-notice="box"][data-align="left"] .lcm-banner { right: auto; }
#lcm-root[data-notice="box"][data-align="right"] .lcm-banner { left: auto; }
#lcm-root[data-notice="popup"] .lcm-banner {
  bottom: auto;
  display: block;
  left: 50%;
  max-width: 580px;
  right: auto;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100vw - 30px);
}
#lcm-root[data-notice="banner"] .lcm-banner { flex-wrap: wrap; }
#lcm-root[data-notice="banner"] .lcm-copy { flex: 1 1 100%; max-width: none; }
#lcm-root[data-notice="banner"] .lcm-actions { flex: 0 0 100%; width: 100%; }
@media (min-width: 1001px) {
  #lcm-root[data-notice="banner"][data-button-align="right"][data-categories="0"] .lcm-banner {
    flex-wrap: nowrap;
    gap: 24px;
    padding: 17px 20px;
  }
  #lcm-root[data-notice="banner"][data-button-align="right"][data-categories="0"] .lcm-copy {
    align-items: center;
    column-gap: 22px;
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: minmax(210px, auto) minmax(240px, 1fr);
    grid-template-rows: auto auto;
    max-width: none;
  }
  #lcm-root[data-notice="banner"][data-button-align="right"][data-categories="0"] .lcm-eyebrow { grid-column: 1 / -1; }
  #lcm-root[data-notice="banner"][data-button-align="right"][data-categories="0"] .lcm-copy h2 { font-size: 20px; margin: 0; }
  #lcm-root[data-notice="banner"][data-button-align="right"][data-categories="0"] .lcm-actions { flex: 0 0 auto; width: auto; }
}
.lcm-copy { flex: 1; max-width: 850px; }
.lcm-copy h2, .lcm-modal h2 { color: var(--lcm-ink); font-size: 22px; line-height: 1.2; margin: 2px 0 8px; }
.lcm-copy p, .lcm-modal > p { color: var(--lcm-muted); font-size: var(--lcm-font-size, 14px); line-height: 1.55; margin: 0; }
.lcm-message-text { white-space: pre-line; }
.lcm-copy a { color: var(--lcm-accent); }
.lcm-eyebrow { color: var(--lcm-eyebrow, var(--lcm-accent)) !important; font-size: 11px !important; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.lcm-eyebrow:empty { display: none; }
.lcm-actions, .lcm-modal-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
#lcm-root[data-button-align="left"] .lcm-actions { justify-content: flex-start; margin-left: 0; margin-right: 0; }
#lcm-root[data-button-align="center"] .lcm-actions { justify-content: center; margin-left: 0; margin-right: 0; }
#lcm-root[data-button-align="right"] .lcm-actions { justify-content: flex-end; margin-left: 0; margin-right: 0; }
#lcm-root[data-notice="box"] .lcm-actions, #lcm-root[data-notice="popup"] .lcm-actions { width: 100%; }
#lcm-root[data-notice="box"] .lcm-actions, #lcm-root[data-notice="popup"] .lcm-actions { margin-top: 16px; }
.lcm-btn { appearance: none; background: var(--lcm-bg); border: 1px solid var(--lcm-line); border-radius: var(--lcm-button-radius, 10px); color: var(--lcm-ink); cursor: pointer; font: 650 13px/1 inherit; padding: 11px 15px; white-space: nowrap; }
.lcm-btn:hover { border-color: #aab2c1; filter: brightness(var(--lcm-button-hover-brightness, 96%)); }
.lcm-btn:focus-visible, .lcm-close:focus-visible, .lcm-copy a:focus-visible { outline: 3px solid color-mix(in srgb, var(--lcm-accent) 35%, transparent); outline-offset: 2px; }
.lcm-btn-primary, .lcm-btn-primary:hover { background: var(--lcm-accent); border-color: var(--lcm-accent); color: #fff; }
.lcm-btn-link { border-color: transparent; text-decoration: underline; }
.lcm-btn-custom { border-color: var(--lcm-button-border); color: var(--lcm-button-color); }
.lcm-btn-custom:not(.lcm-btn-link) { background: var(--lcm-button-background); }
.lcm-btn-link.lcm-btn-custom { background: transparent; border-color: transparent; }
.lcm-btn-primary.lcm-btn-gradient, .lcm-btn-primary.lcm-btn-gradient:hover { background-color: var(--lcm-button-background, var(--lcm-accent)); background-image: var(--lcm-button-gradient); border-color: var(--lcm-button-border, transparent); color: var(--lcm-button-color, #fff); }
.lcm-first-layer { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.lcm-first-layer[hidden], .lcm-btn[hidden] { display: none !important; }
.lcm-first-layer > label { align-items: center; border: 1px solid var(--lcm-line); border-radius: 999px; display: flex; font-size: 12px; font-weight: 650; gap: 8px; padding: 7px 9px 7px 12px; }
.lcm-first-layer .lcm-switch { height: 22px; width: 38px; }
.lcm-first-layer .lcm-switch span:before { height: 16px; width: 16px; }
.lcm-first-layer .lcm-switch input:checked + span:before { transform: translateX(16px); }
.lcm-backdrop { background: rgba(12, 17, 28, .58); inset: 0; position: fixed; z-index: 3; }
.lcm-modal {
  animation: lcm-modal-in .22s ease-out;
  background: var(--lcm-panel-background, var(--lcm-bg));
  border-radius: var(--lcm-radius, 20px);
  box-shadow: 0 25px 90px rgba(0, 0, 0, .35);
  left: 50%;
  max-height: calc(100vh - 30px);
  overflow: auto;
  padding: 28px;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(620px, calc(100vw - 30px));
  z-index: 4;
}
#lcm-root[data-preference="sidebar"] .lcm-modal { border-radius: 0; bottom: 0; left: auto; max-height: 100vh; right: 0; top: 0; transform: none; width: min(540px, 100vw); }
#lcm-root[data-preference="drawer"] .lcm-modal { border-radius: 0 0 var(--lcm-radius, 20px) var(--lcm-radius, 20px); left: 0; max-height: min(78vh, 760px); right: 0; top: 0; transform: none; width: 100%; }
.lcm-close { align-items: center; background: var(--lcm-close-bg, #f1f3f6); border: 0; border-radius: 50%; color: var(--lcm-close-color, #364055); cursor: pointer; display: flex; font-family: Arial, sans-serif; font-size: 24px; height: 34px; justify-content: center; line-height: 1; padding: 2px 0 0; position: absolute; right: 18px; top: 16px; width: 34px; }
.lcm-category { align-items: center; border-top: 1px solid var(--lcm-line); display: flex; gap: 20px; justify-content: space-between; padding: 17px 0; }
.lcm-category:first-of-type { margin-top: 20px; }
.lcm-category strong { font-size: 15px; }
.lcm-category p { color: var(--lcm-muted); font-size: 13px; line-height: 1.4; margin: 4px 0 0; }
.lcm-always { color: var(--lcm-always-active, var(--lcm-accent)); font-size: 12px; font-weight: 700; white-space: nowrap; }
.lcm-switch { display: inline-block; flex: 0 0 auto; height: 26px; position: relative; width: 46px; }
.lcm-switch input { height: 0; opacity: 0; width: 0; }
.lcm-switch span { background: var(--lcm-switch-inactive, #bdc3cf); border-radius: 30px; cursor: pointer; inset: 0; position: absolute; transition: .18s; }
.lcm-switch span:before { background: var(--lcm-switch-thumb, #fff); border-radius: 50%; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); content: ""; height: 20px; left: 3px; position: absolute; top: 3px; transition: .18s; width: 20px; }
.lcm-switch input:checked + span { background: var(--lcm-switch-active, var(--lcm-accent)); }
.lcm-switch input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--lcm-accent) 30%, transparent); }
.lcm-switch input:checked + span:before { transform: translateX(20px); }
.lcm-modal-actions { margin-top: 8px; }
.lcm-lock { overflow: hidden; }
.lcm-banner[hidden], .lcm-modal[hidden], .lcm-backdrop[hidden], .lcm-consent-wall[hidden] { display: none !important; }
@keyframes lcm-in { from { opacity: 0; transform: translateY(16px); } }
@keyframes lcm-modal-in { from { opacity: 0; transform: translate(-50%, -47%) scale(.98); } }
@media (max-width: 800px) {
  .lcm-banner { display: block; padding: 19px; }
  .lcm-actions { margin-top: 16px; }
  .lcm-btn { flex: 1; }
  .lcm-btn-link { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) { .lcm-banner, .lcm-modal { animation: none; } }
