/* =========================================================================
   Bizzi Enseigne — design system (brief du 21/10/2026)
   Une couleur d'action (jaune du logo), fonds sombres pour le lumineux,
   Space Grotesk pour les titres, Roboto pour le texte, trois styles de
   bouton, rayon 8 px (12 px pour les cartes).
   ========================================================================= */

:root {
  --be-ink: #121826;
  --be-night: #0B1220;
  --be-night-2: #16213A;
  --be-accent: #FFD302;
  --be-accent-hover: #E6BE00;
  --be-blue: #1C8DB9;
  --be-blue-dark: #15708F;
  --be-muted: #5B6472;
  --be-line: #E3E6EA;
  --be-bg: #FFFFFF;
  --be-bg-soft: #F4F5F7;
  --be-success: #1E9E5A;
  --be-error: #D23B3B;
  --be-radius: 8px;
  --be-radius-card: 12px;
  --be-shadow-card: 0 2px 8px rgba(18, 24, 38, .06);
  --be-shadow-btn: 0 2px 6px rgba(18, 24, 38, .15);
  --be-font-head: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
  --be-font-body: "Roboto", "Helvetica Neue", Arial, sans-serif;
  --be-section-y: 80px;
  --be-container: 1200px;
  --be-gutter: 24px;
}
@media (max-width: 767px) { :root { --be-section-y: 48px; } }

/* ---------- polices : Space Grotesk et Roboto sont servies localement par Elementor (e_local_google_fonts), pas de doublon ici ---------- */

/* ---------- base ---------- */
body { font-family: var(--be-font-body); color: var(--be-ink); background: var(--be-bg); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .elementor-heading-title, .product_title { font-family: var(--be-font-head); color: var(--be-ink); font-weight: 700; letter-spacing: -.01em; text-transform: none; }
h1, .elementor-widget-heading h1.elementor-heading-title { font-size: 44px; line-height: 1.1; }
h2, .elementor-widget-heading h2.elementor-heading-title { font-size: 32px; line-height: 1.15; }
h3, .elementor-widget-heading h3.elementor-heading-title { font-size: 22px; line-height: 1.25; font-weight: 600; }
h4, .elementor-widget-heading h4.elementor-heading-title { font-size: 18px; line-height: 1.3; font-weight: 600; }
@media (max-width: 767px) {
  h1, .elementor-widget-heading h1.elementor-heading-title { font-size: 32px; }
  h2, .elementor-widget-heading h2.elementor-heading-title { font-size: 26px; }
  h3, .elementor-widget-heading h3.elementor-heading-title { font-size: 20px; }
}
small, .be-small, .woocommerce-breadcrumb, .elementor-widget-woocommerce-breadcrumb { font-size: 14px; line-height: 1.5; color: var(--be-muted); }
a { color: var(--be-blue); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--be-blue-dark); }
.woocommerce-breadcrumb a { color: var(--be-muted); }
.woocommerce-breadcrumb a:hover { color: var(--be-blue); }
.e-con, .elementor-section { --be-x: 0; }
img { max-width: 100%; height: auto; }

