/* =========================================================================
   WebSteve — socle CSS des contenus convertis depuis Creative Elements
   (sous-ensemble minimal de frontend.css : grille sections / colonnes / widgets)
   ========================================================================= */
.elementor{--ce-widgets-space:20px}
.elementor *,.elementor :after,.elementor :before{box-sizing:border-box}
.elementor img{height:auto;max-width:100%;border:none;border-radius:0;box-shadow:none}
.elementor a{text-decoration:none}
.elementor .elementor-background-overlay{height:100%;width:100%;top:0;left:0;position:absolute;pointer-events:none}
.elementor-section{position:relative}
.elementor-section .elementor-container{display:flex;margin-right:auto;margin-left:auto;position:relative}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--wsjm-w,1500px)}
.elementor-section.elementor-section-stretched{position:relative;width:100%}
.elementor-section.elementor-section-items-top>.elementor-container{align-items:flex-start}
.elementor-section.elementor-section-items-middle>.elementor-container{align-items:center}
.elementor-section.elementor-section-items-bottom>.elementor-container{align-items:flex-end}
@media (min-width:768px){
  .elementor-section.elementor-section-height-full{height:100vh}
  .elementor-section.elementor-section-height-full>.elementor-container{height:100%}
}
.elementor-row{width:100%;display:flex}
.elementor-column-wrap{width:100%;position:relative;display:flex}
.elementor-widget-wrap{position:relative;width:100%;flex-wrap:wrap;align-content:flex-start;display:flex}
.elementor-widget-wrap>.elementor-element{width:100%}
.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}
.elementor-widget{position:relative}
.elementor-widget:not(:last-child){margin-bottom:var(--ce-widgets-space,20px)}
.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}
.elementor-element .elementor-widget-container:empty{display:none}
.elementor-column{position:relative;min-height:1px;display:flex}
.elementor-column-gap-narrow>.elementor-row>.elementor-column>.elementor-element-populated{padding:5px}
.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated{padding:10px}
.elementor-column-gap-extended>.elementor-row>.elementor-column>.elementor-element-populated{padding:15px}
.elementor-column-gap-wide>.elementor-row>.elementor-column>.elementor-element-populated{padding:20px}
.elementor-column-gap-wider>.elementor-row>.elementor-column>.elementor-element-populated{padding:30px}
.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}
@media (min-width:768px){
  .elementor-column.elementor-col-10{width:10%}.elementor-column.elementor-col-11{width:11.111%}.elementor-column.elementor-col-12{width:12.5%}
  .elementor-column.elementor-col-14{width:14.285%}.elementor-column.elementor-col-16{width:16.666%}.elementor-column.elementor-col-20{width:20%}
  .elementor-column.elementor-col-25{width:25%}.elementor-column.elementor-col-30{width:30%}.elementor-column.elementor-col-33{width:33.333%}
  .elementor-column.elementor-col-40{width:40%}.elementor-column.elementor-col-50{width:50%}.elementor-column.elementor-col-60{width:60%}
  .elementor-column.elementor-col-66{width:66.666%}.elementor-column.elementor-col-70{width:70%}.elementor-column.elementor-col-75{width:75%}
  .elementor-column.elementor-col-80{width:80%}.elementor-column.elementor-col-83{width:83.333%}.elementor-column.elementor-col-90{width:90%}
  .elementor-column.elementor-col-100{width:100%}
}
@media (max-width:1024px){.elementor-row{flex-wrap:wrap}}
@media (max-width:767px){
  .elementor-column{width:100%}
  .elementor-reverse-mobile>.elementor-container>.elementor-row>:first-child{order:10}
  .elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(2){order:9}
  .elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(3){order:8}
}
@media (min-width:1025px){.elementor .elementor-hidden-desktop{display:none}}
@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}
@media (max-width:767px){.elementor .elementor-hidden-phone{display:none}}

/* Titres */
.elementor .elementor-heading-title{padding:0;margin:0;line-height:1}
.elementor-heading-title>a{color:inherit;font:inherit;line-height:inherit}
.elementor-heading-title.elementor-size-small{font-size:15px}
.elementor-heading-title.elementor-size-medium{font-size:19px}
.elementor-heading-title.elementor-size-large{font-size:29px}
.elementor-heading-title.elementor-size-xl{font-size:39px}
.elementor-heading-title.elementor-size-xxl{font-size:59px}

