/* début bouton voir plus */
/* Conteneur principal avec gestion de la hauteur */
.block-category-inner {
    position: relative;
    overflow: hidden; /* Cache le contenu qui dépasse */
}

/* Par défaut, le contenu est compressé */
.block-category-inner.compressed {
    max-height: 8em !important; /* Augmenter pour inclure une ligne supplémentaire */
}

/* Lorsque le contenu est étendu */
.block-category-inner.expanded {
    max-height: none !important; /* Affiche tout le contenu */
}

/* Ajout d'un dégradé */
.block-category-inner::after {
    content: ''; /* Ajout d'un dégradé via pseudo-élément */
    position: absolute;
    bottom: 0; /* Positionné en bas */
    left: 0;
    right: 0;
    height: 2em; /* Ajuster pour un dégradé plus discret */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)); /* Dégradé */
    pointer-events: none; /* Ignore les interactions utilisateur */
    opacity: 1; /* Par défaut, le dégradé est visible */
}

/* Supprimer le dégradé en mode étendu */
.block-category-inner.expanded::after {
    opacity: 0; /* Cache le gradient */
}

/* Bouton Voir Plus / Voir Moins */
.expand-more {
    cursor: pointer;
    display: inline-block;
    margin-top: 1em;
    font-weight: bold;
    color: var(--primary-color, #007bff); /* Couleur principale du thème */
    text-align: center;
}

.expand-more:focus {
    outline: none;
}
/* Fin bouton voir plus */

/* Enlever la barre jaune sur les titres de catégories */
.d-flex.items-center h3::before {
    content: none !important; /* Neutralise le ::before */
}
/* Fin barre jaune */


/* Barre de recherche mobile */
@media (max-width: 767px) {
    .header-complet {
        display: flex;
        flex-direction: column-reverse;
    }
    .header-top-right.col-md-6 {
        width: 100%;
        top: 3px;
    }
    .col-md-3.right-nav {
        display: none !important;
    }
    #header .hidden-lg-up.mobile {
        display: flex !important;
        align-items: center;
        position: relative;
    }
    #header #menu-icon,
    #header .right-nav.mobil_user_icons {
        float: none;
        flex-shrink: 0;
        position: relative;
        z-index: 1;
    }
    #header .top-logo {
        position: absolute;
        left: 0;
        right: 0;
        text-align: center;
        z-index: 0;
    }
    #header #_mobile_user_info,
    #header .clearfix {
        display: none;
    }
    #header .top-logo img {
        max-height: 1.6rem;
    }
    .ui-autocomplete.searchbar-autocomplete li a, .ui-autocomplete.searchbar-autocomplete li a.ui-state-focus {
        padding: 8px 20px !important;
    }
    .leo-blockcart {
        margin-left: 0;
    }
}

/* Icones de recherche et de clear alignement */
.icon-barre-left {
    left: 0px;
    padding-left: 4px !important;
}

.icon-barre-right {
    padding-right: 4px;
    padding-bottom: 7px !important;
    right: 10px !important;
}

/* Décalage du texte de recherche */
.ui-autocomplete-input {
    padding-left: 32px!important;
    padding-top: 9px!important;
}

/* Résultats de même taille, avec texte et image centré PC */
.ui-menu-item{
    height: 66px;
}

.ui-corner-all {
    align-items: center;
    height: 66px;
}

@media (max-width: 768px) {
    /* Réduire l'espace entre la barre de recherche et les résultats */
    .header-top {
        height: 0;
        overflow: hidden;
    }

    /* Alignement images + textes des résultats */
    .ui-autocomplete.searchbar-autocomplete li a .autocomplete-thumbnail {
        float: none;
    }

    .autocomplete-thumbnail {
        object-fit: contain;
    }

    .ui-menu .ui-menu-item a {
        display: flex;
    }
    /* Résultats de recherche qui prenait plus de place que nécessaire */
    .ui-autocomplete.searchbar-autocomplete {
        min-height: 0;
    }

    /* Résultats de même taille, avec texte et image centré mobile */
    .ui-menu-item{
        height: 79px;
    }
    .ui-corner-all {
        height: 79px;
        align-items: center;
    }
}

