rootbody {
    font-family: 'Arial', sans-serif;
}

.containerchoix {
    width: 60%;
    margin: 0 auto;
    padding-bottom: 20px;
    text-align: center;
}

.boxes {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

.box {
    flex: 1 0 calc(50% - 10px); 
    text-align: center;
    background-color: #fff;
    padding: 20px;
    border: 1px solid #E0E0E0;
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative; /* Ajouté pour le positionnement du ruban */
}

.box:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

a.btn {
    padding: 10px 20px;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s;
}

a.btn:hover {
    background-color: #444;
}

/* Styles pour la box inactive */
.box.inactive img, .box.inactive h2, .box.inactive p, .box.inactive .btn {
    filter: grayscale(100%);
    opacity: 0.5;
}

.box.inactive:hover {
    transform: none;
    box-shadow: none;
}

.box.inactive .btn {
    background-color: #aaa; 
    cursor: default;
}


.ribbon {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
    transform: translateZ(0);
}

.ribbon span {
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    text-transform: uppercase; 
    text-align: center;
    line-height: 36px;
    transform: rotate(0deg); /* Rotation à 0 degrés pour être horizontal */
    width: 100%;
    display: block;
    background: linear-gradient(45deg, #000, #444);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
    border-radius: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Centre horizontalement et verticalement */
}

.ribbon span::before, .ribbon span::after {
    display: none; /* Suppression des éléments pseudo pour un ruban horizontal */
}


.ribbon span::before {
    left: 0px; 
    border-left-color: #8F5408;
    border-top-color: #8F5408;
}

.ribbon span::after {
    right: 0px; 
    border-right-color: #8F5408;
    border-top-color: #8F5408;
}

/* Styles pour les médias mobiles */
@media (max-width: 768px) {
    .container {
        width: 90%;
        padding: 10px;
    }

    .box {
        flex: 0 0 100%;
        margin-bottom: 20px;
    }

    h1, h2, p {
        font-size: 18px;
    }

    a.btn {
        padding: 12px 24px;
        font-size: 18px;
    }

    img {
        max-width: 100%;
        height: auto;
    }
}

.page-header {
    display: none;
}

/* Styles pour les icônes de réseau social */
.social-icons {
  text-align: center;
  margin-top: 20px;
}

.social-icons a {
  text-decoration: none;
  margin-top: 10px !important;
  margin: 10px; /* Espacement horizontal entre les icônes */
  display: inline-block; /* Afficher les icônes en ligne horizontalement */
}

.social-icons img.social-icon {
  width: 24px; /* Largeur souhaitée pour les icônes */
  height: 24px; /* Hauteur souhaitée pour les icônes */
  max-width: 24px; /* Ajoutez cette ligne pour limiter la largeur maximale */
  max-height: 24px; /* Ajoutez cette ligne pour limiter la hauteur maximale */
  transition: transform 0.3s ease; /* Ajoutez une transition fluide */
}

.social-icons a:hover img.social-icon {
  transform: scale(1.2); /* Augmentez la taille de l'icône lors du survol */
}


.container-techniques {
    /* Styles pour le conteneur global */
    margin: 20px;
    padding: 20px;
    /* Autres styles généraux si nécessaire */
}



.container-techniques {
    max-width: 1200px; /* Limite la largeur du conteneur pour un meilleur contrôle sur les boîtes */
    margin: 0 auto; /* Centre le conteneur dans la page */
    padding: 20px;
    box-sizing: border-box;
}

.technique-box {
    background: #fff; /* Couleur de fond plus claire pour un meilleur contraste */
    border: none; /* Retire les bordures pour un look plus moderne */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Ombre subtile pour un effet de profondeur */
    margin-bottom: 30px; /* Plus d'espace entre les boîtes */
    padding: 40px; /* Plus d'espace à l'intérieur des boîtes */
    border-radius: 8px; /* Bordures arrondies pour un look doux */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transition douce pour survol */
}

.technique-box:hover {
    transform: translateY(-5px); /* L'effet de léger soulèvement au survol */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); /* Ombre plus marquée au survol */
}

.technique-box h2 {
    color: #2c3e50; /* Une couleur plus foncée pour les titres */
    font-size: 24px; /* Taille de police plus grande pour les titres */
    margin-bottom: 15px; /* Espace après les titres */
}

.technique-box p {
    color: #333; /* Une couleur plus foncée pour le texte */
    font-size: 16px; /* Taille de police légèrement plus grande pour le texte */
    line-height: 1.6; /* Espacement des lignes pour une meilleure lisibilité */
}

/* Boutons ou liens */
.technique-box a.btn {
    display: inline-block; /* Pour appliquer padding et margins */
    padding: 10px 20px; /* Espace intérieur des boutons */
    background-color: #2c3e50; /* Couleur de fond des boutons */
    color: white; /* Couleur de texte des boutons */
    text-decoration: none; /* Pas de soulignement */
    border-radius: 4px; /* Bordures arrondies des boutons */
    transition: background-color 0.3s ease; /* Transition de couleur au survol */
}

.technique-box a.btn:hover {
    background-color: #1a1a1a; /* Changement de couleur au survol */
}

/* Styles de base pour le tableau, y compris les styles pour le fond et les bordures */
.container-techniques table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1em;
    margin-bottom: 1em;
    background-color: #f9f9f9; /* Couleur de fond pour le tableau */
    table-layout: auto; /* Les largeurs de cellule sont basées sur leur contenu */
}

