/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here 

.single_variation .woocommerce-variation-availability {
  display: none !important;
}*/
.highlight { color: #DCBB65; }
.white { color: #f9f9f9; }

/* === CINEMATIC 3.5s ULTRA BLEND === */
.slide .elementor-swiper .swiper-wrapper {
    display: grid !important;
    grid-template-areas: "stack";
    transition: none !important;
}

.slide .elementor-swiper .swiper-slide {
    grid-area: stack;
    width: 100% !important;
    opacity: 0 !important;
    visibility: hidden;
    /* Ultra-long 3.5s duration for a deep, slow blend */
    transition: opacity 3.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 3.5s !important;
    z-index: 1;
}

/* Incoming Slide (Fading In) */
.slide .elementor-swiper .swiper-slide-active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3;
}

/* Outgoing Slide (Fading Out Simultaneously) */
.slide .elementor-swiper .swiper-slide-prev,
.slide .elementor-swiper .swiper-slide-next {
    opacity: 0 !important;
    visibility: visible !important;
    z-index: 2;
    transition: opacity 3.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* === IMMEDIATE CONTENT ANIMATIONS === */

.sub-heading, .heading, .line, .desc, .details {
    opacity: 0;
}

/* Text starts almost immediately (0.1s - 0.2s) as the fade begins */
.swiper-slide-active .sub-heading {
    animation: fadeRight 0.8s ease-out forwards;
    animation-delay: 0.1s; 
}

.swiper-slide-active .heading {
    animation: fadeRight 0.8s ease-out forwards;
    animation-delay: 0.3s;
}

.swiper-slide-active .line {
    animation: fadeUp 0.8s ease-out forwards;
    animation-delay: 0.5s;
}

.swiper-slide-active .desc {
    animation: fadeUp 0.8s ease-out forwards;
    animation-delay: 0.7s;
}

.swiper-slide-active .details {
    animation: fadeUp 0.8s ease-out forwards;
    animation-delay: 0.9s;
}

@keyframes fadeRight {
    from { opacity: 0; transform: translateX(80px); filter: blur(1px); }
    to { opacity: 1; transform: translateX(0); filter: blur(0); }
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.slide .elementor-button-icon { font-size: 8px!important; margin-top: -10px!important; }
/* End Carousel */

.cfvsw-swatches-option { background: none!important; }
cfvsw-swatches-option .cfvsw-swatch-inner:hover { border: 2px solid #DCBB65; }

.banner-container { display: flex; justify-content: center; align-items: center; color: #ffffff; background: #070707;	margin-bottom: 20px; }
.banner-content { display: flex; max-width: 900px; align-items: center; }
.column { padding: 0 20px; }
.left-col { background-color: #C6362B; 	padding: 30px 20px; font-weight: 700; font-size: 1.6rem; line-height: 1.1; text-align: left; flex: 1.2; }
.left-col span {  display: block; margin-top: 20px; padding-top: 20px; font-weight: 400; font-size: 1rem; line-height: 1.4; border-top: 1px solid rgba(255, 255, 255, 0.4);  }
.right-col { display: flex; justify-content: center; flex: 1; }
.right-col img { max-height: 210px; }

.ld-container { display: flex; justify-content: center; align-items: center; }
.ld-content { display: flex; padding: 20px; align-items: center; }
.ld-left-col { flex: 1.2; }
.ld-right-col { display: flex; justify-content: center; flex: 1; }

.desc-3-lines {
  display: -webkit-box;
  -webkit-line-clamp: 3; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.desc-4-lines {
  display: -webkit-box;
  -webkit-line-clamp: 4; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
  .banner-content {
    flex-direction: column;
    text-align: center;
  }
  .left-col {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}

/* Vertical Sidebar Layout - TAGS Filter */
.no-results-msg { color: #BFBFBF; }

/* Floor and Wastes */
.fw .dynamic-tag-filter.vertical .tag-link:hover,
.fw .dynamic-tag-filter.vertical .tag-link.active {
    color: #33A8DF;
	transform: translateY(-1px);
	background-color: #111;
}

/* Plug and Wastes */
.pw .dynamic-tag-filter.vertical .tag-link:hover,
.pw .dynamic-tag-filter.vertical .tag-link.active {
    color: #9E7774;
	transform: translateY(-1px);
	background-color: #111;
}

/* Plumbing */
.pl .dynamic-tag-filter.vertical .tag-link:hover,
.pl .dynamic-tag-filter.vertical .tag-link.active {
    color: #00B4B1;
	transform: translateY(-1px);
	background-color: #111;
}
/* Stormwater */
.st .dynamic-tag-filter.vertical .tag-link:hover,
.st .dynamic-tag-filter.vertical .tag-link.active {
    color: #7292A9;
	transform: translateY(-1px);
	background-color: #111;
}
/* Bath Accessories */
.ba .dynamic-tag-filter.vertical .tag-link:hover,
.ba .dynamic-tag-filter.vertical .tag-link.active {
    color: #749B9E;
	transform: translateY(-1px);
	background-color: #111;
}

.elementor-loop-container {
    transition: opacity 0.4s ease-in-out;
}
.elementor-loop-container .elementor-loop-item:nth-last-child(-n+24) ~ .elementor-pagination {
    display: none !important;
}
.custom-filter-grid.filtered .elementor-pagination {
    display: none !important;
}

/* Our Products Main Filter */
.main-filter .e-filter-item.is-child { display: none !important; }
.main-filter .e-filter-item.is-child[style*="display: flex"] { display: flex !important; }
/* Container Layout */
.main-filter .e-filter {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100% !important;
}

/* Base Item - Vertical Centering */
.main-filter .e-filter-item {
    position: relative !important;
    padding-right: 50px !important;
    display: flex !important;
    align-items: center !important; 

    width: 100% !important;
    box-sizing: border-box !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    border: none !important;
    transition: all 0.3s ease;
}

/* Square Icon Styling */
.main-filter .e-filter-item:before {
    content: '';
    width: 10px;
    height: 10px;
    border: 2px solid #DCBB65; 
    border-radius: 0px; /* Square */
    margin-right: 12px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* HOVER: Gold Text & Filled Square */
.main-filter .e-filter-item:hover {
    color: #DCBB65 !important;
}

.main-filter .e-filter-item:hover:before {
    background: #DCBB65 !important;
}

/* ACTIVE/PRESSED STATE (Supports both native load state and live JS clicks) */
.main-filter .e-filter-item[aria-pressed="true"],
.main-filter .e-filter-item.active {
    color: #DCBB65 !important;
    background-color: #1a1a1a !important;     
}

.main-filter .e-filter-item[aria-pressed="true"]:before,
.main-filter .e-filter-item.active:before {
    background: #DCBB65 !important;
}

/* Sub-category Specific - No Icon & Indented */
.main-filter .e-filter-item.is-child {
    background: transparent !important;
    padding: 5px 30px 5px !important;
    font-size: 14px !important;
    opacity: 0.8;
}

/* NUCLEAR OPTION: Hide icons on sub-categories */

.main-filter .is-child .filter-toggle {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Toggle Centering & Click Isolation */
.main-filter .filter-toggle {
   position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 100 !important; /* Over everything */
    cursor: pointer !important;
    color: #DCBB65;
    font-size: 22px;
    pointer-events: auto !important;
}
.filter-toggle:hover {
    opacity: 0.7;
}
/* Start Pagination Style */
.elementor-pagination {
    display: flex;
    gap: 0px;
    align-items: center;
    justify-content: center;
    margin: 30px auto !important;
	width: 100%;
}

/* Base Page Number Styles */
.elementor-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, 0.1); 
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Gold Accent for Next/Prev/Links on Hover */
.elementor-pagination a.page-numbers:hover,
.elementor-pagination .page-numbers.prev:hover,
.elementor-pagination .page-numbers.next:hover {
    border-color: #DCBB65;
    color: #DCBB65;
}

/* Active / Current Page - Filled Gold Square */
.elementor-pagination .page-numbers.current {
    background-color: #DCBB65 !important;
    border-color: #DCBB65 !important;
    color: #1a1a1a !important; /* Dark text for contrast on gold */
    font-weight: 500;
}

/* Navigation Arrows Styling */
.elementor-pagination .page-numbers.prev,
.elementor-pagination .page-numbers.next {
    color: #DCBB65; /* Arrows in gold */
    font-size: 16px;
}

/* Dots Styling (Non-clickable) */
.elementor-pagination .page-numbers.dots {
    border: none;
    background: transparent;
    color: #ffffff;
    width: auto;
    padding: 0 5px;
}

/* Screen reader text removal for cleaner look */
.elementor-pagination .elementor-screen-only {
    display: none;
}
body:not(.rtl) .elementor-11854 .elementor-element.elementor-element-1ef450e .elementor-pagination .page-numbers:not(:last-child) { margin-right: 2px; }
body:not(.rtl) .elementor-11854 .elementor-element.elementor-element-1ef450e .elementor-pagination .page-numbers:not(:first-child) { margin-left: 2px; }

/* ========================================
   FINISH FILTER - CONDENSED RECTANGLES
======================================== */
/* ==========================================================================
   INJECTED FINISH HEADING STYLING (GRID INDEPENDENT)
   ========================================================================== */

/* 1. Reset typography properties to layout cleanly as a block above the swatches */
h3.finish-filter-text-heading, h3.tag-filter-text-heading {
	font-family: 'Roboto', sans-serif;
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important; /* Adjust bottom margin to give swatches breathing room */
    padding: 0 !important;
    
    /* Exact sidebar layout matches */
    color: #CECECE !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
}
/* 2. THE SAFEGUARD: Hide heading and wrapper if the list is empty OR has only 1 child (All Products) */
.elementor-widget-shortcode:has(ul.dynamic-tag-filter:empty) h3.tag-filter-text-heading,
.elementor-widget-shortcode:has(ul.dynamic-tag-filter > li:only-child) h3.tag-filter-text-heading,
.elementor-widget-shortcode:has(ul.dynamic-tag-filter:empty) .vertical-tag-filter-wrapper,
.elementor-widget-shortcode:has(ul.dynamic-tag-filter > li:only-child) .vertical-tag-filter-wrapper {
    display: none !important;
}

/* Keep the native grid untouched but drop the whole widget if empty */
.finish-filter:not(:has(.e-filter-item)),
.finish-filter:has(search.e-filter:empty) {
    display: none !important;
}

/* Grid Container - Now Fluid */
.finish-filter search.e-filter,
.finish-filter .e-filter {
    display: grid !important;
    /* auto-fill creates as many columns as fit, min 20px each */
    grid-template-columns: repeat(auto-fill, minmax(30px, 1fr)) !important; 
    gap: 10px !important; 
    width: 100% !important;
    padding: 10px 0 !important;
    margin: 0 !important;
}

/* Individual Chips */
.finish-filter .e-filter-item {
    position: relative;
    width: 28px !important;
    height: 16px !important; 
    min-width: 28px !important;
    max-width: 28px !important; /* Locks width so it doesn't stretch */
    min-height: 16px !important;
    max-height: 16px !important;
    
    /* Removed 'margin: 0 auto' to allow tight packing from the left */
    margin: 0 !important; 
    display: block !important;
    
    text-indent: -9999px !important;
    color: transparent !important;
    font-size: 0 !important;
    overflow: visible !important; 
    
    border: 2px solid #2b2b2b;
    border-radius: 0px;
    background-size: cover;
    background-position: center;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    box-sizing: border-box;
}

/* Chip Hover State */
.finish-filter .e-filter-item:hover {
    border: 2px solid #DCBB65 !important;
    transform: translateY(-1px);
    z-index: 10;
}
/* Active / Selected State */
.finish-filter .e-filter-item[aria-pressed="true"] {
    border: 2px solid #DCBB65 !important;
    box-shadow: 0 0 0 1px #111 inset; 
}

/* ========================================
   TOOLTIP SYSTEM
======================================== */

/* Tooltip Bubble */
.finish-filter .e-filter-item::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 180% !important; /* Adjusted for 10px height */
    left: 50%;
    transform: translateX(-50%) translateY(5px);
    
    /* Text Reset */
    text-indent: 0 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-family: sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    
    /* Styling */
    background: #111111;
    padding: 6px 12px;
    border-radius: 0px;
    border: 1px solid #444;
    
    /* Visibility */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.2s ease-in-out;
    z-index: 99999;
}

/* Tooltip Arrow */
.finish-filter .e-filter-item::before {
    content: '';
    position: absolute;
    bottom: 155% !important;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #111111;
    
    /* Text Reset */
    text-indent: 0 !important;
    
    /* Visibility */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.2s ease-in-out;
    z-index: 99999;
}

/* Tooltip Trigger */
.finish-filter .e-filter-item:hover::after,
.finish-filter .e-filter-item:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* ========================================
   RESPONSIVE OVERRIDES
======================================== */
/* Tablet (768px – 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .finish-filter search.e-filter {
        grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)) !important;
        gap: 20px !important;
    }
    .finish-filter .e-filter-item {
        position: relative;
        width: 44px !important;
        height: 32px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        min-height: 32px !important;
        max-height: 32px !important;
    }
}

/* Mobile (up to 767px) */
@media (max-width: 767px) {
    .finish-filter search.e-filter {
        grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)) !important;
        gap: 10px !important;
    }
    .finish-filter .e-filter-item {
        position: relative;
        width: 38px !important;
        height: 30px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        min-height: 30px !important;
        max-height: 30px !important;
    }
}

/* Remove Flex Wrap extra bottom space */
@media (max-width: 767px) {
    #products .elementor-element-c7a3012.e-con-full.e-flex.e-con {
        --flex-wrap-mobile: nowrap !important;
        --flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    #products .elementor-element-adda157 {
        width: 100% !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
    }
	
	/* CATEGORY PAGES */
	/* 1. Prevent the widget container from auto-stretching vertically down the sidebar */
	.archive .finish-filter {
		height: auto !important;
		min-height: 0 !important;
		align-self: start !important;
		width: 100% !important;
	}

	/* 2. Style the search grid container to stretch dynamically across rows */
	.archive .finish-filter search.e-filter {
		display: grid !important;
		/* Use auto-fit and a flexible fractional tracking to let items wrap perfectly */
		grid-template-columns: repeat(auto-fit, minmax(38px, 1fr)) !important;
		gap: 10px !important;
		height: auto !important;
		min-height: 0 !important;
		width: 100% !important;
	}
}

/* ========================================
   CHIP COLORS
======================================== */

.finish-filter .e-filter-item[data-filter="chrome"] {
    background: linear-gradient(135deg, #e2e6e8, #c0c8cc, #848e94);
}
.finish-filter .e-filter-item[data-filter="satin-chrome"] {
    background: linear-gradient(135deg, #d4d8da, #b8bec2, #8c9296);
}
.finish-filter .e-filter-item[data-filter="gold"] {
    background: linear-gradient(135deg, #f0d060, #c89010, #9a6c00);
}
.finish-filter .e-filter-item[data-filter="polished-brass"] {
    background: linear-gradient(135deg, #e8c040, #b87c10, #7a5000);
}
.finish-filter .e-filter-item[data-filter="black-chrome"] {
    background: linear-gradient(135deg, #484e58, #242a32, #080c14);
}
.finish-filter .e-filter-item[data-filter="brushed-nickel"] {
    background: linear-gradient(180deg, #d4ccc0, #bab2a4, #a09888);
}
.finish-filter .e-filter-item[data-filter="rose-gold"] {
    background: linear-gradient(135deg, #e8a898, #c07060, #904040);
}
.finish-filter .e-filter-item[data-filter="gun-metal-grey"] {
    background: linear-gradient(135deg, #525a64, #363e48, #1e2630);
}
.finish-filter .e-filter-item[data-filter="white"] {
    background: linear-gradient(135deg, #ffffff, #e8eaec);
}
.finish-filter .e-filter-item[data-filter="stainless-steel"] {
    background: linear-gradient(180deg, #dcdee0, #c0c4c6, #a0a4a6);
}
.finish-filter .e-filter-item[data-filter="brushed-chrome"] {
    background: linear-gradient(180deg, #dce0e2, #bcc4c8, #98a4aa);
}
.finish-filter .e-filter-item[data-filter="brushed-gold"] {
    background: linear-gradient(180deg, #e8cc60, #c89820, #a07000);
}
.finish-filter .e-filter-item[data-filter="brushed-brass"] {
    background: linear-gradient(180deg, #d4a840, #b07820, #7a5000);
}
.finish-filter .e-filter-item[data-filter="matt-black"] {
    background: linear-gradient(135deg, #282a2e, #181a1e);
}
.finish-filter .e-filter-item[data-filter="brushed-rose-gold"] {
    background: linear-gradient(180deg, #e8a898, #c07868, #985050);
}
.finish-filter .e-filter-item[data-filter="brushed-gun-metal-grey"] {
    background: linear-gradient(180deg, #585e68, #3c4450, #242c38);
}
.finish-filter .e-filter-item[data-filter="matt-white"] {
    background: linear-gradient(135deg, #f4f4f4, #e8e8e8);
}
.finish-filter .e-filter-item[data-filter="titanium-grey"] {
    background: linear-gradient(135deg, #a8b0b8, #848c94, #585e66);
}
.finish-filter .e-filter-item[data-filter="brushed-bronze"] {
    background: linear-gradient(180deg, #c08050, #9a5e30, #6a3c10);
}

/* Finsh CHIPS Loop Item */
/* 1. Base Chip Styling */
.artintl-chip-wrapper {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    margin-top: -30px; 
    margin-bottom: 15px;
    padding-right: 20px;
    position: relative;
    z-index: 5;
}

.finish-chip {
    width: 20px;
    height: 20px;
    border-radius: 0px!important;
    border: 1px solid rgba(255,255,255,0.3);
    box-shadow: 0 2px 4px rgba(0,0,0,0.4);
    display: inline-block;
}
.chip-more {
    font-size: 12px;
    color: #999;
    line-height: 14px; 
    height: 14px;
    display: inline-block;
    font-weight: 600;
    margin-left: 2px;
    vertical-align: middle;
}

/* Optional: Make it gold on hover like your other accents */
.elementor-loop-item:hover .chip-more {
    color: #DCBB65;
    transition: color 0.3s ease;
}
/* 2. Map the existing colors to the chips */
/* This re-uses your existing logic for the new class */
.finish-chip[data-filter="chrome"] {
    background: linear-gradient(135deg, #e2e6e8, #c0c8cc, #848e94);
}
.finish-chip[data-filter="satin-chrome"] {
    background: linear-gradient(135deg, #d4d8da, #b8bec2, #8c9296);
}
.finish-chip[data-filter="gold"] {
    background: linear-gradient(135deg, #f0d060, #c89010, #9a6c00);
}
.finish-chip[data-filter="polished-brass"] {
    background: linear-gradient(135deg, #e8c040, #b87c10, #7a5000);
}
.finish-chip[data-filter="black-chrome"] {
    background: linear-gradient(135deg, #484e58, #242a32, #080c14);
}
.finish-chip[data-filter="brushed-nickel"] {
    background: linear-gradient(180deg, #d4ccc0, #bab2a4, #a09888);
}
.finish-chip[data-filter="rose-gold"] {
    background: linear-gradient(135deg, #e8a898, #c07060, #904040);
}
.finish-chip[data-filter="gun-metal-grey"] {
    background: linear-gradient(135deg, #525a64, #363e48, #1e2630);
}
.finish-chip[data-filter="white"] {
    background: linear-gradient(135deg, #ffffff, #e8eaec);
}
.finish-chip[data-filter="stainless-steel"] {
    background: linear-gradient(180deg, #dcdee0, #c0c4c6, #a0a4a6);
}
.finish-chip[data-filter="brushed-chrome"] {
    background: linear-gradient(180deg, #dce0e2, #bcc4c8, #98a4aa);
}
.finish-chip[data-filter="brushed-gold"] {
    background: linear-gradient(180deg, #e8cc60, #c89820, #a07000);
}
.finish-chip[data-filter="brushed-brass"] {
    background: linear-gradient(180deg, #d4a840, #b07820, #7a5000);
}
.finish-chip[data-filter="matt-black"] {
    background: linear-gradient(135deg, #282a2e, #181a1e);
}
.finish-chip[data-filter="brushed-rose-gold"] {
    background: linear-gradient(180deg, #e8a898, #c07868, #985050);
}
.finish-chip[data-filter="brushed-gun-metal-grey"] {
    background: linear-gradient(180deg, #585e68, #3c4450, #242c38);
}
.finish-chip[data-filter="matt-white"] {
    background: linear-gradient(135deg, #f4f4f4, #e8e8e8);
}
.finish-chip[data-filter="titanium-grey"] {
    background: linear-gradient(135deg, #a8b0b8, #848c94, #585e66);
}
.finish-chip[data-filter="brushed-bronze"] {
    background: linear-gradient(180deg, #c08050, #9a5e30, #6a3c10);
}
/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .finish-filter .e-filter {
        grid-template-columns: repeat(4, 1fr);
    }

}

/* ACTIVE Filters */
.artintl-filter-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Keeps it to the right */
    gap: 12px;
    padding: 10px 0;
}

.filter-bar-label {
    color: #888;
    font-size: 13px;
    font-weight: 500;
}

.filter-pill-container {
    display: flex;
	flex-wrap: wrap;
    gap: 8px;
}

.filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 2px 14px 6px;
    border: 1px solid #443a24; 
    background: rgba(220, 187, 101, 0.03);
    color: #DCBB65 !important;
    text-decoration: none !important;
    font-size: 12px;
    transition: all 0.3s ease;
}

.filter-pill:hover {
    background: rgba(220, 187, 101, 0.1);
    border-color: #DCBB65;
}

.pill-x {
    font-size: 18px;
	margin-left: 8px;
    line-height: 1;
    opacity: 0.7;
}

.filter-clear-all {
    font-size: 13px;
    color: #888 !important;
    text-decoration: underline !important;
    margin-left: 0px;
}

.filter-clear-all:hover {
    color: #DCBB65 !important;
}

/* Mobile tweak: stack if space is tight */
@media (max-width: 768px) {
    .artintl-filter-bar {
        justify-content: center;
        flex-wrap: wrap;
    }
}
/* End Products Filters - MAIN PRODUCTS */

/* ==========================================================================
   SUBPAGE FILTER VISUAL ALIGNMENT MATCH (TAGS & SUBCATEGORIES)
   ========================================================================== */

/* 1. Reset container defaults */
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 1px; /* Matches the tight breakdown rhythm of the master accordion */
}

/* 2. Anchor styling matched to main page filter boxes */
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical li a.tag-link,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical li a.subcat-link {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 2px 0 !important;
    padding: 8px 20px; /* Mirroring main accordion container footprint padding */
    background-color: #111111; /* Baseline deep container frame color */
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    text-decoration: none !important;
    border-left: 3px solid transparent; /* Balanced anchor boundary spacing */
    transition: all 0.25s ease-in-out;
    box-sizing: border-box;
}

/* Decorative square marker replacement setup to mimic the layout icon */
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical li a.tag-link::before,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical li a.subcat-link::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 2px solid #DCBB65; /* Updated: Matches the brand asset gold border accents */
    margin-right: 15px;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

/* 3. Interactive Hover & Active states */
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical li a.tag-link:hover,
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical li a.tag-link.active,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical li a.subcat-link:hover,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical li a.subcat-link.active {
    background-color: #1a1a1a; /* Subtle grid row activation tint */
    color: #DCBB65; /* Updated: Text match on brand gold asset highlighting */
}

/* Action frame shift modifier */
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical li a.tag-link:hover::before,
.vertical-tag-filter-wrapper ul.dynamic-tag-filter.vertical li a.tag-link.active::before,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical li a.subcat-link:hover::before,
.vertical-subcat-filter-wrapper ul.dynamic-subcat-filter.vertical li a.subcat-link.active::before {
    background-color: #DCBB65; /* Updated: Fills in the block cleanly with brand gold when chosen */
    transform: scale(1.1);
}
/* END SUB CAT + TAG FIlters */

.clickable-column.artp, .clickable-column.bountyp {
    position: relative; 
    overflow: hidden;   

}

.clickable-column.fw, .clickable-column.art {
    position: relative; 
    overflow: hidden;   
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 2. The Animated Bottom Border (Hidden State) */
.clickable-column.fw::after, .clickable-column.art::after, .clickable-column.artp::after, .clickable-column.bountyp::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px; /* Thickness of your border */
    
    /* Animation logic: Start scaled to 0 on the left */
    transform: scaleX(0);
    transform-origin: bottom left;
    transition: transform 0.4s ease-in-out;
}
.clickable-column.fw::after, .clickable-column.bountyp::after { background-color: #DCBB65; }
.clickable-column.art::after, .clickable-column.artp::after  { background-color: #C6362B; }
/* 3. Parent Hover: Trigger Border AND Arrow */
.clickable-column.fw:hover::after, .clickable-column.art:hover::after, .clickable-column.artp:hover::after, .clickable-column.bountyp:hover::after {
    /* Animate border from left to right */
    transform: scaleX(1);
}

.clickable-column.fw:hover .cat-arrow i, 
.clickable-column.art:hover .cat-arrow i {
    /* Move arrow forward in its current -45deg direction */
    transform: rotate(-45deg) translate(5px, -5px);
}

/* 4. Arrow Initial State (Ensure transition is set) */
.clickable-column.fw .cat-arrow i, .clickable-column.art .cat-arrow i  {
    display: inline-block;
    transform: rotate(-45deg);
    transition: transform 0.3s ease-out;
}

@media (max-width: 767px) {
    #installation-guide-container.e-n-tab-title {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    #installation-guide-container .e-n-tab-title-text {
        width: 100%;
        display: block;
    }
}

/* Force mobile size */
@media (max-width: 767px) {
    .cfvsw-swatches-option {
        width: 24px !important;
        height: 20px !important;
        min-width: 24px !important;
        min-height: 20px !important;
    }
}

/* Force desktop size */
@media (min-width: 768px) {
    .cfvsw-swatches-option {
        width: 36px !important;
        height: 24px !important;
        min-width: 36px !important;
        min-height: 24px !important;
    }
}

/* Pre-emptively force superscript glyphs in all headings to reduce "flicker" */
h1, h2, h3, .product_title, .elementor-heading-title {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "sups" 1, "ordn" 1 !important;
    -webkit-font-feature-settings: "sups" 1, "ordn" 1 !important;
}

/* BASE TRADEMARK STYLING
   Shared properties for the .art-trademark span across the whole site
*/
.art-trademark {
    display: inline-block !important;
    vertical-align: super !important;
    line-height: 0 !important;
    position: relative !important;
    margin-left: 2px !important;
}

/* HEADINGS & PRODUCT TITLES
   Optimized for large H1s and Single Product Titles
*/
h1 .art-trademark, h3 .art-trademark,
.product_title .art-trademark,
.elementor-heading-title .art-trademark {
    font-size: 0.45em !important;
    top: -0.1em !important;
}

/* SEARCH RESULTS & ARCHIVES
   Targeting the specific Elementor Post/Search result titles
*/
.elementor-post__title .art-trademark,
h3.elementor-post__title .art-trademark,
h2.elementor-post__title .art-trademark {
    font-size: 0.5em !important;
    top: -0.1em !important;
}

/* NAVIGATION & MEGA MENUS
   Ensures menu items stay clean without breaking hover effects
*/
.elementor-nav-menu .art-trademark,
.elementor-item .art-trademark, 
.elementor-sub-item .art-trademark, 
.elementor-menu-cart__product-name .art-trademark {
    font-size: 0.55em !important; 
    top: -0.25em !important;
    vertical-align: super !important;
}

/* BODY TEXT & PARAGRAPHS
   Slightly larger for readability and to protect line-height (p, li)
*/
p .art-trademark, 
li .art-trademark,
span.elementor-icon-list-text .art-trademark {
    font-size: 0.6em !important;
    top: -0.2em !important;
}

/* SHARED ARROW LOGIC  */
.button-arrow, .button-arrow-accent {
    display: inline-block !important;
    transition: transform 0.3s ease-in-out !important;
}

/* CLICKABLE COLUMN LOGIC */
.clickable-column {
    transition: opacity 0.3s ease;
}

.clickable-column:hover {
     opacity: 0.9 !important;
}

/* Move arrow when the entire column is hovered */
.clickable-column:hover .button-arrow, .clickable-column:hover .button-arrow-accent {
    transform: translateX(8px) !important;
}

/* Border bottom transition for the view-range button inside column */
.clickable-column .view-range a.elementor-button, .clickable-column .view-range-accent a.elementor-button {
    transition: border-color 0.3s ease !important;
}

.clickable-column:hover .view-range a.elementor-button {
    border-bottom-color: rgba(255, 255, 255, 0.85) !important;
    border-bottom-style: solid !important; 
}
/*.clickable-column:hover .view-range-accent a.elementor-button {
    border-bottom-color: rgba(220, 187, 101, 0.85) !important;
    border-bottom-style: solid !important; 
}*/

/* STANDALONE BUTTON LOGIC  */
.btn:hover .button-arrow,
.btn a.elementor-button:hover .button-arrow,
.btn a.elementor-button:hover .button-arrow-accent{
    transform: translateX(8px) !important;
}

/* Resources */
.elementor-button-text {
    display: flex;
    align-items: center;
    width: 100%;
}

.elementor-button-text .dl {
    margin-left: auto;
	 font-size: 14px;
    line-height: 1;
}
/* Target the 2nd tab title inside .ctl, but EXCLUDE it if it's inside an inner nested tab content area */
.ctl .e-n-tab-title[data-tab-index="2"][aria-selected="true"] {
    background: #c6362a !important;
    border-color: #c6362a !important;
    color: #fff !important;
}
/* Reset rule: If this button happens to be inside an inner tab content area, strip the styles back to default */
.ctl .e-n-tabs-content .e-n-tab-title[data-tab-index="2"][aria-selected="true"] {
    background: #fff !important; /* Or your default nested tab background */
	color: #000;
    border-color: unset !important;
    color: unset !important;
}

/* Ninja Tables */
/* Hide standard Ninja Tables search input while keeping engine active */
.ninja_table_wrapper .nt_search_edge,
.ninja_table_wrapper .dataTables_filter {
    display: none !important;
}

/* Custom Filter Wrapper Container */
.custom-nt-filter-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 0px;
    width: 100%;
}

/* Full Width Dark Search Field */
.custom-nt-search-wrapper {
    position: relative;
    width: 100%;
}

/* Gold Search Icon */
.custom-nt-search-wrapper svg {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    fill: #d8b768 !important; /* Gold color matching download button */
    pointer-events: none;
}

.custom-nt-search-wrapper input {
    width: 100% !important;
    background: #111111 !important;
    border: 1px solid #333333 !important;
    color: #ffffff !important;
    padding: 12px 15px 12px 42px !important;
    font-size: 14px !important;
    border-radius: 2px !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.custom-nt-search-wrapper input::placeholder {
    color: #777777;
}

/* Page Size Picker Dropdown Bar - Fit Content */
.custom-nt-entries-wrapper {
	font-family: 'Roboto', sans-serif !important;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    font-size: 12px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.custom-nt-entries-wrapper select {
    background: #333333 !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
    padding: 6px 12px !important;
    margin: 0 10px !important;
    border-radius: 4px !important;
    outline: none !important;
    cursor: pointer !important;
    font-size: 13px !important;
}

/* Table Dark Theme Base & Row Borders - Generic to all Ninja Tables */
.ninja_table_wrapper table.footable {
	font-family: 'Roboto', sans-serif !important;
    background-color: #0f0f0f !important;
    border-collapse: collapse !important;
    color: #cccccc !important;
    font-family: inherit;
    table-layout: fixed;
    width: 100%;
}

/* Uppercase Table Headings */
.ninja_table_wrapper table.footable thead th {
    background-color: #000 !important;
    color: #f9f9f9 !important;
    border-bottom: 1px solid #1f1f1f !important;
    border-right: 1px solid #1a1a1a !important;
    padding: 16px 20px !important;
    font-weight: 600;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
	cursor: pointer!important;
}

/* Standard Base Row */
.ninja_table_wrapper table.footable tbody tr {
    background-color: #0f0f0f !important;
    border-bottom: 1px solid #1c1c1c !important;
    transition: background-color 0.2s ease;
}

/* Alternating Striped Row */
.ninja_table_wrapper table.footable tbody tr:nth-child(even),
.ninja_table_wrapper table.footable tbody tr.foo_table_row_even,
.ninja_table_wrapper table.footable tbody tr.ninja_table_row_even {
    background-color: #171717 !important;
}

/* Row Hover State */
.ninja_table_wrapper table.footable tbody tr:hover {
    background-color: #222222 !important;
}

.ninja_table_wrapper table.footable tbody td {
    padding: 10px 20px !important;
    border-right: 1px solid #1a1a1a !important;
    color: #d1d1d1 !important;
    font-size: 14px;
    vertical-align: middle !important;
}

.ninja_table_wrapper table.footable tbody td:last-child {
    border-right: none !important;
}

/* Specific Column Width Distribution */
.ninja_table_wrapper table.footable th:nth-child(1), 
.ninja_table_wrapper table.footable td:nth-child(1) { width: 15%; }

.ninja_table_wrapper table.footable th:nth-child(2), 
.ninja_table_wrapper table.footable td:nth-child(2) { width: 45%; } /* Long space for description */

.ninja_table_wrapper table.footable th:nth-child(3), 
.ninja_table_wrapper table.footable td:nth-child(3) { width: 25%; }

.ninja_table_wrapper table.footable th:nth-child(4), 
.ninja_table_wrapper table.footable td:nth-child(4) { width: 15%; }

/* Column 1 (SKU / Code Style) */
.ninja_table_wrapper table.footable tbody td:first-child {
    font-weight: 600 !important;
    color: #f9f9f9 !important;
}

/* Download Button Styling (Gold Solid Box) */
.ninja_table_wrapper table.footable .nt-download-btn {
    display: inline-block !important;
    background-color: #d8b768 !important;
    color: #0f0f0f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 10px 22px !important;
    border-radius: 0px !important;
    text-decoration: none !important;
    text-align: center !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    line-height: 1 !important;
}

/* Download Button Hover State */
.ninja_table_wrapper table.footable .nt-download-btn:hover {
    background-color: #c4a254 !important;
    color: #000000 !important;
}

/* Center Align 4th Column Heading & Data Cells */
.ninja_table_wrapper table.footable th.ninja_clmn_nm_specsheet,
.ninja_table_wrapper table.footable th.ninja_column_3,
.ninja_table_wrapper table.footable th:nth-child(4),
.ninja_table_wrapper table.footable td.ninja_clmn_nm_specsheet,
.ninja_table_wrapper table.footable td.ninja_column_3,
.ninja_table_wrapper table.footable td:nth-child(4) {
    text-align: center !important;
}

/* Remove Default Light Background & Borders on Footer Structure */
.ninja_table_wrapper table.footable tfoot tr.footable-paging,
.ninja_table_wrapper table.footable tfoot td,
.ninja_table_wrapper table.footable tfoot tr {
    background-color: #0f0f0f !important;
    border: none !important;
    padding: 0 !important;
}

/* Ninja Tables Bottom Pagination Container */
.ninja_table_wrapper .footable-pagination-wrapper,
.ninja_table_wrapper .footable-footer {
    background-color: #0d0d0d !important;
    border-top: 1px solid #1f1f1f !important;
    padding: 15px 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide Unnecessary Footable Divider/Label Tags */
.ninja_table_wrapper .footable-pagination-wrapper .divider,
.ninja_table_wrapper .footable-pagination-wrapper .label {
    display: none !important;
}

/* Bottom Left Entry Info Text Styling */
.ninja_table_wrapper .footable-pagination-wrapper .footable-info,
.ninja_table_wrapper .dataTables_info,
#custom-nt-bottom-info {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #888888 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

/* Bottom Right Pagination Nav */
.ninja_table_wrapper .footable-pagination-wrapper ul.pagination,
.ninja_table_wrapper .pagination {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Base Page Buttons */
.ninja_table_wrapper .pagination li a,
.ninja_table_wrapper .pagination li span {
    background-color: transparent !important;
    border: none !important;
    color: #aaaaaa !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 6px 10px !important;
    min-width: 28px !important;
    text-align: center !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

/* Hover State */
.ninja_table_wrapper .pagination li a:hover {
    color: #ffffff !important;
    background-color: #222222 !important;
}

/* Active Page Button (Dark Filled Pill) */
.ninja_table_wrapper .pagination li.active a,
.ninja_table_wrapper .pagination li.active span {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border-radius: 4px !important;
}

/* Arrow Navigation Styling (<< < > >>) */
.ninja_table_wrapper .pagination li.footable-page-nav a,
.ninja_table_wrapper .pagination li.first a,
.ninja_table_wrapper .pagination li.prev a,
.ninja_table_wrapper .pagination li.next a,
.ninja_table_wrapper .pagination li.last a {
    color: #666666 !important;
}

.ninja_table_wrapper .pagination li.footable-page-nav.disabled a {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
}

.ninja_table_wrapper .pagination li.first a:hover,
.ninja_table_wrapper .pagination li.prev a:hover,
.ninja_table_wrapper .pagination li.next a:hover,
.ninja_table_wrapper .pagination li.last a:hover {
    color: #ffffff !important;
}

/* Tablet Responsive Tweaks (769px to 1024px) */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    
    /* Adjust Column Percentages to give Spec Sheet more room */
    .ninja_table_wrapper table.footable th:nth-child(1), 
    .ninja_table_wrapper table.footable td:nth-child(1) { width: 12% !important; }

    .ninja_table_wrapper table.footable th:nth-child(2), 
    .ninja_table_wrapper table.footable td:nth-child(2) { width: 40% !important; }

    .ninja_table_wrapper table.footable th:nth-child(3), 
    .ninja_table_wrapper table.footable td:nth-child(3) { width: 26% !important; }

    .ninja_table_wrapper table.footable th:nth-child(4), 
    .ninja_table_wrapper table.footable td:nth-child(4) { 
        width: 22% !important; 
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    /* Make button scale responsively to fit cell without overflow */
    .ninja_table_wrapper table.footable .nt-download-btn {
        font-size: 10px !important;
        padding: 8px 12px !important;
        letter-spacing: 0.8px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
}
/* Mobile Responsive Condensation */
@media screen and (max-width: 768px) {
    
    /* Reduce global table cell padding */
    .ninja_table_wrapper table.footable thead th,
    .ninja_table_wrapper table.footable tbody td {
        padding: 8px 6px !important;
        font-size: 12px !important;
    }

    /* Shrink Column 1 (CODE/SKU) */
    .ninja_table_wrapper table.footable th:nth-child(1), 
    .ninja_table_wrapper table.footable td:nth-child(1) { 
        width: 16% !important; 
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    /* Give Description max room */
    .ninja_table_wrapper table.footable th:nth-child(2), 
    .ninja_table_wrapper table.footable td:nth-child(2) { 
        width: 48% !important; 
    }

    /* Column 3 (If present) */
    .ninja_table_wrapper table.footable th:nth-child(3), 
    .ninja_table_wrapper table.footable td:nth-child(3) { 
        width: 0% !important; 
    }

    /* Last Column (Spec Sheet Button Container) */
    .ninja_table_wrapper table.footable th:last-child, 
    .ninja_table_wrapper table.footable td:last-child { 
        width: 20% !important; 
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    /* Condense Download Button */
    .ninja_table_wrapper table.footable .nt-download-btn {
        font-size: 9px !important;
        padding: 6px 8px !important;
        letter-spacing: 0.5px !important;
        white-space: nowrap !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Compact Bottom Pagination Bar on Mobile */
    .ninja_table_wrapper .footable-pagination-wrapper {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px 10px !important;
        text-align: center !important;
    }

    .ninja_table_wrapper .footable-pagination-wrapper ul.pagination {
        margin: 0 auto !important;
    }
}
/* END Ninja Tables */

/* ==========================================================================
   ELEMENTOR NESTED TABS MOBILE OVERRIDE (VERTICAL STACK & FULL WIDTH)
   ========================================================================== */
@media screen and (max-width: 767px) {
    /* 1. Force the parent container to structural column flow */
    .elementor-widget-n-tabs .e-n-tabs {
        display: flex !important;
        flex-direction: column !important;
    }

    /* 2. Stack all tab title buttons vertically at the absolute top */
    .elementor-widget-n-tabs .e-n-tabs-heading {
        display: flex !important;
        flex-direction: column !important; /* Forces vertical stacking */
        order: 1 !important;               /* Keeps them above active content */
        width: 100% !important;
        gap: 10px !important;              /* Dynamic gap/space between stacked buttons */
        margin-bottom: 25px !important;    /* Gap between the button stack and active content */
        
        /* Reset any horizontal scrolling behavior */
        overflow-x: visible !important;
        overflow-y: visible !important;
        scrollbar-width: auto !important;
    }

    /* Chrome, Safari, and Opera scrollbar reset */
    .elementor-widget-n-tabs .e-n-tabs-heading::-webkit-scrollbar {
        display: block !important;
    }

    /* 3. Force individual buttons to span 100% width and center their text */
    .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
        display: flex !important;
        width: 100% !important;            /* Spans full container width */
        max-width: none !important;
        align-items: center !important;
        justify-content: center !important; /* Centers text horizontally */
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* 4. Keeps active tab content block clean directly below the vertical stack */
    .elementor-widget-n-tabs .e-n-tabs-content {
        order: 2 !important;
        display: block !important;
        width: 100% !important;
    }
	    .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tab-title[aria-selected=true] {
        margin-block-end: 0px;
    }
}
}

/* GATED FORM */
/* Maintain 2-column flex alignment when jQuery slides the container open */
.gated-form-container[style*="display: block"] {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* Ensure the sub-containers stay split 50/50 on desktop and stack gracefully on mobile */
.gated-form-container > .e-child {
    width: 48% !important;
    max-width: 48% !important;
}

@media (max-width: 1024px) {
    .gated-form-container[style*="display: block"] {
        flex-direction: column;
    }
    .gated-form-container > .e-child {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Submit BUTTON Spinner FIX */
/* 1. Force the button itself to expand dynamically */
#gated-form .elementor-field-type-submit button[type="submit"] {
    width: auto !important;
    min-width: 180px !important;
    max-width: none !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 2. Lock down the internal wrapper to prevent shrinking */
#gated-form .elementor-field-type-submit .elementor-button-content-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: none !important;
}

/* 3. Explicitly target the text span to prevent it from splitting into 2 lines */
#gated-form .elementor-field-type-submit .elementor-button-text {
    display: inline-block !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* 4. Target the injected loading spinner to ensure it sits on the side */
#gated-form .elementor-field-type-submit .elementor-button-icon {
    flex-shrink: 0 !important;
    display: inline-block !important;
}

/*  DEV SITE: UNCONSTRAIN SUBMIT CELL TO PREVENT CLIPPING  */

/* 1. Force the parent form cell container to allow full boundary growth */
#gated-form .elementor-field-type-submit.elementor-col-100 {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    overflow: visible !important; /* Prevents the edge of the button from clipping */
}

/* 2. Soften the base min-width constraints so it doesn't artificially stretch too wide */
#gated-form .elementor-field-type-submit button[type="submit"] {
    width: auto !important;
    min-width: 140px !important; /* Reduced base minimum to save horizontal room */
    max-width: 100% !important;  /* Safety barrier */
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* 3. Tighten the spacing gap between text and loading indicator */
#gated-form .elementor-field-type-submit .elementor-button-content-wrapper {
    gap: 6px !important; /* Reduced gap to keep the footprint compact */
}

/* Remove default browser bullet points and reset list margins/padding */
ul.elementor-icon-list-items,
ul.elementor-icon-list-items li.elementor-icon-list-item {
    list-style: none !important;
    list-style-type: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}
/* Ensure the pseudo-elements (like ::before bullets) are completely hidden */
ul.elementor-icon-list-items li.elementor-icon-list-item::before {
    content: none !important;
    display: none !important;
}