.elementor-widget-bambu-product-downloads { width: 100%; min-width: 0; }
.bambu-downloads { box-sizing: border-box; width: 100%; min-width: 0; padding: 72px 24px; background: var(--bambu-download-background,#fafafa); }
.bambu-downloads[hidden], .bambu-downloads-host[hidden] { display: none !important; }
.bambu-downloads-section:not(:has([data-bambu-downloads]:not([hidden]))) { display: none; }
.bambu-downloads__inner { width: 100%; max-width: 1200px; margin-inline: auto; min-width: 0; }
.elementor-widget-bambu-product-downloads .bambu-downloads h2.bambu-downloads__heading { margin: 0 0 56px; text-align: center; color: var(--bambu-download-heading,#000); font-size: clamp(28px,3vw,40px); line-height: 1.2; }
.bambu-downloads__grid { display: grid; grid-template-columns: repeat(var(--bambu-download-columns,4),minmax(0,1fr)); gap: var(--bambu-download-gap,20px); }
.bambu-downloads .bambu-downloads__card { display: flex; flex-direction: column; gap: 12px; min-width: 0; color: var(--bambu-download-title,#000); text-decoration: none; }
.bambu-downloads__image { display: flex; align-items: center; justify-content: center; aspect-ratio: 2.35; min-height: 100px; background: var(--bambu-download-card,#efefef); color: #363636; }
.bambu-downloads__icon { display: block; flex: 0 0 auto; width: min(56px,70%); height: auto; aspect-ratio: 56/64; }
.bambu-downloads__title { display: block; font-size: 16px; line-height: 1.5; text-align: center; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.bambu-downloads__card:hover .bambu-downloads__title { text-decoration-thickness: 2px; }
.bambu-downloads__card:focus-visible { outline: 2px solid var(--bambu-download-label,#00b84a); outline-offset: 5px; }
.bambu-downloads__empty { text-align: center; color: #555; border: 1px dashed #999; padding: 24px; }
@media(max-width:1024px) { .bambu-downloads { --bambu-download-columns: 2; } }
@media(max-width:767px) { .bambu-downloads { padding: 40px 16px; } .elementor-widget-bambu-product-downloads .bambu-downloads h2.bambu-downloads__heading { margin-bottom: 32px; } .bambu-downloads__title { font-size: 14px; } }