@media (max-width: 350px) {
    /* Résultats de même taille, avec texte et image centré mobile */
    .ui-menu-item{
        height: 100px;
    }
    .ui-corner-all {
        height: 100px;
        align-items: center;
    }
}

.ui-menu .ui-menu-item a {
    display: flex;
}

.autocomplete-thumbnail {
    object-fit: contain; /* Évite les distorsions */
}

/* Problème décalage vertical */
.mobil_user_icons .account, .mobil_user_icons .leo-quicklogin-nav.leo-quicklogin {
    position: static;
    margin: 0;
    padding: 0;
}

.repi-login-icon {
    font-size: 24px;
    color: #fff;
    vertical-align: middle;
    line-height: 1;
}

.mobil_user_icons .logout {
    position: static;
    margin: 0;
}

/* Suppression du nom de compte car trop peu de place */
@media (max-width: 425px) {
    a.account span {
        display: none !important;
    }
}

/* Si écran petit de téléphone on rétrécit encore le logo */
@media (max-width: 325px) {
    #header .top-logo img {
        max-height: 1.3rem;
    }
}

/* Alternance des couleurs résultats barre de recherche */
.ui-menu-item:nth-child(even) {
    background-color: #eaeaea;
    color: #232323;
}

.ui-menu-item:nth-child(odd) {
    background-color: #d6d6d6;
    color: #232323;
}

.ui-widget-content a:hover {
    background-color: #003d60 !important;
    color: #ffffff;
    cursor: pointer;
}

/* Résultats de recherche qui bouge lors d'un scroll */
.ui-autocomplete {
    position: fixed !important;
}

/*
 NOUVEAU PANIER.
 */

body#checkout .custom-checkbox span{
    position: relative;
}

.address_block{
    color: #163C5D;
    line-height: 25px;
    font-weight: normal;
}
.add-address{
    text-align: center;
    padding-bottom: 5%;
    padding-top: 1%;
}

.plusadd .material-icons{
    background-color: #003d60;
    border-radius: 50%;
    color: white;
    padding-top: 3px;
    width: 25px;
    height: 25px;
    font-size: 1.3rem!important;
    font-weight: bold;
}

.edit-address{
    float: left;
    margin-top: 12px !important;
    margin-bottom: 10px !important;
    color: #163C5D !important;
}

.material-icons.edit {
    margin-right: 5px;
}

.delete-address{
    float: right;
    margin-top: 12px !important;
    margin-bottom: 10px !important;
    color: #FE4041!important;
}

.material-icons.delete {
    margin-right: 5px;
}

#checkout-addresses-step > div > div > form > p:nth-child(4){
    border-bottom: 1px solid #003d60;
    width: 70%;
    margin: auto;
}

.add-address a{
    display: block;
    width: 49%;
    font-weight: bold;
    border-radius: .5rem;
    margin: auto;
    border: 1px solid rgba(0, 61, 96, 0.2);
    box-shadow: 0 2px 24px 0 rgba(0, 0, 0, .16);
}

.delivery-option{
    background-color: white!important;
}

.add-address a:first-letter{
    text-transform: uppercase;
}

.addnewaddress{
    display: block;
    padding-top: 5%;
    color: #003d60
}

.add-address:hover a{
    border: 1px solid #FE4041;
}

.add-address:hover .addnewaddress,
.add-address:hover .plusadd{
    color: #FE4041;
}

.add-address:hover .plusadd .material-icons {
    background-color: #FE4041;
}

.plusadd{
    padding-bottom: 5%;
    display: block;
    color: #003d60
}

.different-invoice-address{
    display: block;
    text-align: center;
}

.js-address-form .clearfix .continue, .cancel-address{
    margin: auto;
    display: block;
    float: none!important;
}