/* Styles pour les cellules du tableau, incluant le padding et l'alignement du texte */
.container-techniques th, .container-techniques td {
    border: 1px solid #ddd;
    text-align: left;
    padding: 8px;
    vertical-align: top; /* Alignement du texte en haut de la cellule */
    word-wrap: break-word; /* Passe à la ligne dans les cellules si nécessaire */
    overflow: visible; /* S'assure que le contenu n'est pas masqué */
    min-height: 50px; /* Hauteur minimale pour les cellules pour éviter le texte coupé */
}

/* Styles pour les entêtes du tableau */
.container-techniques th {
    background-color: #2c3e50;
    color: white;
    font-weight: bold;
}

/* Styles pour les lignes paires et impaires pour une meilleure lisibilité */
.container-techniques tr:nth-child(even){background-color: #f2f2f2;}
.container-techniques tr:nth-child(odd){background-color: #ffffff;}

/* Ajout d'un effet de survol sur les lignes pour interactivité */
.container-techniques tr:hover {background-color: #ddd;}



.quick-view { display: none !important; }




img{
   max-width:100%;
   height:auto;
}

/* Styles pour les médias mobiles */
@media only screen and (max-width: 600px) {
    body {
        font-family: 'Arial', sans-serif;
    }

    .containerchoix {
        width: 100%; /* Utiliser la largeur complète de l'écran */
        margin: 0; /* Supprimer les marges pour utiliser tout l'espace disponible */
        padding: 5px; /* Réduire le padding */
        box-sizing: border-box; /* S'assurer que padding ne dépasse pas la largeur définie */
    }

    .boxes {
        flex-direction: column; /* Empiler les boîtes verticalement */
        gap: 10px; /* Réduire l'écart entre les boîtes */
    }

    .box {
        flex: none; /* Annuler le flex précédent */
        width: 100%; /* Utiliser la pleine largeur disponible */
        margin-bottom: 10px; /* Réduire l'espace entre les boîtes */
    }

    .box img {
        width: auto; /* Réinitialiser la largeur automatique */
        max-width: 100%; /* S'assurer que l'image ne dépasse pas son conteneur */
        height: auto; /* Maintenir l'aspect ratio de l'image */
    }

    h1, h2, p, .btn {
        font-size: 16px; /* Ajuster la taille du texte pour la lisibilité */
    }

    .btn {
        padding: 8px 16px; /* Ajuster le padding des boutons */
    }

    .ribbon {
        width: 100%; /* S'assurer que le ruban couvre la largeur */
        height: auto; /* Ajuster la hauteur automatiquement */
    }

    .ribbon span {
        font-size: 14px; /* Ajuster la taille du texte du ruban */
        transform: translate(-50%, -50%) rotate(0deg); /* Réinitialiser la rotation si nécessaire */
    }
}


.product-prices {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* Assure que tout est aligné à gauche */
  padding-left: 0; /* Align all children to the start of the container */
}

.current-price {
  order: 1;
  text-align: left; /* Ensure alignment matches other elements */
}

.tax-shipping-delivery-label {
  order: 2;
  margin-top: 5px; /* Espacement après le prix */
  text-align: left;
}

.skeepers_product__stars {
  order: 3;
  margin-top: 5px; /* Espacement après le "HT" */
  margin-left: 0; /* Aligns stars exactly under the 'HT' text */
  width: auto; /* Adjust width to fit content */
  text-align: left; /* Align text to the left */
}



@media only screen and (max-width: 2560px) {
  .leo-top-menu > li {
    position: relative; /* Ceci est nécessaire pour le positionnement absolu des enfants */
  }

  .leo-top-menu > li .dropdown-menu {
    position: absolute;
    top: 100%; /* Cela devrait aligner le haut du sous-menu avec le bas de l'élément du menu */
    left: 0;
    display: none;
    z-index: 1000; /* Cela devrait être suffisamment élevé pour s'afficher au-dessus des autres éléments */
  }

  .leo-top-menu > li:hover .dropdown-menu {
    display: block; /* Cela devrait afficher le sous-menu lors du survol */
  }



}

/* ToolE - Quotation Pro */
.page-index #header .header-top ._desktop_quotecart {
    margin-top: 0;
}

#header .header-top ._desktop_quotecart .quotation_cart .header {
    display: flex;
    align-items: center;
	text-align: center;
    height: 80px;
}

#header .header-top .quotation_cart .header .quote-header-element.quote-text,
#header .header-top .quotation_cart .header .quote-header-element.block_quote_collapse {
    display: none;
}

