/* =========================================================
   MSC LESSON CALLOUTS
   File: msc_callouts.css
   Depends on: msc_core_tokens.css + vertical token file
   Standard: MSC_LESSON_CALLOUT_STANDARD_V1
   ========================================================= */

.msc-callout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .9rem;
  align-items: start;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--msc-vertical-primary) 35%, var(--msc-border));
  border-left: 6px solid var(--msc-vertical-primary);
  border-radius: var(--msc-radius-md, 12px);
  background: linear-gradient(180deg, var(--msc-vertical-primary-pale), var(--msc-vertical-primary-soft));
  box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
  font-family: var(--msc-font-family-base, "Inter", Arial, sans-serif);
}

.msc-callout__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #fff;
  color: var(--msc-vertical-primary-dark);
  border: 1px solid color-mix(in srgb, var(--msc-vertical-primary) 35%, #fff);
  box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
}

.msc-callout__content {
  min-width: 0;
}

.msc-callout__title {
  margin: 0 0 .25rem;
  color: var(--msc-vertical-primary-dark);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}

.msc-callout__text,
.msc-callout__content p {
  margin: 0;
  color: var(--msc-text-main);
  font-size: .98rem;
  line-height: 1.55;
}

.msc-callout--warning {
  border-color: color-mix(in srgb, var(--msc-status-warning) 40%, var(--msc-border));
  border-left-color: var(--msc-status-warning);
  background: var(--msc-status-warning-soft);
}

.msc-callout--warning .msc-callout__title,
.msc-callout--warning .msc-callout__icon {
  color: #7C4A03;
}

.msc-callout--legal {
  border-left-color: var(--msc-vertical-primary-dark);
}

@media (max-width: 520px) {
  .msc-callout {
    grid-template-columns: 1fr;
  }
}
