/*
Theme Name: l.a.b rugs
Author: Camille Trinquart
Author URI: https://www.from-scratch.fr
Template: hello-elementor
Version: 1.1
Text Domain: lab-rugs
*/

/* Global */
body,
.elementor-location-archive,
.elementor-location-single,
.elementor-location-header,
.elementor-location-footer{margin:0 auto; max-width:2000px;}
.fs_pindent p{text-indent:244px;}
.fh_mid img{width:auto;}
.fh_bot img{height:100%;}
body:not(.home) .fh_bot img{object-fit:cover; object-position:center;}
.abs_bot{position:absolute; left:0px; bottom:0px; padding-bottom:20px;}
.abs_bot.no_pad{padding-bottom:0px;}
.elementor-widget-container a{position:relative;}
.elementor-widget-container a:hover:after,
.alw_undlg a:after{content:""; display:block; width:100%; height:1px; position:absolute; left:0px; bottom:-1px; background-color:#000000;}
.no_undlg a:hover:after,
.elementor-widget-container a:has(img):hover:after,
a.elementor-button:hover:after{display:none;}
.link_white .elementor-widget-container a:hover:after,
.link_white.alw_undlg a:after{background-color:#FFFFFF;}
.big_title a{font-family:"EuclidCircularA"; font-weight:700; font-size:16px !important; line-height:20px !important; letter-spacing:0% !important;}
.big_title a:after,
.big_title a:hover:after{content:""; display:block; width:100%; height:1px; position:absolute; left:0px; bottom:-1px; background-color:#000000;}
.mbm_diff{mix-blend-mode:difference;}
@media (max-width: 2030px) {
  body #content.site-main,
  .elementor-location-archive,
  .elementor-location-single,
  .elementor-location-header,
  .elementor-location-footer{padding-left:15px; padding-right:15px;}
}
@media (max-width: 1024px) {
  .fs_pindent p{text-indent:122px;}
}
@media (max-width: 768px) {
  body #content.site-main,
  .elementor-location-archive,
  .elementor-location-single,
  .elementor-location-header,
  .elementor-location-footer{padding-left:0px; padding-right:0px;}
  .fs_xs_spad7{padding-left:7px; padding-right:7px;}
  .fs_xs_spad10{padding-left:10px; padding-right:10px;}
  .fs_xs_spad15{padding-left:15px; padding-right:15px;}
  .fs_xs_spad20{padding-left:20px; padding-right:20px;}
  .abs_bot{position:static; padding-bottom:0px;}
  .fs_pindent p{text-indent:0px;}
  .big_title a{display:table; margin-top:10px;}
}

/* Header */
.elementor-location-header{position:sticky; top:0; z-index:9999; mix-blend-mode:difference;}
.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:first-of-type a{padding-left:0px !important;}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:hover{position:relative;}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active:after,
.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:hover:after{content:""; display:block; height:1px; position:absolute; bottom:13px; background-color:#FFFFFF;}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active:after{width:calc(100% - 34px); left:17px;}
.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:hover:after{width:calc(100% - 30px); left:15px;}
.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:first-of-type .elementor-item.elementor-item-active:after{width:calc(100% - 17px); left:0px;}
.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:first-of-type:hover:after{width:calc(100% - 15px); left:0px;}
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item{display:table;}
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active:after,
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:hover:after,
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:first-of-type .elementor-item.elementor-item-active:after,
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:first-of-type:hover:after{width:100%; left:0px;}
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active:after,
.mobile_menu.elementor-widget-nav-menu .elementor-nav-menu--main li.menu-item:hover:after{bottom:5px;}
body.home.header_white .elementor-location-header{mix-blend-mode:normal;}
body.home .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
body.home .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:transparent;}
header.elementor-70.header-blanc { background-color:#fff; mix-blend-mode: normal;}
header.elementor-70.header-blanc img { filter: brightness(0) invert(0);}

/* Home */
body.home.prehome-lock {
  height: 100vh;
}
.pre-home {
  position: fixed !important; background-color:#eaeaea !important;
  inset: 0;
  z-index: 20;
  transform: translateY(0);
  opacity: 1;
  transition:
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.85s ease;
  will-change: transform, opacity;
}
body.prehome-hidden .pre-home {
  transform: translateY(-100%);
  opacity: 1;
}
#floating-logo {
  position:fixed; width:calc(100vw - 45px);
  top: 50%;
  left: 50%;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 9999;
  pointer-events: none;
  transition:
    top .85s cubic-bezier(.22, 1, .36, 1),
    left .85s cubic-bezier(.22, 1, .36, 1),
    width .85s cubic-bezier(.22, 1, .36, 1),
    height .85s cubic-bezier(.22, 1, .36, 1),
    transform .85s cubic-bezier(.22, 1, .36, 1),
    opacity .3s ease;
}
#floating-logo img{display:block; width:calc(100vw - 45px); height:auto;}
body.logo-docking #floating-logo {
  top: 24px;
  left: 32px;
  transform: translate(0, 0) scale(.35);
  transform-origin: top left;
}
body.logo-docked #floating-logo {
  opacity: 0;
}
body.home .header-logo-real {
  opacity: 0;
  transition: opacity .3s ease;
}
body.logo-docked .header-logo-real {
  opacity: 1;
}
.home_top_section{position:relative;}
.img_desk_logo{position:absolute; top:50%; left:0px;}
@media (max-width: 768px) {
  /*body.prehome-hidden #floating-logo{display:none;}*/
  .swiper-slide .produit_item_titlecat_link{margin-left:8px;}
}

/* Home RM */

#floating-logo {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  pointer-events: none;
  transform-origin: top left;
  will-change: transform;
  transition: none !important;
}

