/*
Theme Name: Hello Elementor Child
Theme URI: https://boucherie-moray.be
Description: Thème enfant pour Boucherie Moray
Author: Boucherie Moray
Template: hello-elementor
Version: 1.0.0
*/

/* ==============================================
   CHECKOUT - PICKUP / RETRAIT
   ============================================== */
.wpc_pro_order_time { display: none !important; }
#wpc_pro_order_time_field { display: none !important; }
.woocommerce-shipping-fields { display: none !important; }

.wpc_pro_date_section { display: flex; gap: 16px; }
.wpc_pro_date_section .wpc_pro_pickup_date,
.wpc_pro_date_section .wpc_pro_time_section { flex: 1; }

@media (max-width: 768px) {
    .wpc_pro_date_section { flex-direction: column; }
}

.wpc_pro_pickup_section {
    width: 100% !important;
    grid-column: 1 / -1 !important;
    clear: both !important;
}

.wpc_pro_pickup_section .form-row,
.wpc_pro_pickup_section .wpc_pro_date_settings,
.wpc_pro_pickup_section .wpc_pro_time_settings {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-bottom: 15px !important;
}

/* ==============================================
   BOUTONS CATÉGORIE BOUCHERIE (custom)
   ============================================== */
.boucherie-wrap .boucherie-cat-button,
.boucherie-wrap .boucherie-cat-button:hover,
.boucherie-wrap .boucherie-cat-button:focus {
    background-color: transparent !important;
    background: transparent !important;
    color: #c0392b !important;
    border: 2px solid transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

.boucherie-wrap .boucherie-cat-button:hover {
    background-color: #f5f5f5 !important;
    border-color: #e0e0e0 !important;
}

.boucherie-wrap .boucherie-cat-item.is-active .boucherie-cat-button,
.boucherie-wrap .boucherie-cat-item.is-active .boucherie-cat-button:hover,
.boucherie-wrap .boucherie-cat-item.is-active .boucherie-cat-button:focus {
    background-color: #c0392b !important;
    color: #ffffff !important;
    border-color: #c0392b !important;
}

/* ==============================================
   WPCAFE - IMAGES DES CATÉGORIES
   ============================================== */
.main_wrapper_5050a16 .wpc-nav li:nth-child(1)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-boeuf.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(2)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-porc.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(3)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-veau.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(4)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-agneau.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(5)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-poulet.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(6)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-charcuterie.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(7)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-traiteur-chaud.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(8)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-salade.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(9)  a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-BBQ.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(10) a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-dessert.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(11) a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-fromages.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(12) a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-raclette.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(13) a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-choucroute.webp') center/contain no-repeat transparent !important; }
.main_wrapper_5050a16 .wpc-nav li:nth-child(14) a::before { background: url('http://boucheriemoray.be/wp-content/uploads/2026/03/categorie-oeufs.webp') center/contain no-repeat transparent !important; }

/* ==============================================
   WPCAFE - CERCLE FOND CATÉGORIE ACTIVE (injecté JS)
   ============================================== */
.wpc-nav li a .custom-bg-circle {
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: rgba(192, 57, 43, 0.12);
    z-index: 1;
    pointer-events: none;
    display: block;
}

/* ==============================================
   WOOCOMMERCE - CACHER NOTICES
   ============================================== */
.woocommerce-message,
.woocommerce-notices-wrapper,
.wc-block-components-notice-banner {
    display: none !important;
}

/* ==============================================
   BOUTON PANIER - ÉTAT NORMAL
   Cache les spans de texte WPCafe
   ============================================== */
.wpc-add-to-cart a.add_to_cart_button .adding {
    display: none !important;
}

.wpc-add-to-cart a.add_to_cart_button:not([aria-disabled="true"]) .added {
    display: none !important;
}

/* ==============================================
   BOUTON PANIER - ÉTAT "AJOUTÉ" (aria-disabled="true")
   Overlay ::before vert couvre tout le bouton
   ============================================== */
.wpc-add-to-cart a.add_to_cart_button[aria-disabled="true"] {
    position: relative !important;
    overflow: hidden !important;
}

.wpc-add-to-cart a.add_to_cart_button[aria-disabled="true"]::before {
    content: '✓' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: white !important;
    background-color: rgb(46, 204, 113) !important;
    z-index: 10 !important;
}

/* ==============================================
   TOAST "AJOUTÉ AU PANIER"
   ============================================== */
#boucherie-cart-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background-color: rgb(46, 204, 113);
    color: white;
    padding: 12px 24px;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 99999;
    pointer-events: none;
}

#boucherie-cart-toast.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
/* WPCAFE - Position pour le cercle actif */
.wpc-nav li a {
    position: relative;
}
/* WPCAFE - Espacement égal des catégories */
.wpc-nav {
    display: flex !important;
    justify-content: space-evenly !important;
    width: 100% !important;
}

.wpc-nav li {
    flex: 1 !important;
    text-align: center !important;
}
/* Espacement égal des catégories */
.main_wrapper_5050a16 .wpc-nav {
    justify-content: flex-start !important;
    gap: 15px !important;
}

.main_wrapper_5050a16 .wpc-nav > li {
    flex: 0 0 100px !important;
    text-align: center !important;
}
.woocommerce-message {
    display: none !important;
}
/* ── Ordering Food : quantité compacte ── */
.ordering-food-wrap .ordering-food-qty__btn {
    flex-shrink: 0 !important;
    padding: 2px 6px !important;
    min-width: 28px !important;
}
.ordering-food-wrap .ordering-food-qty__input {
    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;
}

