/* Fabrikeo interface 1.0.4 — scoped header, menus and quote presentation. */
:root{--fq-front-teal:#275260;--fq-front-lime:#a3c125;--fq-front-header-width:1140px;--fq-front-sticky-top:20px}
body .fabrikeo-trustbar{width:100%!important;max-width:none!important;margin-inline:0!important}
body .fabrikeo-trustbar__viewport{width:100%;max-width:var(--fq-front-header-width)!important;margin-inline:auto}
.fabrikeo-trustbar .fabrikeo-trustbar__item{gap:9px;padding-inline:10px}
@media(min-width:1025px){
 body .fabrikeo-trustbar:not(.is-slider) .fabrikeo-trustbar__item:first-child{justify-content:flex-start;padding-left:var(--fq-front-header-inset,10px)}
 body .fabrikeo-trustbar:not(.is-slider) .fabrikeo-trustbar__item:last-child{justify-content:flex-end;padding-right:var(--fq-front-header-inset,10px)}
}
.fq-front-review-icon svg{display:block;width:20px;height:20px;color:#fff}
.fq-front-rating strong{font-weight:750}
.fq-front-stars{position:relative;display:inline-block;flex:0 0 auto;color:rgba(255,255,255,.3);font-size:16px;line-height:1;letter-spacing:1px;white-space:nowrap}
.fq-front-stars:before{content:'★★★★★'}
.fq-front-stars>span{position:absolute;inset:0 auto 0 0;width:96%;overflow:hidden;color:#d4e775}
body:not(.lang-fr) #footer #contact-info-container .block.phone{display:none!important}
/* The old label already draws its own border. Remove only the redundant wrapper. */
body#product .fq-form .fq-field--choice_text_logo .fq-choice-card,
body#product .fq-form .fq-field--choice_text_logo .fq-choice-card:has(input:checked){border:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;min-height:0!important;border-radius:8px!important}
body#product .fq-form .fq-field--choice_text_logo .fq-choice-grid{gap:8px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body#product .fq-form .fq-field--choice_text_logo .fq-choice-card>span{min-height:44px!important;height:100%;margin:0!important}
/* Preserve existing 4 / 3 illustrated-choice grids and conditional visibility. */
body .breadcrumb-container{padding:17px 20px!important;margin-bottom:24px!important;min-height:0!important}
body .breadcrumb-container .breadcrumb{margin:0 auto!important;padding:0!important;background:transparent!important}
body .breadcrumb-container .breadcrumb ol{margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center!important;line-height:1.6}
body .breadcrumb-container .breadcrumb li{float:none!important;width:auto!important}
body .breadcrumb-container .breadcrumb li,body .breadcrumb-container .breadcrumb li a,body .breadcrumb-container .breadcrumb li span{font-size:12px!important;line-height:1.6!important;overflow-wrap:anywhere}
body .breadcrumb-container .breadcrumb li:after{font-size:11px;margin-inline:8px}
/* Header stacking: language list must sit above the navigation strip. */
body #header{position:relative;z-index:100;overflow:visible!important}
#header .elementor-section-wrap,#header .elementor-container,#header .elementor-row,#header .elementor-column-wrap,#header .elementor-widget-wrap,#header .elementor-widget-nav-menu,#header .elementor-nav__container{overflow:visible!important}
#header .elementor-top-section{z-index:2}
#header .elementor-top-section:has(.elementor-widget-language-selector){z-index:4}
#header .elementor-top-section:focus-within{z-index:6}
#header .elementor-top-section:hover{z-index:7}
#header .elementor-widget-language-selector{z-index:40}
#header .elementor-nav--main>.elementor-nav>li>a.elementor-item{border-bottom:0!important;text-decoration:none!important;box-shadow:none!important}
#header .elementor-nav--main>.elementor-nav>li>a.elementor-item:before,#header .elementor-nav--main>.elementor-nav>li>a.elementor-item:after{display:none!important;content:none!important}
#header .elementor-nav .sub-menu{background:#fff!important;box-shadow:0 12px 30px rgba(15,47,58,.15);border:1px solid #e4ebed;border-radius:12px;z-index:100!important}
#header .elementor-nav .sub-menu a.elementor-sub-item{color:#244955!important;background:transparent!important;white-space:normal!important;line-height:1.4!important;padding:10px 14px!important;font-size:13px!important;min-width:0}
#header .elementor-nav .sub-menu a.elementor-sub-item:hover,#header .elementor-nav .sub-menu a.elementor-sub-item:focus-visible,#header .elementor-nav .sub-menu a.elementor-item-active{background:#f0f5e4!important;color:#244955!important;outline-offset:-2px}
/* One owner for visibility; theme hover timers cannot close a clicked panel. */
#header .elementor-nav .fq-menu-list{display:none!important;opacity:1!important;visibility:visible!important;height:auto!important}
#header .elementor-nav .fq-menu-open>.fq-menu-list{display:block!important}
#header .elementor-nav .fq-menu-open>.fq-nav-panel{display:grid!important;grid-template-columns:repeat(var(--fq-menu-cols,1),minmax(0,1fr));gap:3px 8px;align-items:start}
#header .fq-nav-panel>li{width:auto!important;float:none!important;min-width:0}
#header .fq-nav-panel .sub-menu{position:static!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:3px 0 8px 10px!important;padding:0 0 0 8px!important;border:0!important;border-left:2px solid #e5ecdf!important;border-radius:0;box-shadow:none!important;transform:none!important}
#header .fq-nav-panel .menu-item-has-children>a{font-weight:650!important;display:flex;align-items:center;justify-content:space-between;gap:12px}
#header .fq-nav-panel .sub-arrow{display:inline-flex!important;flex:0 0 auto;margin-left:auto}
#header .fq-nav-panel .sub-arrow i{display:none!important}
#header .fq-nav-panel .sub-arrow:before{content:'';width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 3px 3px}
#header .fq-nav-panel .fq-menu-open>a>.sub-arrow:before{transform:rotate(225deg);margin-top:5px}
#header .elementor-nav a:focus-visible{outline:2px solid #a3c125!important;outline-offset:-2px;border-radius:4px}
@media(min-width:1025px){
 #header .fq-nav-panel{position:absolute!important;top:100%!important;left:0!important;right:auto!important;margin:0!important;min-width:240px!important;width:var(--fq-menu-width,260px)!important;max-width:calc(100vw - 32px)!important;max-height:var(--fq-menu-height,70vh)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;padding:10px!important;transform:translateX(var(--fq-menu-shift,0px));scrollbar-width:thin}
 #header .elementor-widget-language-selector .fq-nav-panel{width:340px!important;left:auto!important;right:0!important;padding:10px!important;--fq-menu-cols:2}
 #header .elementor-widget-language-selector .fq-nav-panel a{padding:9px 12px!important}
 body#product .product-container.js-product-container{display:flex;align-items:stretch;flex-wrap:wrap}
 body#product .product-container.js-product-container>.col-md-6{float:none;min-width:0;flex:0 0 50%;max-width:50%}
 body#product .product-container.js-product-container>.col-md-6:first-child>#content{position:sticky!important;top:var(--fq-front-sticky-top);height:auto!important;min-height:0;align-self:flex-start}
 body#product .product-container>#content,body#product .product-container #product-zoom{min-height:0}
 body#product .product-container>.col-md-6:first-child .js-qv-product-cover{max-height:calc(100vh - var(--fq-front-sticky-top) - 145px)!important;object-fit:contain;object-position:center;width:100%!important}
 body#product .product-container>.col-md-6:first-child .product-images .thumb{max-height:76px;width:auto;object-fit:contain;margin-inline:auto}
}
/* Contact retains the original form and uploader, only its presentation changes. */
body#contact #wrapper>.container>.row{display:grid;grid-template-columns:minmax(0,1fr);max-width:900px;gap:0;margin:0 auto;align-items:start}
body#contact #wrapper #left-column{display:none!important}
body#contact #content-wrapper{width:100%!important;float:none!important;padding:0!important;min-width:0;max-width:none!important;grid-column:1;grid-row:1}
body#contact #content-wrapper #content{padding:30px!important;border:1px solid #e1e9eb!important;border-radius:18px!important;background:#fff;box-shadow:0 10px 36px rgba(24,63,75,.04)}
body#contact .fq-contact-heading{max-width:850px;margin:0 auto 30px;text-align:center}
body#contact .fq-contact-heading h1{font-size:clamp(25px,3vw,36px);line-height:1.2;color:#244955;text-transform:none;margin:0 0 12px;font-weight:700}
body#contact .fq-contact-heading p{font-size:14px;line-height:1.75;color:#5b6d73;margin:0}
body#contact .form-maker-form .page-subheading{font-size:20px!important;line-height:1.4;color:#244955;text-transform:none;margin:0 0 7px!important;padding:0!important;border:0!important}
body#contact .form-maker-form .rte{font-size:13px;color:#66777d;margin-bottom:22px}
body#contact .form-maker-form .rte p{margin:0}
body#contact .form-maker-form>.form_1>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0!important}
body#contact .form-maker-form .form-group{width:auto!important;min-width:0;float:none!important;padding:0!important;margin:0!important;clear:none!important;grid-column:1/-1}
body#contact .form-maker-form #element_1,body#contact .form-maker-form #element_2,body#contact .form-maker-form #element_3,body#contact .form-maker-form #element_4{grid-column:auto}
body#contact .form-maker-form label{display:block;font-size:13px;font-weight:600;color:#294e59;margin-bottom:7px;text-align:left!important;float:none!important;width:auto!important}
body#contact .form-maker-form .fq-optional{font-weight:400;color:#64777e}
body#contact .form-maker-form .form-control{height:46px;min-height:46px;background:#fbfcfc!important;border:1px solid #d6e1e5!important;border-radius:8px!important;color:#223d47;padding:10px 12px!important;font-size:14px;width:100%;max-width:100%;box-shadow:none}
body#contact .form-maker-form .form-control:focus{border-color:#527d86!important;outline:2px solid rgba(39,82,96,.12);outline-offset:1px;background:#fff!important}
body#contact .form-maker-form textarea.form-control{height:150px;resize:vertical}
body#contact .form-maker-form .form_info{font-size:12px;line-height:1.6;color:#64777e;display:block;margin-top:7px}
body#contact .form-maker-form #element_7{padding:16px!important;border:1px dashed #b8cdd2;border-radius:10px;background:#f7faf9}
body#contact .form-maker-form .fileinput{position:relative;background:#fff!important;color:#275260!important;border:1px solid #c8d9de!important;border-radius:7px!important;padding:9px 15px!important;font-size:13px}
body#contact .form-maker-form .form-footer{margin-top:24px;padding:0;background:transparent;text-align:left}
body#contact .form-maker-form #fmSubmit{border:0;border-radius:9px;padding:15px 24px;background:#275260;color:#fff;font-size:14px;font-weight:700;text-transform:none;box-shadow:none;width:100%}
body#contact .form-maker-form #fmSubmit:hover{background:#1e414c}
body#contact .form-maker-form sup{color:#739016}
@media(max-width:1024px){
 #header .elementor-nav--dropdown .fq-nav-panel{position:static!important;left:auto!important;top:auto!important;width:auto!important;min-width:0!important;margin:0 0 8px!important;transform:none!important;padding:8px!important;--fq-menu-cols:1!important}
 #header .elementor-widget-language-selector .fq-nav-panel{position:absolute!important;top:100%!important;width:min(340px,calc(100vw - 32px))!important;right:0!important;left:auto!important;min-width:0!important;--fq-menu-cols:2!important}
 #header .elementor-widget-language-selector .sub-menu{max-height:55vh!important;overflow:auto!important;max-width:calc(100vw - 32px)!important}
 #header nav.elementor-nav--dropdown{max-height:75vh;overflow:auto!important;overscroll-behavior:contain}
 body#product .product-container>#content,body#product .product-container>.col-md-6:first-child>#content{position:static!important}
}
@media(max-width:600px){
 body .breadcrumb-container{padding:11px 15px!important;margin-bottom:18px!important}
 body .breadcrumb-container .breadcrumb li,body .breadcrumb-container .breadcrumb li a,body .breadcrumb-container .breadcrumb li span{font-size:11px!important}
 body#contact #content-wrapper #content{padding:22px 16px!important;border-radius:12px!important}
 body#contact .form-maker-form>.form_1>.row{grid-template-columns:minmax(0,1fr);gap:16px}
 body#contact .fq-contact-heading{margin-bottom:22px;padding-inline:10px}
 body#contact .form-maker-form .page-subheading{font-size:18px!important}
}
