/* ROM - Palm Casual Filter UI (ported from Carolina Patio rom-cpf-filter-ui).
   Palm Casual kit: brand blue #0064B9, kit green #58964D (fills; white text stays legible), CTA green #64B900, light #F4F4F4.
   Fonts: Manrope (headings), Raleway (body). Header is not sticky, so the sidebar sticks 24px from the top. */
:root {
	--rom-fl-primary: #0064B9;
	--rom-fl-accent: #58964D;
	--rom-fl-accent-dark: #3F7A35;
	--rom-fl-cream: #F4F4F4;
	--rom-fl-line: #E7E7E7;
	--rom-fl-text: #3A3A3A;
	--rom-fl-muted: #7A7A7A;
	--rom-fl-heading: "Manrope", sans-serif;
	--rom-fl-body: "Raleway", sans-serif;
	--rom-fl-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230064B9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}

/* ============================================================
   Sidebar
   ============================================================ */
/* The sidebar flows at its natural height with the page: no inner scroll area, nothing clipped.
   filters.js adds .is-sticky only while the whole sidebar fits in the window (e.g. after groups are collapsed),
   so a long Collections list is never cut off and the mouse wheel is never trapped in a nested scroller. */
.rom-fl-sidebar > .elementor-element-populated { align-self: flex-start; padding-right: 14px !important; }
@media (min-width: 1025px) {
	.rom-fl-sidebar.is-sticky > .elementor-element-populated { position: sticky; top: 24px; }
}
/* The Kava theme wrapper `.site` is `overflow: hidden`, which makes it a scroll container and silently disables
   `position: sticky` for everything inside it. `overflow: clip` clips exactly the same way without creating a scroll
   container. This stylesheet only loads on product archives, so the change is scoped to those pages; browsers without
   `overflow: clip` keep the theme's rule (the sidebar then simply scrolls with the page). */
@supports (overflow: clip) {
	.site { overflow: clip !important; }
}

