/*
============================================================
 DESIGN ESSENTIALS FRANCE
 Thème enfant Hummingbird
 CUSTOM.CSS — VERSION CONSOLIDÉE
============================================================

 PALETTE
 Bleu-vert foncé : #053B46
 Or              : #C6A15B
 Rouge           : #D62828
 Prune           : #68164F
 Noir            : #111111
 Blanc           : #FFFFFF
============================================================
*/


/* =========================================================
   1. EN-TÊTE
   ========================================================= */

#header {
    background: #FFFFFF !important;
}

#header .header-bottom {
    min-height: 82px !important;
    background: #FFFFFF !important;
}

#header .header-bottom__container {
    min-height: 82px !important;
    display: flex !important;
    align-items: center !important;
}

#header .header-bottom__logo {
    flex: 0 0 140px !important;
    width: 140px !important;
    max-width: 140px !important;
    display: flex !important;
    align-items: center !important;
}

#header .header-bottom__h1 {
    width: 140px !important;
    max-width: 140px !important;
    height: auto !important;
    margin: 0 !important;
}

#header .header-bottom__logo .navbar-brand {
    display: block !important;
    width: 140px !important;
    max-width: 140px !important;
    height: auto !important;
    margin: 0 !important;
}

#header .header-bottom__logo .navbar-brand img.logo {
    display: block !important;
    width: 140px !important;
    max-width: 140px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}


/* Menu principal */

#header .ps-mainmenu--desktop {
    display: flex !important;
    align-items: center !important;
}

#header .ps-mainmenu__tree > li > a,
#header #top-menu > li > a {
    font-size: 15px !important;
    font-weight: 600 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: nowrap !important;
    color: #111111 !important;
}

#header .ps-mainmenu__tree > li > a:hover,
#header #top-menu > li > a:hover {
    color: #68164F !important;
}


/* Barre de recherche */

#header #desktop_ps_searchbar {
    display: flex !important;
    align-items: center !important;
}



/* =========================================================
   2. SLIDER
   ========================================================= */

.ps-imageslider,
#ps_imageslider,
#ps_imageslider .carousel-inner,
#ps_imageslider .carousel-item,
#ps_imageslider .ps-imageslider__link,
#ps_imageslider .ps-imageslider__figure {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

#ps_imageslider .ps-imageslider__figure {
    width: 100% !important;
    margin: 0 !important;
}

#ps_imageslider .ps-imageslider__figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}


/* Masquer les flèches */

#ps_imageslider .carousel-control-prev,
#ps_imageslider .carousel-control-next {
    display: none !important;
}


/* Bandeau texte du slider */

#ps_imageslider .carousel-caption,
#ps_imageslider .ps-imageslider__caption {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;

    bottom: 30px !important;

    width: min(760px, 80%) !important;
    max-width: 760px !important;

    padding: 18px 30px !important;

    text-align: center !important;

    background: rgba(17,17,17,0.82) !important;

    color: #FFFFFF !important;

    border-radius: 2px !important;
}

#ps_imageslider .carousel-caption h2,
#ps_imageslider .carousel-caption h3,
#ps_imageslider .ps-imageslider__caption h2,
#ps_imageslider .ps-imageslider__caption h3 {
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

#ps_imageslider .carousel-caption p,
#ps_imageslider .ps-imageslider__caption p {
    color: #FFFFFF !important;
}



/* =========================================================
   3. TITRES DE SECTIONS
   ========================================================= */

.products-section-title,
.featured-products .products-section-title,
.ps-newproducts .section-title {
    color: #053B46 !important;
    font-weight: 700 !important;
}

.products-section-title::after,
.featured-products .products-section-title::after,
.ps-newproducts .section-title::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 10px auto 0;
    background: #C6A15B;
}

/* =========================================================
   TITRES / DESCRIPTIONS SOUS LES PRODUITS
   ========================================================= */

