.elementor-19777 .elementor-element.elementor-element-230ac99a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-19777 .elementor-element.elementor-element-2f8f900d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-19777 .elementor-element.elementor-element-2f8f900d.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-19777 .elementor-element.elementor-element-2f8f900d .woocommerce-breadcrumb{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:12px;text-decoration:none;word-spacing:0px;text-align:start;}.elementor-19777 .elementor-element.elementor-element-2f8f900d .woocommerce-breadcrumb > a{color:#A1A1A1;}.elementor-19777 .elementor-element.elementor-element-68cdd64f{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:010px;--padding-left:50px;--padding-right:50px;}.elementor-19777 .elementor-element.elementor-element-68cdd64f.e-con{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-a550beb{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-19777 .elementor-element.elementor-element-78a2267b{width:var( --container-widget-width, 500px );max-width:500px;padding:0px 0px 0px 0px;--container-widget-width:500px;--container-widget-flex-grow:0;text-align:start;}.elementor-19777 .elementor-element.elementor-element-78a2267b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-19777 .elementor-element.elementor-element-78a2267b .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:48px;font-weight:700;color:var( --e-global-color-text );}.elementor-19777 .elementor-element.elementor-element-150f2d29{width:var( --container-widget-width, 500px );max-width:500px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:500px;--container-widget-flex-grow:0;text-align:start;}.elementor-19777 .elementor-element.elementor-element-150f2d29.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-150f2d29 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:21px;letter-spacing:0px;color:var( --e-global-color-text );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-19777 .elementor-element.elementor-element-43cae362 .elementor-button{background-color:#FFFFFF00;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;padding:15px 20px 15px 15px;}.elementor-19777 .elementor-element.elementor-element-43cae362{width:initial;max-width:initial;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;}.elementor-19777 .elementor-element.elementor-element-43cae362.elementor-element{--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-19777 .elementor-element.elementor-element-43cae362 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-19777 .elementor-element.elementor-element-43cae362 .elementor-button .elementor-button-content-wrapper{gap:20px;}.elementor-19777 .elementor-element.elementor-element-29889a12{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;--padding-top:20px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-19777 .elementor-element.elementor-element-29889a12.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-19777 .elementor-element.elementor-element-5f458b2c{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19777 .elementor-element.elementor-element-5c20a8bb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );}.elementor-19777 .elementor-element.elementor-element-5c20a8bb.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-266abcd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );}.elementor-19777 .elementor-element.elementor-element-266abcd.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-412b3c13{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );border-radius:0px 0px 0px 0px;}.elementor-19777 .elementor-element.elementor-element-412b3c13.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-64610586{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );}.elementor-19777 .elementor-element.elementor-element-64610586.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-3f550ef8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );}.elementor-19777 .elementor-element.elementor-element-3f550ef8.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-40ab07b0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );border-radius:0px 0px 0px 0px;}.elementor-19777 .elementor-element.elementor-element-40ab07b0.elementor-element{--align-self:flex-start;}.elementor-19777 .elementor-element.elementor-element-599b7cd0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-secondary );border-radius:0px 0px 0px 0px;}.elementor-19777 .elementor-element.elementor-element-599b7cd0.elementor-element{--align-self:flex-start;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-19777 .elementor-element.elementor-element-170fa324{--grid-columns:3;--grid-row-gap:50px;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--e-loop-nothing-found-message-align:center;--grid-column-gap:25px;--e-loop-nothing-found-message-space-from-top:20px;--e-loop-nothing-found-message-space-from-bottom:20px;--e-loop-nothing-found-message-color:var( --e-global-color-text );}.elementor-19777 .elementor-element.elementor-element-170fa324 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-19777 .elementor-element.elementor-element-170fa324.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-19777 .elementor-element.elementor-element-170fa324 .e-loop-nothing-found-message__text{font-family:"Inter", Sans-serif;font-size:20px;font-weight:600;}@media(min-width:481px){.elementor-19777 .elementor-element.elementor-element-230ac99a{--content-width:1600px;}.elementor-19777 .elementor-element.elementor-element-68cdd64f{--content-width:1600px;}.elementor-19777 .elementor-element.elementor-element-a550beb{--width:100%;}.elementor-19777 .elementor-element.elementor-element-29889a12{--content-width:1600px;}.elementor-19777 .elementor-element.elementor-element-5f458b2c{--width:100%;}}@media(max-width:1210px){.elementor-19777 .elementor-element.elementor-element-230ac99a{--padding-top:50px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-19777 .elementor-element.elementor-element-68cdd64f{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-19777 .elementor-element.elementor-element-29889a12{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-19777 .elementor-element.elementor-element-170fa324{--grid-columns:2;}}@media(max-width:480px){.elementor-19777 .elementor-element.elementor-element-68cdd64f{--min-height:0px;--padding-top:15%;--padding-bottom:15%;--padding-left:5%;--padding-right:5%;}.elementor-19777 .elementor-element.elementor-element-5f458b2c{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-19777 .elementor-element.elementor-element-5c20a8bb.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-266abcd.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-412b3c13.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-64610586.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-3f550ef8.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-40ab07b0.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-599b7cd0.elementor-element{--align-self:center;}.elementor-19777 .elementor-element.elementor-element-170fa324{--grid-columns:1;}}/* Start custom CSS for shortcode, class: .elementor-element-3f550ef8 *//* Hides any filter block that has an empty list */
div.wpfFilterWrapper:has(ul.wpfFilterVerScroll:empty) {
  display: none !important;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-170fa324 *//* --- 0. GLOBAL SAFETY: FORCE CARDS TO SHRINK --- */
.elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container .e-loop-item,
.elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container .elementor-element {
  min-width: 0 !important; /* Allow shrinking to 0 */
  max-width: 100% !important; /* Never exceed column width */
  width: 100% !important; /* Fill the column exactly */
}

/* Ensure images don't hold the card open */
.elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container img {
  width: 100% !important;
  max-width: 100% !important;
}
/* === ALTERNATE PRODUCT CARD GRID ===
   
   1. Over 1715px:      3-Col, Fixed 158px Gap
   2. 1450px - 1714px:  3-Col, Fluid Gap (158px -> 25px)
   3. 1211px - 1449px:  3-Col, Fixed 25px Gap (Cards scale down)
   4. 939px  - 1210px:  2-Col, Fixed 25px Gap
   5. 938px and below:  1-Col
*/

/* --- 0. Global Safety (Prevents Grid Blowout) --- */
.elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container > .elementor-element {
  min-width: 0 !important;
  width: 100% !important;
}

/* --- 1. Large Desktop (Static) --- */
/* 1715px and up */
@media (min-width: 1715px) {
  .elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 158px; /* Fixed large gap */
    row-gap: 30px; 
  }
}

/* --- 2. Transition Range (Fluid Gap) --- */
/* 1450px to 1714px
   Gap shrinks drastically from 158px down to 25px 
   to preserve card size before the next stage.
*/
@media (min-width: 1450px) and (max-width: 1714px) {
  .elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 30px;
    
    /* MATH: 1714px=158px | 1450px=25px */
    column-gap: clamp(25px, calc(50.379vw - 705.49px), 158px);
  }
}

