/**
Theme Name: Simtech
Author: DigiXP
Author URI: https://www.digixp.fr/
Description: Thème spécifique SIMTECH basé sur Astra Pro
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: simtech
Template: astra
*/

/* general */
@media (min-width: 1200px) {
	.site .container, .blog-default.position-fullwidth.single-post .post img:not(.swiper-image) {max-width: 1800px;}
	#colophon .container {max-width: 1800px;}
}
@media (min-width: 992px) {
	h2, .h2-style {font-size: 30px !important;}
}
html, body {max-width: 100%; overflow-x: hidden;}
body {margin-top: 0 !important;}
#primary {margin-top: 0 !important; padding: 0 1em;}
.ast-left-sidebar:not(blog) div#primary {padding: 0 !important; width: 100%; background: #fff; margin-right: 1em;}
.ast-left-sidebar.blog div#primary {padding: 0 !important; width: 100%; margin-right: 1em; background: #ededed;}
.ast-left-sidebar div#secondary {padding-left: 1em; width: 20vw; margin: 0 !important;}
#secondary h2 {font-size: 1.2em !important; color: #222;}
#secondary a {color: #999;}
#secondary li:hover, #secondary li:hover a {color: #29a780;}
p {margin: 0 0 15px;}
ol, ul {margin: 0 0 1.5em 2em; padding-left: 0; list-style: square;}
.text-center {text-align:center;}
.pull-left {float:left}
.pull-right {float:right}
.pull-none {float:none}
.marg-10-v {margin: 10px 0}
.site {hyphens: none;}
.img-thumbnail {padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; display: inline-block; max-width: 100%; height: auto;}
.en{background:rgba(0,0,0,0) url(./assets/flags/en_off.jpg) no-repeat scroll 0 0}
.fr{background:rgba(0,0,0,0) url(./assets/flags/fr_off.jpg) no-repeat scroll 0 0}
.es{background:rgba(0,0,0,0) url(./assets/flags/es_off.jpg) no-repeat scroll 0 0}
.en.active,.en:hover{background:rgba(0,0,0,0) url(./assets/flags/en_on.jpg) no-repeat scroll 0 0}
.fr.active,.fr:hover{background:rgba(0,0,0,0) url(./assets/flags/fr_on.jpg) no-repeat scroll 0 0}
.es.active,.es:hover{background:rgba(0,0,0,0) url(./assets/flags/es_on.jpg) no-repeat scroll 0 0}
.justify {text-align: justify;}
.search.search-results #primary, .woocommerce-js.yith-request-a-quote-page #primary {padding: 2em !important;}
.search.search-results #primary .ast-archive-description {padding: 0 !important; border: none;}
.search.search-results #primary .ast-breadcrumbs-wrapper {display: none;}
.search.search-results #primary .ast-post-format- {border: 1px solid #999999 !important; padding-bottom: 0;}

