/* //////////////////////////////////////////// */
/* /////////// CARDS PRODUITS ///////////////// */
/* //////////////////////////////////////////// */

/* Écart entre les cards */
.ce-product-grid,
.elementor-products-grid,
.ce-product-grid .elementor-row {
    gap: 67px !important;
}

/* Card */
.elementor-product-miniature {
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 16px !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
    position: relative !important;
}

.elementor-product-miniature:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-3px);
}

/* Lien principal */
.elementor-product-miniature .elementor-product-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
    position: static !important;
}

/* Image — sert de référence pour les badges */
.elementor-product-miniature .elementor-image {
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    margin-bottom: 14px !important;
}

.elementor-product-miniature .elementor-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 12px !important;
    transition: transform 0.4s ease !important;
}

.elementor-product-miniature:hover .elementor-image img {
    transform: scale(1.03);
}

/* Aperçu rapide */
.elementor-product-miniature .elementor-quick-view {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    padding: 10px !important;
    text-align: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    border-radius: 0 !important;
}

.elementor-product-miniature .elementor-image:hover .elementor-quick-view {
    opacity: 1 !important;
}

.elementor-product-miniature .elementor-quick-view .elementor-button-text {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Badges — positionnés par rapport à la card (position: relative) */
.elementor-product-miniature .elementor-badges-left,
.elementor-product-miniature .elementor-badges-right {
    position: absolute !important;
    top: 28px !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.elementor-product-miniature .elementor-badges-left {
    left: 28px !important;
}

.elementor-product-miniature .elementor-badges-right {
    right: 28px !important;
}

.elementor-product-miniature .elementor-badge {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    line-height: 1.2 !important;
}

.elementor-product-miniature .elementor-badge-sale {
    background-color: #e74c3c !important;
}

.elementor-product-miniature .elementor-badge-new {
    background-color: #A0CE4D !important;
}

/* Zone contenu */
.elementor-product-miniature .elementor-content {
    text-align: left !important;
    padding: 0 50px 0 0 !important;
    min-height: 80px !important;
}

/* Catégorie */
.elementor-product-miniature .elementor-category {
    font-size: 13px !important;
    color: #999999 !important;
    font-weight: 400 !important;
    margin: 0 0 4px 0 !important;
    text-transform: none !important;
}

/* Titre produit */
.elementor-product-miniature .elementor-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #232323 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

.elementor-product-miniature:hover .elementor-title {
    color: #A0CE4D !important;
}

/* Prix */
.elementor-product-miniature .elementor-price-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: left !important;
}

.elementor-product-miniature .elementor-price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #232323 !important;
}

.elementor-product-miniature .elementor-price-regular {
    font-size: 13px !important;
    color: #bbbbbb !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
}

/* Bouton ajout panier — rond vert bas droite */
.elementor-product-miniature .elementor-atc {
    position: absolute !important;
    bottom: 16px !important;
    right: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-product-miniature .elementor-atc button {
    background-color: #A0CE4D !important;
    border: none !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background-color 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(160, 206, 77, 0.3) !important;
}

.elementor-product-miniature .elementor-atc button:hover {
    background-color: #8abb3a !important;
}

.elementor-product-miniature .elementor-atc .elementor-atc-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.elementor-product-miniature .elementor-atc .elementor-atc-icon svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
}

/* Forcer le SVG en blanc */
.elementor-product-miniature .elementor-atc .elementor-atc-icon svg path {
    fill: #ffffff !important;
}

.elementor-product-miniature .elementor-atc .elementor-atc-icon svg {
    overflow: visible !important;
}

/* Masquer le texte vide du bouton panier */
.elementor-product-miniature .elementor-atc .elementor-button-text {
    display: none !important;
}







/* //////////////////////////////////////////// */
/* /////////// QUICKVIEW MODAL //////////////// */
/* //////////////////////////////////////////// */

/* Reset complet du modal */
.quickview .modal-dialog {
    max-width: 920px !important;
    margin: 40px auto !important;
    padding: 0 16px !important;
}

.quickview .modal-content {
    border: none !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
    background: #ffffff !important;
}

/* Bouton fermer */
.quickview .modal-header {
    border: none !important;
    padding: 12px 16px 0 16px !important;
    background: #ffffff !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 10 !important;
}

.quickview .modal-header .close {
    background-color: #f0f0f0 !important;
    border: none !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: #232323 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.quickview .modal-header .close:hover {
    background-color: #232323 !important;
    color: #ffffff !important;
}

