/* Scoped to the optional Elementor project showcase widget. */
.elementor-widget-bambu-project-showcase-carousel { width: 100%; min-width: 0; }
.bambu-project-showcase { --bambu-project-visible: 2.15; --bambu-project-gap: 18px; --bambu-project-gutter: max(24px,calc((100% - 1200px)/2)); width: 100%; min-width: 0; overflow: hidden; padding: 72px 0 32px; background: var(--bambu-project-background,#111); color: var(--bambu-project-text,#fff); font-family: Manrope,sans-serif; }
/* The child theme's global mobile h2 size uses !important; override only this heading. */
.bambu-project-showcase h2.bambu-project-showcase__heading { margin: 0 auto 48px; padding: 0 24px; color: var(--bambu-project-text,#fff); text-align: center; font-size: clamp(26px,3vw,40px) !important; font-weight: 700; line-height: 1.2; }
.bambu-project-showcase__viewport { width: calc(100% - var(--bambu-project-gutter)); margin-left: var(--bambu-project-gutter); overflow: hidden; position: relative; touch-action: pan-y; }
.bambu-project-showcase__track { position: relative; z-index: 1; display: flex; width: 100%; height: auto; box-sizing: content-box; transition-property: transform; transition-timing-function: ease; }
.bambu-project-showcase__slide { position: relative; flex: 0 0 auto; width: calc((100% - var(--bambu-project-gap))/var(--bambu-project-visible)); min-width: 0; height: auto; margin-right: var(--bambu-project-gap); box-sizing: border-box; }
.bambu-project-showcase.is-initialized .bambu-project-showcase__slide { margin-right: 0; }
.bambu-project-showcase .bambu-project-showcase__card { display: block; padding: 0; border: 0; background: none; color: var(--bambu-project-text,#fff); text-decoration: none; }
.bambu-project-showcase__card img,.bambu-project-showcase__empty { display: block; width: 100%; aspect-ratio: 16/9; height: auto; object-fit: cover; object-position: center; border: 0; -webkit-user-drag: none; user-select: none; }
.bambu-project-showcase__empty { display: grid; place-items: center; background: #222; padding: 24px; }
.bambu-project-showcase h3.bambu-project-showcase__title { color: var(--bambu-project-text,#fff); font: 700 clamp(17px,1.5vw,22px)/1.4 Manrope,sans-serif; margin: 24px 0 0; text-align: left; overflow-wrap: anywhere; }
.bambu-project-showcase p.bambu-project-showcase__subtitle { color: var(--bambu-project-subtitle,#b9b9b9); font: 400 14px/1.5 Manrope,sans-serif; margin: 8px 0 0; text-align: left; }
.bambu-project-showcase__controls { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; min-height: 12px; margin: 28px 24px 0; }
.bambu-project-showcase__pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.bambu-project-showcase .bambu-project-showcase__dot { display: block; flex: 0 0 auto; width: 8px; min-width: 8px; height: 8px; min-height: 8px; margin: 0; padding: 0; background: #555; border: 0; border-radius: 20px; opacity: 1; transition: width .25s,background-color .25s; }
.bambu-project-showcase .bambu-project-showcase__dot.is-active { width: 42px; background: #aaa; }
.bambu-project-showcase .bambu-project-showcase__arrow { display: grid; place-items: center; width: 34px; height: 34px; padding: 7px; border: 1px solid #aaa; border-radius: 50%; background: transparent; color: #fff; }
.bambu-project-showcase__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.bambu-project-showcase__arrow:disabled { opacity: .4; cursor: default; }
.bambu-project-showcase .bambu-project-showcase__pause { padding: 4px 8px; border: 1px solid #777; background: transparent; color: #fff; font-size: 12px; }
.bambu-project-showcase :is(button,a,[tabindex]):focus-visible { outline: 2px solid #00b84a; outline-offset: 3px; }
.bambu-project-showcase .swiper-notification { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
@media(max-width:1024px) { .bambu-project-showcase { --bambu-project-visible: 1.5; } }
@media(max-width:767px) {
 .bambu-project-showcase { --bambu-project-visible: 1.08; --bambu-project-gutter: 16px; padding-block: 44px 28px; }
 .bambu-project-showcase h2.bambu-project-showcase__heading { margin-bottom: 28px; padding-inline: 16px; }
 .bambu-project-showcase h3.bambu-project-showcase__title { margin-top: 16px; }
}
@media(prefers-reduced-motion:reduce) { .bambu-project-showcase__track,.bambu-project-showcase .bambu-project-showcase__dot { transition-duration: 0s !important; } }
