/* Full-bleed backgrounds are resolved by CSS before Elementor initializes. */
body.gi-marketing-page .container.content-page{width:100%;max-width:none;margin:0;padding:0}
body.gi-marketing-page .content-page>.sidebar-position-without{width:100%;max-width:none;margin:0;padding:0}
body.gi-marketing-page .content-page>.sidebar-position-without>.row{margin:0;width:100%}
body.gi-marketing-page .content-page>.sidebar-position-without>.row>.content{width:100%;padding:0}
body.gi-marketing-page .elementor-section-wrap>.elementor-top-section,
body.gi-marketing-page .elementor>.elementor-top-section{width:100%;left:0}
body.gi-marketing-page .gi-full-bleed>.elementor-container{width:100%;max-width:none}
body.gi-marketing-page .gi-full-bleed>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0}
body.gi-brand-system .gi-section{height:auto;min-height:0}
body.gi-brand-system .gi-section>.elementor-container>.elementor-column{min-width:0}
body.gi-brand-system .gi-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding-top:0;padding-bottom:0}
body.gi-brand-system .gi-section .elementor-widget-image img{max-width:100%;height:auto}
body.gi-brand-system .gi-header-search-toggle{display:none}
/* Hidden homepage slides do not request their background images until shown. */
body.gi-brand-system.page-id-5 .gp-slide:not(.is-active){display:none!important}
body.gi-brand-system.page-id-5 .gp-slide.is-active{display:flex;animation:gi-slide-show .35s ease both}
@keyframes gi-slide-show{from{opacity:0}to{opacity:1}}
.gi-brand-system .gi-contact-panel[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){body.gi-brand-system .gp-slide.is-active{animation:none}}
body.gi-marketing-page .gi-tone-dark:not(.gi-section) :is(h2,h3){font-size:24px;line-height:1.3}
@media(max-width:767px){body.gi-marketing-page .gi-tone-dark:not(.gi-section) :is(h2,h3){font-size:21px}}
/* Woo's generic initializer expects LI navigation, while XStore outputs DIV tabs.
   Keep the server-selected first panel stable through the vendor's 300ms init gap. */
body.single-product .elementor-2198 .woocommerce-tabs:not(.loaded):not(.type-accordion):not(.opened-all-tabs):not(.closed-first-tab){opacity:1;visibility:visible}
body.single-product .elementor-2198 .woocommerce-tabs:not(.loaded):not(.type-accordion):not(.opened-all-tabs):not(.closed-first-tab)>.wc-tab{display:none!important}
body.single-product .elementor-2198 .woocommerce-tabs:not(.loaded):not(.type-accordion):not(.opened-all-tabs):not(.closed-first-tab)>.wc-tabs+.wc-tab{display:block!important}
body.single-product .elementor-2198 .woocommerce-tabs:not(.loaded):not(.type-accordion):not(.opened-all-tabs):not(.closed-first-tab):has(>.wc-tab:target)>.wc-tabs+.wc-tab{display:none!important}
body.single-product .elementor-2198 .woocommerce-tabs:not(.loaded):not(.type-accordion):not(.opened-all-tabs):not(.closed-first-tab)>.wc-tab:target{display:block!important}
