/* Only the homepage Banner Carousel identified by the child-theme render hook. */
.bambu-home-hero,
.bambu-home-hero > .elementor-widget-container,
.bambu-home-hero .swiper-entry,
.bambu-home-hero :is(.swiper, .swiper-container) { width: 100%; max-width: 100%; }
.bambu-home-hero .banner { position: relative; height: var(--bambu-hero-height, 560px); margin: 0; overflow: hidden; }
.bambu-home-hero .banner > img,
.bambu-home-hero .bambu-hero-picture,
.bambu-home-hero .bambu-hero-picture img { display: block; width: 100%; height: 100%; }
.bambu-home-hero .banner > img,
.bambu-home-hero .bambu-hero-picture img { object-fit: cover; object-position: var(--bambu-hero-image-position, center); }
.bambu-home-hero .banner.et_image-hover-6 > img,
.bambu-home-hero .banner.et_image-hover-6:hover > img,
.bambu-home-hero .banner.et_image-hover-6 > .bambu-hero-picture img,
.bambu-home-hero .banner.et_image-hover-6:hover > .bambu-hero-picture img { transform: none !important; transition: none !important; }
.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .banner-content {
    position: absolute; inset: 0 auto 0 var(--bambu-hero-content-left, max(24px, calc((100% - 1200px) / 2)));
    display: flex; flex-direction: column; justify-content: center; align-items: stretch;
    width: min(44%, 480px); max-width: calc(100% - 48px); height: auto;
    transform: none; box-sizing: border-box; gap: 16px; color: var(--bambu-hero-text, #fff);
}
.bambu-home-hero .banner .banner-content { padding: var(--bambu-hero-padding, 24px 0); }
.elementor .elementor-widget.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .banner-content,
.elementor .elementor-widget.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .banner-content :is(.banner-title, .banner-subtitle, .content-inner, .button-wrap) { text-align: var(--bambu-hero-align, left) !important; }
.bambu-home-hero .banner-title { order: 0; }
.bambu-home-hero .banner-subtitle { order: 1; }
.bambu-home-hero .content-inner { order: 2; }
.bambu-home-hero .button-wrap { order: 3; }
.bambu-home-hero .banner :is(.banner-title, .banner-subtitle, .content-inner) { margin: 0; color: var(--bambu-hero-text, #fff); }
.bambu-home-hero .banner .content-inner > :last-child { margin-bottom: 0; }
.bambu-home-hero .banner .banner-title { font-size: 46px; line-height: 1.15; }
.bambu-home-hero .banner .banner-subtitle { font-size: 24px; line-height: 1.35; }
.bambu-home-hero .content-inner :is(.amount, .woocommerce-Price-amount, bdi, ins, del, .woocommerce-Price-currencySymbol) { color: inherit !important; }
.bambu-home-hero .content-inner ins { background: transparent; text-decoration: none; }
.bambu-home-hero .content-inner del { opacity: .7; }
.elementor .elementor-widget.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .button-wrap .banner-button {
    display: inline-flex; align-items: center; justify-content: center;
    box-sizing: border-box; width: 160px; max-width: 100%; min-width: 0; height: 45px;
    padding: 0 16px; border: 0; border-radius: 4px; box-shadow: none;
    background: var(--bambu-hero-button, #fff); color: var(--bambu-hero-button-text, #111);
    font-size: 14px; font-weight: 400; line-height: 1.2; text-align: center;
    transition: background-color 200ms ease, color 200ms ease;
}
.elementor .elementor-widget.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .button-wrap .banner-button:is(:hover, :focus-visible) {
    background: var(--bambu-hero-button-text, #111); color: var(--bambu-hero-button, #fff);
}
.bambu-home-hero .banner .banner-button:focus-visible { outline: 2px solid #00ae42; outline-offset: 3px; }
.elementor-widget.bambu-home-hero .swiper .swiper-pagination {
    position: absolute; left: 0; right: 0; bottom: 18px; top: auto; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: 10px; z-index: 2; margin: 0; transform: none;
}
.elementor-widget.bambu-home-hero .swiper .swiper-pagination .swiper-pagination-bullet { width: 7px; height: 7px; margin: 0; border-radius: 20px; background: #fff; opacity: .45; }
.elementor-widget.bambu-home-hero .swiper .swiper-pagination .swiper-pagination-bullet-active { width: 34px; opacity: 1; }
@media (max-width: 767px) {
    .elementor .e-con.elementor-element:has(> .bambu-home-hero) { --min-height: 0px; }
    .bambu-home-hero,
    .bambu-home-hero > .elementor-widget-container,
    .bambu-home-hero .swiper-entry,
    .bambu-home-hero :is(.swiper, .swiper-container, .swiper-wrapper, .swiper-slide, .banner) { height: 600px; }
    .bambu-home-hero .banner { display: block; }
    .bambu-home-hero .banner > img { height: 100%; object-fit: cover; object-position: var(--bambu-hero-image-position, 68% bottom); }
    .bambu-home-hero .bambu-hero-picture img { object-position: var(--bambu-hero-image-position, center bottom); }
    .elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .banner-content { position: absolute; inset: 0 0 auto; width: 100%; max-width: 100%; min-height: 0; justify-content: flex-start; gap: 10px; background: transparent; }
    .bambu-home-hero .banner .banner-content { padding: var(--bambu-hero-padding, 24px 20px 16px); }
    .elementor .elementor-widget.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .banner-content,
    .elementor .elementor-widget.elementor-widget-etheme_banner_carousel.bambu-home-hero .banner .banner-content :is(.banner-title, .banner-subtitle, .content-inner, .button-wrap) { text-align: var(--bambu-hero-align, center) !important; }
    .bambu-home-hero .banner .banner-title { font-size: 24px; line-height: 1.2; }
    .bambu-home-hero .banner .banner-subtitle { font-size: 16px; line-height: 1.35; }
    .bambu-home-hero .banner .content-inner { font-size: 16px; }
    .elementor-widget.bambu-home-hero .swiper .swiper-pagination { bottom: 14px; gap: 8px; }
    .bambu-home-hero :is(.swiper-custom-left, .swiper-custom-right) { display: none; }
}
