/* Story v2 and the reusable interactive gallery only; legacy product copies stay intact. */
.bambu-detail-story .bambu-story-section { width: 100%; min-width: 0; scroll-margin-top: var(--bambu-section-offset,130px); }
.bambu-detail-story .bambu-story-inner { min-width: 0; }
.elementor-editor-active .bambu-story-hero-button-yes:not(.bambu-story-button-enabled-yes) { display: none; }
.bambu-detail-story .bambu-story-image img { display: block; width: 100%; height: auto; object-fit: cover; }
.bambu-detail-story .bambu-story-hero-media img { object-fit: contain; }
.bambu-detail-story .bambu-story-gallery-row > .elementor-widget { flex: 1 1 0; min-width: 0; width: 0; }
.bambu-detail-story .bambu-story-media-mode-image .bambu-story-technical-video,
.bambu-detail-story .bambu-story-media-mode-video .bambu-story-technical-image { display: none; }
.bambu-detail-story .bambu-story-video .elementor-wrapper { aspect-ratio: 16/9; }
.bambu-detail-story .bambu-story-video .bambu-detail-video-placeholder img { aspect-ratio: 16/9; object-fit: cover; }
.bambu-detail-story .bambu-story-video .bambu-detail-video-placeholder p { color: #aaa; font-size: 12px; }
.elementor-widget-bambu-interactive-feature-gallery { width: 100%; min-width: 0; }
.bambu-interactive-feature { --bambu-feature-bg:#000; --bambu-feature-text:#fff; --bambu-feature-description:#ccc; --bambu-feature-accent:#00b84a; --bambu-feature-panel-text:#fff; --bambu-feature-height:430px; --bambu-feature-duration:450ms; --bambu-feature-expanded:2.4; --bambu-feature-collapsed:1; width:100%; padding:80px 24px; background:var(--bambu-feature-bg); color:var(--bambu-feature-text); font-family:Manrope,sans-serif; }
.bambu-interactive-feature__inner { max-width:1200px; margin-inline:auto; min-width:0; }
.bambu-interactive-feature[data-layout="full"] .bambu-interactive-feature__inner { max-width:none; }
.bambu-interactive-feature h2.bambu-interactive-feature__heading { margin:0 0 48px; text-align:center; color:var(--bambu-feature-text); font:700 clamp(28px,3vw,42px)/1.2 Manrope,sans-serif; }
.bambu-interactive-feature__intro { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; margin-bottom:40px; align-items:start; }
.bambu-interactive-feature p.bambu-interactive-feature__label { color:var(--bambu-feature-accent); font:700 16px/1.4 Manrope,sans-serif; margin:0 0 14px; }
.bambu-interactive-feature h3.bambu-interactive-feature__headline { color:var(--bambu-feature-text); font:700 clamp(24px,2.5vw,32px)/1.2 Manrope,sans-serif; margin:0; }
.bambu-interactive-feature p.bambu-interactive-feature__description { color:var(--bambu-feature-description); font:400 15px/1.6 Manrope,sans-serif; margin:0; }
.bambu-interactive-feature__panels { display:flex; gap:8px; width:100%; min-width:0; }
.bambu-interactive-feature__panel { position:relative; flex:var(--bambu-feature-collapsed) 1 0; min-width:0; height:var(--bambu-feature-height); overflow:hidden; background:#242424; transition:flex-grow var(--bambu-feature-duration) ease; }
.bambu-interactive-feature__panel.is-active { flex-grow:var(--bambu-feature-expanded); }
.bambu-interactive-feature__panel > img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.bambu-interactive-feature__select { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; width:100%; height:100%; padding:24px; border:0; border-radius:0; background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,0) 65%); color:var(--bambu-feature-panel-text); text-align:left; cursor:pointer; white-space:normal; }
.bambu-interactive-feature__select:hover,.bambu-interactive-feature__select:focus { background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,0) 65%); color:var(--bambu-feature-panel-text); }
.bambu-interactive-feature__title { color:inherit; font:700 18px/1.35 Manrope,sans-serif; overflow-wrap:anywhere; }
.bambu-interactive-feature__caption { display:block; max-height:0; opacity:0; overflow:hidden; color:inherit; font:400 14px/1.5 Manrope,sans-serif; transition:max-height var(--bambu-feature-duration),opacity var(--bambu-feature-duration); }
.bambu-interactive-feature__panel.is-active .bambu-interactive-feature__caption { max-height:150px; opacity:1; margin-top:10px; }
.bambu-interactive-feature__link { position:absolute; z-index:2; top:14px; right:14px; padding:6px 10px; border:1px solid rgba(255,255,255,.5); border-radius:3px; color:#fff; background:rgba(0,0,0,.5); font:600 12px/1.4 Manrope,sans-serif; text-decoration:none; }
.bambu-interactive-feature :is(button,a):focus-visible { outline:2px solid var(--bambu-feature-accent); outline-offset:-4px; }
@media(max-width:767px) {
 .bambu-interactive-feature { padding:44px 16px; --bambu-feature-height:320px; }
 .bambu-interactive-feature h2.bambu-interactive-feature__heading { font-size:28px !important; margin-bottom:30px; }
 .bambu-interactive-feature__intro { grid-template-columns:minmax(0,1fr); gap:22px; margin-bottom:28px; }
 .bambu-interactive-feature__panels { flex-direction:column; }
 .bambu-interactive-feature__panel { flex:none; width:100%; height:112px; transition:height var(--bambu-feature-duration) ease; }
 .bambu-interactive-feature__panel.is-active { flex:none; height:var(--bambu-feature-height); }
 .bambu-interactive-feature__select { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .bambu-interactive-feature__panel,.bambu-interactive-feature__caption { transition:none; } }