#checkout-addresses-step > div > div > form > h2:nth-child(6){
    padding-top: 5%;
}

.js-address-form .form-group{
    display: flex;
    align-items: center;
}

/*.input-wrap label{
/*    background-color: #ddd9d9!important;
/*}
/*
/*.custom-radio input[type=radio]+span{
/*    background-color: #ddd9d9!important;
/*}
*/

body#checkout section.checkout-step .payment-options .payment-option{
    margin-bottom: 0!important;
    width: 100%;
    display: flex;
    align-items: center;
}

.paiement .payment-option .custom-radio{
    display: flex;
}

body#checkout section.checkout-step .payment-options label{
    width: 100%;
    align-items: center;
    display: flex;
}

body#checkout section.checkout-step .payment-options label span{
    display: flex;
    width: 100%;
    font-weight: bold;
}

body#checkout section.checkout-step .payment-options img{
    width: 65px;
    display: flex;
}

#payment-option-3-container label img{
    width: 60px!important;
}

.js-additional-information, #conditions-to-approve{
    width: 80%;
    margin-left: auto!important;
    margin-right: auto!important;
}

#checkout-delivery-step .content .delivery-options-list #js-delivery .continue{
    margin: auto;
    display: block;
    float: none !important;
}

#payment-confirmation{
    display: none !important;
    justify-content: center;
}

body#checkout section.checkout-step .address-item .c-add-check{
    display: none;
}

body#checkout section.checkout-step .address-item.selected .c-add-check{
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1;
    background: linear-gradient(to top right, #fff 0, #fff 50%, #24b9d7 0, #24b9d7);
}

.address-item{
    position: relative;
}

.c-icon--white{
    color: white;
    font-size: 1.9rem;
}

.radio-block{
    width: 100%;
}

.different-invoice-address{
    display: none;
}

#checkout-addresses-step > div > div > form > h2:nth-child(5){
    padding-top: 5%;
}


body#checkout section.checkout-step .address-item>header {
    min-height: 11.7rem
}

body#checkout section.checkout-step .address{
    margin-left: 0!important;
}


/*
    Popup TVA en cours
 */

#modalTvaLoader .modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh; /* Assure le centrage vertical */
    transform: translateY(-20%); /* Déplace le modal un peu plus haut */
}

#modalTvaLoader .modal-content {
    text-align: center;
    padding: 20px;
}

#modalTvaLoader .material-icons {
    font-size: 48px; /* Taille de l'icône */
    color: #007bff; /* Bleu Bootstrap */
}

#modalTvaLoader .spin {
    animation: spin 1s linear infinite; /* Animation infinie */
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


/* Formulaire d'inscription centrage et tout les uns endessous des autres */
.formulaire-inscription {
    display: flex;
    flex-direction: column; /* Force les inputs en colonne */
}

.formulaire-inscription .form-group {
    margin: 10px auto; /* Centre chaque input */
}

#donneespersonelles {
    text-align: center;
}

.form-group.id_genderone-line {
    text-align: center;
    display: block;
}

.form-group.id_genderone-line label {
    margin: 10px 0;
}

.form-group.newsletter,
.form-group.psgdpr {
    text-align: center;
}

#add-to-cart-or-refresh{
    display:flex;
}

.blockreassurance_product{
    margin-top: -55px !important;
    max-width: 1200px;
    margin-right: 100px;
    margin-left: auto;
    float: right;
}

.OEM{
    font-size: 13px;
    padding: 8px 5px;
    margin: 0;
}

.ficha-product .table-striped th{
    vertical-align: middle;
}

.dfd-root{
    width: 40%!important;
}

.dfd-content, .dfd-layer{
    padding-top: 0!important;
}

.dfd-sort-button{
    display: none;
}

/* Module nkmgls point relais bouton */
.custom-radio {
    display: inline-block;
    position: relative;
    cursor: pointer;
}