/* --- 3. Desktop Standard (Scaling Cards) --- */
/* 1211px to 1449px
   Gap stays at 25px. 
   Cards naturally shrink as screen gets smaller.
*/
@media (min-width: 911px) and (max-width: 1449px) {
  .elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px; /* Fixed */
    row-gap: 30px;
  }
}

/* --- 4. Tablet Landscape (2 Columns) --- */
/* 939px to 1210px
   Drops to 2 cols. Cards become large again.
*/
@media (min-width: 639px) and (max-width: 910px) {
  .elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 25px; /* Fixed */
    row-gap: 30px;
  }
}

/* --- 5. Mobile/Tablet Portrait (1 Column) --- */
/* 938px and below */
@media (max-width: 638px) {
  .elementor-19777 .elementor-element.elementor-element-170fa324 .elementor-loop-container {
    grid-template-columns: 1fr;
    row-gap: 25px;
    justify-items: center; /* Centers the card */
  }
}/* End custom CSS */
/* Start custom CSS *//* 1. THE LOCK (Default State) */
.wpfFilterContent {
    display: none !important;
}

/* 2. THE KEY (Open State - Nuclear Version) */
/* We use 'div' and the child body.elementor-page-19777 '>' to increase priority */
div.wpfMainWrapper.architect-open .wpfFilterContent,
div.wpfMainWrapper.architect-open .wpfFilterWrapper .wpfFilterContent {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
    max-height: 9999px !important; /* Overrides any accordion animations */
    pointer-events: auto !important;
}

/* 3. ICON LOGIC */
.wpfFilterTitle i.fa-chevron-down {
    transition: transform 0.3s ease;
}
.wpfMainWrapper.architect-open .wpfFilterTitle i.fa-chevron-down {
    transform: rotate(180deg);
}/* End custom CSS */