/* ---------- boutons : primaire (par défaut), secondaire (.be-secondary), lien (.be-link) ---------- */
.elementor-button, .elementor-button-link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce .checkout-button, .woocommerce #place_order,
.fc-wrapper .fc-next-step, .fc-wrapper .button, .wapf .button, .wp-element-button,
.elementor-widget-form .elementor-button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 24px; border-radius: var(--be-radius) !important;
  background: var(--be-accent) !important; color: var(--be-ink) !important; border: 1.5px solid var(--be-accent) !important;
  font-family: var(--be-font-body) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important;
  box-shadow: var(--be-shadow-btn); text-decoration: none; transition: background .15s, border-color .15s, transform .15s; cursor: pointer;
}
.elementor-button:hover, .elementor-button:focus-visible,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce .checkout-button:hover, .woocommerce #place_order:hover,
.fc-wrapper .fc-next-step:hover, .elementor-widget-form .elementor-button[type="submit"]:hover {
  background: var(--be-accent-hover) !important; border-color: var(--be-accent-hover) !important; color: var(--be-ink) !important;
}
.elementor-button .elementor-button-content-wrapper { gap: 8px; }
/* secondaire : contour encre sur clair, blanc sur sombre */
.be-secondary .elementor-button, .elementor-button.be-secondary, .woocommerce .button.be-secondary, a.be-btn-secondary, .be-card .be-card__btn {
  background: transparent !important; color: var(--be-ink) !important; border: 1.5px solid var(--be-ink) !important; box-shadow: none !important;
}
.be-secondary .elementor-button:hover, .elementor-button.be-secondary:hover, a.be-btn-secondary:hover, .be-card .be-card__btn:hover { background: var(--be-ink) !important; color: #fff !important; }
.be-dark .be-secondary .elementor-button, .be-dark .elementor-button.be-secondary, .be-dark a.be-btn-secondary, .be-dark .be-card .be-card__btn { color: #fff !important; border-color: #fff !important; }
.be-dark .be-secondary .elementor-button:hover, .be-dark .elementor-button.be-secondary:hover, .be-dark a.be-btn-secondary:hover, .be-dark .be-card .be-card__btn:hover { background: #fff !important; color: var(--be-ink) !important; }
/* lien avec flèche : remplace les boîtes « Découvrir nos enseignes… » */
.be-link .elementor-button, .elementor-button.be-link, a.be-btn-link {
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important;
  color: var(--be-blue) !important; font-weight: 600 !important; border-radius: 0 !important;
}
.be-link .elementor-button::after, .elementor-button.be-link::after, a.be-btn-link::after { content: "→"; margin-left: 6px; transition: transform .15s; }
.be-link .elementor-button:hover, .elementor-button.be-link:hover, a.be-btn-link:hover { text-decoration: underline; color: var(--be-blue-dark) !important; }
.be-link .elementor-button:hover::after, a.be-btn-link:hover::after { transform: translateX(3px); }
/* bouton plus petit dans l'en-tête */
.be-header .elementor-button { min-height: 44px; padding: 0 20px; box-shadow: none; }

/* ---------- champs de formulaire (Elementor, WooCommerce, configurateur APF, Fluid Checkout) ---------- */
.elementor-field-group .elementor-field, .elementor-field-textual,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-input-wrapper .input-text,
.wapf-field-container input[type="text"], .wapf-field-container input[type="number"], .wapf-field-container input[type="email"], .wapf-field-container select, .wapf-field-container textarea,
.fc-wrapper input.input-text, .fc-wrapper select, .fc-wrapper textarea, .select2-container--default .select2-selection--single {
  min-height: 48px; padding: 10px 14px; border: 1px solid var(--be-line) !important; border-radius: var(--be-radius) !important; background: #fff; color: var(--be-ink);
  font-family: var(--be-font-body); font-size: 16px; line-height: 1.4; box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
.elementor-field-group .elementor-field:focus, .woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus,
.wapf-field-container input:focus, .wapf-field-container select:focus, .wapf-field-container textarea:focus, .fc-wrapper input.input-text:focus, .fc-wrapper select:focus {
  outline: none; border-color: var(--be-blue) !important; box-shadow: 0 0 0 2px rgba(28, 141, 185, .25) !important;
}
.elementor-field-group textarea.elementor-field { min-height: 140px; }
.elementor-field-label, .woocommerce form .form-row label, .wapf-field-container .wapf-field-label, .wapf-field-container label, .fc-wrapper .form-row label {
  color: var(--be-ink) !important; font-family: var(--be-font-body); font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; text-decoration: none !important; border: 0 !important;
}
.wapf-field-container .wapf-field-label { border-bottom: 0 !important; background: none !important; padding-left: 0 !important; }
.wapf-field-container .wapf-field-label::before, .wapf-field-container .wapf-field-label::after { display: none !important; }
.wapf-field-description, .elementor-field-subgroup .elementor-field-option label, .form-row .description, .be-help { color: var(--be-muted); font-size: 14px; font-weight: 400; }
.elementor-field-type-acceptance .elementor-field-label, .elementor-field-type-acceptance label { font-weight: 400 !important; font-size: 14px !important; color: var(--be-muted) !important; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--be-error) !important; }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--be-success) !important; }
.woocommerce-error, .woocommerce-message, .woocommerce-info { border-top-color: var(--be-blue); border-radius: var(--be-radius); }
.woocommerce-error { border-top-color: var(--be-error); }

/* ---------- cartes ---------- */
.be-card { background: #fff; border: 1px solid var(--be-line); border-radius: var(--be-radius-card); box-shadow: var(--be-shadow-card); overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.be-dark .be-card { background: var(--be-night-2); border-color: rgba(255, 255, 255, .08); color: #fff; }
.be-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--be-bg-soft); }
.be-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s ease; }
.be-card:hover .be-card__media img { transform: scale(1.03); }
.be-card__tag { position: absolute; top: 12px; left: 12px; background: var(--be-night); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 8px; border-radius: 4px; line-height: 1; }
.be-card__body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.be-card__title { font-family: var(--be-font-head); font-size: 20px; font-weight: 600; line-height: 1.25; margin: 0; }
.be-card__title a { color: inherit; text-decoration: none; }
.be-card__price { font-size: 15px; font-weight: 600; color: var(--be-ink); }
.be-dark .be-card__price { color: #fff; }
.be-card__delay { font-size: 14px; color: var(--be-muted); }
.be-dark .be-card__delay { color: rgba(255, 255, 255, .7); }
.be-card__btn { margin-top: auto; width: 100%; justify-content: center; }

/* grille produits WooCommerce (boutique, catégories, similaires, widgets Elementor) */
.woocommerce ul.products, .elementor-widget-woocommerce-products ul.products, .elementor-widget-wc-archive-products ul.products {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--be-gutter); margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products li.product, .elementor-widget-woocommerce-products ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
@media (max-width: 1024px) { .woocommerce ul.products, .elementor-widget-woocommerce-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .woocommerce ul.products, .elementor-widget-woocommerce-products ul.products { grid-template-columns: 1fr; } }

/* ---------- badges de réassurance ---------- */
.be-badges { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0; padding: 0; list-style: none; }
.be-badges li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; }
.be-badges svg, .be-badges i { width: 20px; height: 20px; color: var(--be-blue); flex: none; }
.be-dark .be-badges svg, .be-dark .be-badges i { color: var(--be-accent); }
.be-dark .be-badges li { color: #fff; }
@media (max-width: 767px) { .be-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; } }

