/* Site chrome and LCW mutations. Geometry and colors use the active brand tokens. */
:root {
  --pilot-control-ink: var(--t-ct-title-color--light);
  --pilot-control-muted: var(--t-ct-caption-color--light);
  --pilot-control-border: var(--t-ct-border-color--light);
  --pilot-control-surface: var(--t-bl-bg--light);
  --pilot-control-hover: var(--t-app-bg--light);
  --pilot-control-accent: var(--t-ct-title-color-accent--light);
}

.clvc---dark {
  --pilot-control-ink: var(--t-ct-title-color--dark);
  --pilot-control-muted: var(--t-ct-caption-color--dark);
  --pilot-control-border: var(--t-ct-border-color--dark);
  --pilot-control-surface: var(--t-bl-bg--dark);
  --pilot-control-hover: var(--t-app-bg--dark);
  --pilot-control-accent: var(--t-ct-title-color-accent--dark);
}

.clvc-btn.brand-theme-toggle,
:root .clvc-bl--lcw [data-legal-widget-policy-close]:not([hidden]) {
  display: inline-grid;
  place-items: center;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  min-inline-size: 0;
  min-block-size: 0;
  padding: 0;
  border: 1px solid var(--pilot-control-border);
  border-radius: var(--c-ui-br);
  color: var(--pilot-control-ink);
  background: transparent;
}

.clvc-btn.brand-theme-toggle:hover,
:root .clvc-bl--lcw [data-legal-widget-policy-close]:hover {
  background: var(--pilot-control-hover);
  color: var(--pilot-control-ink);
}

.brand-theme-toggle .clvc-icon {
  inline-size: 1rem;
  block-size: 1rem;
  color: inherit;
}
.brand-theme-toggle .brand-theme-icon--sun,
.clvc---dark .brand-theme-toggle .brand-theme-icon--moon { display: none; }
.clvc---dark .brand-theme-toggle .brand-theme-icon--sun { display: block; }

:root .clvc-bl--popup.clvc-bl--lcw {
  --v-cts--mw: min(34rem, 100%);
  --v-cts--pbl: 1.25rem;
  --v-cts--pil: 1.25rem;
  --v-ct-title--size: 1.125rem;
  --v-ct-text--size: .875rem;
}
:root .clvc-bl--popup.clvc-bl--lcw:has([data-legal-widget-policy]:not([hidden])) {
  --v-cts--mw: min(46rem, 100%);
}

:root .clvc-bl--lcw > .clvc-cts {
  border: 1px solid var(--pilot-control-border);
  border-radius: max(var(--c-ct-br), .75rem);
  color: var(--pilot-control-ink);
  background: var(--pilot-control-surface);
}

:root .clvc-bl--lcw [data-legal-widget-consent-ui] {
  gap: .75rem 1rem;
  align-items: center;
}
:root .clvc-bl--lcw [data-legal-widget-consent-ui] > .clvc-ui-1 {
  flex: 1 1 15rem;
  min-inline-size: 0;
}
:root .clvc-bl--lcw [data-legal-widget-consent-ui] > .clvc-ui-2 { flex-basis: 100%; }
:root .clvc-bl--lcw [data-legal-widget-consent-ui] .clvc-title {
  margin: 0 0 .35rem;
  color: var(--pilot-control-ink);
  font-size: 1.125rem;
  line-height: 1.3;
}
:root .clvc-bl--lcw [data-legal-widget-consent-ui] .clvc-text {
  margin: 0;
  color: var(--pilot-control-muted);
  font-size: .875rem;
  line-height: 1.5;
}
:root .clvc-bl--lcw [data-legal-widget-consent-ui] .clvc-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .9rem;
  margin-inline-start: calc(0px - var(--c-ui-indent-sml) - var(--c-ui-el-border-size));
}

:root .clvc-bl--lcw [data-legal-widget-policy-link] {
  color: var(--pilot-control-ink);
  font-size: .8125rem;
  text-decoration: underline;
  text-underline-offset: .2em;
}
:root .clvc-bl--lcw [data-legal-widget-action="accept"] {
  min-block-size: 2.25rem;
  padding: .45rem .85rem;
  border: 1px solid var(--pilot-control-accent);
  border-radius: var(--c-ui-br);
  background: var(--pilot-control-accent);
  color: var(--t-ct-title-color--light);
  font-size: .875rem;
  font-weight: 600;
}
:root .clvc-bl--lcw [data-legal-widget-action="accept"]:hover {
  background: color-mix(in srgb, var(--pilot-control-accent), var(--pilot-control-surface) 20%);
  color: var(--t-ct-title-color--light);
}

:root .clvc-bl--lcw [data-legal-widget-policy] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .5rem;
  padding-block-end: .875rem;
  margin-block-end: .875rem;
  border-color: var(--pilot-control-border);
  overflow: hidden;
}
:root .clvc-bl--lcw [data-legal-widget-policy][hidden] { display: none; }
:root .clvc-bl--lcw [data-legal-widget-policy-close]:not([hidden]) {
  position: relative;
  inset: auto;
  justify-self: end;
}
:root .clvc-bl--lcw [data-legal-widget-policy-close]::before,
:root .clvc-bl--lcw [data-legal-widget-policy-close]::after {
  inline-size: .75rem;
}
:root .clvc-bl--lcw [data-legal-widget-policy-content] {
  max-block-size: min(46dvh, 25rem);
  padding-inline-end: .5rem;
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--pilot-control-ink);
}
:root .clvc-bl--lcw [data-legal-widget-policy-content] :is(h1, h2, h3) {
  margin: 1rem 0 .4rem;
  color: var(--pilot-control-ink);
  line-height: 1.25;
}
:root .clvc-bl--lcw [data-legal-widget-policy-content] h1 { margin-block-start: 0; font-size: 1.25rem; }
:root .clvc-bl--lcw [data-legal-widget-policy-content] h2 { font-size: 1rem; }
:root .clvc-bl--lcw [data-legal-widget-policy-content] p {
  margin: 0 0 .75rem;
  font-size: .875rem;
  line-height: 1.55;
}
.brand-theme-toggle:focus-visible,
:root .clvc-bl--lcw :is(button, a):focus-visible {
  outline: 2px solid var(--pilot-control-ink);
  outline-offset: 2px;
}
@media (max-width: 36rem) {
  :root .clvc-bl--popup.clvc-bl--lcw { --v-cts--pbl: .875rem; --v-cts--pil: .875rem; }
  :root .clvc-bl--lcw [data-legal-widget-consent-ui] > .clvc-ui-1 { flex-basis: 100%; }
}
