.elementor-401 .elementor-element.elementor-element-45cb734{--display:flex;--min-height:500px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:48px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;}.elementor-401 .elementor-element.elementor-element-45cb734:not(.elementor-motion-effects-element-type-background), .elementor-401 .elementor-element.elementor-element-45cb734 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.m2sb-tp.fr/wp-content/uploads/2026/06/7df7024b-f8cf-48b3-bf5a-f2ab05556b96.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-401 .elementor-element.elementor-element-9ab876e{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-401 .elementor-element.elementor-element-829d114{color:#FFFFFF;}.elementor-401 .elementor-element.elementor-element-829d114 a{color:var( --e-global-color-primary );}.elementor-401 .elementor-element.elementor-element-b8c1a17 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:40px;font-weight:600;line-height:40px;color:#FFFFFF;}.elementor-401 .elementor-element.elementor-element-f43e6c5{width:var( --container-widget-width, 40% );max-width:40%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:40%;--container-widget-flex-grow:0;color:#FFFFFF;}.elementor-401 .elementor-element.elementor-element-f43e6c5 a{color:#FFFFFF;}.elementor-401 .elementor-element.elementor-element-ad66b21{--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;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:48px;--padding-bottom:96px;--padding-left:48px;--padding-right:48px;}.elementor-401 .elementor-element.elementor-element-ad66b21:not(.elementor-motion-effects-element-type-background), .elementor-401 .elementor-element.elementor-element-ad66b21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCFCFC;}.elementor-401 .elementor-element.elementor-element-83b52d6{text-align:center;}.elementor-401 .elementor-element.elementor-element-83b52d6 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;color:#EC7603;}.elementor-401 .elementor-element.elementor-element-c7acac5 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:32px;font-weight:700;text-transform:uppercase;line-height:40px;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-02c3f8f{font-family:"Open Sans", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-8ccca1b .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-401 .elementor-element.elementor-element-8ccca1b .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-401 .elementor-element.elementor-element-8ccca1b{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;--galleries-title-color-normal:var( --e-global-color-secondary );--galleries-title-color-hover:var( --e-global-color-primary );--gallery-title-color-active:var( --e-global-color-primary );}.elementor-401 .elementor-element.elementor-element-8ccca1b .elementor-gallery-title{font-family:"Open Sans", Sans-serif;font-weight:400;text-transform:uppercase;}.elementor-401 .elementor-element.elementor-element-8ccca1b .elementor-gallery__titles-container{margin-bottom:8px;}.elementor-401 .elementor-element.elementor-element-69284a0 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:32px;font-weight:700;text-transform:uppercase;line-height:40px;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-7b15496{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:wrap;}.elementor-401 .elementor-element.elementor-element-8c7da85{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-651d09c .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-1a41980{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-174ee09 .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-174ee09.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-174ee09 .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-849cb73{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-efcd746 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-e27609c{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-3a89b66 .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-3a89b66.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-3a89b66 .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-2bff123{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-a9e457d .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-827cd0b{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-c30212b .elementor-button{background-color:#02010100;font-weight:700;fill:#EC7603;color:#EC7603;padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-c30212b.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-c30212b .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-c568f7c{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-731c3b7 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-33265a8{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-67fc303 .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-67fc303.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-67fc303 .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-7ccfc42{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-3b5c709 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-ae60c7c{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-c3f64bc .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-c3f64bc.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-c3f64bc .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-9096216{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-ab68a9a .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-d0c2e28{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-7bdefa1 .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-7bdefa1.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-7bdefa1 .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-5321bc1{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-a320b11 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-a4d94c3{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-b82cb14 .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-b82cb14.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-b82cb14 .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-09c1e5e{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-2d0a593 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-ec3b4c3{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-1a1c9dc .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-1a1c9dc.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-1a1c9dc .elementor-button-content-wrapper{flex-direction:row;}.elementor-401 .elementor-element.elementor-element-83e4326{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--border-radius:8px 8px 8px 8px;box-shadow:0px 0px 6px 0px rgba(178.5, 178.5, 178.5, 0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-b085f7a .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-401 .elementor-element.elementor-element-608ac8a{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-401 .elementor-element.elementor-element-9989865 .elementor-button{background-color:#02010100;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-401 .elementor-element.elementor-element-9989865.elementor-element{--align-self:flex-start;}.elementor-401 .elementor-element.elementor-element-9989865 .elementor-button-content-wrapper{flex-direction:row;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-401 .elementor-element.elementor-element-45cb734{--min-height:400px;}.elementor-401 .elementor-element.elementor-element-9ab876e{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-401 .elementor-element.elementor-element-f43e6c5{margin:8px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:75%;--container-widget-flex-grow:0;width:var( --container-widget-width, 75% );max-width:75%;}.elementor-401 .elementor-element.elementor-element-ad66b21{--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}}@media(max-width:767px){.elementor-401 .elementor-element.elementor-element-45cb734{--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-401 .elementor-element.elementor-element-9ab876e{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-401 .elementor-element.elementor-element-829d114{font-size:12px;}.elementor-401 .elementor-element.elementor-element-b8c1a17 .elementor-heading-title{font-size:20px;}.elementor-401 .elementor-element.elementor-element-f43e6c5{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;font-size:12px;}.elementor-401 .elementor-element.elementor-element-ad66b21{--padding-top:16px;--padding-bottom:32px;--padding-left:16px;--padding-right:16px;}.elementor-401 .elementor-element.elementor-element-83b52d6 .elementor-heading-title{font-size:12px;}.elementor-401 .elementor-element.elementor-element-c7acac5 .elementor-heading-title{font-size:24px;line-height:1.2em;}.elementor-401 .elementor-element.elementor-element-02c3f8f{font-size:14px;}.elementor-401 .elementor-element.elementor-element-8ccca1b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-401 .elementor-element.elementor-element-8ccca1b .elementor-gallery-title{font-size:14px;}.elementor-401 .elementor-element.elementor-element-69284a0 .elementor-heading-title{font-size:24px;line-height:1.2em;}.elementor-401 .elementor-element.elementor-element-1a41980{font-size:14px;}.elementor-401 .elementor-element.elementor-element-e27609c{font-size:14px;}.elementor-401 .elementor-element.elementor-element-827cd0b{font-size:14px;}.elementor-401 .elementor-element.elementor-element-33265a8{font-size:14px;}.elementor-401 .elementor-element.elementor-element-ae60c7c{font-size:14px;}.elementor-401 .elementor-element.elementor-element-d0c2e28{font-size:14px;}.elementor-401 .elementor-element.elementor-element-a4d94c3{font-size:14px;}.elementor-401 .elementor-element.elementor-element-ec3b4c3{font-size:14px;}.elementor-401 .elementor-element.elementor-element-608ac8a{font-size:14px;}}@media(min-width:768px){.elementor-401 .elementor-element.elementor-element-45cb734{--content-width:1350px;}.elementor-401 .elementor-element.elementor-element-8c7da85{--width:49%;}.elementor-401 .elementor-element.elementor-element-849cb73{--width:49%;}.elementor-401 .elementor-element.elementor-element-2bff123{--width:49%;}.elementor-401 .elementor-element.elementor-element-c568f7c{--width:49%;}.elementor-401 .elementor-element.elementor-element-7ccfc42{--width:49%;}.elementor-401 .elementor-element.elementor-element-9096216{--width:49%;}.elementor-401 .elementor-element.elementor-element-5321bc1{--width:49%;}.elementor-401 .elementor-element.elementor-element-09c1e5e{--width:49%;}.elementor-401 .elementor-element.elementor-element-83e4326{--width:49%;}}@media(max-width:1024px) and (min-width:768px){.elementor-401 .elementor-element.elementor-element-8c7da85{--width:48%;}.elementor-401 .elementor-element.elementor-element-849cb73{--width:48%;}.elementor-401 .elementor-element.elementor-element-2bff123{--width:48%;}.elementor-401 .elementor-element.elementor-element-c568f7c{--width:48%;}.elementor-401 .elementor-element.elementor-element-7ccfc42{--width:48%;}.elementor-401 .elementor-element.elementor-element-9096216{--width:48%;}.elementor-401 .elementor-element.elementor-element-5321bc1{--width:48%;}.elementor-401 .elementor-element.elementor-element-09c1e5e{--width:48%;}.elementor-401 .elementor-element.elementor-element-83e4326{--width:48%;}}/* Start custom CSS for gallery, class: .elementor-element-8ccca1b *//* =========================================================
   M2SB TP - Galerie réalisations
   Filtres Elementor Gallery - Desktop + Mobile
   ========================================================= */


/* ---------- Style général des filtres ---------- */

.elementor-gallery__titles-container {
  margin-bottom: 28px !important;
}

.elementor-gallery__titles-container .elementor-gallery-title {
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}


/* ---------- Desktop / tablette large ---------- */

@media (min-width: 768px) {

  .elementor-gallery__titles-container {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px 26px !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    text-transform: uppercase !important;
    color: #343946 !important;
    padding: 4px 0 !important;
    position: relative !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title:hover,
  .elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active {
    color: #ef7500 !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -4px !important;
    width: 0 !important;
    height: 2px !important;
    background: #ef7500 !important;
    transition: width 0.25s ease !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title:hover::after,
  .elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active::after {
    width: 100% !important;
  }
}


/* ---------- Mobile ---------- */

@media (max-width: 767px) {

  .elementor-gallery__titles-container {
    position: relative !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    padding: 4px 18px 20px 18px !important;
    margin: 0 0 22px 0 !important;

    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  .elementor-gallery__titles-container::-webkit-scrollbar {
    display: none !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;

    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.1px !important;
    text-transform: none !important;

    padding: 10px 15px !important;
    margin: 0 !important;

    border: 1px solid rgba(239, 117, 0, 0.35) !important;
    border-radius: 999px !important;

    color: #343946 !important;
    background: #ffffff !important;

    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(0) !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title:hover {
    color: #ef7500 !important;
    border-color: #ef7500 !important;
    box-shadow: 0 6px 18px rgba(239, 117, 0, 0.16) !important;
    transform: translateY(-1px) !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title:active {
    transform: scale(0.97) !important;
  }

  .elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active {
    color: #ffffff !important;
    background: #ef7500 !important;
    border-color: #ef7500 !important;
    box-shadow: 0 7px 20px rgba(239, 117, 0, 0.28) !important;
  }


  /* Galerie : meilleur espacement mobile */
  .elementor-gallery__container {
    gap: 14px !important;
  }

  .elementor-gallery-item {
    border-radius: 2px !important;
    overflow: hidden !important;
  }


  /* Petit texte optionnel si tu ajoutes un widget HTML avant la galerie */
  .realisation-filter-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #343946 !important;
    margin: 0 18px 10px 18px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7b15496 */div.twentytwenty-handle {
    background-color: #EC7603;
}/* End custom CSS */