/* ---------- sections, fonds, conteneur ---------- */
.be-section { padding: var(--be-section-y) var(--be-gutter); }
.be-dark { background: var(--be-night); color: #fff; }
.be-dark h1, .be-dark h2, .be-dark h3, .be-dark h4, .be-dark .elementor-heading-title, .be-dark p, .be-dark li { color: #fff; }
.be-dark a:not(.elementor-button) { color: rgba(255, 255, 255, .85); }
.be-dark a:not(.elementor-button):hover { color: var(--be-accent); }
.be-dark-2 { background: var(--be-night-2); color: #fff; }
.be-soft { background: var(--be-bg-soft); }
.be-container { max-width: var(--be-container); margin: 0 auto; }

/* ---------- avis Trustindex sur fond sombre ---------- */
.be-dark .ti-widget .ti-review-item, .be-dark .ti-widget .ti-review-content, .be-dark .ti-widget .ti-inner { background: var(--be-night-2) !important; color: #fff !important; border-color: rgba(255, 255, 255, .08) !important; }
.be-dark .ti-widget .ti-name, .be-dark .ti-widget .ti-date, .be-dark .ti-widget .ti-read-more, .be-dark .ti-widget .ti-header { color: #fff !important; }
.ti-widget .ti-stars .ti-star, .ti-widget .ti-rating-text, .be-stars { color: var(--be-accent) !important; }
.ti-widget, .ti-widget * { font-family: var(--be-font-body) !important; }

/* ---------- WooCommerce : prix, fiche ---------- */
.woocommerce div.product p.price, .woocommerce div.product span.price, .elementor-widget-woocommerce-product-price .price, .be-price { font-family: var(--be-font-head); font-weight: 700; font-size: 24px; color: var(--be-ink); line-height: 1; }
.bizzi-from-price { font-family: var(--be-font-head); font-size: 22px; font-weight: 700; color: var(--be-ink); display: block; line-height: 1.2; }
.bizzi-from-price small, .bizzi-from-price .be-ttc { display: block; font-family: var(--be-font-body); font-size: 15px; font-weight: 400; color: var(--be-muted); margin-top: 4px; }
.woocommerce div.product .product_title, .elementor-widget-woocommerce-product-title h1 { font-size: 32px; line-height: 1.15; font-weight: 700; color: var(--be-ink); }
.woocommerce div.product div.images img, .woocommerce-product-gallery__image img { border-radius: var(--be-radius-card); }
.woocommerce table.shop_table { border: 1px solid var(--be-line); border-radius: var(--be-radius-card); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { font-family: var(--be-font-body); font-weight: 600; color: var(--be-ink); }
.woocommerce .quantity .qty { min-height: 48px; border: 1px solid var(--be-line); border-radius: var(--be-radius); }
.bizzi-perso-notice { color: var(--be-muted); font-size: 14px; }

/* ---------- Fluid Checkout : tokens (plus de violet ni de vert) ---------- */
.fc-wrapper .fc-progress-bar__step--current .fc-progress-bar__indicator, .fc-progress-bar__fill, .fc-wrapper .fc-checkout-steps__step-number { background: var(--be-accent) !important; color: var(--be-ink) !important; }
.fc-wrapper .fc-progress-bar { background: var(--be-line) !important; }
.fc-wrapper .fc-checkout-header, .fc-checkout-header, body.has-fluid-checkout .fc-checkout-header { background: var(--be-night) !important; color: #fff; min-height: 64px; }
.fc-checkout-header a, .fc-checkout-header .fc-checkout__secure-text { color: #fff !important; }
.fc-checkout-header img { height: 36px; width: auto; filter: brightness(0) invert(1); }
.fc-wrapper .fc-step__substep-title, .fc-wrapper h2, .fc-wrapper h3 { font-family: var(--be-font-head); color: var(--be-ink); }
.fc-wrapper .fc-step__substep-edit, .fc-wrapper .fc-step__substep-save { color: var(--be-blue) !important; }
.woocommerce-checkout-review-order-table .product-name dl.variation, .woocommerce table.shop_table dl.variation { font-size: 14px; color: var(--be-muted); font-style: normal; }
.woocommerce table.shop_table dl.variation dt, .woocommerce table.shop_table dl.variation dd { font-style: normal; text-decoration: none; }
.woocommerce-checkout-review-order-table .order-total .amount, .cart_totals .order-total .amount { font-family: var(--be-font-head); font-size: 20px; font-weight: 700; color: var(--be-ink); }
.fc-wrapper .fc-sidebar__inner { border: 1px solid var(--be-line); border-radius: var(--be-radius-card); }
.be-checkout-reassurance { margin: 16px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 14px; color: var(--be-muted); }
.be-checkout-reassurance li { display: flex; gap: 8px; align-items: flex-start; }
.be-checkout-reassurance li::before { content: "✓"; color: var(--be-success); font-weight: 700; }

/* ---------- divers : fin du rose, du violet et des pilules ---------- */
.elementor-widget-icon-box .elementor-icon, .elementor-widget-icon-list .elementor-icon-list-icon i, .elementor-widget-icon-list .elementor-icon-list-icon svg { color: var(--be-blue); fill: var(--be-blue); }
.elementor-element .elementor-icon-list-text, .elementor-icon-list-items a { font-family: var(--be-font-body); }
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button { min-height: 44px; padding: 0 12px; background: transparent !important; color: var(--be-ink) !important; border: 0 !important; box-shadow: none; }
.elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before { background: var(--be-accent) !important; color: var(--be-ink) !important; font-weight: 700; }
.wapf-product-totals { font-family: var(--be-font-head); }
.wapf-product-totals .wapf-pricing-total, .wapf-product-totals .wapf-total-price { font-size: 24px; font-weight: 700; color: var(--be-ink); }
select, .select2-selection__rendered { font-family: var(--be-font-body); }
/* zones tactiles */
.elementor-nav-menu a, .elementor-icon-list-items a, .site-footer a { min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- en-tête (lot 3) ---------- */
.be-header { box-shadow: none; }
.be-header.elementor-sticky--effects { box-shadow: 0 2px 8px rgba(18, 24, 38, .08); }
.be-header .be-logo img { height: 44px; width: auto; max-width: 168px; }
@media (max-width: 1024px) { .be-header .be-logo img { height: 40px; } }
@media (max-width: 767px) { .be-header .be-logo img { height: 36px; max-width: 138px; } }
.be-header .be-nav .elementor-nav-menu--main .elementor-item { font-family: var(--be-font-body); font-weight: 600; font-size: 15px; color: var(--be-ink); padding: 12px; }
.be-header .be-nav .elementor-nav-menu--dropdown { border-radius: 8px; box-shadow: 0 8px 24px rgba(18, 24, 38, .12); }
.be-header .be-nav .elementor-menu-toggle { width: 44px; height: 44px; border-radius: 8px; color: var(--be-ink); }
.be-header .be-phone .elementor-icon-list-item a, .be-header .be-phone-icon a, .be-header .be-account a { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
.be-header .be-cart .elementor-menu-cart__toggle .elementor-button { min-width: 44px; min-height: 44px; }
.be-header .be-header-cta .elementor-button { min-height: 44px; padding: 0 18px; box-shadow: none; }
/* tiroir mobile : 4 pages mères puis devis puis téléphone */
@media (max-width: 1024px) {
  .be-header .be-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { background: #fff; padding: 8px 0 16px; }
  .be-header .be-nav .elementor-nav-menu--dropdown a { padding: 14px 20px; font-size: 16px; }
}
/* ---------- pied de page (lot 3) ---------- */
.be-footer .be-footer-menu .elementor-nav-menu--main .elementor-item { padding: 6px 0; min-height: 40px; color: rgba(255, 255, 255, .75); font-weight: 400; }
.be-footer .be-footer-menu .elementor-nav-menu--main .elementor-item:hover { color: var(--be-accent); }
.be-footer .be-pay img, .be-footer .be-ship img { height: 28px; width: auto; filter: brightness(0) invert(1); opacity: .9; }
.be-footer .be-copyright a { color: var(--be-muted); }
.be-footer .be-manage-consent a { color: rgba(255, 255, 255, .75); }
.be-footer .elementor-widget-heading .elementor-heading-title { color: #fff; }

.be-header .be-phone .elementor-icon-list-text { white-space: nowrap; }
.be-header .be-cart .elementor-menu-cart__toggle .elementor-button-text { display: none; }
.be-footer .be-pay img, .be-footer .be-ship img { filter: brightness(0) invert(1) !important; -webkit-filter: brightness(0) invert(1) !important; }
.be-footer .elementor-widget-image img { height: 28px; width: auto; }
.be-footer > .e-con-inner > .e-con, .be-footer .e-con.e-child { min-width: 0; }

/* ---------- réassurance fiche, galerie réalisations (lot 4) ---------- */
.be-reassurance { margin: 16px 0; }
.be-reassurance svg { width: 20px; height: 20px; }
.be-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 24px 0; }
.be-gallery figure { margin: 0; border-radius: var(--be-radius-card); overflow: hidden; background: var(--be-bg-soft); }
.be-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.be-gallery figcaption { font-size: 14px; color: var(--be-muted); padding: 8px 10px; }
@media (max-width: 1024px) { .be-gallery { grid-template-columns: repeat(2, 1fr); } }
.be-card__ttc { font-weight: 400; color: var(--be-muted); }
.be-cart-shipping { margin: 8px 0 0; }

/* en-tête : le menu ne passe pas à la ligne */
.be-header > .e-con-inner { flex-wrap: nowrap; }
.be-header .elementor-widget-theme-site-logo { flex: 0 0 auto; width: auto !important; }
.be-header .be-nav { flex: 1 1 auto; width: auto !important; min-width: 0; }
.be-header .be-nav .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
.be-header .be-nav .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
.be-header > .e-con-inner > .e-con:last-child { flex: 0 0 auto; width: auto !important; }

/* ---------- accueil et catégories (lot 7) ---------- */
.be-hero .be-hero__title .elementor-heading-title { max-width: 760px; color: #fff; }
.be-hero .be-hero__sub { max-width: 640px; }
.be-trust-bar .elementor-icon-list-items.elementor-inline-items { justify-content: center; }
.be-trust-bar .elementor-icon-list-text { color: #fff; }
@media (max-width: 767px) { .be-trust-bar .elementor-icon-list-items.elementor-inline-items { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; } .be-trust-bar .elementor-icon-list-item { margin: 0 !important; } }
.be-lead .elementor-widget-container { max-width: 720px; margin: 0 auto; color: var(--be-muted); }
.be-steps .be-step__num .elementor-heading-title { font-size: 32px; color: var(--be-accent); }
.be-steps .e-con.e-child { background: #fff; border: 1px solid var(--be-line); border-radius: 12px; padding: 24px; }
.be-gallery-widget .gallery-item { margin: 0; }
.be-gallery-widget .gallery-item img { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.be-gallery-widget .gallery-caption { font-size: 14px; color: var(--be-muted); }
.be-reviews .ti-widget .ti-review-item { background: var(--be-night-2) !important; }
.be-atelier .elementor-widget-image img { border-radius: 12px; width: 100%; height: 100%; object-fit: cover; }
.be-devis .elementor-field-group { margin-bottom: 12px; }
.be-posts .elementor-post__card { border: 1px solid var(--be-line); border-radius: 12px; box-shadow: var(--be-shadow-card); }
.be-posts .elementor-post__title { font-family: var(--be-font-head); font-size: 20px; }
.be-posts .elementor-post__read-more { color: var(--be-blue); font-weight: 600; }
.be-archive-head .be-archive-intro .elementor-widget-container { max-width: 720px; }
.be-archive-text .be-term-description { max-width: 720px; }
.be-archive-text .be-term-description h1 { font-size: 32px; }
.be-archive-text .be-term-description h2 { font-size: 26px; margin-top: 32px; }
.be-breadcrumb .woocommerce-breadcrumb { font-size: 14px; color: var(--be-muted); margin-bottom: 8px; }
.be-products-grid .woocommerce-result-count, .be-products-grid .woocommerce-ordering { display: none; }
.be-products-grid nav.woocommerce-pagination { margin-top: 32px; }
.be-products-grid nav.woocommerce-pagination ul { border: 0; }
.be-products-grid nav.woocommerce-pagination ul li { border: 0; margin: 0 4px; }
.be-products-grid nav.woocommerce-pagination ul li a, .be-products-grid nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--be-line); border-radius: 8px; color: var(--be-ink); }
.be-products-grid nav.woocommerce-pagination ul li span.current { background: var(--be-ink); color: #fff; }

/* titres : la couleur globale « primaire » d'Elementor est blanche, on force l'encre hors fonds sombres */
.elementor-widget-heading .elementor-heading-title, .elementor-widget-theme-archive-title .elementor-heading-title, .elementor-widget-theme-post-title .elementor-heading-title, .elementor-widget-woocommerce-product-title .elementor-heading-title { color: var(--be-ink); }
.be-dark .elementor-widget-heading .elementor-heading-title, .be-dark-2 .elementor-widget-heading .elementor-heading-title, .be-hero .elementor-widget-heading .elementor-heading-title { color: #fff; }
.be-card__title a, .elementor-kit-7 .be-card__title a { color: var(--be-ink) !important; }
/* grille produits compacte sur mobile */
@media (max-width: 479px) {
  .woocommerce ul.products, .elementor-widget-woocommerce-products ul.products, .elementor-widget-wc-archive-products ul.products { grid-template-columns: 1fr 1fr; gap: 12px; }
  .be-card__body { padding: 12px; gap: 6px; }
  .be-card__title { font-size: 16px; }
  .be-card__price { font-size: 13px; }
  .be-card__delay { display: none; }
  .be-card .be-card__btn { min-height: 40px; font-size: 14px !important; padding: 0 10px; }
}
/* en-tête : entre 1025 et 1320 px, téléphone en icône pour laisser la place au menu */
@media (min-width: 1025px) and (max-width: 1499px) {
  .be-header .be-phone { display: none !important; }
  .be-header .be-phone-icon.elementor-hidden-desktop { display: block !important; }
  .be-header .be-nav .elementor-nav-menu--main .elementor-item { padding: 12px 8px; font-size: 14px; }
  .be-header .be-header-cta .elementor-button { padding: 0 14px; }
}
.be-trust-bar .elementor-icon-list-icon i { color: var(--be-accent); }

.elementor-element.elementor-widget-heading .elementor-heading-title, .elementor-element.elementor-widget-theme-archive-title .elementor-heading-title { color: var(--be-ink); }
.be-dark .elementor-element.elementor-widget-heading .elementor-heading-title, .be-dark-2 .elementor-element.elementor-widget-heading .elementor-heading-title, .be-hero .elementor-element.elementor-widget-heading .elementor-heading-title { color: #fff; }

/* hero : image mobile en portrait, fond chargé sans lazy-load */
@media (max-width: 767px) { .be-hero { background-image: url("https://bizzi-enseigne.fr/wp-content/uploads/2026/10/hero-enseigne-lumineuse-hem-mobile.webp") !important; background-position: center center; } }

/* grilles produits : 3 colonnes partout (boutique, catégories, widgets), 2 en tablette, 2 compactes en mobile */
ul.products, .elementor-products-grid ul.products, .elementor-widget-wc-archive-products ul.products, .elementor-widget-woocommerce-products ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; --grid-columns: 3; gap: var(--be-gutter) !important; margin: 0 !important; padding: 0; list-style: none; }
ul.products li.product, .elementor-products-grid ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
@media (max-width: 1024px) { ul.products, .elementor-products-grid ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 479px) { ul.products, .elementor-products-grid ul.products { grid-template-columns: 1fr 1fr !important; gap: 12px !important; } }
.be-trust-bar .elementor-icon-list-item { justify-content: flex-start; }

/* avis Google : nos cartes (données extraites du modèle Trustindex) */
.be-ti-static { width: 100%; }
.be-reviews-summary { text-align: center; color: rgba(255,255,255,.75); font-size: 14px; margin: 0 0 20px; }
.be-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.be-review { background: var(--be-night-2); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 20px; color: #fff; display: flex; flex-direction: column; gap: 8px; }
.be-review__head { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.be-review__head strong { font-family: var(--be-font-head); font-size: 16px; }
.be-review__head span { font-size: 13px; color: rgba(255,255,255,.6); white-space: nowrap; }
.be-review__stars { color: var(--be-accent); letter-spacing: 2px; font-size: 16px; }
.be-review p { margin: 0; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.9); }
@media (max-width: 1024px) { .be-reviews-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .be-reviews-grid { grid-template-columns: 1fr; } }

/* accessibilité : contraste du copyright sur fond nuit */
.be-footer .be-copyright, .be-footer .be-copyright a { color: rgba(255,255,255,.7); }

/* configurateur : lignes de total propres (plus de chevauchement avec le prix) */
.wapf-product-totals .wapf--inner > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding: 6px 0; font-family: var(--be-font-body); font-size: 15px; color: var(--be-muted); }
.wapf-product-totals .wapf--inner > div:last-child { border-top: 1px solid var(--be-line); margin-top: 6px; padding-top: 12px; color: var(--be-ink); font-weight: 600; }
.wapf-product-totals .wapf-grand-total { font-family: var(--be-font-head); font-size: 24px; font-weight: 700; color: var(--be-ink); }
.wapf-product-totals .wapf-product-total, .wapf-product-totals .wapf-options-total { font-size: 15px; font-weight: 500; }
body.be-configurable .elementor-widget-woocommerce-product-price { display: none; }
.be-from-price { margin: 0 0 12px; }
/* sous-menus : le survol couvre toute la largeur de l'entrée */
.be-header .elementor-nav-menu--dropdown { min-width: 260px; }
.be-header .elementor-nav-menu--dropdown li { display: block; width: 100%; }
.be-header .elementor-nav-menu--dropdown a, .be-header .elementor-nav-menu--dropdown a.elementor-item { display: flex !important; width: 100%; box-sizing: border-box; padding: 12px 20px; white-space: normal; }
.be-header .elementor-nav-menu--dropdown a:hover, .be-header .elementor-nav-menu--dropdown a.highlighted, .be-header .elementor-nav-menu--dropdown a.elementor-item-active { background: var(--be-bg-soft); color: var(--be-blue) !important; }
.be-header nav.elementor-nav-menu--main > ul > li > a { display: inline-flex; }

/* en-tête : le menu prend sa largeur naturelle (plus de chevauchement avec le téléphone), sous-menus larges sans retour à la ligne */
.be-header .be-nav { flex: 0 0 auto !important; width: max-content !important; }
.be-header > .e-con-inner { gap: 12px; }
.be-header nav.elementor-nav-menu--main ul.sub-menu, .be-header .elementor-nav-menu--dropdown.sub-menu { min-width: 280px !important; width: max-content !important; max-width: 360px; }
.be-header nav.elementor-nav-menu--main ul.sub-menu a { white-space: nowrap; padding: 12px 20px; }
