
/* BluUI_Core → content-carousel — component-owned stylesheet. */
/* BluUI rich content: scoped defaults shared by standalone Blocks. */
.blu-rich { box-sizing:border-box;min-width:0;color:var(--bluui-text,#172033);font-family:var(--bluui-font,Inter,system-ui,sans-serif); }
.blu-rich *, .blu-rich *::before, .blu-rich *::after { box-sizing:border-box; }
.blu-rich [hidden] { display:none!important; }
.blu-rich img { display:block;max-width:100%; }
.blu-rich figure { margin:0; }
.blu-rich button,.blu-rich a,.blu-rich input { font:inherit; }
.blu-rich-button { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border:1px solid var(--bluui-control-border,#94a3b8);border-radius:999px;background:var(--bluui-surface,#fff);color:var(--bluui-text,#172033);cursor:pointer;text-decoration:none; }
.blu-rich-button:hover { background:var(--bluui-surface-muted,#f1f5f9); }
.blu-rich-button:disabled { opacity:.45;cursor:default; }
.blu-rich :is(button,a,input,[tabindex]):focus-visible { outline:3px solid var(--bluui-primary,#4f46e5);outline-offset:4px; }
.blu-rich-error { color:var(--bluui-color-danger-text,#b91c1c);padding:12px;border:1px solid currentColor;border-radius:8px; }
.blu-rich-eyebrow { margin:0 0 20px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase; }
.blu-rich-title { color:inherit;margin:0 0 20px;font-size:clamp(28px,3.4vw,56px);line-height:1.1;letter-spacing:-.045em;text-wrap:balance; }
.blu-rich-description { font-size:clamp(16px,1.4vw,19px);line-height:1.7;margin:0 0 24px;max-width:62ch;white-space:pre-line; }
.blu-rich-link { display:inline-flex;gap:12px;align-items:center;min-height:44px;color:inherit;font-weight:650;text-decoration:none; }
.blu-rich-link::after { content:'↗';font-size:1.25em; }
.blu-rich-link:hover { text-decoration:underline; }
.blu-rich-bridge { display:contents!important; }
.blu-rich-enlarged { display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto; }
.blu-component-preview { display:none;-servicestudio-display:block;-servicestudio-padding:24px;-servicestudio-background:#eef2ff;-servicestudio-border:1px dashed #a5b4fc;-servicestudio-color:#312e81; }
@media(prefers-reduced-motion:reduce){.blu-rich *, .blu-rich *::before, .blu-rich *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }}

/* Horizontal native scrolling supplies touch support without a slider dependency. */
.blu-content-carousel__track { display:flex;gap:var(--blu-carousel-gap,24px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;padding:4px 0 16px; }
.blu-content-carousel__track::-webkit-scrollbar { display:none; }
.blu-content-carousel__item { flex:0 0 calc((100% - var(--blu-carousel-peek,48px) - (var(--blu-carousel-visible,3) - 1)*var(--blu-carousel-gap,24px))/var(--blu-carousel-visible,3));min-width:0;scroll-snap-align:start; }
.blu-content-carousel__item>*,.blu-content-carousel__item>.OSBlockWidget { height:100%; }
.blu-content-carousel__controls { display:flex;align-items:center;gap:20px;margin-top:16px; }
.blu-content-carousel__controls .blu-rich-button { width:48px;height:48px;padding:0;flex:none;font-size:22px; }
.blu-content-carousel__controls progress { flex:1;height:3px;min-width:20px;border:0;border-radius:9px;background:var(--bluui-border,#e2e8f0);accent-color:var(--bluui-primary,#4f46e5); }
.blu-content-carousel__controls progress::-webkit-progress-bar { background:var(--bluui-border,#e2e8f0);border-radius:9px; }.blu-content-carousel__controls progress::-webkit-progress-value { background:var(--bluui-primary,#4f46e5);border-radius:9px; }
.blu-content-carousel__status { font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap; }