/* header row: "Filter by" + clear button */
.rom-fl-head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 0 14px; margin: 0 0 4px; border-bottom: 2px solid var(--rom-fl-primary); font-family: var(--rom-fl-body); }
.rom-fl-head__title { margin: 0 !important; font-family: var(--rom-fl-heading) !important; font-size: 20px !important; font-weight: 600 !important; color: var(--rom-fl-primary) !important; line-height: 1.2 !important; }
.rom-fl-head__count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 7px; margin-left: 8px; border-radius: 11px; background: var(--rom-fl-accent); color: #fff; font-family: var(--rom-fl-body); font-size: 12px; font-weight: 700; vertical-align: middle; }
.rom-fl-head__count[hidden] { display: none; }
.rom-fl-head .elementor-widget-jet-smart-filters-remove-filters { margin: 0 !important; width: auto !important; }
.jet-remove-all-filters__button {
	display: inline-flex !important; align-items: center; gap: 6px;
	width: auto !important; min-width: 0 !important; min-height: 0 !important; height: auto !important;
	margin: 0 !important; padding: 6px 12px !important;
	background: transparent !important; color: var(--rom-fl-accent-dark) !important;
	border: 1px solid var(--rom-fl-accent) !important; border-radius: 50px !important; box-shadow: none !important;
	font-family: var(--rom-fl-body) !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: none !important; line-height: 1.2 !important;
	cursor: pointer; transition: background-color .15s ease, color .15s ease;
}
.jet-remove-all-filters__button::before { content: "\00d7"; font-size: 15px; line-height: 1; }
.jet-remove-all-filters__button:hover, .jet-remove-all-filters__button:focus-visible { background: var(--rom-fl-accent) !important; color: #fff !important; }
.jet-remove-all-filters.hide { display: none !important; }

/* one filter group */
.rom-fl-sidebar .elementor-widget-jet-smart-filters-checkboxes { margin: 0 !important; }
.rom-fl-sidebar .jet-smart-filters-checkboxes { padding: 6px 0 10px; border-bottom: 1px solid var(--rom-fl-line); }
.rom-fl-sidebar .jet-filter-label {
	display: flex !important; align-items: center; justify-content: space-between; gap: 10px;
	width: 100%; padding: 12px 0 !important; margin: 0 !important;
	font-family: var(--rom-fl-heading) !important; font-size: 16px !important; font-weight: 600 !important; color: var(--rom-fl-primary) !important; line-height: 1.2 !important;
	cursor: pointer; user-select: none;
}
/* Palm Casual's widget style adds a "–" ::before and centers the label; ours is left-aligned with a chevron. */
.rom-fl-sidebar .jet-filter-label { text-align: left !important; }
.rom-fl-sidebar .jet-filter-label::before { content: none !important; display: none !important; }
.rom-fl-sidebar .jet-filter-label::after { content: ""; flex: 0 0 14px; width: 14px; height: 14px; background: var(--rom-fl-chevron) center / 14px no-repeat; transition: transform .2s ease; }
.rom-fl-sidebar .jet-smart-filters-checkboxes.is-collapsed .jet-filter-label::after { transform: rotate(-90deg); }
.rom-fl-sidebar .jet-smart-filters-checkboxes.is-collapsed .jet-checkboxes-list-wrapper { display: none !important; }
.rom-fl-sidebar .jet-checkboxes-list-wrapper { padding: 0 0 6px; }

/* rows */
.rom-fl-sidebar .jet-checkboxes-list__row { margin: 0 !important; }
.rom-fl-sidebar .jet-filter-row-hide, .rom-fl-sidebar .jet-filter-row-disable { display: none !important; }
.rom-fl-sidebar .jet-checkboxes-list__item { display: block !important; margin: 0 !important; padding: 0 !important; }
.rom-fl-sidebar .jet-checkboxes-list__button {
	display: flex !important; align-items: center; gap: 10px;
	padding: 7px 4px 7px 0 !important; margin: 0 !important; border-radius: 6px;
	font-family: var(--rom-fl-body) !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.3 !important; color: var(--rom-fl-text) !important;
	cursor: pointer; transition: color .15s ease;
}
.rom-fl-sidebar .jet-checkboxes-list__button:hover { color: var(--rom-fl-primary) !important; }
.rom-fl-sidebar .jet-checkboxes-list__decorator {
	flex: 0 0 18px; width: 18px !important; height: 18px !important; margin: 0 !important;
	border: 1.5px solid #B9C4CC !important; border-radius: 5px !important; background: #fff !important;
	display: inline-flex !important; align-items: center; justify-content: center; position: relative;
	transition: background-color .15s ease, border-color .15s ease;
}
.rom-fl-sidebar .jet-checkboxes-list__checked-icon { display: none !important; width: 12px; height: 12px; line-height: 0; }
.rom-fl-sidebar .jet-checkboxes-list__checked-icon svg { width: 12px !important; height: 12px !important; fill: #fff !important; display: block; }
.rom-fl-sidebar .jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__decorator { background: var(--rom-fl-accent) !important; border-color: var(--rom-fl-accent) !important; }
.rom-fl-sidebar .jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__checked-icon { display: inline-flex !important; }
.rom-fl-sidebar .jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button { color: var(--rom-fl-primary) !important; font-weight: 500 !important; }
.rom-fl-sidebar .jet-checkboxes-list__input:focus-visible ~ .jet-checkboxes-list__button .jet-checkboxes-list__decorator { box-shadow: 0 0 0 3px rgba(88,150,77,.3); }
.rom-fl-sidebar .jet-checkboxes-list__label { flex: 1 1 auto; }
.rom-fl-sidebar .jet-filters-counter { margin-left: auto !important; padding: 1px 8px; border-radius: 10px; background: #F2F4F5; font-family: var(--rom-fl-body) !important; font-size: 12px !important; font-weight: 500 !important; color: var(--rom-fl-muted) !important; line-height: 1.4 !important; }
.rom-fl-sidebar .jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button .jet-filters-counter { background: rgba(88,150,77,.15); color: var(--rom-fl-accent-dark) !important; }
/* hierarchy */
.rom-fl-sidebar .jet-list-tree__children { margin: 0 0 4px 8px !important; padding: 0 0 0 14px !important; border-left: 2px solid var(--rom-fl-line); }
.rom-fl-sidebar .jet-list-tree__children .jet-checkboxes-list__button { font-size: 14.5px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
/* the built-in "Apply" button is unused (filters apply on change) */
.rom-fl-sidebar .apply-filters { display: none !important; }

/* ============================================================
   Toolbar: search / result count / sort
   ============================================================ */
.rom-fl-toolbar > .elementor-container { align-items: center; }
.rom-fl-toolbar .elementor-widget { margin: 0 !important; }
.rom-fl-toolbar .jet-ajax-search__fields-holder { display: flex; align-items: stretch; }
.rom-fl-toolbar .jet-ajax-search__field-wrapper { flex: 1 1 auto; }
.rom-fl-toolbar .jet-ajax-search__field {
	height: 46px !important; padding: 0 18px !important;
	border: 1px solid #D9D9D9 !important; border-right: 0 !important; border-radius: 23px 0 0 23px !important;
	background: #fff !important; font-family: var(--rom-fl-body) !important; font-size: 15px !important; color: var(--rom-fl-text) !important; box-shadow: none !important;
}
.rom-fl-toolbar .jet-ajax-search__field:focus { border-color: var(--rom-fl-accent) !important; box-shadow: 0 0 0 3px rgba(88,150,77,.18) !important; outline: none; }
.rom-fl-toolbar .jet-ajax-search__field::placeholder { color: #9AA3A6; }
.rom-fl-toolbar .jet-ajax-search__submit {
	width: 52px !important; height: 46px !important; min-width: 0 !important;
	border: 0 !important; border-radius: 0 23px 23px 0 !important;
	background: var(--rom-fl-accent) !important; color: #fff !important; cursor: pointer; transition: background-color .15s ease;
}
.rom-fl-toolbar .jet-ajax-search__submit:hover { background: var(--rom-fl-accent-dark) !important; }
.rom-fl-toolbar .jet-ajax-search__submit svg { fill: #fff !important; width: 16px; height: 16px; }
.rom-fl-toolbar .woocommerce-result-count { margin: 0 !important; font-family: var(--rom-fl-body) !important; font-size: 14px !important; color: var(--rom-fl-muted) !important; text-align: center; }
.rom-fl-toolbar .woocommerce-ordering { position: relative; margin: 0 !important; float: none !important; display: block; }
.rom-fl-toolbar .woocommerce-ordering::before, .rom-fl-toolbar .woocommerce-ordering::after, .rom-fl-toolbar .woocommerce-ordering i, .rom-fl-toolbar .woocommerce-ordering svg { display: none !important; }
.rom-fl-toolbar .woocommerce-ordering select.orderby {
	-webkit-appearance: none !important; appearance: none !important;
	width: 100%; height: 46px !important; padding: 0 46px 0 18px !important;
	border: 1px solid #D9D9D9 !important; border-radius: 23px !important;
	background: #fff var(--rom-fl-chevron) no-repeat right 18px center !important; background-size: 14px !important;
	font-family: var(--rom-fl-body) !important; font-size: 15px !important; color: var(--rom-fl-text) !important; box-shadow: none !important; cursor: pointer;
}
	.rom-fl-toolbar .woocommerce-ordering select.orderby:focus { border-color: var(--rom-fl-accent) !important; box-shadow: 0 0 0 3px rgba(88,150,77,.18) !important; outline: none; }

/* Palm Casual's toolbar search is the JetBlocks `jet-search` widget */
.rom-fl-toolbar .jet-search__form { display: flex !important; align-items: stretch; gap: 0 !important; }
.rom-fl-toolbar .jet-search__label { flex: 1 1 auto; margin: 0 !important; }
.rom-fl-toolbar .jet-search__field {
	width: 100%; height: 46px !important; padding: 0 18px !important; margin: 0 !important;
	border: 1px solid #D9D9D9 !important; border-right: 0 !important; border-radius: 23px 0 0 23px !important;
	background: #fff !important; font-family: var(--rom-fl-body) !important; font-size: 15px !important; color: var(--rom-fl-text) !important; box-shadow: none !important;
}
.rom-fl-toolbar .jet-search__field:focus { border-color: var(--rom-fl-accent) !important; box-shadow: 0 0 0 3px rgba(88,150,77,.18) !important; outline: none; }
.rom-fl-toolbar .jet-search__field::placeholder { color: #8A9399; }
.rom-fl-toolbar .jet-search__submit {
	display: inline-flex !important; align-items: center; justify-content: center;
	flex: 0 0 52px; width: 52px !important; height: 46px !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 0 23px 23px 0 !important;
	background: var(--rom-fl-accent) !important; color: #fff !important; cursor: pointer; transition: background-color .15s ease;
}
.rom-fl-toolbar .jet-search__submit:hover, .rom-fl-toolbar .jet-search__submit:focus-visible { background: var(--rom-fl-accent-dark) !important; }
.rom-fl-toolbar .jet-search__submit-icon, .rom-fl-toolbar .jet-search__submit-icon i { color: #fff !important; font-size: 15px !important; margin: 0 !important; line-height: 1 !important; }

/* ============================================================
   Mobile / tablet: filters live in a collapsible panel
   ============================================================ */
.rom-fl-toggle { display: none; }
/* Legacy per-material category link lists under the filters: hidden at every breakpoint, as on Carolina Patio (links stay in the DOM). */
.rom-fl-sidebar .leftsidecategorieswrapper1 { display: none !important; }
@media (max-width: 1024px) {
	.rom-fl-sidebar > .elementor-element-populated { position: static; padding: 0 !important; }
	.rom-fl-sidebar { display: none !important; }
	.rom-fl-sidebar.is-open { display: block !important; width: 100% !important; margin: 0 0 18px; }
	.rom-fl-sidebar.is-open > .elementor-element-populated { padding: 18px 18px 6px !important; background: var(--rom-fl-cream); border: 1px solid var(--rom-fl-line); border-radius: 14px; }
	/* Palm Casual's theme styles every <button> gold (#E3D27D, uppercase, wide tracking): force ours. */
	.rom-fl-toggle {
		display: inline-flex !important; align-items: center; gap: 10px;
		width: 100% !important; min-height: 48px; margin: 0 0 16px !important; padding: 12px 18px !important;
		background: #fff !important; border: 1.5px solid var(--rom-fl-primary) !important; border-radius: 50px !important; box-shadow: none !important;
		font-family: var(--rom-fl-body) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.2 !important;
		color: var(--rom-fl-primary) !important; cursor: pointer;
	}
	.rom-fl-toggle__icon { width: 18px; height: 18px; }
	.rom-fl-toggle__count { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--rom-fl-accent); color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
	.rom-fl-toggle__count[hidden] { display: none; }
	.rom-fl-toggle.is-open { background: var(--rom-fl-primary) !important; color: #fff !important; }
	.rom-fl-toggle.is-open .rom-fl-toggle__icon { stroke: #fff; }
	.rom-fl-done { display: block !important; width: 100% !important; margin: 6px 0 12px !important; padding: 12px !important; background: var(--rom-fl-primary) !important; color: #fff !important; border: 0 !important; border-radius: 50px !important; box-shadow: none !important; font-family: var(--rom-fl-body) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; }
	.rom-fl-toolbar > .elementor-container { flex-wrap: wrap; gap: 10px; }
	.rom-fl-toolbar .elementor-column { width: 100% !important; }
	.rom-fl-toolbar .woocommerce-result-count { text-align: left; }
}
@media (max-width: 767px) {
	/* Leave the results action clear of the site's fixed mobile call bar. */
	.rom-fl-done { margin-bottom: 80px; }
}
@media (min-width: 1025px) { .rom-fl-done { display: none !important; } }