.custom-radio input[type="radio"] {
    opacity: 0;
    position: absolute;
    width: 0;
    height: 0;
}

.custom-radio label {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #007bff;
    border-radius: 50%;
    position: relative;
}

.custom-radio input[type="radio"]:checked + label::after {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #007bff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Toujours module nkmgls mais juste le bouton recherche d'adresse */
.gls-search .gls-search-relay {
    position: static !important;
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background-color: #4054B2 !important;
}

/* Masquer les sections déroulantes de GLS relais et classique lié avec la non pré-sélection d'un transporteur voir custom.js */
.js-carrier-extra-content.carrier-extra-content-gls {
    display: none;
}

.product-information h2:first-child{
    display: none;
}

.page-content.page-cms{
    padding: 0!important;
}

.grecaptcha-badge{
    display: none!important;
}

#back-top{
    display: none!important;
}

#category .input-group-btn-vertical{
    display: block!important;
}

.page-content.page-cms{
    padding: 0!important;
}

.footer-item-product .price, .leo-dropdown-total, .view-cart, .add-to-cart{
    font-family: Oswald, Arial, Sans-serif;
}

.leo-dropdown-cart-subtotals .value, .leo-dropdown-cart-total .value{
    font-weight: 400;
}

.leo-dropdown-cart-total .value.color-red{
    font-weight: 600;
}


/* Liens dans la description produit */
#description-section a {
    text-decoration: underline;
    color: inherit; /* garde la même couleur que le texte environnant */
}

#description-section a:hover {
    color: #E84242;
    text-decoration: underline;
}
/* Fin liens dans la description produit */

/*Mobile correction panier*/
@media (max-width: 767px) {
    a.account span.hidden-sm-down {
        display: none !important;
    }
}

/* Nouvelle page d'inscription */
.input-wrap.select-group.filled.disabled:before {
    content: none !important;
}
/* Fin nouvelle page */


.title-contact-us{
    display: none;
}

.step-text{
    flex: 1;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
}

/*******************************ContactForm*******************************/
#contact #notifications {
    display: none!important;
}

.contactForm-input {
    background-color: white !important;
    border: solid 1px #163C5D !important;
    border-radius: 5px!important;
    font-size: 14px!important;
    padding: 12px!important;
    font-family: 'Poppins', sans-serif!important;
    line-height: 0!important;
    height: 55px!important;
}

.contactForm-select {
    background-color: white !important;
    border: solid 1px #163C5D !important;
    border-radius: 5px !important;
    font-size: 14px!important;
    font-weight: 400;
    font-family: 'Poppins', sans-serif;
    color: #163c5db8;
    height: 55px;
}

.contactForm-textarea {
    background-color: white !important;
    border: solid 1px #163C5D !important;
    border-radius: 5px !important;
    font-size: 14px!important;
    font-weight: 400;
    font-family: 'Poppins', sans-serif;
    height: 150px;
}

.input-wrap.filled .contactForm-textarea~label {
    background: white!important;
}

.contactForm-submit-btn {
    width: 100%;
    background-color: #163c5d!important;
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    border: none!important;
    padding: 15px 0 15px 0;
}

.contactForm-submit-btn:hover {
    width: 100%;
    background-color: #112a3f!important;
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    border: none!important;
    padding: 15px 0 15px 0;
}

.contactForm-label {
    font-size: 13px!important;
    font-weight: 400!important;
    font-family: 'Poppins', sans-serif!important;
    color: #163c5db8!important;
}

.contactForm-label-center {
    margin-top: 14px!important;
}

.input-wrap .contactForm-input:focus~.contactForm-label {
    top: -20px;
    font-size: 13px;
    line-height: 1;
    font-weight: 400;
    display: inline-block;
    width: auto;
    background: white !important;
    margin: 0px 0.6rem;
    padding: 0 .2rem;
}

.contactForm-header {
    text-align: center;
    padding: 7px;
    margin-bottom: 15px;
}