/* header */
.site-primary-header-wrap .ast-builder-grid-row.ast-builder-grid-row-has-sides.ast-builder-grid-row-no-center {padding: 0 1em;}
.header-list-phone {margin: 0 !important;}
.wp-block-uagb-icon-list-child.header-list-phone .uagb-icon-list__label {color: #fff !important;}
.header-list-phone .uagb-icon-list__label a:hover {color: var(--ast-global-color-0) !important;}
#flags {display:inline-block;}
#flags a{display:inline-block;height:16px;overflow:hidden;text-indent:5000px;width:30px}
.mobile-panel .site-header-cart {display: none;}
.social-list {display: flex;align-items: center;justify-content: flex-end;gap: 20px;margin-top: 4px;}
.social-list ul {display: flex; gap: 10px;}
.social-list ul i {font-size: 1.3rem;color: #fff;}
.social-list ul i:hover {color: #29a780;}
header span.ast-icon.icon-search.icon-search {display: flex;}
header .ast-icon.icon-search svg {margin: 0;}
.main-header-bar.ast-header-breadcrumb {display: flex; margin: 0 auto; max-width: 1838px !important; padding: 0 20px;}
.main-header-bar.ast-header-breadcrumb .ast-container {margin: 0; padding: 0.5em 1em 2em;}

/* footer */
.site-footer .ast-builder-footer-grid-columns {margin: 0 auto; max-width: 1838px !important; padding: 0 20px;}
.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {grid-template-columns: auto 1fr;}
.site-footer-above-section-1, .site-footer-primary-section-1 {padding-left: 1em;}
.site-footer-above-section-3, .site-footer-primary-section-2 {padding-right: 1em;}
ul#astra-footer-menu {gap: 15px; justify-content: flex-end;}
.footer-h5 h5 {border-bottom: 1px solid #4e4e4e; padding-bottom: 5px;}
.footer-social-icons {display: flex; gap: 20px;}
.footer-social-icons a {padding: 8px 11.5px; border: 1px solid #414141;}
.footer-social-icons a:hover {border: 1px solid #fff; background: #29a780;}
.footer-social-icons a:hover i {color: #fff;}

/* Menu */
.ast-mm-widget-item .menu>li.main-cat-menu>a {font-size: 1em;text-transform: uppercase !important;color: var(--ast-global-color-2) !important;padding-bottom: 0.5em !important;}
.ast-mm-widget-item .menu-link {padding: 4px 0 8px 0 !important;width: auto;line-height: 1.3em !important;font-size: .8rem;font-weight: 500;letter-spacing: 1px;text-transform: capitalize !important;}
.flexcell {margin-top: 2em;}
.ast-header-break-point .main-navigation ul.sub-menu {padding: 0 25px;}
@media (max-width: 454px) {
	.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {grid-template-columns: auto;}
	.site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {padding: 0;}
	ul#astra-footer-menu {justify-content: center;}
}

/* accueil */
.home #main {background:#ededed;}
.home h2 {text-align: center; color: #ffffff; background:#29a780; font-size:2rem; position:relative;}
.home h2:after {content: " "; position: absolute; right: 50%; bottom: -15px; border-top: 15px solid #29a780; border-right: 15px solid transparent; border-left: 15px solid transparent; border-bottom: none;}

/* page */
.no-pad {padding:0;}
.boxed {background: #ffffff; padding: 24px 30px 30px;}
.boxed-map {background: #ffffff; padding: 24px 30px 15px;}
.boxed h2 {font-size: 1.4em; color: #29a780; border-bottom: dotted 1px #999;}
.bloc-pres:after {content: ""; margin: 0 auto; display: block; width: 37px; height: 4px; background: #29a780;}
.bloc-pres .linearicon {color: #29a780; font-size: 3.75rem; display: block; text-align: center;}

/* archive produit */
.woocommerce.ast-separate-container .ast-woocommerce-container {padding: 2em;background: #fff;}

.ast-woo-sidebar-widget {background: #fff;padding:0 !important;}
.ast-woo-sidebar-widget .widget-title {margin-bottom:0 !important;padding: 15px 30px;border-bottom: 1px solid #e8e8e8;font-style: normal;font-weight: 500 !important;font-size: 18px;line-height: 1.66;font-family: 'Hind Siliguri', sans-serif;letter-spacing: 0em;text-align: inherit;color: #222;}
.ast-woo-sidebar-widget ul li{margin-bottom:0 !important;}
.ast-woo-sidebar-widget ul li:hover{background:#222;}
.ast-woo-sidebar-widget ul li a{margin-top: 0;display: block;padding: 14px 15px 16px 30px;border-bottom: solid 1px #dedede;}
.ast-woo-sidebar-widget ul li a:hover{color:#ffffff !important;}
h2.woocommerce-loop-product__title {font-size: 1.4em !important; color: #222}
.products li {padding-bottom: 0 !important; border: 1px solid #999999 !important;}
h1.woocommerce-products-header__title.page-title {font-size: 2em; color: #222; font-weight: 600;}

/* blog */
body:not(.position-fullwidth).single-post .site-content .post .entry-content img {margin: 1em 0;}
.ast-post-format- {background: #fff !important;}
.ast-post-format- h2 {font-size: 1.4em !important;}
p.ast-blog-single-element.ast-read-more-container.read-more {text-align: right;}
.single-post article {padding: 0 !important;}
.single-post article .ast-post-format- {padding: 24px 30px 30px;}
.single-post .post-navigation {padding: 0 30px 30px !important;}
.single-post .ast-post-nav {display: none !important;}
.single-post .nav-links .nav-previous, .single-post .nav-links .nav-next {display: flex; align-items: center; gap: 20px;}
.single-post .nav-links .nav-next {justify-content: end;}
.single-post .nav-links p {color: #29a780; font-size: 1.1em; line-height: 1.3 !important; margin: 0 !important; white-space: normal !important;}
.single-post .nav-links .nav-previous::before {content:"\f104";font-family:"Font Awesome 7 Free";display:inline-block;font-weight:600;color:#29a780;font-size: 2em;}
.single-post .nav-links .nav-next::after {content:"\f105";font-family:"Font Awesome 7 Free";display:inline-block;font-weight:600;color:#29a780;font-size: 2em;}
.single-post .nav-links .nav-previous::after {display: none;}

/* GAMMES & MARQUES */
.logo-marque-gamme {margin-bottom: 20px;}

/* SINGLE PRODUCT */
.cat-tags {margin-bottom: 20px; display: flex; gap: 30px;}
.product-type-simple {display:flex;background: #fff;}
.woocommerce-js div.product div.images {margin-bottom: 0;padding-bottom: 0 !important;}
@media (min-width: 922px) {
	.woocommerce #content .ast-woocommerce-container div.product div.summary, .woocommerce .ast-woocommerce-container div.product div.summary, .woocommerce-page #content .ast-woocommerce-container div.product div.summary, .woocommerce-page .ast-woocommerce-container div.product div.summary {width: 50%;}
}
@media (min-width: 922px) {
	.woocommerce #content .ast-woocommerce-container div.product div.summary, .woocommerce .ast-woocommerce-container div.product div.summary, .woocommerce-page #content .ast-woocommerce-container div.product div.summary, .woocommerce-page .ast-woocommerce-container div.product div.summary {width: 50%;}
}
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {float: right;width: 50%;clear: none;}
/* Vidéos Galerie */
.simtech-video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.simtech-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Colonnes */
.single-product div.product div.images,
.single-product div.product div.summary {
    box-sizing: border-box;
    padding: 30px !important;
}
/* Séparateur vertical entre galerie et contenu */
.single-product div.product div.images {
    border-right: 1px solid #e5e5e5;
}
.single-product div.product div.images,
.single-product div.product div.summary {
    min-width: 0;
}
/* Zoom */
.woocommerce-product-gallery__trigger {top:1.5em !important;right:1.5em !important;}

/* Marque */
.single-product .marque-produit {
    margin: 0 0 16px;
}
.single-product .marque-produit a {
    display: inline-block;
    line-height: 0;
}
.single-product .marque-produit img {display: block;width: auto;max-width: 100%;height: auto;object-fit: contain;box-shadow: none;}

/* Badges catégorie */
.single-product .product-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}
.single-product .category-badge {display: inline-block;padding: 7px;background: #29a780;color: #fff;font-size:14px;text-transform: uppercase;margin-right: 10px;}
.single-product .category-badge:hover {background: #222;border-color: #222;color: #fff;}
/* Titre du produit */
.single-product .summary .product_title {
    margin: 0 0 24px;
    color: #171717;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.35;
}
/* Description longue dans la colonne de droite */
.single-product .product-description-summary {
    margin: 2.5rem 0 1rem 0;
    color: #888;
    font-size: 14px;
    line-height: 1.75;
}
/* Titres des rubriques */
.single-product .product-description-summary h2 {
    margin: 28px 0 18px;
    padding: 0 0 5px;
    border-bottom: 1px dotted #aaa;
    color: #29a780;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.3;
}
/* Premier titre de la description */
.single-product .product-description-summary h2:first-child {
    margin-top: 0;
}
/* Sous-titres */
.single-product .product-description-summary h3 {
    margin: 24px 0 12px;
    color: #29a780;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.4;
}
/* Paragraphes */
.single-product .product-description-summary p {
    margin: 0 0 16px;
}
/* Listes */
.single-product .product-description-summary ul,
.single-product .product-description-summary ol {
    margin: 12px 0 18px 22px;
    padding: 0;
}
/* Images éventuelles dans la description */
.single-product .product-description-summary img {
    max-width: 100%;
    height: auto;
}
/* Onglet description en bas */
.single-product .woocommerce-tabs:empty {
    display: none;
}
/* Avantages */
.avantages {border: double #29a780;border-width: 10px;padding: 1rem;text-align: center;}
/* demande de devis */
.woocommerce .add-request-quote-button.button {border-radius:0}
/* Produits similaires */
.woo-related-products-container {margin-top: 1.5em;padding: 0.5em;}
.woorelated-title {color:#222222;}
.ast-woo-product-category {opacity: 1 !important;}
/* RESPONSIVE */

@media (max-width: 921px) {

    .single-product div.product div.images,
    .single-product div.product div.summary {
        padding: 20px;
    }

    .single-product div.product div.images {
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
    }

    .single-product .summary .product_title {
        font-size: 24px;
    }

    .single-product .product-description-summary h2 {
        font-size: 25px;
    }

    .single-product .product-description-summary h3 {
        font-size: 20px;
    }
}

@media (max-width: 544px) {

    .single-product div.product div.images,
    .single-product div.product div.summary {
        padding: 15px;
    }

    .single-product .product-description-summary {
        margin-top: 24px;
        font-size: 14px;
    }

    .single-product .product-description-summary h2 {
        font-size: 23px;
    }

    .single-product .category-badge {
        font-size: 11px;
    }
}
/* GForms */
#gform_1 .gform_fields li#field_1_14 {margin: 0 !important;}
.ginput_container input{border:1px solid #ddd; background-color: #fff; padding:8px 5px!important;transition:all .5s ease 0;}
.ginput_container textarea{border:1px solid #ddd; background-color: #fff; padding:10px!important;transition:all .5s ease 0;}
.ginput_container input:hover,.ginput_container input:focus,.ginput_container textarea:hover,.ginput_container textarea:focus{background-color:#e5f4f0;border:1px solid #83ccb6;transition:.5s all 0}
.ginput_left.address_country select {height: 46px; background-color: #fff; border: solid 1px #ddd;}
.gfield_label{margin:0 0 5px!important}
.gform_wrapper .gfield_required {font-size:.9em}
#gform_1 .gform_fields li{clear:none!important;margin:0 0 15px;min-height:80px;padding:0 15px!important}
label.gfield_label {font-weight: normal !important;}
legend.gfield_label.gfield_label_before_complex {border: none !important; font-weight: normal !important;}
.gform_footer.top_label input {width: 30% !important;}
.gform_footer.top_label {text-align: center !important;}
.gform_wrapper .gfield_required {font-size: 100% !important;}
label.gfield_consent_label {font-weight: bold !important;}
.woocommerce legend.gfield_label.gfield_label_before_complex {color: #222;}
.yith-ywraq-mail-form-wrapper h3 {color: #222;}
form#gform_3 span:not(.gfield_required_asterisk), form#gform_4 span:not(.gfield_required_asterisk), form#gform_3 label, form#gform_4 label {color: #999;}
input#input_3_16_1, input#input_4_16_1 {vertical-align: middle;}
span.gform-field-label__text {font-size: 15px; font-weight: normal;}
.gform_wrapper.gravity-theme .ginput_container_consent {line-height: var(--ast-body-line-height, 1.65) !important;}

/* Yith */
a.add-request-quote-button.button {font-size: 0.875rem !important;}
.yith-ywraq-add-to-quote a, .yith_ywraq_add_item_browse_message a {font-size: 1rem !important; font-weight: initial;}
.ywraq-form-table-wrapper .yith-ywraq-mail-form-wrapper {padding: 0 !important;}
.product-remove a.yith-ywraq-item-remove.remove {display: initial;}

/* Demande de devis */
table.shop_table.cart {border-collapse: collapse;}
table.shop_table.cart td {border: 1px solid #999 !important;}
.woocommerce-js a.remove::before {content: none; border: none !important;}
table.shop_table.cart td.product-remove, table.shop_table.cart td.product-thumbnail {text-align: center;}
table.shop_table.cart td.product-remove a.remove::before {content:"\f1f8";font-family:"Font Awesome 7 Free";display:inline-block;font-weight:600;color:#29a780;font-size: 1em;}
table.shop_table.cart img {max-width: 200px !important;}


/* Gestion cookies */
/* font */
#tarteaucitronRoot * {
	font-family: 'Hind Siliguri',sans-serif !important;
}
/* bandeau cookies - fond */
div#tarteaucitronAlertBig {
	background: #222 !important;
}
/* bandeau cookies - texte */
span#tarteaucitronDisclaimerAlert {
	color: #fff !important;
	font-size: 14px !important;
}
/* bandeau cookies - marges boutons  */
.tarteaucitronCTAButton {
	margin: 10px !important;
}
/* bandeau cookies - bouton accepter */
button#tarteaucitronPersonalize2 {
	background: #29a780 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: normal !important;
}
#tarteaucitronRoot .tarteaucitronCheck::before {
	color: #fff !important;
}
/* bandeau cookies - bouton refuser */
button#tarteaucitronAllDenied2 {
	background: #29a780 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: normal !important;
}
#tarteaucitronRoot .tarteaucitronCross::before {
	color: #fff !important;
}
/* bandeau cookies - bouton personnaliser */
button#tarteaucitronCloseAlert {
	background: #29a780 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: normal !important;
}
/* bandeau cookies - bouton politique de confidentialité */
button#tarteaucitronPrivacyUrl {
	display: none !important;
}
.tac_activate {
	background: #fff !important;
	color: #29a780 !important;
}
.tac_activate .tac_float .tarteaucitronAllow {
	background-color: #29a780 !important;
	border-radius: 0 !important;
	padding: 2px 10px !important;
	margin: 5px auto !important;
	font-weight: normal !important;
}


/* home products */
.random-products-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
	padding: 10px;
    background: #fff;
}
.random-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
}
.random-products-card {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    aspect-ratio: 1.3 / 1;
    overflow: hidden;
    background: #222;
    box-sizing: border-box;
    color: #fff;
}
.random-products-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0 !important;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}
.random-products-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.08);
    transition: background 0.3s ease;
    pointer-events: none;
}
.random-products-default {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
    width: 100%;
    padding: 24px;
    box-sizing: border-box;
    text-align: center;
    transition: opacity 0.25s ease;
}
.random-products-categories {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.random-products-category {
    display: inline-block;
    max-width: 100%;
    padding: 7px 10px;
    background: #29a780;
    color: #fff !important;
    font-size: 0.9rem;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}
.random-products-title {
    margin: 0 !important;
    padding: 0;
    color: #fff !important;
    font-size: 1rem;
    text-align: center;
    overflow-wrap: anywhere;
}
.random-products-hover {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 28px;
    box-sizing: border-box;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.random-products-excerpt {
    max-width: 100%;
    color: #999;
    font-size: 1rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
.random-products-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 28px;
    box-sizing: border-box;
    background: #29a780;
    color: #fff !important;
    font-size: 1rem;
    text-decoration: none !important;
    transition: background 0.2s ease;
}
.random-products-button:hover {
    background: #29a780;
    color: #fff !important;
}
.random-products-card-link {
    position: absolute;
    inset: 0;
    z-index: 0;
    text-decoration: none;
}
.random-products-category,
.random-products-button {
    position: relative;
    z-index: 2;
}
.random-products-card:hover .random-products-overlay,
.random-products-card:focus-within .random-products-overlay {
    background: rgba(0, 0, 0, 0.76);
}
.random-products-card:hover .random-products-default,
.random-products-card:focus-within .random-products-default {
    opacity: 0;
}
.random-products-card:hover .random-products-hover,
.random-products-card:focus-within .random-products-hover {
    opacity: 1;
    visibility: visible;
}
.random-products-card:hover .random-products-image {
    transform: scale(1.03);
}
@media (max-width: 921px) {
    .random-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
    .random-products-card {
        aspect-ratio: 1.15 / 1;
    }
    .random-products-hover {
        padding: 20px;
        gap: 12px;
    }
    .random-products-excerpt {
        font-size: 13px;
        line-height: 1.6;
    }
}
@media (max-width: 544px) {
    .random-products-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .random-products-card {
        aspect-ratio: 1.25 / 1;
        min-height: 260px;
    }
    .random-products-overlay {
        background: rgba(0, 0, 0, 0.68);
    }
    .random-products-default {
        opacity: 0;
    }
    .random-products-hover {
        padding: 24px;
        gap: 14px;
        opacity: 1;
        visibility: visible;
    }
    .random-products-excerpt {
        font-size: 14px;
        line-height: 1.6;
    }
}
@media (prefers-reduced-motion: reduce) {
    .random-products-image,
    .random-products-overlay,
    .random-products-default,
    .random-products-hover {
        transition: none;
    }
}
/* home category */
.mosaique-accueil {
    display: flex;
    flex-direction: column;
    gap: 26px;
    width: 100%;
    max-width: 100%;
    margin: 0 0 21px 0;
    padding: 0;
    box-sizing: border-box;
}
.mosaique-accueil-ligne {
    display: grid;
    gap: 26px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.mosaique-accueil-ligne-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mosaique-accueil-ligne-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mosaique-accueil-item {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
    background-color: #e9e9e9;
    text-decoration: none !important;
}
.mosaique-accueil-image {
    position: absolute !important;
    inset: 0;
    z-index: -2;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}
.mosaique-accueil-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.04);
    pointer-events: none;
    transition: background-color 0.3s ease;
}
.mosaique-accueil-label {
    position: relative;
    display: block;
    width: fit-content;
    max-width: calc(100% - 32px);
    margin: 0 !important;
    padding: 8px 12px;
    box-sizing: border-box;
    background-color: #29a780;
    color: #ffffff !important;
    font-family: inherit;
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;
    overflow-wrap: anywhere;
    transition: background-color 0.3s ease;
}
.mosaique-accueil-item:hover .mosaique-accueil-image,
.mosaique-accueil-item:focus-visible .mosaique-accueil-image {
    transform: scale(1.04);
}
.mosaique-accueil-item:hover .mosaique-accueil-overlay,
.mosaique-accueil-item:focus-visible .mosaique-accueil-overlay {
    background-color: rgba(0, 0, 0, 0.16);
}
.mosaique-accueil-item:hover .mosaique-accueil-label,
.mosaique-accueil-item:focus-visible .mosaique-accueil-label {
    background-color: #29a780;
}
@media (max-width: 921px) {
    .mosaique-accueil {
        gap: 18px;
    }
    .mosaique-accueil-ligne {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
    .mosaique-accueil-item {
        aspect-ratio: 1 / 1;
    }
    .mosaique-accueil-label {
        max-width: calc(100% - 24px);
        padding: 8px 10px;
        font-size: 20px;
    }
}
@media (max-width: 544px) {
    .mosaique-accueil {
        gap: 16px;
    }
    .mosaique-accueil-ligne {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .mosaique-accueil-item {
        aspect-ratio: 1.25 / 1;
    }
    .mosaique-accueil-label {
        max-width: calc(100% - 32px);
        padding: 8px 12px;
        font-size: 19px;
    }
}
.mosaique-accueil-item:focus-visible {
    outline: 3px solid #29a780;
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    .mosaique-accueil-image,
    .mosaique-accueil-overlay,
    .mosaique-accueil-label {
        transition: none;
    }
}
.mosaique-accueil-ligne-2 .mosaique-accueil-item {
    aspect-ratio: 1024 / 509;
}
