/* ============================================================
   BBL BADDY — Elementor compatibility layer
   main.css is the untouched original stylesheet. This file only
   neutralises the spacing/wrappers Elementor adds so the rendered
   page matches the original static site pixel-for-pixel.
   ============================================================ */

/* Elementor wrappers: no gaps, no widget spacing */
.bblb-site .elementor-element { --widgets-spacing: 0px 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; }
.bblb-site .elementor-widget:not(:last-child) { margin-bottom: 0; margin-block-end: 0; }
.bblb-site .elementor-section .elementor-container { max-width: none; }
.bblb-site .elementor-column-gap-no > .elementor-column > .elementor-element-populated,
.bblb-site .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }

/* Sticky header: stick the Elementor section that wraps the header */
.bblb-site .elementor-section.bblb-sticky-header { position: sticky; top: 0; z-index: 1000; }
.bblb-site .elementor-section.bblb-sticky-header .site-header { position: relative; }
.admin-bar.bblb-site .elementor-section.bblb-sticky-header { top: 32px; }
@media (max-width: 782px) { .admin-bar.bblb-site .elementor-section.bblb-sticky-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar.bblb-site .elementor-section.bblb-sticky-header { top: 0; } }

/* Product page body (was <main class="product-page"><div class="container">) */
.bblb-site .elementor-section.bblb-product-page { padding: 40px 0 80px; }
/* In the original these two margins collapsed (24px + 64px -> 64px) */
.bblb-site .ycurve-showcase { margin-bottom: 0; }

/* Elementor's global `.elementor img { height:auto }` would override cover/contain images */
.bblb-site .hero-media img,
.bblb-site .feature-card img,
.bblb-site .product-card-media img,
.bblb-site .promise-visual img,
.bblb-site .product-gallery-main img,
.bblb-site .product-gallery-thumbs img { height: 100%; }
.bblb-site .gallery-tile img { height: 650px; }
.bblb-site .gallery-tile-wide img { height: 760px; }
@media (max-width: 780px) {
	.bblb-site .gallery-tile img, .bblb-site .gallery-tile-wide img { height: auto; }
}
.bblb-site .logo img { height: 100%; width: auto; }

/* Guards in case theme CSS isolation is switched off */
.bblb-site .menu-toggle:hover,
.bblb-site .menu-toggle:focus { background: none; }
.bblb-site .product-gallery-thumbs button:hover,
.bblb-site .product-gallery-thumbs button:focus { background: var(--soft-gray); }
.bblb-site .newsletter-form input { border-radius: 0; min-width: 0; }

/* Mobile menu: the original toggled .open but had no style for it.
   This only applies after the hamburger is tapped, so the resting design is unchanged. */
@media (max-width: 768px) {
	.bblb-site .header-inner { position: relative; }
	.bblb-site .nav-primary.open {
		display: flex; flex-direction: column; align-items: flex-start; gap: 18px;
		position: absolute; top: 72px; left: 0; right: 0;
		padding: 22px var(--gutter) 26px;
		background: rgba(255,255,255,0.98);
		border-bottom: 1px solid rgba(0,0,0,0.06);
	}
}