#header .header-top .quotation_cart span.ajax_quote_quantity {
    position: absolute;
    line-height: 16px;
    min-width: 12px;
    padding: 0 2px;
    color: #fff;
    font-size: 10px;
    top: 42px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    box-shadow: unset;
    height: 15px;
    width: 13px;
}

.roja45quotationspro_button_container input.quote_quantity_wanted {
    display: block;
    color: #000;
    background: none;
    height: 40px;
    padding: 0;
    width: 100%;
    text-align: center;
    border: 0;
    box-shadow: none;
    font-weight: 500;
    border-radius: 3px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container .btn-touchspin,
#request-summary-products .roja45quotationspro_button_container .btn-touchspin {
    cursor: pointer;
    right: 0;
    border-left: 1px solid #ddd;
    border-radius: 0 3px 3px 0;
    width: 30px;
    height: 40px;
    min-width: 30px;
    padding: 0;
    color: #888;
    transform: none;
    background: #f9f9f9;
    line-height: 42px;
    position: absolute;
    top: 0;
    margin: 0;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container .bootstrap-touchspin-down,
#request-summary-products .roja45quotationspro_button_container .bootstrap-touchspin-down {
    left: 0;
    border-radius: 3px 0 0 3px;
    border-right: 1px solid #ddd;
}

#roja45quotationspro_buttons_block .bootstrap-touchspin .input-group-btn-vertical,
#request-summary-products .bootstrap-touchspin .input-group-btn-vertical {
    width: auto;
    height: auto;
    position: static;
    display: block;
}

#roja45quotationspro_buttons_block .bootstrap-touchspin .input-group-btn-vertical i.rojaquotationspro-icons.touchspin-up::after,
#request-summary-products .bootstrap-touchspin .input-group-btn-vertical i.rojaquotationspro-icons.touchspin-up::after {
    content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='black'><path d='M19 13H13V19H11V13H5V11H11V5H13V11H19V13Z'/></svg>");
}

#roja45quotationspro_buttons_block .bootstrap-touchspin .input-group-btn-vertical i.rojaquotationspro-icons.touchspin-down::after,
#request-summary-products .bootstrap-touchspin .input-group-btn-vertical i.rojaquotationspro-icons.touchspin-down::after {
    content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%23var(--icon-color)'><path d='M19 13H5V11H19V13Z'/></svg>");
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container .qty,
#request-summary-products .roja45quotationspro_button_container .qty {
    width: 100px;
    margin-right: 1rem;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container .btn.add-to-quote,
#request-summary-products .roja45quotationspro_button_container .btn.add-to-quote {
    border-radius: 3px;
    padding: .6rem 1.5rem;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container,
#request-summary-products .roja45quotationspro_button_container {
    margin-top: 20px;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container .input-group.bootstrap-touchspin,
#request-summary-products .roja45quotationspro_button_container .input-group.bootstrap-touchspin {
    padding: 0 30px;
}

#page a#quotes-link span.link-item>svg,
#page a#quote-history-link span.link-item>svg {
    display: inline-block;
    margin-right: 18px;
    width: 24px;
    height: 24px;
    transition: all 0.22s cubic-bezier(.07,.74,.56,.89);
}

#page a#quotes-link span.link-item>span,
#page a#quote-history-link span.link-item>span {
    vertical-align: top;
}

.attention {
    color: red;
    font-weight: bold;
}

button.dsn-customize {
margin-top: 0px !important;
margin-right:60px;
}


#roja45quotationspro_registration_block {
    padding: 20px;
    border: 1px solid #CCCCCC;
    border-radius: 8px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.05);
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    max-width: 800px;
    margin: 0 auto 20px;
    display: block;
    background-color: #FFFFFF;
}

#roja45quotationspro_registration_block .card.card-block {
	border: none;
    box-shadow: unset;
	padding: 0;
}
	
#roja45quotationspro_registration_block h4.card-title{
    text-align: center;
}

#roja45quotationspro_registration_block div.clearfix {
       text-align: center;
}
#roja45quotationspro_registration_block div.clearfix a {
       float: none !important;
    margin-top: 20px;
    display: block;
    text-align: center;
    font-size: 15px;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container .qty{
    margin: 0 15px 10px 0;
}

#roja45quotationspro_buttons_block.roja45quotationspro_button_container div.add {
    margin-right: 50px;
}

/* End ToolE - Quotation Pro */


.div.text-sm-center { display: none !important; }

/* Cacher la catégorie uniquement dans la liste produits */
body#category .product-miniature .category-default {
  display: none !important;
}

/* Débloquer les titres tronqués uniquement dans la liste produits */
body#category .product-miniature .product-title a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}