.contactForm-title {
    color: #163C5D;
    font-family: "Poppins", sans-serif;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 18px;
}

.contactForm-paragraph {
    color: #163C5D;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: normal;
}

.contactForm-checkbox-label {
    display: flex!important;
    align-items: center!important;
}

.contactForm-checkbox-text {
    color: #163C5D;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: normal;
    font-style: italic;
    line-height: 1.6em;
}

#contact .custom-file-upload #file-upload-label {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    z-index: 1 !important;
}

.custom-file-upload {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    width: 100%;
}

.custom-file-upload span#file-upload-label {
    color: rgba(22, 60, 93, 0.76);
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
}

.custom-file-upload .material-icons {
    color: #163C5D;
    font-size: 20px;
}

.input-wrap textarea:focus~label {
    top: -6px;
    font-size: 11px;
    line-height: 1;
    font-weight: 400;
    display: inline-block;
    width: auto;
    background: white!important;
    margin: 0 0.6rem;
    padding: 0 .2rem;
}

.material-select {
    position: relative;
    display: flex;
    align-items: center;
}

.material-select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding-right: 40px;
    cursor: pointer;
}

.select-arrow {
    position: absolute;
    right: 15px;
    pointer-events: none;
    font-size: 24px;
    color: #163C5D;
}

.material-select select::-ms-expand {
    display: none;
}

.contactForm-height-input {
    height: 50px !important;
}

.contactForm-alert-failed {
    background-color: #FFF4F4;
    color: #E84141;
    font-family: "Poppins", sans-serif;
    font-size: 12px!important;
    font-weight: 400!important;
}

.contactForm-alert-success {
    background-color: #EBFBED;
    color: #07B94C;
    font-family: "Poppins", sans-serif;
    font-size: 12px!important;
    font-weight: 400!important;
}

.material-select {
    position: relative;
}

.custom-options-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border-radius: 5px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    z-index: 999;
    list-style: none;
    border: 1px solid #ddd;
    max-height: 150px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: all 0.2s ease-in-out;
}

.custom-options-list.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.custom-option {
    height: 35px;
    display: flex;
    align-items: center;
    padding: 0 0 20px 15px;
    cursor: pointer;
    font-size: 13px;
    line-height: normal;
    transition: background 0.2s;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}

.custom-option:hover {
    background-color: #163c5d;
    color: white;
}

.custom-options-list::-webkit-scrollbar {
    width: 4px;
}
.custom-options-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

@media (max-width: 767px) {
    .contactForm-row {
        margin-right: 0!important;
        margin-left: 0!important;
    }

    .mobile-margin {
        margin-bottom: 1.2em;
    }

    .contactForm-col {
        padding-right: 0!important;
        padding-left: 0!important;
    }

    .contactForm-checkbox-label {
        display: flex !important;
        align-items: flex-start!important;
    }

    .contactForm-input, .contactForm-textarea, .contactForm-select {
        font-size: 16px!important;
    }
}

/*******************************ContactForm*******************************/

.bandeau-header{
    background: #112a3f;
    color:white;
    text-align: center;
    display: block;
    width: 100%;
    padding :8px 50px 8px 50px;
}
.bandeau-header i{

}

.bandeau-header p{
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.2px;
    display: inline;
}

