/**
 * repi-category-listing.css
 * Carte produit vue liste, image, infos, prix, quantité, panier, pagination, thumbnails
 */

/* === Vue liste mobile : layout horizontal === */
@media (max-width: 768px) {
    .thumbnail-container_mobil {
        text-align: left !important;
    }

    .thumbnail-container_mobil > .product-image {
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    /* Image à gauche : hauteur fixe, ne shrink pas */
    .thumbnail-container_mobil > .product-image > a.thumbnail.product-thumbnail {
        flex: 0 0 auto;
        width: 90px;
        align-self: stretch;
    }

    .thumbnail-container_mobil > .product-image > a.thumbnail.product-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    /* Infos à droite du produit image */
    .thumbnail-container_mobil .hs-container-image {
        flex: 1;
        min-width: 0;
    }

    .thumbnail-container_mobil .hs-container-image b {
        display: block;
    }

    .thumbnail-container_mobil .hs-container-image b a.permalink {
        font-size: 16px;
        line-height: 1.3;
    }

    .thumbnail-container_mobil .product-refs-line {
        font-size: 11px;
        margin-top: 3px;
    }

    .thumbnail-container_mobil .hs-container-image .stock-status {
        margin-top: 8px;
    }

    /* Masquer stock-value hs-stock-container */
    .thumbnail-container_mobil .stock-value.hs-stock-container {
        display: none !important;
    }

    /* Bloc prix + quantité + panier en ligne */
    .thumbnail-container_mobil .hs-container-right-001_mobil {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        margin-top: 10px;
        margin-left: 0;
    }

    .thumbnail-container_mobil .hs-price-product-container {
        display: inline-flex;
        align-items: center;
    }

    .thumbnail-container_mobil .hs-price-product-container .product-price-and-shipping {
        justify-content: flex-start;
        text-align: left;
    }

    .thumbnail-container_mobil .hs-cart-product-container {
        display: inline-flex;
        align-items: center;
    }

    /* Wishlist masqué en mobile */
    .thumbnail-container_mobil .hs-wishlist-container {
        display: none;
    }

    /* Thumbnail sans marge droite */
    .ajax_block_product .product-image a.thumbnail.product-thumbnail {
        margin-right: 0;
        min-width: 80px !important;
        width: 80px;
    }

    /* Réduire les textes en mobile */
    .thumbnail-container_mobil .hs-container-image .stock-status-text {
        font-size: 10px;
        padding: 0 4px;
    }

    .thumbnail-container_mobil .hs-container-image .stock-status {
        padding: 2px 6px;
        min-width: 70px;
    }

    .thumbnail-container_mobil .price {
        font-size: 16px;
    }

    .thumbnail-container_mobil .regular-price {
        font-size: 11px;
    }

    .thumbnail-container_mobil .price-tax-label {
        font-size: 10px;
    }

    .thumbnail-container_mobil .discount-percentage,
    .thumbnail-container_mobil .discount-amount {
        font-size: 10px;
    }

    .thumbnail-container_mobil .product-ref,
    .thumbnail-container_mobil .product-oem-ref,
    .thumbnail-container_mobil .product-refs-separator {
        font-size: 12px;
    }

    .thumbnail-container_mobil .product-ref {
        white-space: nowrap;
    }

    .thumbnail-container_mobil .product-oem-ref {
        overflow: hidden;
        white-space: nowrap;
    }


    /* Prix mobile */
    .thumbnail-container_mobil .hs-price-product-container {
        justify-content: flex-start !important;
    }

    .ajax_block_product {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .thumbnail-container_mobil .hs-container-image .stock-status-quality {
        margin-left: 6px;
    }

    .thumbnail-container_mobil .hs-container-image .stock-paint-icon {
        margin-left: 6px;
        width: 24px;
        height: 24px;
    }

    .thumbnail-container_mobil .quantity-selector-wrapper--listing .quantity-input {
        height: 31px !important;
    }

    .thumbnail-container_mobil .product-add-to-cart {
        margin-left: 5px;
    }

    /* Sélecteur quantité et bouton panier en ligne */
    .product-add-to-cart form,
    .grid-cart-btn form {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    /* Masquer le sélecteur desktop en mobile */
    .quantity-desktop {
        display: none !important;
    }

    /* Sélecteur quantité mobile natif (scroll picker) */
    .quantity-select-mobile {
        display: block !important;
        height: 40px;
        border: 1px solid #163C5D;
        border-radius: 6px;
        padding: 0 8px;
        font-family: 'Poppins', sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #163C5D;
        background: #fff;
        -webkit-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23163C5D'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 8px center;
        background-size: 12px;
        padding-right: 28px;
        min-width: 52px;
        text-align: right;
    }

    .thumbnail-container_mobil .quantity-select-mobile {
        height: 37px;
    }
}

@media (max-width: 375px) {
    .product-add-to-cart form,
    .grid-cart-btn form {
        gap: 0;
    }
}

/* Nom produit dans le listing */
.hs-container-image b a.permalink {
    font-family: 'Oswald', sans-serif;
    font-size: 17px;
    color: #163C5D;
    font-weight: 500;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.hs-container-image b a.permalink:hover {
    color: #E84242;
}

/* Références produit dans le listing */
.product-refs-line {
    display: flex;
    align-items: center;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #163C5D;
    font-weight: 400;
    margin-top: 6px;
}

.product-refs-separator {
    font-weight: 500;
    margin: 0 10px;
    color: #163C5D;
}

/* Stock status dans le listing produit */
.hs-container-image .stock-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 14px;
    border-radius: 4px;
    color: #fff;
    margin-top: 10px;
    min-width: 90px;
}

.hs-container-image .stock-status-content-wrapper {
    display: inline-flex;
    align-items: center;
}

/* .hs-container-image .stock-status-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #fff;
    margin-right: 0.5rem;
    position: relative;
    flex-shrink: 0;
}

.hs-container-image .stock-status-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #fff;
} */

.hs-container-image .stock-status-text {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 11px;
    color: #fff;
    text-transform: lowercase;
    display: inline-block;
}

.hs-container-image .stock-status-text::first-letter {
    text-transform: uppercase;
}

.hs-container-image .stock-status-green {
    background-color: #07B94C;
    border: 1px solid #07B94C;
}

.hs-container-image .stock-status-yellow {
    background-color: #FEBA27;
    border: 1px solid #FEBA27;
}

.hs-container-image .stock-status-red {
    background-color: #E84242;
    border: 1px solid #E84242;
}

.hs-container-image .stock-status-quality {
    background-color: #163C5D;
    border: 1px solid #163C5D;
    margin-left: 12px;
}

.stock-status-quality {
    min-width: 0 !important;
}

.hs-container-image .stock-paint-icon {
    width: 32px;
    height: 32px;
    margin-left: 10px;
    color: #163c5d;
    vertical-align: sub;
    position: relative;
    display: inline-flex;
    align-self: center;
    line-height: 1;
}

/* Avis produit dans le listing */
.hs-reviews-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 90px;
}

.hs-reviews-container .skeepers_product__stars .review__header {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: center !important;
    gap: 0 !important;
}

.hs-reviews-container .skeepers_product__stars .stars__rating {
    margin-left: auto;
    margin-right: auto;
}

.hs-reviews-container .skeepers_product__stars .stars__rating .text__rating {
    text-align: center;
    margin-bottom: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #163C5D;
}

.skeepers_product__stars span {
    font-size: 12px !important;
}

.hs-reviews-container .skeepers_product__stars .stars__item svg {
    width: 10px !important;
    height: 10px !important;
}

.hs-reviews-container .skeepers_product__stars .stars__item {
    width: 10px !important;
    height: 10px !important;
}

.hs-reviews-container .skeepers_product__stars .stars__item:not(:last-of-type) {
    margin-right: 0;
}

/* Wrapper avis + prix */
.hs-reviews-price-wrapper {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: space-between;
    gap: 30px;
}

.price-line {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
}

.price-line .price,
.price-line .price span[itemprop="price"] {
    font-family: 'Oswald', sans-serif;
    font-size: 21px;
    font-weight: 500;
    color: #163C5D;
}

.price-tax-label {
    line-height: 0.2;
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    font-weight: 450;
    color: #163C5D;
    white-space: nowrap;
}

/* Quantity selector dans le listing */
.qty-cart-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.quantity-selector-wrapper--listing {
    position: relative;
    flex-shrink: 0;
    border: 1px solid #163C5D;
    border-radius: 6px;
}

.quantity-selector-wrapper--listing .quantity-selector {
    position: relative;
}

.quantity-selector-wrapper--listing .quantity-input {
    width: 65px;
    height: 35px;
    padding: 0 12px 0 0;
    border: none;
    border-radius: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #163C5D;
    text-align: center;
    -moz-appearance: textfield;
    background: transparent;
}

.quantity-selector-wrapper--listing .quantity-input::-webkit-outer-spin-button,
.quantity-selector-wrapper--listing .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity-selector-wrapper--listing .quantity-input:focus {
    outline: none;
}

.quantity-selector-wrapper--listing .quantity-controls {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 9;
}

.quantity-selector-wrapper--listing .quantity-btn {
    flex: 1;
    padding: 0 4px;
    background-color: #f3f4f6;
    border: none;
    border-left: 1px solid #d1d5db;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    transition: background-color 0.15s ease;
}

.quantity-selector-wrapper--listing .quantity-btn:first-child {
    border-bottom: 1px solid #d1d5db;
    border-top-right-radius: 5px;
}

.quantity-selector-wrapper--listing .quantity-btn:last-child {
    border-bottom-right-radius: 5px;
}

.quantity-selector-wrapper--listing .quantity-btn:hover {
    background-color: #e5e7eb;
}

.quantity-selector-wrapper--listing .quantity-btn svg {
    width: 14px;
    height: 14px;
}

/* Sélecteur quantité mobile : masqué en desktop */
.quantity-select-mobile {
    display: none;
}

/* Masquer le label texte du bouton panier en desktop */
.add-to-cart-label {
    display: none;
}

.btn-square {
    min-height: 35px !important;
    width: 35px !important;
    height: 35px !important;
}

.ajax_block_product .hs-cart-product-container .btn-brand.add-to-cart {
    padding: 6px 10px !important;
}

.ajax_block_product .hs-cart-product-container .btn-brand.add-to-cart.btn-outofstock {
    background-color: #E84242 !important;
    border-color: #E84242 !important;
    opacity: 1;
}

/* =============================================
   Alignement thumbnail-container_desktop
   ============================================= */

.ajax_block_product .product-image a.thumbnail.product-thumbnail {
    min-width: 100px;
}

/* Forcer les proportions fixes pour aligner les colonnes entre produits */
.ajax_block_product .thumbnail-container_desktop {
    display: flex;
    align-items: center;
}

.ajax_block_product .thumbnail-container_desktop > .product-image {
    flex: 1 1 0%;
    min-width: 0;
}

.ajax_block_product .thumbnail-container_desktop > .hs-container-right-001 {
    flex: 0 0 auto;
    min-width: 440px;
}

/* Empêcher le nom produit et les refs de déborder */
.ajax_block_product .thumbnail-container_desktop .hs-container-image {
    min-width: 0;
}

.ajax_block_product .thumbnail-container_desktop .hs-container-image b {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ajax_block_product .thumbnail-container_desktop .product-refs-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pagination {
    margin: 30px 0 0 0;
    display: flex;
    justify-content: center;
}
.pagination .page-list {
    font-family: "Poppins", sans-serif;
    display: flex;
    align-items: normal;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination .page-list li a.previous,
.pagination .page-list li a.next {
    color: #163C5D;
}

.pagination .page-list li a.disabled {
    cursor: default;
    pointer-events: none;
}
/* Effet barre sous les liens de pagination au survol */
.pagination .page-list li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    line-height: 36px;
}

.pagination .page-list li a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-bottom: 1px solid #163C5D;
    margin-top: -8px;
    margin-left: auto;
    transition: width 0.3s ease, margin-left 0.3s ease;
}

.pagination .page-list li:not(.current):hover a::after {
    width: 100%;
    margin-left: 0;
}

.pagination .page-list li.current {
    margin-top: 3px;
}

.pagination .page-list li.current a {
    background: #dadde0;
    border-radius: 100%;
    font-weight: 500;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #163C5D;
}

.pagination .page-list li.current a::after {
    display: none;
}

.category-layout-wrapper {
    margin-bottom: 50px;
}

/* Bouton add-to-cart disabled (rupture de stock) : rouge */
.btn-brand.add-to-cart[disabled] {
    background-color: #E30513 !important;
}

/* Aucun résultat */
.ra-no-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 20px;
}

.ra-no-result-icon {
    font-size: 24px;
    color: #163C5D;
    margin-bottom: 16px;
}

.ra-no-result-primary {
    color: #163C5D;
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 500;
    margin: 0 0 6px 0;
}

.ra-no-result-secondary {
    color: #163C5D;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
}
