/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */
.ss_cat_list .rc:after {
	display: none !important;
}
@media (min-width:992px){
	.blockcart.cart-preview {
		min-width: 175px;
	}
	.user-info.header__rightitem{
		min-width: 187px;
	}

	body .header__search {
	    padding-right: 60px;
	}
}

/* === STYLES POUR BLOCS DESCRIPTION PRODUIT === */

/* Contexte : description produit */
.product-description [data-mh-block],
.product-description .mh-benefits,
.product-description .mh-specifications,
.product-description .mh-faq {
  margin: 1.25rem 0;
}

/* --- 1) Benefits (listes à puces) --- */
.product-description [data-mh-block="benefit_bullets"] ul,
.product-description .mh-benefits ul,
.product-description div:has(ul) ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  list-style: disc;
}
.product-description [data-mh-block="benefit_bullets"] li,
.product-description .mh-benefits li,
.product-description div:has(ul) li {
  margin: 0.25rem 0;
  line-height: 1.5;
}

/* Fallback pour navigateurs sans support :has() */
.product-description div ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  list-style: disc;
}
.product-description div li {
  margin: 0.25rem 0;
  line-height: 1.5;
}

/* --- 2) Specs (tableau) --- */
.product-description [data-mh-block="specifications_features"],
.product-description .mh-specifications,
.product-description div:has(table) {
  overflow-x: auto;
}
.product-description [data-mh-block="specifications_features"] table,
.product-description .mh-specifications table,
.product-description div:has(table) table,
.product-description table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
}
.product-description [data-mh-block="specifications_features"] th,
.product-description [data-mh-block="specifications_features"] td,
.product-description .mh-specifications th,
.product-description .mh-specifications td,
.product-description div:has(table) th,
.product-description div:has(table) td,
.product-description table th,
.product-description table td {
  padding: 10px 12px;
  border: 1px solid #e7e7e7;
  vertical-align: top;
}
.product-description [data-mh-block="specifications_features"] th[scope="row"],
.product-description .mh-specifications th[scope="row"],
.product-description div:has(table) th[scope="row"],
.product-description table th[scope="row"] {
  width: 40%;
  font-weight: 600;
  background: #fafafa;
}
.product-description [data-mh-block="specifications_features"] tbody tr:nth-child(even) td,
.product-description .mh-specifications tbody tr:nth-child(even) td,
.product-description div:has(table) tbody tr:nth-child(even) td,
.product-description table tbody tr:nth-child(even) td {
  background: #fcfcfc;
}

/* --- 3) FAQ (accordéons natifs) --- */
.product-description [data-mh-block="faq_section"] details,
.product-description .mh-faq details,
.product-description div:has(details) details,
.product-description details {
  border: 1px solid #e7e7e7;
  border-radius: 8px;
  padding: 8px 12px;
  margin: 0.5rem 0;
  background: #fff;
}
.product-description [data-mh-block="faq_section"] summary,
.product-description .mh-faq summary,
.product-description div:has(details) summary,
.product-description details summary {
  cursor: pointer;
  font-weight: 600;
  outline: none;
  list-style: none;
  position: relative;
  padding-right: 24px;
}
.product-description [data-mh-block="faq_section"] summary::marker,
.product-description .mh-faq summary::marker,
.product-description div:has(details) summary::marker,
.product-description details summary::marker { content: ""; }
.product-description [data-mh-block="faq_section"] summary::after,
.product-description .mh-faq summary::after,
.product-description div:has(details) summary::after,
.product-description details summary::after {
  content: "▸";
  position: absolute;
  right: 0;
  top: 0;
  line-height: 1;
  transform: translateY(2px);
  transition: transform .2s ease;
}
.product-description [data-mh-block="faq_section"] details[open] summary::after,
.product-description .mh-faq details[open] summary::after,
.product-description div:has(details) details[open] summary::after,
.product-description details[open] summary::after {
  transform: rotate(90deg) translateY(0);
}
.product-description [data-mh-block="faq_section"] summary + *,
.product-description .mh-faq summary + *,
.product-description div:has(details) summary + *,
.product-description details summary + * {
  margin-top: 8px;
  line-height: 1.6;
}

