:root { color-scheme: light; }

/* Placeholder for an <image-slot> that has no source yet. */
.msm-slot {
  width:100%; height:100%; min-height:120px;
  display:flex; align-items:center; justify-content:center;
  padding:16px; box-sizing:border-box;
  background:repeating-linear-gradient(45deg, hsl(var(--muted)) 0 10px, hsl(var(--background)) 10px 20px);
  border:1px dashed hsl(var(--input));
  color:hsl(var(--muted-foreground));
  font-size:13px; font-weight:600; line-height:1.4; text-align:center;
}
.msm-slot-img { width:100%; height:100%; object-fit:cover; display:block; }

/* shadcn/ui (new-york) Button + Badge, rendered without React. */
.msm-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  white-space:nowrap; border-radius:var(--radius); border:1px solid transparent;
  font-family:inherit; font-size:14px; font-weight:500; line-height:1;
  height:36px; padding:0 16px; cursor:pointer;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.msm-btn:focus-visible { outline:2px solid hsl(var(--ring)); outline-offset:2px; }
.msm-btn-size-lg { height:44px; padding:0 24px; font-size:16px; }
.msm-btn-default { background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.msm-btn-default:hover { background:hsl(275 80% 28%); }
.msm-btn-secondary { background:hsl(var(--secondary)); color:hsl(var(--secondary-foreground)); }
.msm-btn-secondary:hover { background:hsl(42 100% 52%); }
.msm-btn-outline { background:transparent; border-color:hsl(var(--input)); color:hsl(var(--foreground)); }
.msm-btn-outline:hover { background:hsl(var(--muted)); }

.msm-badge {
  display:inline-flex; align-items:center; border-radius:9999px;
  padding:2px 10px; font-size:12px; font-weight:600; line-height:1.4;
  border:1px solid transparent; white-space:nowrap;
}
.msm-badge-default { background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.msm-badge-secondary { background:hsl(var(--secondary)); color:hsl(var(--secondary-foreground)); }

/* Keyboard users get past the navigation without tabbing every link. */
.msm-skip {
  position:absolute; left:-9999px; top:0; z-index:100;
  padding:12px 20px; border-radius:0 0 var(--radius) 0;
  background:hsl(var(--primary)); color:#fff;
  font-size:14px; font-weight:700; text-decoration:none;
}
.msm-skip:focus { left:0; }

/* Feature index: a dense, scannable list of what a product actually does. */
.msm-fgroup h3 {
  margin:0 0 16px; font-size:15px; font-weight:800;
  letter-spacing:0.1em; text-transform:uppercase; color:hsl(var(--primary));
}
.msm-flist { margin:0; padding:0; list-style:none; }
.msm-flist li {
  padding:10px 0; border-top:1px solid hsl(var(--border));
  font-size:14px; line-height:1.55; color:hsl(var(--muted-foreground));
}
.msm-flist strong { color:hsl(var(--foreground)); font-weight:700; }

@media (prefers-reduced-motion: reduce) {
  * { transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