/* Body */
.quickview .modal-body {
    padding: 24px !important;
    background: #ffffff !important;
}

.quickview .modal-body>.row {
    margin: 0 !important;
}

.quickview .modal-body>.row>[class*="col-"] {
    padding: 0 !important;
}


/* /////////// COLONNE GAUCHE — IMAGE /////////// */

.quickview .modal-body .col-md-6:first-child,
.quickview .modal-body .col-sm-6:first-child {
    padding-right: 20px !important;
}

.quickview .images-container {
    width: 100% !important;
}

.quickview .product-cover {
    width: 100% !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background-color: #f5f5f5 !important;
    position: relative !important;
}

.quickview .product-cover picture {
    display: block !important;
    width: 100% !important;
}

.quickview .product-cover img.js-qv-product-cover {
    width: 100% !important;
    height: 360px !important;
    object-fit: none !important;
    display: block !important;
    border-radius: 14px !important;
    padding: 10px !important;
}

/* Zoom */
.quickview .product-cover .layer {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
}

.quickview .product-cover .layer .zoom-in {
    font-size: 18px !important;
    color: #232323 !important;
}

/* Miniatures */
.quickview .js-qv-mask {
    margin-top: 10px !important;
    overflow: hidden !important;
}

.quickview .product-images {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}

.quickview .thumb-container {
    flex-shrink: 0 !important;
}

.quickview .thumb-container img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 2px solid #e8e8e8 !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease !important;
    display: block !important;
}

.quickview .thumb-container img.selected,
.quickview .thumb-container img.js-thumb-selected,
.quickview .thumb-container img:hover {
    border-color: #A0CE4D !important;
}

.quickview .arrows {
    display: none !important;
}


/* /////////// COLONNE DROITE — INFOS /////////// */

.quickview .modal-body .col-md-6:last-child,
.quickview .modal-body .col-sm-6:last-child {
    padding-left: 20px !important;
}

/* Titre */
.quickview .modal-body .h1 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #232323 !important;
    line-height: 1.35 !important;
    margin: 0 0 14px 0 !important;
    text-transform: none !important;
    padding-right: 40px !important;
}

/* Prix */
.quickview .product-prices {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.quickview .product-discount {
    margin-bottom: 2px !important;
}

.quickview .product-discount .regular-price {
    font-size: 14px !important;
    color: #b0b0b0 !important;
    text-decoration: line-through !important;
}

.quickview .current-price {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.quickview .current-price-value {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #232323 !important;
}

.quickview .discount-percentage {
    background-color: #e74c3c !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 5px !important;
    display: inline-block !important;
}

.quickview .tax-shipping-delivery-label {
    font-size: 11px !important;
    color: #aaaaaa !important;
    margin-top: 4px !important;
}

/* Description */
.quickview #product-description-short {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.quickview #product-description-short p {
    font-size: 13px !important;
    color: #777777 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}


/* /////////// VARIANTES /////////// */

.quickview .product-variants {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.quickview .product-variants-item {
    margin-bottom: 12px !important;
}

.quickview .product-variants-item:last-child {
    margin-bottom: 0 !important;
}

.quickview .product-variants-item .control-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #232323 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Select */
.quickview .product-variants-item select {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 2px solid #e8e8e8 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #232323 !important;
    background: #ffffff !important;
    cursor: pointer !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

.quickview .product-variants-item select:focus {
    border-color: #A0CE4D !important;
}

/* Couleurs */
.quickview .product-variants-item ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}

.quickview .product-variants-item .input-container {
    margin: 0 !important;
    float: none !important;
}

.quickview .product-variants-item .input-color {
    display: none !important;
}

.quickview .product-variants-item .color {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: block !important;
    border: 2px solid #e0e0e0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.quickview .product-variants-item .input-color:checked+.color {
    border-color: #A0CE4D !important;
    box-shadow: 0 0 0 3px rgba(160, 206, 77, 0.25) !important;
}


/* /////////// QUANTITÉ + PANIER /////////// */

.quickview .product-add-to-cart .control-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #232323 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.quickview .product-quantity {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
}

/* Input quantité */
.quickview .product-quantity .qty {
    flex-shrink: 0 !important;
}

.quickview .product-quantity .qty .input-group {
    border: 2px solid #e8e8e8 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: stretch !important;
    background: #ffffff !important;
    height: 48px !important;
    width: auto !important;
}

.quickview .product-quantity .qty #quantity_wanted {
    width: 44px !important;
    text-align: center !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #232323 !important;
    background: transparent !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    -moz-appearance: textfield !important;
}

.quickview .product-quantity .qty #quantity_wanted::-webkit-inner-spin-button,
.quickview .product-quantity .qty #quantity_wanted::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.quickview .product-quantity .qty .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    border-left: 1px solid #e8e8e8 !important;
}