#floating-logo img {
  display: block;
  width: 100%;
  height: auto;
}

/* optionnel : éviter un clignotement au chargement */
body:not(.logo-ready) #floating-logo {
  opacity: 0;
}
body.logo-ready #floating-logo {
  opacity: 1;
}
/* état initial : gros logo noir */
body.prehome-hidden #floating-logo.is-large {
  mix-blend-mode: normal;
}

body.prehome-hidden #floating-logo.is-large img {
  filter: brightness(0) invert(0);
}
#floating-logo:not(.is-large) { mix-blend-mode: difference;}


.home .header-logo-real { visibility: hidden;}
@media (max-width: 768px) {
.home .header-logo-real { visibility: visible;}
}

body.home .header-logo-real {
  opacity: 1;
  transition: opacity 0.3s ease;
}

@media (max-width: 767px) {
  body.prehome-lock.home .header-logo-real {
    opacity: 0;
    pointer-events: none;
  }

  body.prehome-hidden.home .header-logo-real {
    opacity: 1;
    pointer-events: auto;
  }
}

/* Rugs */
body.tax-product_cat div.elementor-widget-jet-smart-filters-radio:not(.no_label) .jet-radio-list,
body.tax-product_cat div.elementor-widget-jet-smart-filters-checkboxes:not(.no_label) .jet-checkboxes-list,
body.tax-product_cat .jet-color-image-list{display:none; margin-bottom:25px;}
body.tax-product_cat .rugs_fltrs_topbar_mob_open div.elementor-widget-jet-smart-filters-radio:not(.no_label) .jet-radio-list,
body.tax-product_cat .rugs_fltrs_topbar_mob_open div.elementor-widget-jet-smart-filters-checkboxes:not(.no_label) .jet-checkboxes-list,
body.tax-product_cat .jet-color-image-list{margin-bottom:20px;}
body.tax-product_cat .jet-color-image-list{margin-top:5px;}
.jet-color-image-list__item:has(.jet-color-image-list__input[data-label="White"]) .jet-color-image-list__button .jet-color-image-list__decorator .jet-color-image-list__color{border-color:#E9E9E9}
.fs_acc_label{cursor:pointer;}
div.elementor-widget-jet-smart-filters-radio.no_label .jet-filter-label{display:none;}
body .jet-smart-filters-radio .jet-filter-label,
body .jet-smart-filters-color-image .jet-filter-label,
body .jet-smart-filters-checkboxes .jet-filter-label{position:relative; display:inline-block; text-align:left !important; font-weight:700 !important; cursor:pointer;}
body .rugs_fltrs_topbar_mob_open .jet-smart-filters-radio .jet-filter-label,
body .rugs_fltrs_topbar_mob_open .jet-smart-filters-color-image .jet-filter-label,
body .rugs_fltrs_topbar_mob_open .jet-smart-filters-checkboxes .jet-filter-label{padding-bottom:3px;}
.jet-radio-list__row{margin-top:0px !important; padding-top:0px !important;}
.jet-radio-list .jet-radio-list__item{display:inline-block !important;}
.jet-radio-list .jet-radio-list__item:hover .jet-radio-list__label:after,
body .jet-radio-list__input:checked ~ .jet-radio-list__button .jet-radio-list__label:after,
body .jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label:after,
body .jet-smart-filters-radio .jet-filter-label:hover:after,
body .jet-smart-filters-color-image .jet-filter-label:hover:after,
body .jet-smart-filters-checkboxes .jet-filter-label:hover:after{content:""; display:block; width:100%; height:1px; position:absolute; bottom:-1px; background-color:#000000;}
body .jet-smart-filters-radio .jet-filter-label:hover:after,
body .jet-smart-filters-color-image .jet-filter-label:hover:after,
body .jet-smart-filters-checkboxes .jet-filter-label:hover:after{bottom:2px;}
.jet-color-image-list-wrapper{max-width:215px;}
.jet-smart-filters-search .jet-search-filter__input-wrapper{position:relative;}
.jet-smart-filters-search .jet-search-filter__input-wrapper:before{content:""; display:block; width:17px; height:17px; background-image:url("images/loupe.svg"); background-position:center; background-repeat:no-repeat; background-size:17px 17px; position:absolute; left:0px; top:3px;}
.jet-smart-filters-search .jet-search-filter__input{margin-left:25px; border:0px !important;}
.jet-smart-filters-search .jet-search-filter__input:focus{outline-style:none; box-shadow:none; border-bottom:1px solid #000000 !important;}
.jet-smart-filters-search .jet-search-filter__input:focus::-webkit-input-placeholder{color:transparent !important;}
.jet-smart-filters-search .jet-search-filter__input:focus:-moz-placeholder{color:transparent !important;}
.jet-smart-filters-search .jet-search-filter__input:focus::-moz-placeholder{color:transparent !important;}
.jet-smart-filters-search .jet-search-filter__input:focus:-ms-input-placeholder{color:transparent !important;}
.jet-smart-filters-search .jet-search-filter__submit{display:none;}
.jet-remove-all-filters__button:before{content:""; display:block; width:17px; height:17px; background-image:url("images/clear.svg"); background-position:center; background-repeat:no-repeat; background-size:17px 17px; position:absolute; left:0px; top:0px;}
.jet-remove-all-filters__button{margin-left:25px;}
.rugs_fltrs_topbar_mob_close .jet-search-filter__input-wrapper:before{background-image:url("images/loupe-white.svg");}
.rugs_fltrs_topbar_mob_close .jet-search-filter__input:focus{border-bottom:1px solid #ffffff !important;}
.rugs_fltrs_topbar_mob_close .elementor-widget-jet-smart-filters-search:has(.jet-search-filter__input:focus){--container-widget-width:175px;}
.rugs_fltrs_topbar_mob_open{display:none; flex-wrap:nowrap; overflow-y:scroll;}
.rugs_fltrs_topbar_mob_trg{cursor:pointer;}
.produit_item_titlecat_addwshl_ct{display:flex; flex-direction:row; gap:20px; justify-content:space-between;}
.produit_item_titlecat_link{display:flex; flex-direction:row; gap:10px;}
.produit_item_titlecat_link:hover:after{display:none !important;}
.produit_item_titlecat_link h2,
.produit_item_titlecat_link h3{margin:0px; font-family:"EuclidCircularA"; font-size:16px !important; line-height:20px !important; letter-spacing:0% !important;}
.produit_item_titlecat_link h2{font-weight:700;}
.produit_item_titlecat_link h3{font-weight:500;}
.tinvwl_add_to_wishlist-text{display:none;}
.produit_item_images_sc{width:100%;}
.produit_item_image_link{display:flex; width:100%; aspect-ratio:36 / 45; background-color:#F5F5F5;}
.produit-image-wrapper{position:relative; display:block; width:100%; overflow:hidden;}
.produit-image-wrapper img{display:block; width:auto; height:auto; max-width:100%; max-height:100%; position:absolute; top:50%; left:50%; transform:translateX(-50%) translateY(-50%); mix-blend-mode:multiply; transition:opacity 0.3s ease;}
.produit_item_image_link .produit-image-hover{opacity:1; width:100%; height:100%; object-fit:cover; object-position:center;}
.produit_item_image_link .produit-image-main{opacity:0;  padding: 20px 0;}
.produit_item_image_link:hover .produit-image-main{opacity:1;}
.produit_item_image_link:hover .produit-image-hover{opacity:0;}
.jet-filters-pagination__link{display:block; aspect-ratio:1 / 1; width:36px; height:36px; text-align:center;}
@media (max-width: 1024px) {
    .produit_item_image_link .produit-image-hover,
    .produit_item_image_link:hover .produit-image-hover{opacity:1;}
    .produit_item_image_link:hover .produit-image-main{display:none;}
}
@media (max-width: 768px) {
    body .jet-smart-filters-radio .jet-filter-label:hover:after,
    body .jet-smart-filters-color-image .jet-filter-label:hover:after,
    body .jet-smart-filters-checkboxes .jet-filter-label:hover:after{display:none;}
    .produit_item_titlecat_link{flex-direction:column; gap:0px;}
}

/* Rugs > Single */
.fs_sticky_btr{position:sticky; top:110px; z-index:9998; mix-blend-mode:difference;}
.fs-produit-galerie-verticale {
    display: flex;
    flex-direction: column;
    gap:10px;
}
.fs-produit-galerie-item:first-of-type{background-color:#F5F5F5;}
.fs-produit-galerie-item img {
    display: block;
    width: 100%;
    height: auto;
}
.fs-produit-galerie-item:first-of-type img{mix-blend-mode:multiply;}
.fs_fhcol{min-height:calc(100vh - 180px);}
.fs_fhcol.elementor-sticky--active{height:calc(100vh - 180px);}
.fs-produit-attributs {
    display: flex;
    flex-direction: column;
    gap:5px;
    font-family: inherit;
}
.fs-produit-attribut-ligne {
    display: grid;
    grid-template-columns: 140px 1fr;
    column-gap: 14px;
    align-items: start;
}
.fs-produit-attribut-label {
    font-weight: 700;
    line-height: 1.1;
}
.fs-produit-attribut-valeur {
    line-height: 1.1; font-weight:500;
}
.link_dts{display:flex; flex-direction:row; gap:7px; align-items:center;}
.link_dts img{display:block; width:15px; height:15px;}
body.single-product .elementor-field-group-productsinq{display:none;}
@media screen and (max-width: 767px) {
    .fs-produit-attribut-ligne {
        grid-template-columns: 120px 1fr;
    }
}

/* Projects */
.fs_sticky_filters{position:sticky; top:85px; z-index:9998; mix-blend-mode:difference;}
.fs_sticky_filters .jet-radio-list .jet-radio-list__item:hover .jet-radio-list__label:after,
body .fs_sticky_filters .jet-radio-list__input:checked ~ .jet-radio-list__button .jet-radio-list__label:after,
body .fs_sticky_filters .jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label:after{background-color:#FFFFFF;}
.fs-project-type{display:inline-block; min-width:175px; font-family:"EuclidCircularA"; font-size:12px; line-height:14px; font-weight:500;}
h2.fs-project-title{display:inline-block; margin:0px; font-family:"EuclidCircularA"; font-size:16px; font-weight:700;}
@media (max-width: 768px) {
    body.page-id-12161 .jet-radio-list-wrapper{overflow-x:scroll;}
    body.page-id-12161 .jet-radio-list-wrapper fieldset{display:flex; flex-direction:row; flex-wrap:nowrap; gap:25px;}
    .fs-project-title-type{padding:0px 8px;}
    .fs-project-type{min-width:100px;}
}

/* Contact */
.elementor-form .elementor-field-textual{margin:0px; padding:5px 0px 0px 0px;}
.elementor-form textarea.elementor-field-textual{padding:0px; min-height:120px;}
.elementor-form .elementor-field-type-html{margin:25px 0px 10px 0px; border-bottom:1px solid #000000;}
.elementor-form .elementor-field-group.elementor-field-type-submit{padding-top:10px;}
.elementor-message:before{margin-top:-5px;}
body.page-id-12165 footer{display:none;}
@media (max-width: 1300px) {
    .abs_bot:has(.logo_bot){padding-bottom:20px;}
}
@media (max-width: 1050px) {
    .abs_bot:has(.logo_bot){padding-bottom:50px;}
}
@media (max-width: 768px) {
    .elementor-widget-form .elementor-field-group textarea{height:80px; min-height:80px;}
}