/*
 Theme Name: Hello Elementor Child
 Template: hello-elementor
 Version: 1.0.0
*/


footer{
    overflow:hidden;
}



.woocommerce-message .button {
    display: none !important;
}

/* Force la largeur max UNIQUEMENT sur le corps de la page */
#content .elementor-section-wrap > .e-con, 
#content .elementor-section-wrap > .elementor-section,
main .e-con.e-parent:not(.e-con-full) {
    max-width: 2560px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}


.elementor-location-single .e-con.e-parent:not(.e-con-full) {
    max-width: 2560px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* ── Variables ─────────────────────────────────────────── */
.mnm_form.layout_grid {
    --mnm-primary    : #815F48;
    --mnm-primary-dk : #1b4332;
    --theme-chocolate : #4E2202;
    --mnm-accent     : #52b788;
    --mnm-button-bg  : #EEE8DA;
    --mnm-card-bg    : #F9F6EE;
    --mnm-card-border: #EEE8DA;
    --mnm-radius     : 14px;
    --mnm-text       : #4E2202;
    --mnm-text-light : #666666;
    --mnm-gap        : 20px;
}


/* ── Ligne actions Mix & Match ─────────────────────────── */
.mnm_form.layout_grid {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    grid-template-areas:
        "products products products"
        "reset cart status" !important;
    align-items: center !important;
    gap: 24px !important;
}
.mnm_form.layout_grid > .mnm_reset {
    grid-area: reset !important;
    justify-self: center !important;
    width: auto !important;
    margin: 0 !important;
}

.mnm_form.layout_grid > .add_to_cart_button_wrap {
    grid-area: cart !important;
    justify-self: center !important;
    width: auto !important;
    margin: 0 !important;
}

.mnm_form.layout_grid > .mnm_status {
    grid-area: status !important;
    justify-self: center !important;
    width: auto !important;
    margin: 0 !important;
}

.mnm_form.layout_grid > .mnm_child_products,
.mnm_form.layout_grid > .products {
    grid-area: products !important;
    width: 100% !important;
}

.mnm_form.layout_grid > .mnm_reset,
.mnm_form.layout_grid > .add_to_cart_button_wrap,
.mnm_form.layout_grid > .mnm_status {
    align-self: center !important;
}


@media (max-width: 600px) {
    .mnm_form.layout_grid {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "status"
            "cart"
            "reset"
            "products" !important;
        justify-items: center !important;
    }

    .mnm_form.layout_grid > .mnm_reset,
    .mnm_form.layout_grid > .add_to_cart_button_wrap,
    .mnm_form.layout_grid > .mnm_status {
        justify-self: center !important;
    }
}


/* ── Grille produits ────────────────────────────────────── */
.mnm_form.layout_grid .products,
.mnm_form.layout_grid ul.products.columns-3,
.mnm_form.layout_grid ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: var(--mnm-gap) !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    float: none !important;
}