.product-miniature__title {
    color: #053b46 !important;       /* vert profond */
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.product-miniature__title:hover {
    color: #701451 !important;       /* prune du logo au survol */
}

/* =========================================================
   5. PRIX
   ========================================================= */

.product-miniature__price {
    color: #111111 !important;

    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;

    margin-top: 8px !important;
    margin-bottom: 10px !important;
}

//* =========================================================
   BADGE NEW — ROUGE
   ========================================================= */

.badge.new,
.product-flags .badge.new,
.product-flags li.badge.new,
ul.product-flags li.badge.new,
.product-miniature .product-flags .badge.new {

    background-color: #D62828 !important;
    background: #D62828 !important;

    border-color: #D62828 !important;

    --bs-badge-color: #ffffff !important;

    color: #ffffff !important;
}
/* =========================================================
   7. LIGNE QUANTITÉ + PANIER
   ========================================================= */

.product-miniature__form {
    display: flex !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: none !important;

    gap: 8px !important;
}



/* =========================================================
   8. BLOC QUANTITÉ
   ========================================================= */

.product-miniature__form .quantity-button,
.product-miniature__form .js-quantity-button {
    display: flex !important;

    flex: 1 1 auto !important;

    width: auto !important;
    max-width: none !important;
}


/* Hauteur commune */

.product-miniature__form .quantity-button button,
.product-miniature__form .quantity-button input,
.product-miniature__form .js-quantity-button button,
.product-miniature__form .js-quantity-button input {
    min-height: 42px !important;
    height: 42px !important;

    color: #053B46 !important;

    font-size: 18px !important;
    font-weight: 700 !important;
}


/* Boutons + et - */

.product-miniature__form .quantity-button button,
.product-miniature__form .js-quantity-button button {
    flex: 1 1 33.333% !important;

    width: auto !important;
    min-width: 0 !important;

    border: 1px solid #053B46 !important;

    background: #FFFFFF !important;

    color: #053B46 !important;

    font-size: 22px !important;
    font-weight: 800 !important;

    line-height: 1 !important;

    padding: 0 !important;
}


/* Survol + et - */

.product-miniature__form .quantity-button button:hover,
.product-miniature__form .js-quantity-button button:hover {
    background: #053B46 !important;
    color: #FFFFFF !important;
}


/* Chiffre quantité */

.product-miniature__form .quantity-button input,
.product-miniature__form .js-quantity-button input {
    flex: 1 1 33.333% !important;

    width: auto !important;
    min-width: 0 !important;

    text-align: center !important;

    color: #053B46 !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    background: #FFFFFF !important;

    border-top: 1px solid #053B46 !important;
    border-bottom: 1px solid #053B46 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}



/* =========================================================
   9. PANIER CARTES PRODUITS
   ========================================================= */

.product-miniature__form button[data-button-action="add-to-cart"] {
    flex: 0 0 58px !important;

    width: 58px !important;
    min-width: 58px !important;

    height: 42px !important;
    min-height: 42px !important;

    padding: 0 !important;

    background-color: #053B46 !important;

    border: 1px solid #053B46 !important;

    color: #FFFFFF !important;

    font-size: 18px !important;
}


/* Hover panier */

.product-miniature__form button[data-button-action="add-to-cart"]:hover {
    background-color: #C6A15B !important;
    border-color: #C6A15B !important;
    color: #111111 !important;
}



/* =========================================================
   10. BOUTONS GÉNÉRAUX
   ========================================================= */

.btn-primary {
    background-color: #053B46 !important;
    border-color: #053B46 !important;
    color: #FFFFFF !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #C6A15B !important;
    border-color: #C6A15B !important;
    color: #111111 !important;
}



/* =========================================================
   11. BOUTONS "TOUS LES PRODUITS"
   ========================================================= */

.module-products__buttons .btn,
.featured-products .btn,
.ps-newproducts .btn {
    border-color: #053B46 !important;
    color: #053B46 !important;
    background: #FFFFFF !important;

    font-weight: 600 !important;
}

.module-products__buttons .btn:hover,
.featured-products .btn:hover,
.ps-newproducts .btn:hover {
    background: #053B46 !important;
    border-color: #053B46 !important;
    color: #FFFFFF !important;
}



/* =========================================================
   12. FIL D'ARIANE
   ========================================================= */

.page-product .breadcrumb a,
.breadcrumb a {
    color: #053B46 !important;
}

.page-product .breadcrumb a:hover,
.breadcrumb a:hover {
    color: #68164F !important;
}



/* =========================================================
   13. PAGE PRODUIT
   ========================================================= */

.page-product h1,
.page-product .product__name {
    color: #111111 !important;
    font-weight: 700 !important;
}


/* Prix fiche produit */

.page-product .product-price,
.page-product .current-price,
.page-product .current-price-value {
    color: #111111 !important;
    font-weight: 700 !important;
}


/* Ajouter au panier fiche produit */

.page-product button[data-button-action="add-to-cart"],
.page-product .product__add-to-cart-button {
    background-color: #053B46 !important;
    border-color: #053B46 !important;
    color: #FFFFFF !important;

    font-weight: 600 !important;
}

.page-product button[data-button-action="add-to-cart"]:hover,
.page-product .product__add-to-cart-button:hover {
    background-color: #C6A15B !important;
    border-color: #C6A15B !important;
    color: #111111 !important;
}



/* =========================================================
   14. DESCRIPTION PRODUIT
   ========================================================= */

#product_accordion .accordion-button {
    color: #053B46 !important;
    background-color: #FFFFFF !important;

    font-weight: 700 !important;

    box-shadow: none !important;
}

#product_accordion .accordion-button:not(.collapsed) {
    color: #053B46 !important;
    background-color: #FFFFFF !important;

    box-shadow: inset 0 -2px 0 #C6A15B !important;
}

