/* Workshop Mistral subpage - scoped visuals inspired by Mistral brand layout (warm gradient accents).
   Official logos: use assets from https://mistral.ai/brand/ only (no stretch/recolor). */

.workshop-mistral-page {
  --wmist-ink: 12 10% 8%;
  --wmist-warm-1: 18 95% 58%;
  --wmist-warm-2: 32 100% 62%;
  --wmist-warm-3: 8 88% 52%;
  --wmist-gradient: linear-gradient(
    128deg,
    hsl(var(--wmist-warm-3)) 0%,
    hsl(var(--wmist-warm-1)) 42%,
    hsl(var(--wmist-warm-2)) 100%
  );
  --wmist-gradient-soft: linear-gradient(
    165deg,
    hsl(var(--wmist-warm-1) / 0.14) 0%,
    hsl(var(--background)) 55%
  );
}

.wmist-hero {
  background: var(--wmist-gradient-soft);
  border-bottom: 1px solid hsl(var(--border));
}

.wmist-hero-grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .wmist-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 3rem;
  }
}

.wmist-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--wmist-warm-3));
  margin-bottom: 0.75rem;
}

.wmist-media-slot {
  position: relative;
  width: 100%;
  border-radius: calc(var(--radius) + 4px);
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  box-shadow: var(--shadow-large);
  background: hsl(var(--card));
}

.wmist-media-slot--hero {
  aspect-ratio: 4 / 3;
  max-height: 22rem;
}

.wmist-media-slot--logo {
  aspect-ratio: 16 / 9;
  max-width: 14rem;
  margin: 0 auto;
  border-style: dashed;
  border-color: hsl(var(--border));
  box-shadow: var(--shadow-subtle);
}

.wmist-media-slot--product {
  aspect-ratio: 16 / 10;
}

.wmist-media-slot--tall {
  aspect-ratio: 3 / 4;
  max-height: 20rem;
}

.wmist-media-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1.25rem;
  text-align: center;
  background: linear-gradient(155deg, hsl(var(--secondary)) 0%, hsl(var(--muted)) 100%);
  color: hsl(var(--muted-foreground));
}

.wmist-media-slot--brand .wmist-media-placeholder {
  background: hsl(var(--wmist-ink));
  color: hsl(0 0% 92%);
}

.wmist-media-slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wmist-media-slot--logo-lockup img,
.wmist-media-slot--icon-thumb img {
  object-fit: contain;
  padding: 1rem;
}

.wmist-media-slot--icon-thumb {
  background: hsl(var(--wmist-ink));
}

.wmist-media-slot--hero:has(img) .wmist-media-badge {
  display: none;
}

.wmist-media-slot:has(img) .wmist-media-placeholder,
.wmist-media-slot:has(video) .wmist-media-placeholder {
  display: none;
}

.wmist-media-placeholder-icon {
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0.8;
}

.wmist-media-slot--brand .wmist-media-placeholder-icon {
  color: hsl(var(--wmist-warm-1));
}

.wmist-media-placeholder-text {
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.45;
  max-width: 14rem;
}

.wmist-media-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: hsl(0 0% 100% / 0.92);
  color: hsl(var(--wmist-ink));
  border: 1px solid hsl(var(--border));
}

.wmist-about-card {
  padding: 1.75rem 1.5rem 2rem;
}

@media (min-width: 768px) {
  .wmist-about-card {
    padding: 2rem 2rem 2.25rem;
  }
}

.wmist-about-card::before {
  opacity: 1;
  background: var(--wmist-gradient);
}

.wmist-about-intro {
  display: grid;
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 768px) {
  .wmist-about-intro {
    grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
    gap: 2rem;
  }
}

.wmist-about-logo .wmist-media-slot--logo {
  max-width: none;
  margin: 0;
  aspect-ratio: 1;
  border-style: solid;
  background: hsl(var(--card));
}

.wmist-about-logo .wmist-media-slot--logo:has(img) {
  border-style: solid;
}

.wmist-media-placeholder--logo {
  background: linear-gradient(155deg, hsl(var(--secondary)) 0%, hsl(var(--muted)) 100%);
  color: hsl(var(--wmist-warm-3));
}

.wmist-about-copy .traject-card-top {
  margin-bottom: 0.75rem;
}

.wmist-about-copy .traject-card-lead {
  margin-bottom: 0.75rem;
}

.wmist-attribution {
  margin: 1.25rem 0 0;
  padding-top: 1rem;
  font-size: 0.75rem;
  line-height: 1.55;
}