.mnm_form.layout_grid .products li.product,
.mnm_form.layout_grid ul.products.columns-3 li.product,
.mnm_form.layout_grid ul.products li.first,
.mnm_form.layout_grid ul.products li.last {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mnm_form.layout_grid ul.products::before,
.mnm_form.layout_grid ul.products::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 1024px) {
    .mnm_form.layout_grid .products,
    .mnm_form.layout_grid ul.products.columns-3,
    .mnm_form.layout_grid ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .mnm_form.layout_grid .products li.product {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 600px) {
    .mnm_form.layout_grid .products,
    .mnm_form.layout_grid ul.products.columns-3,
    .mnm_form.layout_grid ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .mnm_form.layout_grid .products li.product {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* ── Carte produit ──────────────────────────────────────── */
.mnm_form.layout_grid .products .product.child-item {
    background-color: var(--mnm-card-bg) !important;
    border: 1px solid var(--mnm-card-border) !important;
    border-radius: var(--mnm-radius) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mnm_form.layout_grid .products .product.child-item:hover {
    box-shadow: 0 6px 24px rgba(45, 106, 79, 0.12) !important;
    transform: translateY(-2px) !important;
}

/* ── Image ──────────────────────────────────────────────── */
.mnm_form.layout_grid .products .product .mnm_image,
.mnm_form.layout_grid .products .product .mnm_child_product_images {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #eef2f0 !important;
    margin: 0 !important;
}

.mnm_form.layout_grid .products .product .mnm_image figure,
.mnm_form.layout_grid .products .product .mnm_child_product_image {
    margin: 0 !important;
    display: block !important;
}

.mnm_form.layout_grid .products .product .mnm_image img,
.mnm_form.layout_grid .products .product .mnm_child_product_image img {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.35s ease !important;
}

.mnm_form.layout_grid .products .product.child-item:hover .mnm_image img {
    transform: scale(1.04) !important;
}

.mnm_form.layout_grid .products .product .mnm_image a.image {
    display: block !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

@media (max-width: 600px) {
    .mnm_form.layout_grid .products .product .mnm_image img,
    .mnm_form.layout_grid .products .product .mnm_child_product_image img {
        height: 140px !important;
    }
}

/* ── Détails produit ────────────────────────────────────── */
.mnm_form.layout_grid .products .product .product-details {
    padding: 14px 14px 0 !important;
    flex: 1 !important;
    width: 100% !important;
}

.mnm_form.layout_grid .products .product .woocommerce-loop-product__title {
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    line-height: 1.35 !important;
    color: var(--mnm-text) !important;
    margin: 0 0 6px !important;
}

.mnm_form.layout_grid .products .product .woocommerce-loop-product__title a {
    color: inherit !important;
    text-decoration: none !important;
}

.mnm_form.layout_grid .products .product .woocommerce-loop-product__title a:hover {
    color: var(--mnm-primary) !important;
}

/* ── Contrôle de quantité ───────────────────────────────── */
.mnm_form.layout_grid .products .product .product-quantity {
    display: flex !important;
    justify-content: center !important;
    padding: 10px 14px 14px !important;
    margin-top: auto !important;
    width: 100% !important;
}

.mnm_form.layout_grid.has-plus-minus-buttons .products .product .product-quantity .quantity {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 120px !important;
    max-width: 140px !important;
    float: none !important;
    border: 1px solid var(--mnm-card-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.mnm_form.layout_grid.has-plus-minus-buttons .products .product .quantity .button--minus,
.mnm_form.layout_grid.has-plus-minus-buttons .products .product .quantity .button--plus {
    background-color: #EEE8DA !important;
    color: var(--mnm-primary) !important;
    border: none !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.18s ease, color 0.18s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

.mnm_form.layout_grid.has-plus-minus-buttons .products .product .quantity .button--minus:hover:not(:disabled),
.mnm_form.layout_grid.has-plus-minus-buttons .products .product .quantity .button--plus:hover:not(:disabled) {
    background-color: #C8BA9E !important;
    color: var(--mnm-primary) !important;
}

.mnm_form.layout_grid.has-plus-minus-buttons .products .product .quantity .button:disabled {
    opacity: 0.25 !important;
    cursor: not-allowed !important;
}

.mnm_form.layout_grid.has-plus-minus-buttons .products .product .quantity .qty {
    width: 42px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid var(--mnm-card-border) !important;
    border-right: 1px solid var(--mnm-card-border) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--mnm-text) !important;
    background: #fff !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 42px !important;
}

/* ── Produit hors stock ─────────────────────────────────── */
.mnm_form .child-item.outofstock {
    filter: grayscale(60%) !important;
    opacity: 0.6 !important;
}

/* ── Barre de statut ────────────────────────────────────── */
.mnm_form .mnm_price {
    background-color: #f0f7f4 !important;
    border: 1px solid  var(--theme-chocolate)!important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    margin: 0 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    display: none !important;
}

.mnm_form .mnm_price .total {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--mnm-primary) !important;
}

.mnm_form .mnm_price .mnm_counter {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: var(--mnm-text-light) !important;
}

.mnm_form .mnm_message.woocommerce-error {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
    border-radius: 8px !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    font-size: 0.88rem !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
}


.mnm_form .mnm_message.woocommerce-message:not(.woocommerce-error) {
    background: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    color: #166534 !important;
    border-radius: 8px !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    font-size: 0.88rem !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
}



.mnm_form .mnm_message li {
    margin: 0 !important;
    padding: 0 !important;
}

.mnm_form .mnm_message {
    margin: 0 !important;
}

.mnm_form .mnm_status {
    display: flex !important;
    align-items: center !important;
}

/* ── Bouton Ajouter au panier ── */
.mnm_form .add_to_cart_button_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 !important;
    text-align: center !important;
}

.mnm_form .e-atc-qty-button-holder {
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
}

.mnm_form .single_add_to_cart_button {
    background-color: var(--theme-chocolate) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    letter-spacing: 0.02em !important;
    display: inline-block !important;
}

.mnm_form .single_add_to_cart_button:hover:not(:disabled) {
    background-color: var(--mnm-primary) !important;
}

.mnm_form .single_add_to_cart_button:disabled {
    background-color: #cccccc !important;
    cursor: not-allowed !important;
}
.mnm_form .single_add_to_cart_button {
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* ── Bouton reset ──────────────────────────────────────── */
.mnm_form .mnm_reset {
    background-color: var(--mnm-button-bg) !important;
    color: var(--theme-chocolate) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.mnm_form .mnm_reset:hover,
.mnm_form .mnm_reset:focus,
.mnm_form .mnm_reset:active {
    background-color: var(--mnm-button-bg) !important;
    color: var(--theme-chocolate) !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.mnm_form .mnm_reset::after {
    color: var(--theme-chocolate) !important;
}

/* Target product price */
/* Target product price */
.target-product-price,
.target-product-price .woocommerce-Price-amount,
.target-product-price .woocommerce-Price-currencySymbol {
  font-family: var(--e-global-typography-primary-font-family), "Poppins", sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: #4E2202 !important;
}

.target-product-price {
  display: inline-flex;
  align-items: baseline;
}

.target-product-price .woocommerce-Price-amount {
  display: inline-flex;
  align-items: baseline;
  gap: 0.08em;
}

.target-product-price .woocommerce-Price-currencySymbol {
  vertical-align: baseline;
  margin: 0;
}

.target-product-price del {
  color: #545454 !important;
  opacity: 0.55;
  font-size: 0.65em !important;
  margin-right: 10px;
}

.target-product-price ins {
  color: #4E2202 !important;
  text-decoration: none;
}