.brunchy-pickup-location { margin: 16px 0; }
.pickup-location-title { margin: 0 0 8px; font-weight: 600; }
.pickup-location-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.pickup-location-option { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 2px solid #ddd; border-radius: 8px; cursor: pointer; position: relative; }
.pickup-location-option input { position: absolute; opacity: 0; }
.pickup-location-option:has(input:checked) { border-color: #000; background: #fff8e1; }
.pickup-location-name { font-weight: 700; }
.pickup-location-address { font-size: 13px; color: #555; }
.pickup-location-hint { font-size: 13px; color: #a15c00; margin: 8px 0 0; }
.pickup-location-locked { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 2px solid #000; border-radius: 8px; background: #fff8e1; }
.pickup-location-locked em { font-size: 12px; color: #555; }
.brunchy-needs-location { opacity: .45; pointer-events: none; }
/* Bandeau « Lieu de retrait » au checkout */
.brunchy-pickup-location-banner { margin: 0 0 16px; padding: 12px 14px; background: #e3dfd5; border: 2px solid #e3dfd5; color: #000000; font-family: var(--e-global-typography-dc2e885-font-family), Sans-serif; font-size: 15px; line-height: 1.4; }
.brunchy-pickup-location-banner strong { font-size: 17px; }

/* Carte d'une box dans le panier latéral, le panier et le checkout.
   WooCommerce et Elementor posent le libellé (dt) à gauche du contenu (float / grille) :
   on masque le libellé et on donne toute la largeur à la carte. */
dl.variation dt.variation-Votrebox { display: none !important; }
dl.variation dd.variation-Votrebox { display: block !important; float: none !important; width: 100%; margin: 8px 0 0 !important; padding: 0 !important; grid-column: 1 / -1 !important; }
dl.variation dd.variation-Votrebox p { margin: 0; }
.bb-item { display: block; border-radius: 8px; overflow: hidden; background: #f4f1ea; border: 1px solid #d6cfc1; color: #000; font-family: var(--e-global-typography-dc2e885-font-family), Sans-serif; font-size: 13px; line-height: 1.4; text-align: left; max-width: 100%; box-sizing: border-box; word-break: normal; hyphens: none; }
.bb-item > p:empty, .bb-item > br { display: none; }
.bb-head { display: block; background: #7a5a3e; color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; padding: 7px 12px; }
.bb-rows { display: grid; grid-template-columns: max-content 1fr; column-gap: 12px; row-gap: 5px; padding: 10px 12px; }
.bb-k { color: #7a5a3e; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding-top: 2px; }
.bb-v { min-width: 0; color: #000; }
.bb-content { border-top: 1px solid #d6cfc1; padding: 8px 12px; }
.bb-content summary { cursor: pointer; font-weight: 600; color: #7a5a3e; list-style: none; }
.bb-content summary::-webkit-details-marker { display: none; }
.bb-content summary::before { content: "+ "; }
.bb-content[open] summary::before { content: "– "; }
.bb-content ul { margin: 6px 0 0; padding-left: 16px; display: grid; gap: 2px; }
.bb-content li { margin: 0; }

/* Checkout Elementor : la colonne Produit est limitée à 150px par Elementor Pro
   (td.product-name { max-width:150px }) : on lui rend la largeur du tableau. */
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-name { max-width: none; width: 70%; padding-inline-end: 16px; }
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-total { vertical-align: top; white-space: nowrap; }

/* La carte s'adapte à sa propre largeur : libellés au-dessus des valeurs quand elle est étroite */
.bb-item { container-type: inline-size; }
@container (max-width: 300px) {
  .bb-rows { grid-template-columns: 1fr; row-gap: 1px; }
  .bb-v { margin-bottom: 6px; }
  .bb-v:last-child { margin-bottom: 0; }
}

/* Page panier : Elementor recolore le texte des détails produit, le titre de la fiche reste blanc */
dl.variation dd.variation-Votrebox .bb-item .bb-head, .bb-item .bb-head { color: #fff !important; }