nav.breadcrumb {
    margin-top: 20px;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── Panier sidebar — slide-in depuis la droite (desktop) ── */
@media (min-width: 992px) {

    /* Scrollbar custom du dropdown : presque coller au bord droit (override du right:8px de Leo) */
    #_desktop_cart .leo-dropdown-list-item-warpper .df-inline-custom-scrollbar {
        right: 2px;
    }

    /* Overlay de grisage : sibling du dropdown panier dans #_desktop_cart.
       Vit dans le même contexte de stacking que le dropdown (z-index 9999),
       donc placé juste en dessous (9998) il couvre toute la page sauf le dropdown,
       sans dépendre du stacking context de la header sticky. */
    #_desktop_cart .cart-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9998;
        pointer-events: auto;
    }

    /* Cookiebot a un z-index si élevé qu'il passe au-dessus de notre overlay.
       Plutôt que de baisser son z-index (combat perdu : Cookiebot le réinjecte),
       on applique un filtre qui simule le voile sombre uniquement sur lui. */
    html.show-cart #CookiebotWidget {
        filter: brightness(0.4);
        transition: filter 0.2s;
    }

    #_desktop_cart .leo-dropdown-cart.dropdown {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 420px;
        margin-top: 0;
        visibility: visible;
        opacity: 1;
        z-index: 9999;
        transform: translateX(105%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: -6px 0 32px rgba(0, 0, 0, 0.16);
    }

    #_desktop_cart .leo-dropdown-cart.dropdown.show {
        transform: translateX(0);
    }

    #_desktop_cart .leo-dropdown-cart-content {
        height: 100vh !important;
        border: none !important;
        border-left: 1px solid #e8e8e8 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    #_desktop_cart .leo-dropdown-list-item {
        flex: 1 !important;
        overflow-y: auto !important;
    }

    /* ── Panier vide : message centré dans la zone produits ── */
    /* Le wrapper garde son layout flex-column natif (hérité de front.css) pour
       conserver header / liste / bottom empilés. On masque juste le <ul> vide
       et on étire le message pour qu'il occupe la zone produits, centré. */
    #_desktop_cart .leo-dropdown-list-item-warpper.is-empty .leo-dropdown-list-item {
        display: none;
    }

    #_desktop_cart .leo-empty-cart-message {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 20px;
    }

    #_desktop_cart .leo-empty-cart-message .empty-cart-text {
        font-size: 15px;
        font-weight: 600;
        color: #163C5D;
        margin-bottom: 12px;
        line-height: 1.4;
    }

    #_desktop_cart .leo-empty-cart-message .empty-cart-subtext {
        font-size: 13px;
        color: #4A6B85;
        margin-bottom: 0;
        line-height: 1.4;
    }

    /* Bouton "Valider mon panier" désactivé visuellement et fonctionnellement quand panier vide */
    #_desktop_cart .cart-dropdow-checkout.is-disabled {
        opacity: 0.5 !important;
        pointer-events: none !important;
        cursor: not-allowed !important;
    }

    /* Neutralise le hover/focus persistant sur les boutons +/− après clic souris.
       Le CSS Leo applique l'effet via :focus, qui reste actif tant que l'élément
       garde le focus. On annule :focus en gardant uniquement :hover et :focus-visible
       (focus clavier — accessibilité préservée). */
    #_desktop_cart .qty-buttons a:focus:not(:focus-visible),
    #_desktop_cart .qty-buttons a.leo-bt-product-quantity:focus:not(:focus-visible) {
        background: #f5f7fa;
        color: #163C5D !important;
    }
}

/* ── Tawk.to — bouton ramené à 52px de large, légèrement remonté ──
   scale uniforme 52/64 = 0.8125 sur le wrapper entier, ancré bas-droite. */
div:has(> #chat-bubble) {
    transform: translateY(7px) translateX(10px) scale(.87)!important;
    transform-origin: bottom right !important;
}

/* Panel description catégorie ouvert : on assombrit visuellement le widget
   Tawk au lieu de le masquer. La classe .ra-dim-overlay est posee par
   repi-category-view.js sur le wrapper de Tawk.
   Pseudo-element impossible (wrapper en 0x0 souvent, et l'iframe Tawk est
   cross-origin donc on ne peut pas y injecter un overlay enfant). Solution :
   `filter: brightness()` qui s'applique au rendu compositing du DOM enfant,
   donc fonctionne meme sur des iframes cross-origin. brightness(0.5) ~= voile
   rgba noir 50%. */
.ra-dim-overlay,
.ra-dim-overlay iframe {
    filter: brightness(0.73) !important;
    transition: filter 0.2s ease;
}
