/* Shared consumers for the existing Visual Experience tokens.
   Important controls live in a layer below the first-declared CMS layer, so a
   published per-block style can still override an individual control. */
@layer lc-controls {
  :is(.lc-btn,.lc-btn-primary,.lcw-btn,.lcw-btn-primary,.lcw-btn-secondary,[data-lc-variant="primary"],[data-lc-variant="secondary"],[data-lc-variant="danger"]) {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    box-sizing:border-box;
    min-height:var(--lc-button-height,42px) !important;
    padding:10px var(--lc-button-padding-x,16px) !important;
    border:var(--lc-button-border-width,1px) solid var(--lc-button-secondary-border,var(--lc-mode-border,#cbd5e1)) !important;
    border-radius:var(--lc-button-radius,var(--lc-radius-button,9px)) !important;
    background:var(--lc-button-secondary-background,var(--lc-mode-surface,#fff)) !important;
    color:var(--lc-button-secondary-text,var(--lc-mode-text,#0f172a)) !important;
    font-size:var(--lc-button-font-size,16px) !important;
    font-weight:var(--lc-button-font-weight,600) !important;
    line-height:1.3;
    text-decoration:none;
    cursor:pointer;
    transition:background-color var(--lc-button-transition,180ms),border-color var(--lc-button-transition,180ms),color var(--lc-button-transition,180ms) !important;
  }
  :is(.lc-btn,.lcw-btn,.lcw-btn-secondary,[data-lc-variant="secondary"]):hover {
    background:var(--lc-button-secondary-hover-background,color-mix(in srgb,var(--lc-button-secondary-background,var(--lc-mode-surface,#fff)) 92%,var(--lc-button-primary-background,#2563eb))) !important;
    border-color:var(--lc-button-secondary-hover-border,var(--lc-button-primary-background,#2563eb)) !important;
    color:var(--lc-button-secondary-hover-text,var(--lc-button-secondary-text,var(--lc-mode-text,#0f172a))) !important;
  }
  :is(.lc-btn.primary,.lc-btn-primary,.lcw-btn-primary,[data-lc-variant="primary"]) {
    background:var(--lc-button-primary-background,var(--lc-color-primary,#2563eb)) !important;
    border-color:var(--lc-button-primary-background,var(--lc-color-primary,#2563eb)) !important;
    color:var(--lc-button-primary-text,#fff) !important;
  }
  :is(.lc-btn.primary,.lc-btn-primary,.lcw-btn-primary,[data-lc-variant="primary"]):hover {
    background:var(--lc-button-primary-hover-background,color-mix(in srgb,var(--lc-button-primary-background,#2563eb) 85%,black)) !important;
    border-color:var(--lc-button-primary-hover-background,color-mix(in srgb,var(--lc-button-primary-background,#2563eb) 85%,black)) !important;
    color:var(--lc-button-primary-hover-text,var(--lc-button-primary-text,#fff)) !important;
  }
  :is(.lc-btn.danger,.lcw-btn-danger,[data-lc-variant="danger"]) {
    background:var(--lc-button-danger-background,var(--lc-color-danger,#dc2626)) !important;
    border-color:var(--lc-button-danger-border,var(--lc-button-danger-background,var(--lc-color-danger,#dc2626))) !important;
    color:var(--lc-button-danger-text,#fff) !important;
  }
  :is(.lc-btn.danger,.lcw-btn-danger,[data-lc-variant="danger"]):hover {
    background:var(--lc-button-danger-hover-background,color-mix(in srgb,var(--lc-button-danger-background,var(--lc-color-danger,#dc2626)) 85%,black)) !important;
    border-color:var(--lc-button-danger-hover-background,color-mix(in srgb,var(--lc-button-danger-background,var(--lc-color-danger,#dc2626)) 85%,black)) !important;
    color:var(--lc-button-danger-hover-text,var(--lc-button-danger-text,#fff)) !important;
  }
  :is(.lc-btn,.lc-btn-primary,.lcw-btn,.lcw-btn-primary,.lcw-btn-secondary,[data-lc-variant]):focus-visible {
    outline:var(--lc-focus-ring-width,3px) solid var(--lc-form-input-focus,var(--lc-button-primary-background,#2563eb));
    outline-offset:3px;
  }
  :is(.lc-btn,.lc-btn-primary,.lcw-btn,[data-lc-variant]):is(:disabled,[aria-disabled="true"]) {
    opacity:var(--lc-button-disabled-opacity,.55);
    cursor:not-allowed;
  }
  @media(prefers-reduced-motion:reduce) {
    :is(.lc-btn,.lc-btn-primary,.lcw-btn,[data-lc-variant]) { transition:none !important; }
  }
  /* These actual controls previously overrode the validated form settings. */
  .lc-field-error { color:var(--lc-form-error-color,var(--lc-color-danger,#dc2626)) !important; }
  /* Keep the Blog card's layout; connect its surface, radius and body spacing. */
  .lc-posts-card.lc-panel {
    background:var(--lc-panel-background,var(--lc-mode-surface,#fff)) !important;
    border:var(--lc-panel-border-width,1px) solid var(--lc-panel-border-color,var(--lc-mode-border,#e2e8f0)) !important;
    border-radius:var(--lc-panel-radius,var(--lc-radius-panel,16px)) !important;
    box-shadow:var(--lc-panel-shadow,var(--lc-shadow-panel,none)) !important;
  }
  .lc-posts-card-content { padding:var(--lc-panel-padding,22px) !important; }
  /* A neutral standalone icon uses Icon Designer. Preserve the foreground of
     colored controls, navigation, icon containers and status indicators. */
  .lc-svg-icon { color:var(--lc-icon-color,currentColor) !important; }
  :is(a,button,[role="button"],nav,.lc-sidebar,.lc-icon-container,.lc-metric-icon,.lc-form-section-icon,.lc-calendar-stat-icon,.lc-auth-input-icon,.lc-account-option-icon,.lc-status,.lc-badge,[class*="status"],[class*="badge"],[class*="risk"],[class*="alert"]) .lc-svg-icon { color:inherit !important; }
  .lc-svg-icon[data-icon-tone="muted"] { color:var(--lc-icon-muted-color,var(--lc-color-text-muted,#64748b)) !important; }
  .lc-svg-icon[data-icon-tone="primary"] { color:var(--lc-icon-primary-color,var(--lc-color-primary,#2563eb)) !important; }
}