.wmist-attribution--light {
  border-top: 1px solid hsl(var(--border));
  color: hsl(var(--muted-foreground));
}

.wmist-about-divider {
  height: 1px;
  margin: 2rem 0 1.75rem;
  background: linear-gradient(
    90deg,
    transparent,
    hsl(var(--wmist-warm-1) / 0.45) 20%,
    hsl(var(--wmist-warm-2) / 0.45) 80%,
    transparent
  );
}

.wmist-about-products .wmist-section-head {
  margin-bottom: 1rem;
}

.wmist-platform-list {
  margin: 0;
  padding-left: 1.25rem;
  max-width: 42rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.88);
}

.wmist-platform-list li {
  margin-bottom: 0.65rem;
}

.wmist-platform-list li:last-child {
  margin-bottom: 0;
}

.wmist-platform-list strong {
  display: block;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.15rem;
}

.wmist-product-row {
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .wmist-product-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.wmist-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wmist-product-card .traject-card-lead {
  flex: 1 1 auto;
  margin-bottom: 1rem;
}

.wmist-media-slot--thumb {
  aspect-ratio: 16 / 7;
  margin-top: auto;
  box-shadow: var(--shadow-subtle);
}

.wmist-media-slot--thumb .wmist-media-placeholder {
  flex-direction: row;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
}

.wmist-media-slot--thumb .wmist-media-placeholder-text {
  max-width: none;
  text-align: left;
  font-size: 0.75rem;
}

.wmist-section-split {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 992px) {
  .wmist-section-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    gap: 2.5rem;
  }
}

.wmist-why-grid .traject-card::before {
  display: none;
}

.wmist-why-grid .traject-card-lead,
.wmist-why-lead {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
}

.wmist-variants-grid.traject-grid {
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .wmist-variants-grid.traject-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

#variants .traject-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#variants .traject-card .traject-card-lead,
#variants .wmist-variant-lead {
  flex: 1 1 auto;
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
}

#variants .wmist-variant-lead strong {
  font-weight: 600;
  color: hsl(var(--foreground));
}

#variants .traject-card::before {
  opacity: 1;
  background: var(--wmist-gradient);
}

.workshop-mistral-page .traject-card-icon {
  background: hsl(var(--wmist-warm-1) / 0.15);
  color: hsl(var(--wmist-warm-3));
}

.wmist-icon {
  width: 1.375rem;
  height: 1.375rem;
  flex-shrink: 0;
}

.wmist-icon--lg {
  width: 2.75rem;
  height: 2.75rem;
}

.wmist-icon--xl {
  width: 4.5rem;
  height: 4.5rem;
  opacity: 0.9;
}

.wmist-section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

.wmist-section-head--left {
  align-items: flex-start;
  margin-bottom: 2rem;
}

.wmist-section-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--wmist-warm-1) / 0.14);
  color: hsl(var(--wmist-warm-3));
}

.wmist-section-icon .wmist-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.wmist-section-head h2,
.wmist-section-head h3 {
  margin: 0;
  text-align: center;
}

.wmist-section-head--left h2 {
  text-align: left;
}

.wmist-hero-illustration {
  width: min(100%, 11rem);
  height: auto;
  color: hsl(var(--wmist-warm-1));
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.wmist-pixel-placeholder {
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 0.35rem;
}

.wmist-module-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.wmist-module-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: hsl(var(--foreground) / 0.88);
}

.wmist-module-list .wmist-module-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--wmist-warm-1) / 0.12);
  color: hsl(var(--wmist-warm-3));
  margin-top: 0.1rem;
}

.wmist-module-list .wmist-module-icon .wmist-icon {
  width: 1.125rem;
  height: 1.125rem;
}

ol.wmist-module-list {
  counter-reset: wmist-module-step;
}

ol.wmist-module-list > li::before {
  counter-increment: wmist-module-step;
  content: counter(wmist-module-step);
  flex-shrink: 0;
  width: 1.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 2rem;
  text-align: center;
  color: hsl(var(--wmist-warm-3));
}

.wmist-outro-icon {
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--wmist-warm-1) / 0.14);
  color: hsl(var(--wmist-warm-3));
}

.wmist-outro-icon .wmist-icon {
  width: 1.625rem;
  height: 1.625rem;
}

.wmist-deliverables-wrap {
  display: grid;
  gap: 2rem;
  align-items: center;
}

@media (min-width: 992px) {
  .wmist-deliverables-wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr);
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
  }
}