/* ── Override : neutraliser les effets hover/focus/active rouge (Elementor Kit 5) sur les boutons +/- quantite ── */
/* ── Neutraliser les styles Elementor Kit sur les boutons qty ── */
.ordering-food-wrap .ordering-food-qty__btn,
.wpcafe-qty__btn {
    border-style: none !important;
    box-sizing: border-box !important;
}

.ordering-food-wrap .ordering-food-qty__btn:hover,
.ordering-food-wrap .ordering-food-qty__btn:focus,
.ordering-food-wrap .ordering-food-qty__btn:focus-visible,
.ordering-food-wrap .ordering-food-qty__btn:active,
.wpcafe-qty__btn:hover,
.wpcafe-qty__btn:focus,
.wpcafe-qty__btn:focus-visible,
.wpcafe-qty__btn:active {
    background: #E60024 !important;
    background-color: #E60024 !important;
    color: #fff !important;
    border-style: none !important;
    border: none !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.ordering-food-wrap .ordering-food-qty__btn::before,
.ordering-food-wrap .ordering-food-qty__btn::after,
.wpcafe-qty__btn::before,
.wpcafe-qty__btn::after {
    display: none !important;
    content: none !important;
}

/* ── Qty input : fond transparent dans le bloc rouge ── */
.ordering-food-wrap .ordering-food-qty__input,
.wpcafe-qty__input {
    background: #fff !important;
    color: #1F1F1F !important;
    font-weight: 700 !important;
    border: none !important;
}

/* Effacer le fond rouge du container #circle (vient de post-123.css) */
#circle {
    background: transparent !important;
}

/* Cart : positionné sous la navbar (header = 14vh) */
.elementor-element-fe42533 {
    top: calc(14vh + 27px) !important;
}
/* Idem avec sélecteur exact Elementor pour garantir la victoire */
.elementor-123 .elementor-element.elementor-element-fe42533 {
    top: calc(14vh + 27px) !important;
}
/* Cacher le prix dans le bouton rond */
#circle .elementor-button-text,
#elementor-menu-cart__toggle_button .elementor-button-text {
    display: none !important;
}

/* ==============================================
   PANIER ÉPINGLÉ ROND (#circle)
   ============================================== */

/* Cibler l'ID direct du bouton Elementor (plus spécifique qu'une classe) */
#elementor-menu-cart__toggle_button,
#circle .elementor-menu-cart__toggle_button {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #E60024 !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(230, 0, 36, 0.45) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    border: none !important;
    overflow: hidden !important;
    line-height: 1 !important;
}

/* Hover : conserver le cercle + pas de carré parasite */
#elementor-menu-cart__toggle_button:hover,
#circle .elementor-menu-cart__toggle_button:hover {
    border-radius: 50% !important;
    background: #E60024 !important;
    border: none !important;
    transform: scale(1.08) !important;
    box-shadow: 0 6px 22px rgba(230, 0, 36, 0.55) !important;
}

/* Neutraliser les hover du wrapper qui créent le carré */
#circle .elementor-menu-cart__toggle,
#circle .elementor-button-wrapper,
#circle .elementor-menu-cart__toggle:hover,
#circle .elementor-button-wrapper:hover {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Icône SVG */
#elementor-menu-cart__toggle_button svg,
#circle .elementor-menu-cart__toggle_button svg {
    width: 26px !important;
    height: 26px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Badge compteur */
#circle .elementor-button-icon[data-counter]::after {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    font-size: 11px !important;
    top: -2px !important;
    right: -2px !important;
    border-radius: 50% !important;
}

/* Réaffiche le texte des boutons dans le panel du panier */
#circle .elementor-menu-cart__footer-buttons .elementor-button-text {
    display: inline !important;
}

/* Hover bouton Commander - neutralise le sursaut du Kit Elementor */
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
    border: none !important;
    outline: none !important;
    transition: background-color 0.2s ease !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
.elementor-menu-cart__footer-buttons .elementor-button--checkout:focus {
    background-color: #cc001f !important;
    color: #fff !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ==============================================
   FIX : scroll horizontal page boutique
   1fr peut forcer min-content → minmax(0,1fr)
   Padding Elementor 6rem trop large sur tablette
   → cibler .e-con-inner du conteneur boxed d3e4356
   ============================================== */

/* Réduction du padding horizontal sur tablette (breakpoint Elementor 1024px) */
@media (max-width: 1024px) {
    .elementor-element.elementor-element-d3e4356 > .e-con-inner {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

/* Grid : minmax(0,1fr) empêche les colonnes
   de s'étirer au-delà de l'espace disponible */
.ordering-food-wrap .ordering-food-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (min-width: 900px) and (max-width: 1199px) {
    .ordering-food-wrap .ordering-food-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 600px) and (max-width: 899px) {
    .ordering-food-wrap .ordering-food-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 599px) {
    .ordering-food-wrap .ordering-food-product-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Empêche les items grid de forcer une largeur min-content */
.ordering-food-wrap .ordering-food-product-grid__item,
.ordering-food-wrap .ordering-food-product-card {
    min-width: 0;
}

/* Prix masqué dans le bouton COMMANDER (affiché dans le corps de la carte) */
.ordering-food-wrap .of-cmd-btn__price {
    display: none !important;
}

/* Couleur badges allergènes Moray */
.ordering-food-wrap { --of-allergen-color: #E60024; }
