.mw-artist-promo-carousel {
	--mw-carousel-gap: 1rem;
	position: relative;
	min-width: 0;
	margin-block: 0;
	color: #202428;
}
.mw-artist-promo-carousel__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-block-end: .5rem;
}
.mw-artist-promo-carousel .mw-artist-promo-carousel__toolbar .mw-artist-promo-carousel__title {
 margin: 0;
 padding-inline-start: 8px;
 border-inline-start: 5px solid var(--theme-palette-color-1, #ff6310);
 color: var(--theme-palette-color-4, #111518);
 font-size: 20px;
 font-weight: 700;
 line-height: 1.5;
 align-self: center;
}
.mw-artist-promo-carousel__navigation { display: flex; align-items: center; gap: .45rem; margin: 0; padding: 0; line-height: 1; }
.mw-artist-promo-carousel__navigation button {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	min-height: 0;
	line-height: 1;
	display: inline-flex;
	width: 2.65rem;
	height: 2.65rem;
	align-items: center;
	justify-content: center;
	border: 1px solid #d7dcdf;
	border-radius: 50%;
	background: #fff;
	color: #41494e;
	cursor: pointer;
}
.mw-artist-promo-carousel__navigation button:disabled { opacity: .38; cursor: default; }
.mw-artist-promo-carousel__navigation button:focus-visible,
.mw-artist-promo-carousel__track:focus-visible { outline: 2px solid #ed8a4e; outline-offset: 3px; }
.mw-artist-promo-carousel__navigation svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mw-artist-promo-carousel__reserved {
	position: relative;
	min-height: 390px;
	contain: layout style;
}
.mw-artist-promo-carousel__loading { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.mw-artist-promo-carousel__loading[hidden] { display: none; }
.mw-artist-promo-carousel__loading-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mw-artist-promo-carousel__skeletons { display: flex; gap: var(--mw-carousel-gap); padding: .25rem .15rem .7rem; }
.mw-artist-promo-carousel__skeleton-card { box-sizing: border-box; flex: 0 0 min(32%, 360px); min-width: 0; min-height: 370px; padding: 1rem; border: 1px solid #e9ebec; border-radius: 1rem; background: #fff; display: flex; flex-direction: column; gap: 1.25rem; }
.mw-artist-promo-carousel__skeleton-identity { display: flex; align-items: center; gap: .75rem; }
.mw-artist-promo-carousel__skeleton-avatar { width: 3rem; height: 3rem; border-radius: 50%; flex: none; }
.mw-artist-promo-carousel__skeleton-name { width: 45%; height: .9rem; border-radius: .4rem; }
.mw-artist-promo-carousel__skeleton-copy { display: grid; gap: .8rem; padding: 1rem; }
.mw-artist-promo-carousel__skeleton-copy span { height: .75rem; border-radius: .3rem; }
.mw-artist-promo-carousel__skeleton-copy span:last-child { width: 65%; }
.mw-artist-promo-carousel__skeleton-images { display: flex; gap: .5rem; margin-block-start: auto; }
.mw-artist-promo-carousel__skeleton-images span { flex: 1; aspect-ratio: 1; border-radius: .65rem; }
.mw-artist-promo-carousel__skeleton-card span { background: #e9ebec; animation: mw-artist-skeleton-pulse 1.4s ease-in-out infinite alternate; }
@keyframes mw-artist-skeleton-pulse { from { opacity: .55; } to { opacity: 1; } }
@media (max-width: 1023px) { .mw-artist-promo-carousel__skeleton-card { flex-basis: 52%; } }
@media (max-width: 767px) { .mw-artist-promo-carousel__skeleton-card { flex-basis: 87%; min-height: calc(230px + 26.667vw); padding: .8rem; } }
.mw-artist-promo-carousel__track {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: flex-start;
	gap: var(--mw-carousel-gap);
	padding: .25rem .15rem .7rem;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	overscroll-behavior-y: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: .15rem;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.mw-artist-promo-carousel__track::-webkit-scrollbar { display: none; width: 0; height: 0; }
.mw-artist-promo-carousel__track > .mw-artist-card-demo__section,
.mw-artist-promo-carousel__track .mw-artist-standard-quote-set { display: contents; }
.mw-artist-promo-carousel__track .mw-artist-standard-quote-grid {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: flex-start;
	gap: var(--mw-carousel-gap);
	padding: 0;
	overflow: visible;
	scroll-snap-type: none;
}
.mw-artist-promo-carousel__track .mw-artist-standard-quote-card {
	box-sizing: border-box;
	width: min(32%, 360px);
	min-width: min(32%, 360px);
	min-height: 370px;
	height: auto;
	align-self: flex-start;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.mw-artist-promo-carousel__reserved[aria-busy="true"] .mw-artist-promo-carousel__track { min-height: 370px; }
.mw-artist-promo-carousel__diagnostics { margin-block-start: .5rem; font-size: .85rem; }
.mw-artist-promo-carousel__diagnostics pre {
	max-width: 100%;
	padding: .65rem;
	overflow: auto;
	border: 1px solid #e2e6e8;
	border-radius: .5rem;
	background: #f8f9fa;
	direction: ltr;
	text-align: left;
	white-space: pre-wrap;
}
.mw-artist-carousel-demo > h3 { margin-block: 2rem .25rem; }
@media (max-width: 1023px) {
	.mw-artist-promo-carousel__track .mw-artist-standard-quote-card { width: 52%; min-width: 52%; }
}
@media (max-width: 767px) {
	.mw-artist-promo-carousel .mw-artist-promo-carousel__toolbar .mw-artist-promo-carousel__title { font-size: 18px; }
	.mw-artist-promo-carousel { margin-block: 0; }
	.mw-artist-promo-carousel__track { --mw-carousel-gap: .75rem; }
	.mw-artist-promo-carousel__track .mw-artist-standard-quote-card { width: 87%; min-width: 87%; min-height: 0; }
	/* Match the four-line card and square thumbnails before the fragment arrives. */
	.mw-artist-promo-carousel__reserved[aria-busy="true"] { min-height: calc(246px + 26.667vw); }
	.mw-artist-promo-carousel__reserved[aria-busy="true"] .mw-artist-promo-carousel__track { min-height: 0; }
	.mw-artist-promo-carousel__reserved[aria-busy="false"] { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.mw-artist-promo-carousel__track { scroll-behavior: auto !important; }
	.mw-artist-promo-carousel__skeleton-card span { animation: none; }
}

.mw-artist-promo-carousel__heading {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 6px 10px;
 min-width: 0;
}
.mw-artist-promo-carousel__title { white-space: nowrap; }
.mw-artist-promo-carousel__navigation { flex-shrink: 0; }
.mw-artist-promo-carousel .mw-artist-promo-carousel__all-reviews {
 display: inline-flex;
 align-items: center;
 padding: 3px 9px;
 border: 1px solid #ffd2ba;
 border-radius: 999px;
 background: #fff4ec;
 color: #b94d17;
 font-size: 12px;
 font-weight: 400;
 line-height: 1.7;
 text-decoration: none;
 white-space: nowrap;
}
.mw-artist-promo-carousel .mw-artist-promo-carousel__all-reviews:hover,
.mw-artist-promo-carousel .mw-artist-promo-carousel__all-reviews:focus-visible {
 background: #ffe6d6;
 border-color: #ff6310;
 color: #933b0f;
}
@media (max-width: 767px) {
 .mw-artist-promo-carousel__toolbar { gap: 8px; }
 .mw-artist-promo-carousel__heading { column-gap: 6px; }
 .mw-artist-promo-carousel .mw-artist-promo-carousel__all-reviews { padding: 2px 6px; font-size: 11px; }
}

.mw-artist-promo-carousel__track .mw-artist-promo-carousel__more-card {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: 1rem;
 min-height: 0;
 padding: 1.5rem;
 text-align: center;
 background: var(--theme-palette-color-8, #fff);
}
.mw-artist-promo-carousel__more-card p { margin: 0; }
.mw-artist-promo-carousel .mw-artist-promo-carousel__more-button {
 font-size: 14px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding: .8rem 1.1rem;
 border-radius: .65rem;
 background: var(--theme-palette-color-1, #ff6310);
 color: #fff;
 text-decoration: none;
 font-weight: 700;
 line-height: 1.8;
}
.mw-artist-promo-carousel__more-button:hover { color: #fff; filter: brightness(.92); }
.mw-artist-promo-carousel__more-button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Let testimonial cards define the row height; the CTA stretches to match. */
.mw-artist-promo-carousel__track .mw-artist-standard-quote-grid { align-items: stretch; }
.mw-artist-promo-carousel__track .mw-artist-standard-quote-card { align-self: stretch; }