#product_accordion .accordion-collapse {
    color: #252525 !important;
}



/* =========================================================
   15. FABRICANT / MARQUE
   ========================================================= */

.product__manufacturer a,
.product-manufacturer a,
.page-product .product__manufacturer a {
    color: #053B46 !important;
}

.product__manufacturer a:hover,
.product-manufacturer a:hover,
.page-product .product__manufacturer a:hover {
    color: #68164F !important;
}



/* =========================================================
   16. MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    #header .header-bottom {
        min-height: 58px !important;
    }

    #header .header-bottom__container {
        min-height: 58px !important;
        align-items: center !important;
    }


    /* Logo mobile */

    #header .header-bottom__logo {
        flex: 0 0 75px !important;

        width: 75px !important;
        max-width: 75px !important;
    }

    #header .header-bottom__h1 {
        width: 75px !important;
        max-width: 75px !important;

        margin: 0 !important;
    }

    #header .header-bottom__logo .navbar-brand {
        width: 75px !important;
        max-width: 75px !important;

        margin: 0 !important;
    }

    #header .header-bottom__logo .navbar-brand img.logo {
        display: block !important;

        width: 75px !important;
        max-width: 75px !important;

        height: auto !important;
        max-height: none !important;

        object-fit: contain !important;
    }


    /* Slider mobile */

    #ps_imageslider .carousel-caption,
    #ps_imageslider .ps-imageslider__caption {
        width: 90% !important;

        bottom: 10px !important;

        padding: 10px 14px !important;
    }


    /* Prix mobile */

    .product-miniature__price {
        font-size: 19px !important;
    }


    /* Quantité */

    .product-miniature__form {
        gap: 6px !important;
    }

    .product-miniature__form .quantity-button button,
    .product-miniature__form .quantity-button input,
    .product-miniature__form .js-quantity-button button,
    .product-miniature__form .js-quantity-button input {
        min-height: 40px !important;
        height: 40px !important;
    }

    .product-miniature__form .quantity-button button,
    .product-miniature__form .js-quantity-button button {
        font-size: 21px !important;
        font-weight: 800 !important;
    }


    /* Panier mobile */

    .product-miniature__form button[data-button-action="add-to-cart"] {
        flex-basis: 52px !important;

        width: 52px !important;
        min-width: 52px !important;

        height: 40px !important;
        min-height: 40px !important;
    }
}



/* =========================================================
   17. PETITS MOBILES
   ========================================================= */

@media (max-width: 480px) {

    .product-miniature__price {
        font-size: 18px !important;
    }

    .product-miniature__form .quantity-button button,
    .product-miniature__form .js-quantity-button button {
        font-size: 20px !important;
    }

    .product-miniature__form button[data-button-action="add-to-cart"] {
        flex-basis: 48px !important;

        width: 48px !important;
        min-width: 48px !important;
    }
}
/* NOMS / DESCRIPTIONS DES PRODUITS — CASSE NORMALE */

.product-miniature .product-title,
.product-miniature .product-title a,
.product-miniature__title,
.product-miniature__title a {
    text-transform: none !important;
}
/* =========================================================
   CARTES PRODUITS — ALIGNEMENT DES TITRES / PRIX / COMMANDES
   ========================================================= */

/* Zone réservée au nom du produit */
.product-miniature__title {
    min-height: 72px !important;
    display: flex !important;
    align-items: flex-start !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;

    text-transform: none !important;
}

/* Prix */
.product-miniature__prices {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
}

/* Bloc quantité + panier */
.product-miniature__form {
    width: 100% !important;
}
.product-miniature__price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111 !important;
} 