/* Texte */
.elementor-widget-text-editor p:not([class]){color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor ol,.elementor-widget-text-editor ul{list-style:revert;padding:revert}
.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}

/* Images */
.elementor .elementor-widget:not(.elementor-widget-image-box) figure{margin:0}
.elementor-widget-image{text-align:center}
.elementor-widget-image a{display:inline-block}
.elementor-widget-image img{vertical-align:middle;display:inline-block}
.elementor-widget-image .widget-image-caption{margin-top:8px;font-size:14px;color:#666}

/* Boutons */
.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border:0 solid;border-radius:3px;color:#fff;fill:currentColor;text-align:center;transition:all .3s}
a.elementor-button,a.elementor-button:focus,a.elementor-button:hover{color:#fff}
.elementor-button-content-wrapper{display:flex;gap:5px;justify-content:center;align-items:baseline}
.elementor-button-text{flex-grow:1;display:inline-block}
.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}
.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}
.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}
.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}
.elementor-align-center{text-align:center}.elementor-align-right{text-align:right}.elementor-align-left{text-align:left}
.elementor-align-justify .elementor-button{width:100%}
@media (max-width:1024px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-right{text-align:right}}
@media (max-width:767px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-justify .elementor-button{width:100%}}

/* Séparateur */
.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#0c0d0e}
.elementor-widget-divider .elementor-divider{display:flex;padding:15px 0}
.elementor-widget-divider .elementor-divider-separator{direction:ltr;display:inline-block;margin:0;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color);width:100%}

/* Listes d'icônes */
.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}
.elementor-widget .elementor-icon-list-items.elementor-inline-items{display:flex;flex-wrap:wrap;margin-right:-8px;margin-left:-8px}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}
.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}
.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:flex;align-items:var(--icon-vertical-align,center);font-size:inherit}
.elementor-widget .elementor-icon-list-icon{display:inline-flex;margin-top:var(--icon-vertical-offset,0);padding-inline-end:5px}
.elementor-widget .elementor-icon-list-icon svg{width:1em;height:1em;fill:currentColor}
.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a,.elementor-widget.elementor-align-center .elementor-inline-items{justify-content:center}
.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{justify-content:right;text-align:right}
.wsjm-ce-ico{width:1em;height:1em;display:inline-block}

/* Vidéo & carte */
.wsjm-ce-video{position:relative;aspect-ratio:16/9}
.wsjm-ce-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wsjm-ce-map iframe{display:block;width:100%;height:300px;border:0}

/* Onglets & accordéons */
.wsjm-ce-tabs .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #d4d4d4}
.wsjm-ce-tabs .elementor-tab-title{padding:16px 22px;font-weight:700;cursor:pointer;background:none;border:1px solid transparent;border-bottom:0;color:inherit;font-size:inherit;line-height:1.3}
.wsjm-ce-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4;background:#fff;margin-bottom:-1px;color:#960E0F}
.wsjm-ce-tabs .elementor-tab-content{display:none;padding:20px;border:1px solid #d4d4d4;border-top:0}
.wsjm-ce-tabs .elementor-tab-content.elementor-active{display:block}
.wsjm-ce-tabs .elementor-tab-mobile-title{display:none}
@media (max-width:767px){
  .wsjm-ce-tabs .elementor-tabs-wrapper{display:none}
  .wsjm-ce-tabs .elementor-tab-mobile-title{display:block;border:1px solid #d4d4d4;border-top:0}
  .wsjm-ce-tabs .elementor-tab-mobile-title:first-child{border-top:1px solid #d4d4d4}
  .wsjm-ce-tabs .elementor-tab-mobile-title.elementor-active{color:#960E0F}
}
.wsjm-ce-toggle{border:1px solid #d4d4d4;margin-bottom:-1px}
.wsjm-ce-toggle summary{padding:15px 20px;font-weight:700;cursor:pointer}
.wsjm-ce-toggle .elementor-tab-content{padding:0 20px 15px}
/* Carrousel d'images converti */
.wsjm-ce-carousel .wsjm-carousel__track{grid-auto-columns:calc((100% - (var(--wsjm-slides,1) - 1) * 18px) / var(--wsjm-slides,1))}
.wsjm-ce-carousel .wsjm-carousel__item img{display:block;width:100%;height:auto}
.wsjm-ce-carousel .wsjm-carousel__arrow{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
@media (max-width:767px){.wsjm-ce-carousel .wsjm-carousel__track{grid-auto-columns:100%}}
