.elementor-293 .elementor-element.elementor-element-3297e64c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-42809379{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-293 .elementor-element.elementor-element-40a57d55{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-293 .elementor-element.elementor-element-268ffb72{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-180191f9{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-5878da00{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(12px/2);}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(12px/2);}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(12px/2);}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-12px/2);}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-12px/2);}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-icon i{color:#F3C42E;transition:color 0.3s;}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-icon svg{fill:#F3C42E;transition:fill 0.3s;}.elementor-293 .elementor-element.elementor-element-4db70096{--e-icon-list-icon-size:16px;--icon-vertical-align:flex-start;--icon-vertical-offset:6px;}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-icon{padding-inline-end:3px;}.elementor-293 .elementor-element.elementor-element-4db70096 .elementor-icon-list-text{color:#707287;transition:color 0.3s;}.elementor-293 .elementor-element.elementor-element-1f147a8{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(12px/2);}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(12px/2);}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(12px/2);}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-12px/2);}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-12px/2);}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-icon i{color:#F3C42E;transition:color 0.3s;}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-icon svg{fill:#F3C42E;transition:fill 0.3s;}.elementor-293 .elementor-element.elementor-element-3962601d{--e-icon-list-icon-size:16px;--icon-vertical-align:flex-start;--icon-vertical-offset:6px;}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-icon{padding-inline-end:3px;}.elementor-293 .elementor-element.elementor-element-3962601d .elementor-icon-list-text{color:#707287;transition:color 0.3s;}.elementor-293 .elementor-element.elementor-element-25aeab00{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-4c32485c{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-3d19c762{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-4b5b98b1{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for text-editor, class: .elementor-element-45a051de *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-45a051de .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2a497016 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-2a497016 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c0f1011 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-c0f1011 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6de1603c *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-6de1603c .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-542b762 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-542b762 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-543cfc92 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-543cfc92 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-69f2c780 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-69f2c780 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-469cc6a2 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-469cc6a2 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4dfb127a *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-4dfb127a .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-68343788 *//* ---------------------------------------------------------------------
   Fiches en cartes. Chaque cellule devient une carte autonome : filet
   sarcelle en tete, titre souligne de jaune, visuel, texte. Le tableau ne
   sert que de mise en page — on le sort du modele tableau des la premiere
   ligne, ce qui evite aussi le `width: auto !important` impose aux
   tableaux sous 900px. La grille se reorganise seule : 4 colonnes, 3, 2, 1.

   Les paragraphes sont des <div class="mairie-p"> et non des <p> :
   l editeur retire les <p>, et WordPress ne les reconstruit PAS dans ce
   widget — le texte se retrouvait colle en un seul bloc.
   --------------------------------------------------------------------- */
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-p { margin: 0 0 16px; }

.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches,
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches tbody { display: block; width: 100%; }
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    /* `stretch` : toutes les cartes d une rangee ont la meme hauteur. */
    align-items: stretch;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches td {
    display: flex; flex-direction: column;
    width: auto; padding: 24px 22px 22px; border: none;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches td:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 28, 67, .16);
}
/* Titre de carte : un mince trait jaune le souligne. */
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches h3 {
    margin: 0 0 16px; padding-bottom: 10px;
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 19px; line-height: 1.3; color: #151c43;
    border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches .mairie-p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches .mairie-p:last-child { margin-bottom: 0; }
/* Zone visuelle de hauteur constante : les visuels ont des formats tres
   differents (160x170 a 600x338). Ils sont CONTENUS, jamais rognes ni
   agrandis, et toutes les cartes s alignent malgre tout. */
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches a {
    display: flex; align-items: center; justify-content: center;
    height: 180px; margin: 0 0 18px; padding: 10px;
    background: #f6f7fb; border-radius: 10px;
    overflow: hidden; box-sizing: border-box;
    transition: background-color .25s ease;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches a + a { margin-top: -6px; }
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches img {
    display: block; width: auto; height: auto;
    max-width: 100%; max-height: 160px; border-radius: 6px;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches a:hover,
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches a:focus-visible { background: #eef0f7; }
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }

/* Cartes sans texte (les deux visuels des depots sauvages) : le visuel
   occupe toute la carte. Largeur plafonnee a 320px pour qu aucune des
   deux photos ne soit agrandie. */
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--visuels tr {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--visuels td { padding: 0; border-top: none; overflow: hidden; }
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--visuels a {
    height: auto; margin: 0; padding: 0; background: none; border-radius: 12px;
}
.elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--visuels img { max-height: none; width: 100%; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches td,
    .elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-68343788 .mairie-tableau--fiches td:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3297e64c *//* =====================================================================
   Vie associative — cartes.
   Chaque association vit dans sa carte : filet sarcelle en tete, titre
   souligne de jaune, logo a droite, texte au flux. Les galeries
   s ouvrent en visionneuse, les listes de bureau passent en colonnes.
   ===================================================================== */
/* --- Titres de section --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-section { margin: 34px 0 4px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-section:first-child { margin-top: 0; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-section .elementor-heading-title {
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 26px; font-weight: 700; color: #151c43; line-height: 1.3;
    padding-left: 14px; border-left: 5px solid #25819f;
}
/* --- Cartes --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte {
    display: block;
    background: #fff;
    border-top: 4px solid #25819f;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(21, 28, 67, .09);
    padding: 26px 26px 24px;
    margin: 22px 0 0;
    transition: box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte:hover { box-shadow: 0 8px 26px rgba(21, 28, 67, .14); }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte::after { content: ""; display: block; clear: both; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .elementor-widget-heading { margin-bottom: 16px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .elementor-heading-title {
    font-family: 'helvetica', Arial, sans-serif;
    font-size: 21px; font-weight: 700; color: #151c43; line-height: 1.3;
    padding-bottom: 10px; border-bottom: 2px solid #f3c42e;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte p { margin: 0 0 12px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte ul { margin: 0 0 14px; padding-left: 22px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte li { margin: 0 0 6px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte a { color: #177a99; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte a:hover { text-decoration: underline; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte a:focus-visible { outline: 3px solid #177a99; outline-offset: 2px; }
/* --- Logos et photos : a droite, le texte s enroule --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-logo,
.elementor-293 .elementor-element.elementor-element-3297e64c .va-photo {
    float: right; max-width: 180px; height: auto;
    margin: 0 0 14px 22px; border-radius: 8px;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-photo { max-width: 280px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-logo--large { max-width: 300px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-logo--lien { float: right; margin: 0 0 14px 22px; display: block; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-logo--lien img { display: block; max-width: 180px; height: auto; border-radius: 8px; }
/* --- Figure avec credit --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-figure {
    float: right; max-width: 320px; margin: 0 0 14px 22px;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-figure img { display: block; width: 100%; height: auto; border-radius: 8px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-figure figcaption { font-size: 12px; color: #5a5e75; margin-top: 4px; text-align: right; }
/* --- Galeries : vignettes cliquables, en visionneuse --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie {
    clear: both;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px; margin: 4px 0 16px;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie--une { grid-template-columns: minmax(150px, 320px); }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie a {
    display: block; overflow: hidden;
    background: #f6f7fb; border-radius: 10px;
    box-shadow: 0 2px 10px rgba(21, 28, 67, .10);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie a:hover,
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie a:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(21, 28, 67, .18);
}
/* --- Listes en colonnes (bureaux, conseils) --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-colonnes {
    clear: both;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 8px 26px; margin: 4px 0 12px;
}
/* --- Pictos en ligne --- */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-picto {
    width: 20px; height: 20px; vertical-align: middle;
    display: inline-block; margin-right: 4px; border-radius: 0;
}
/* --- Telephone --- */
@media (max-width: 680px) {
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-logo, .elementor-293 .elementor-element.elementor-element-3297e64c .va-photo, .elementor-293 .elementor-element.elementor-element-3297e64c .va-figure, .elementor-293 .elementor-element.elementor-element-3297e64c .va-logo--lien {
        float: none; margin: 0 auto 16px;
    }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-figure figcaption { text-align: center; }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-logo--lien img { margin: 0 auto; }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-carte { padding: 20px 16px 18px; }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-section .elementor-heading-title { font-size: 22px; }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .elementor-heading-title { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-carte, .elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie a { transition: none; }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie a:hover { transform: none; }
}

/* =====================================================================
   Refonte du 19/08/2026 : le contenu passe en widgets natifs Elementor
   (images cliquables en medium_large, listes d icones pour les
   coordonnees, titres separes). Le CSS d origine est conserve tel quel,
   ces regles ne font que l etendre aux nouveaux widgets.
   ===================================================================== */
/* 3e niveau : les sous-titres h4 des cartes */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte h4.elementor-heading-title {
    font-size: 17px; font-weight: 700;
    padding-bottom: 0; border-bottom: 0; margin: 6px 0 8px;
}
/* les listes d icones ne prennent pas le retrait des listes a puces */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .elementor-icon-list-items { padding-left: 0; margin: 0 0 14px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .elementor-icon-list-item { margin: 0; }
/* galeries : meme rendu qu avant, en widgets Image */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie-rangee { clear: both; margin: 4px 0 16px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie-rangee .elementor-widget-image img {
    width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover;
    border-radius: 10px; box-shadow: 0 2px 10px rgba(21, 28, 67, .10);
    transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie-rangee a:hover img,
.elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie-rangee a:focus-visible img {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(21, 28, 67, .18);
}
/* les boutons gardent les couleurs de charte : la regle de lien sarcelle
   des cartes ne doit pas les repeindre */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte a.elementor-button { color: #151C43; text-decoration: none; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte a.elementor-button:hover,
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte a.elementor-button:focus { color: #D90D14; text-decoration: none; }
/* logos et photos : arrondis et credit photo comme avant */
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .elementor-widget-image img { border-radius: 8px; }
.elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .widget-image-caption {
    font-size: 12px; color: #5a5e75; margin-top: 4px; text-align: right;
}
@media (max-width: 680px) {
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-carte .widget-image-caption { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie-rangee .elementor-widget-image img { transition: none; }
    .elementor-293 .elementor-element.elementor-element-3297e64c .va-galerie-rangee a:hover img { transform: none; }
}/* End custom CSS */