/* ===== BOÎTE D'ACHAT PARFAITEMENT ALIGNÉE ===== */

/* Reset complet de la structure */
.tofixed {
    background: #ffffff !important;
    border: 1px solid #e1e5e9 !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Section prix - Prix HT en avant */
.product-prices {
    padding: 20px !important;
    margin: 0 !important;
    background: #f8f9fa !important;
    border-bottom: 1px solid #e1e5e9 !important;
    text-align: center !important;
}

/* Section avis - UNIQUEMENT dans la boîte d'achat */
.tofixed .product-comments-additional-info {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.tofixed .comments-note {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-bottom: 0 !important;
}

.tofixed .grade-stars {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
}

.tofixed .grade-stars .kixsvgicon {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}

.tofixed .product-comments-additional-info .rate {
    font-size: 12px !important;
    color: #6c757d !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

/* Prix HT - MISE EN AVANT - UNIQUEMENT PAGE PRODUIT */
.tofixed .pwnt {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #e55a28 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    display: block !important;
}

.tofixed .pwnt .inner {
    font-size: 20px !important;
    color: #e55a28 !important;
    font-weight: 600 !important;
}

/* Prix TTC - Secondaire - UNIQUEMENT PAGE PRODUIT */
.tofixed .pwt {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #6c757d !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    display: block !important;
}

.tofixed .pwt .inner {
    font-size: 16px !important;
    color: #6c757d !important;
}

/* Section actions - Structure parfaite */
.product-actions {
    padding: 12px !important;
    background: #ffffff !important;
    margin-top: 0 !important;
}

/* Suppression de la marge du thème */
.page-product .product-actions {
    margin-top: 0 !important;
}

/* Ciblage spécifique de l'espace entre prix et actions */
.tofixed .product-prices + .product-actions {
    margin-top: 0 !important;
    padding-top: 4px !important;
}

/* Layout quantité + bouton - Parfaitement aligné */
.product-add-to-cart {
    margin: 0 !important;
}

.product-quantity {
    margin-bottom: 8px !important;
}

.product-quantity .row {
    margin: 0 !important;
    align-items: center !important;
}

.qty.col-auto {
    padding: 0 !important;
    margin-right: 16px !important;
}

/* Sélecteur de quantité - Design propre */
.bootstrap-touchspin {
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    display: inline-flex !important;
    width: 120px !important;
}

.bootstrap-touchspin .btn {
    background: #f8f9fa !important;
    border: none !important;
    color: #495057 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    width: 32px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    flex-shrink: 0 !important;
}

.bootstrap-touchspin .btn:hover {
    background: #e55a28 !important;
    color: #ffffff !important;
}

.bootstrap-touchspin .form-control {
    border: none !important;
    text-align: center !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    height: 40px !important;
    background: #ffffff !important;
    color: #212529 !important;
    padding: 0 !important;
    flex: 1 !important;
    width: 56px !important;
}

.bootstrap-touchspin .form-control:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* Stock info - Amélioré et plus visible */
.product-quantities {
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: right !important;
    background: #e8f5e8 !important;
    color: #155724 !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    border-left: 3px solid #28a745 !important;
    margin-top: 4px !important;
    display: inline-block !important;
}

.product-quantities span:first-child {
    font-weight: 700 !important;
    color: #28a745 !important;
}

.product-quantities span:last-child {
    font-weight: 500 !important;
    color: #155724 !important;
    margin-left: 4px !important;
}

/* Bouton principal - Parfaitement dimensionné */
.add.col-auto {
    padding: 0 !important;
    width: 100% !important;
}

.btn-add-to-cart {
    background: #e55a28 !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 !important;
    border-radius: 4px !important;
    transition: all 0.15s ease !important;
    width: 100% !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.btn-add-to-cart:hover {
    background: #e55a28 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.btn-add-to-cart:focus {
    box-shadow: 0 0 0 2px rgba(229, 90, 40, 0.25) !important;
}

/* Correction de l'espace entre avis et quantité - Variants sans variations */
.page-product .product-variants:empty {
    margin: 0 !important;
    display: none !important;
}

.page-product .product-variants:not(:has(*)) {
    margin: 0 !important;
    display: none !important;
}

/* Si le produit n'a pas de variants, on supprime la marge excessive */
.tofixed .product-variants {
    margin: 0 !important;
}

/* Fallback pour navigateurs sans support :has() */
.page-product .product-variants {
    margin: 0 0 1rem 0 !important;
}

/* Si des variants sont présents, on garde un espacement raisonnable */
.page-product .product-variants:not(:empty) {
    margin: 0 0 1.5rem 0 !important;
}

/* Conteneur des boutons secondaires - Parfaitement alignés */
.product-secondary-buttons {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}

.product-secondary-buttons .p-btn {
    background: #ffffff !important;
    border: 1px solid #e55a28 !important;
    color: #e55a28 !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    margin: 0 !important;
    flex: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
}

.product-secondary-buttons .p-btn:hover {
    background: #e55a28 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Bouton "Demander un devis" - Background gris foncé */
.product-secondary-buttons .p-btn.a-devis {
    background: #444444 !important;
    border: 1px solid #444444 !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.product-secondary-buttons .p-btn.a-devis:hover {
    background: #333333 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
}

/* Bouton "Poser une question" - Moins important avec bordure pointillée */
.product-secondary-buttons .p-btn.a-quest {
    border: 1px dashed #e55a28 !important;
    color: #999999 !important;
    font-weight: 400 !important;
}

.product-secondary-buttons .p-btn.a-quest:hover {
    background: #e55a28 !important;
    color: #ffffff !important;
    border: 1px solid #e55a28 !important;
}

/* Mobile - boutons empilés */
@media (max-width: 480px) {
    .product-secondary-buttons {
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .product-secondary-buttons .p-btn {
        flex: none !important;
        width: 100% !important;
    }
}

/* Informations livraison - Structure améliorée et parlante */
.i-ship {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    border-radius: 4px !important;
    padding: 12px !important;
    margin: 16px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.i-ship-l svg {
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

/* Conteneur des informations de livraison */
.shipping-info {
    flex: 1 !important;
    line-height: 1.3 !important;
}

/* Titre de la livraison avec emoji */
.shipping-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #28a745 !important;
    margin-bottom: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* Date de livraison mise en avant */
.shipping-date {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 3px !important;
}

.shipping-date strong {
    color: #e55a28 !important;
    font-weight: 700 !important;
}

/* Détails supplémentaires */
.shipping-details {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #6c757d !important;
    font-style: italic !important;
    line-height: 1.2 !important;
}

/* Ancien style pour compatibilité */
.stock {
    font-weight: 500 !important;
    color: #495057 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Responsive - Mobile parfait */
@media (max-width: 768px) {
    .product-prices {
        padding: 16px !important;
    }
    
    .pwnt {
        font-size: 28px !important;
    }
    
    .pwnt .inner {
        font-size: 18px !important;
    }
    
    .pwt {
        font-size: 14px !important;
    }
    
    /* Avis mobile optimisés */
    .tofixed .grade-stars .kixsvgicon {
        width: 12px !important;
        height: 12px !important;
    }
    
    .tofixed .product-comments-additional-info .rate {
        font-size: 11px !important;
    }
    
    .tofixed .comments-note {
        gap: 6px !important;
    }
    
    .product-actions {
        padding: 12px !important;
    }
    
    .qty.col-auto {
        margin-right: 12px !important;
    }
    
    /* Correction de l'espace variants pour mobile aussi */
    .tofixed .product-variants {
        margin: 0 !important;
    }
    
    .page-product .product-variants {
        margin: 0 0 0.5rem 0 !important;
    }
    
    .page-product .product-variants:not(:empty) {
        margin: 0 0 1rem 0 !important;
    }
    
    .bootstrap-touchspin {
        width: 100px !important;
    }
    
    .bootstrap-touchspin .btn {
        width: 28px !important;
        height: 36px !important;
        font-size: 12px !important;
    }
    
    .bootstrap-touchspin .form-control {
        height: 36px !important;
        font-size: 13px !important;
        width: 44px !important;
    }
    
    .btn-add-to-cart {
        font-size: 14px !important;
        height: 44px !important;
    }
    
    .product-quantities {
        font-size: 11px !important;
        text-align: left !important;
        margin-top: 4px !important;
    }
    
    /* Bloc livraison mobile parfait */
    .i-ship {
        padding: 12px !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 10px !important;
    }
    
    .i-ship-l svg {
        width: 28px !important;
        height: 28px !important;
        margin-top: 0 !important;
        flex-shrink: 0 !important;
    }
    
    /* Informations livraison mobile optimisées */
    .shipping-info {
        flex: 1 !important;
        line-height: 1.2 !important;
    }
    
    .shipping-title {
        font-size: 13px !important;
        margin-bottom: 3px !important;
        gap: 4px !important;
    }
    
    .shipping-date {
        font-size: 12px !important;
        margin-bottom: 2px !important;
    }
    
    .shipping-details {
        font-size: 10px !important;
        line-height: 1.3 !important;
    }
    
    .stock {
        font-size: 12px !important;
    }
}

/* ===== BLOCS DE RÉASSURANCE DIADEMS - INTÉGRÉS DANS LA BOÎTE D'ACHAT ===== */

/* Conteneur principal - Design compact pour la boîte d'achat */
.tofixed .diadems-reassurance-block,
.tofixed .diadems-reassurance-compact {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    border-radius: 4px !important;
    padding: 8px !important;
    margin: 12px 0 0 0 !important;
}

.tofixed .reassurance-items {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
}

/* Items de réassurance - Version compacte */
.tofixed .reassurance-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px !important;
    background: #ffffff !important;
    border-radius: 3px !important;
    border: 1px solid #e1e5e9 !important;
    transition: none !important;
    box-shadow: none !important;
}

.tofixed .reassurance-item:hover {
    box-shadow: none !important;
    transform: none !important;
    background: #ffffff !important;
    border: 1px solid #e1e5e9 !important;
}

/* Icônes compactes pour la boîte d'achat - SANS background */
.tofixed .reassurance-icon {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

.tofixed .reassurance-icon svg,
.tofixed .reassurance-icon img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
}

/* Texte compact */
.tofixed .reassurance-text {
    font-size: 10px !important;
    font-weight: 500 !important;
    color: #495057 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* Version mobile - encore plus compact */
@media (max-width: 768px) {
    .tofixed .reassurance-items {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
    
    .tofixed .reassurance-item {
        padding: 3px !important;
        gap: 5px !important;
    }
    
    .tofixed .reassurance-icon {
        width: 20px !important;
        height: 20px !important;
    }
    
    .tofixed .reassurance-icon svg,
    .tofixed .reassurance-icon img {
        width: 20px !important;
        height: 20px !important;
    }
    
    .tofixed .reassurance-text {
        font-size: 9px !important;
    }
}

/* ===== BADGES PRODUIT SIMPLES ET ÉLÉGANTS ===== */

/* Conteneur des badges */
.lab {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* Style de base pour tous les badges */
.lab .fl {
    display: inline-block !important;
    padding: 0.375rem 0.75rem !important;
    border-radius: 6px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    text-shadow: none !important;
    max-width: fit-content !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Badge remise - Orange cohérent */
.lab .l-discount {
    background: #e65021 !important;
}

/* Badge caractéristique - Orange plus clair */
.lab .l-30_paniers_par_heure {
    background: #ff6b35 !important;
}

/* Badges génériques - Palette orange */
.lab .fl[class*="l-new"],
.lab .fl[class*="l-nouveau"] {
    background: #e65021 !important;
}

.lab .fl[class*="l-promo"],
.lab .fl[class*="l-promotion"] {
    background: #ff6b35 !important;
}

.lab .fl[class*="l-stock"],
.lab .fl[class*="l-disponible"] {
    background: #cc4419 !important;
}

/* Responsive badges */
@media (max-width: 768px) {
    .lab {
        top: 10px !important;
        left: 10px !important;
        gap: 4px !important;
    }
    
    .lab .fl {
        padding: 0.25rem 0.5rem !important;
        font-size: 0.7rem !important;
    }
}

/* ===== CORRECTION IMAGES PRESTAWP ===== */

/* Correction du ratio des images dans les posts */
.prestawpblock .posts_container-fi .pswp-post-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.prestawpblock .posts_container-fi .ratioc_c_l {
    position: relative !important;
    width: 100% !important;
    padding-top: 66.75% !important;
    overflow: hidden !important;
}

.prestawpblock .posts_container-fi .ratioc_c_l img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ===== STYLES GLOBAUX POUR COHÉRENCE PAGE D'ACCUEIL ===== */

/* Espacement entre les sections de la page d'accueil */
.index #wrapper > section,
.index #wrapper > div[class*="home-"] {
    margin-bottom: 0 !important;
}

/* Suppression des marges par défaut pour un espacement uniforme */
.index .home-blp,
.index .home-psp {
    margin: 0 !important;
}

/* Typographie cohérente pour tous les titres de sections */
.index h2,
.index .section-title {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
    letter-spacing: -0.02em !important;
}

/* Sous-titres cohérents */
.index .subtitle,
.index .section-subtitle {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    font-weight: 400 !important;
    color: #6c757d !important;
}

/* Boutons cohérents sur toute la page */
.index .btn-primary,
.index button[type="submit"] {
    background: #e65021 !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
}

.index .btn-primary:hover,
.index button[type="submit"]:hover {
    background: #cc4419 !important;
    transform: translateY(-2px) !important;
}

/* Liens cohérents */
.index a {
    color: #e65021 !important;
    transition: color 0.3s ease !important;
}

.index a:hover {
    color: #cc4419 !important;
    text-decoration: none !important;
}

/* ===== CORRECTION BLOC FD-PUSHS-B MOBILE ===== */

/* Suppression du fond blanc et amélioration du centrage sur mobile */
@media (max-width: 991px) {
    .fd-pushs-b {
        background: transparent !important;
        padding: 1.5rem 0 !important;
        margin: 0 !important;
    }
    
    .fd-pushs-b .fd-b-l,
    .fd-pushs-b .fd-b-r {
        background: transparent !important;
        padding: 0 !important;
        margin-bottom: 2rem !important;
    }
    
    /* Correction du centrage des produits */
    .fd-pushs-b .pct-li {
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* ===== CENTRAGE DES AVIS DANS LA BOÎTE D'ACHAT (AJOUT) ===== */

/* Centrage des avis dans la boîte d'achat de la page produit */
.page-product .tofixed .product-comments-additional-info {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0.5rem 0 !important;
    padding: 0.45rem 0 !important;
}

.page-product .tofixed .product-comments-additional-info .comments-note {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.page-product .tofixed .product-comments-additional-info .grade-stars {
    display: flex !important;
    gap: 0.25rem !important;
}

.page-product .tofixed .product-comments-additional-info .grade-stars span svg {
    width: 19px !important;
    height: 19px !important;
}

.page-product .tofixed .product-comments-additional-info .rate {
    font-size: 14px !important;
    color: #444 !important;
    text-align: center !important;
}
