/* Mobile nav drawer / filter-panel scroll fix — pairs with assets/js/mobile-scroll-fix.js, which
   destroys the Partdo theme's Perfect Scrollbar instance on these two off-canvas panels for
   touch-primary visitors (see that file for the full root-cause writeup). Once that class/rails
   are gone, `.site-scroll` itself has no explicit overflow rule in the theme's own CSS (confirmed
   live: without `.ps`, computed overflow-y is the initial "visible", not "hidden" or "auto"), so
   this restores a plain, native, momentum-scrolling container in its place. Scoped to the same
   `(pointer: coarse)` condition as the JS so the two always agree, and left alone entirely for
   mouse/trackpad visitors, who still get the theme's own Perfect Scrollbar untouched. */
@media (pointer: coarse) {
	.site-drawer .site-scroll,
	.filtered-sidebar .site-scroll {
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-y: contain;
	}
}

/* Mobile Home Slider banners cropped almost flat (confirmed live, elementor-widget-partdo-
   home-slider): the theme's own mobile CSS makes each slide's image `position: absolute` to fill
   its `.klbth-banner` container, but on mobile (unlike desktop, where the text overlay is ALSO
   absolutely positioned) the text/button block stays in normal flow — so the container's height
   is whatever that one slide's own text needs, not the image's. A short-tagline slide (confirmed:
   as little as 101px, against an 8-slide track where the tallest slide is 325px) crops its image
   down to a sliver and leaves the rest of the slider's already-reserved height (sized off that
   tallest slide) as blank space beneath it. `min-height` (not `height`) so slides that already
   have enough content-driven height — including that tallest one — are completely untouched;
   only the short ones get lifted. `44vw` approximates this site's own banner image proportions
   (2500x1175, confirmed) closely enough that object-fit: cover doesn't need to crop much either
   way, and scales with phone width rather than one fixed pixel value. Verified live across
   multiple real slides (short and already-tall) at 375px mobile and unchanged at 1440px desktop. */
@media screen and (max-width: 991.98px) {
	.klbth-slider .slick-track .slider-item .klbth-banner.style-inner {
		min-height: 44vw !important;
	}
}

/* Category/shop subcategory (and product) grids with an odd item count balloon their last item to
   fill the whole row on mobile: the theme's own `.products.mobile-2 > * { flex: 1 0 50%; }` gives
   every card `flex-grow: 1`, and an unpaired last item — alone on its own line, nothing else to
   share the leftover space with — grows to fill it (confirmed live: a 3-subcategory category
   rendered its 3rd card at full width/2x the image size of the other two). Overriding only
   `flex-grow` (leaving the theme's own flex-basis/max-width alone) keeps every card the same size
   regardless of row position — an unpaired last card sits at its normal size with blank space
   beside it, instead of one random card looking oversized relative to its siblings. */
@media screen and (max-width: 991.98px) {
	.products.mobile-2 > * {
		flex-grow: 0 !important;
	}
}