.quickview .product-quantity .qty .btn-touchspin {
    background: #f8f8f8 !important;
    border: none !important;
    flex: 1 !important;
    padding: 0 10px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
}

.quickview .product-quantity .qty .btn-touchspin:first-child {
    border-bottom: 1px solid #e8e8e8 !important;
}

.quickview .product-quantity .qty .btn-touchspin:hover {
    background: #eeeeee !important;
}

.quickview .product-quantity .qty .btn-touchspin i {
    font-size: 12px !important;
    color: #555555 !important;
}

.quickview .bootstrap-touchspin-prefix,
.quickview .bootstrap-touchspin-postfix {
    display: none !important;
}

/* Bouton ajouter au panier */
.quickview .product-quantity .add {
    flex: 1 !important;
}

.quickview .product-quantity .add .add-to-cart {
    background-color: #A0CE4D !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 24px !important;
    height: 48px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    white-space: nowrap !important;
}

.quickview .product-quantity .add .add-to-cart:hover {
    background-color: #8abb3a !important;
}

.quickview .product-quantity .add .add-to-cart i {
    font-size: 18px !important;
}

/* Masquer wishlist, dispo vide, qté min vide */
.quickview .wishlist-button,
.quickview .product-availability:empty,
.quickview .product-minimal-quantity:empty {
    display: none !important;
}


/* /////////// FOOTER — PARTAGE /////////// */

.quickview .modal-footer {
    background-color: #fafafa !important;
    border-top: 1px solid #f0f0f0 !important;
    padding: 14px 24px !important;
}

.quickview .social-sharing {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.quickview .social-sharing>span {
    font-size: 13px !important;
    color: #aaaaaa !important;
    font-weight: 500 !important;
}

.quickview .social-sharing ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}

.quickview .social-sharing li {
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
}

/* Reset complet des liens */
.quickview .social-sharing li a {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ebebeb !important;
    transition: all 0.3s ease !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    color: transparent !important;
    overflow: visible !important;
    position: relative !important;
    text-decoration: none !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px !important;
}

/* Supprimer les pseudo-éléments */
.quickview .social-sharing li a::before,
.quickview .social-sharing li a::after {
    display: none !important;
    content: none !important;
}

/* Facebook */
.quickview .social-sharing li.facebook a {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23888'%3E%3Cpath d='M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z'/%3E%3C/svg%3E") !important;
}

.quickview .social-sharing li.facebook a:hover {
    background-color: #A0CE4D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z'/%3E%3C/svg%3E") !important;
}

/* Twitter / X */
.quickview .social-sharing li.twitter a {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23888'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") !important;
}

.quickview .social-sharing li.twitter a:hover {
    background-color: #A0CE4D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") !important;
}

/* Pinterest */
.quickview .social-sharing li.pinterest a {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23888'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 01.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.462-6.233 7.462-1.214 0-2.354-.63-2.748-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/%3E%3C/svg%3E") !important;
}

.quickview .social-sharing li.pinterest a:hover {
    background-color: #A0CE4D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 01.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.462-6.233 7.462-1.214 0-2.354-.63-2.748-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/%3E%3C/svg%3E") !important;
}


/* /////////// RESPONSIVE /////////// */

@media (max-width: 768px) {
    .quickview .modal-dialog {
        max-width: 95% !important;
        margin: 16px auto !important;
    }

    .quickview .modal-body {
        padding: 16px !important;
    }

    .quickview .modal-body .col-md-6:first-child,
    .quickview .modal-body .col-sm-6:first-child {
        padding-right: 0 !important;
        margin-bottom: 16px !important;
    }

    .quickview .modal-body .col-md-6:last-child,
    .quickview .modal-body .col-sm-6:last-child {
        padding-left: 0 !important;
    }

    .quickview .product-cover img.js-qv-product-cover {
        height: 280px !important;
    }

    .quickview .product-quantity {
        flex-direction: column !important;
    }
}