/* ==========================================================================
   HABILLAGE — Bootstrap 4, WooCommerce et composants Angular (ce-*) aux
   couleurs du nouveau design.
   --------------------------------------------------------------------------
   Le panier, la commande, l'espace client et les formulaires d'inscription
   gardent leur balisage : le JavaScript du site (mdf-api, WooCommerce) s'y
   accroche par ses classes. On ne change que leur apparence.
   L'ancien CSS est dans la couche « ancien » : ces règles, hors couche,
   passent toujours devant, quelle que soit leur spécificité.
   ========================================================================== */

/* ---------------------------------------------------------------- boutons */
.site :is(.btn, .button, button.button, input.button, a.button, .woocommerce-Button, .woocommerce-button) {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--e-2);
  min-height: 44px; padding: 0 var(--e-5);
  border: var(--trait-2) solid var(--md-encre); border-radius: var(--rayon-1);
  background: transparent; color: var(--md-encre);
  font-family: var(--f-texte); font-size: var(--t-1); font-weight: 700; line-height: 1.2;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
  cursor: pointer; box-shadow: none;
  transition: background-color var(--duree-2) var(--courbe), color var(--duree-2) var(--courbe), border-color var(--duree-2) var(--courbe);
}
.site :is(.btn, .button):hover { background: var(--md-encre); border-color: var(--md-encre); color: var(--md-papier); text-decoration: none; }

/* bouton principal : couleur de marque */
.site :is(.btn-primary, .button.alt, .single_add_to_cart_button, .checkout-button, #place_order, .woocommerce-form-login__submit, :is(button, input)[name="login"], :is(button, input)[name="register"], .btn-success) {
  background: var(--bouton-fond); border-color: var(--bouton-fond); color: var(--bouton-texte);
}
.site :is(.btn-primary, .button.alt, .single_add_to_cart_button, .checkout-button, #place_order, .woocommerce-form-login__submit, :is(button, input)[name="login"], :is(button, input)[name="register"], .btn-success):hover {
  background: var(--bouton-fond-survol); border-color: var(--bouton-fond-survol); color: var(--bouton-texte-survol);
}
/* bouton sombre */
.site :is(.btn-dark, .btn-secondary, .btn-info, .btn-tertiary) { background: var(--nuit); border-color: var(--nuit); color: var(--md-papier); }
.site :is(.btn-dark, .btn-secondary, .btn-info, .btn-tertiary):hover { background: var(--md-encre); border-color: var(--md-encre); color: var(--md-papier); }
/* bouton discret */
.site :is(.btn-light, .btn-outline-info, .btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-default) { background: var(--md-papier); border-color: var(--md-trait-2); color: var(--md-encre); }
.site :is(.btn-danger, .btn-outline-danger) { background: #B42318; border-color: #B42318; color: #FFFFFF; }
.site :is(.btn-link, .btn-btn-link) {
  min-height: 0; padding: 0; border: 0; background: none; color: var(--md-encre);
  text-transform: none; letter-spacing: 0;
  text-decoration: underline; text-decoration-color: var(--marque); text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.site :is(.btn-link, .btn-btn-link):hover { background: none; color: var(--md-encre); text-decoration-color: var(--md-encre); }
.site .btn-sm { min-height: 34px; padding: 0 var(--e-3); font-size: var(--t-0); }
.site .btn-lg { min-height: 52px; padding: 0 var(--e-6); }
.site .btn-block { display: flex; width: 100%; }
.site :is(.btn, .button):disabled, .site :is(.btn, .button).disabled { opacity: .5; cursor: not-allowed; }

/* --------------------------------------------------------------- formulaires */
.site :is(.form-control, .input-text, select, textarea,
          input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
          input[type="number"], input[type="search"], input[type="date"], input[type="url"]) {
  width: 100%; min-height: 46px; padding: var(--e-2) var(--e-4);
  border: var(--trait-1) solid var(--md-trait-2); border-radius: var(--rayon-1);
  background-color: var(--md-papier); color: var(--md-encre);
  font-family: var(--f-texte); font-size: var(--t-2); line-height: 1.4;
  box-shadow: none;
  transition: border-color var(--duree-1) var(--courbe), box-shadow var(--duree-1) var(--courbe);
}
.site textarea { min-height: 120px; resize: vertical; }
.site :is(.form-control, .input-text, select, textarea, input):focus {
  outline: none; border-color: var(--md-encre); box-shadow: 0 0 0 3px var(--marque-trait);
}
.site select:not([multiple]) {
  appearance: none; padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 18px;
}
.site input[type="checkbox"], .site input[type="radio"] { width: 18px; height: 18px; min-height: 0; accent-color: var(--nuit); }
.site :is(label, .form-label, legend) { color: var(--md-encre); font-size: var(--t-1); font-weight: 700; }
.site label :is(input[type="checkbox"], input[type="radio"]) + * { font-weight: 600; }
.site :is(.form-check-label, .woocommerce-form__label-for-checkbox) { font-weight: 500; color: var(--md-encre-2); }
.site .required { color: #B42318; text-decoration: none; border: 0; }
.site :is(.form-group, .woocommerce form .form-row, p.form-row) { margin: 0 0 var(--e-4); }
.site .woocommerce form .form-row label { display: block; margin-bottom: var(--e-2); }
.site :is(.woocommerce-invalid input, .is-invalid) { border-color: #B42318 !important; }
.site :is(.invalid-feedback, .woocommerce-invalid-required-field .description) { color: #B42318; font-size: var(--t-0); }
.site :is(fieldset) { margin: 0 0 var(--e-5); padding: 0; border: 0; }
.site :is(.input-group) { display: flex; }
.site .input-group > .form-control { flex: 1; }
.site :is(.woocommerce-password-strength, .woocommerce-password-hint) { font-size: var(--t-0); color: var(--md-encre-3); }
.site .quantity input.qty { width: 80px; text-align: center; font-weight: 700; }

/* ----------------------------------------------------------------- tableaux */
.site :is(.table, .shop_table, table.woocommerce-table) {
  width: 100%; margin: 0 0 var(--e-5); border-collapse: collapse;
  background: var(--md-papier); color: var(--md-encre); font-size: var(--t-1);
  border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2);
}
.site :is(.table, .shop_table, table.woocommerce-table) :is(th, td) {
  padding: var(--e-3) var(--e-4); border: 0; border-bottom: var(--trait-1) solid var(--md-trait);
  vertical-align: middle; background: transparent;
}
.site :is(.table, .shop_table, table.woocommerce-table) thead th,
.site .table .thead-dark th {
  background: var(--md-papier-2); color: var(--md-encre-3); border-color: var(--md-trait);
  font-family: var(--f-mono); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.site .table-striped tbody tr:nth-of-type(odd) { background: transparent; }
.site :is(.table-hover, .shop_table) tbody tr:hover > * { background: var(--marque-voile); }
.site .table-sm :is(th, td) { padding: var(--e-2) var(--e-3); }
.site .table-bordered :is(th, td) { border: 0; border-bottom: var(--trait-1) solid var(--md-trait); }
.site :is(.table, .shop_table) tfoot :is(th, td) { font-weight: 700; }
.site :is(.cart_totals, .woocommerce-checkout-review-order) .order-total :is(th, td) { font-size: var(--t-3); font-weight: 800; }
.site .shop_table .product-thumbnail img { width: 64px; height: 64px; object-fit: contain; border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-1); background: var(--md-papier); }
.site .shop_table .product-name a { color: var(--md-encre); font-weight: 700; text-decoration: none; }
.site .shop_table .product-remove a { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--md-encre-3); text-decoration: none; font-size: 20px; }
.site .shop_table .product-remove a:hover { background: #FDECEC; color: #B42318; }
.site .color-reference { font-family: var(--f-mono); font-weight: 700; color: var(--md-encre); }

/* tableaux WooCommerce en mobile : une ligne devient une fiche */
@media (max-width: 760px) {
  .site .shop_table_responsive thead { display: none; }
  .site .shop_table_responsive tr { display: block; padding: var(--e-3) 0; border-bottom: var(--trait-1) solid var(--md-trait); }
  .site .shop_table_responsive td { display: flex; justify-content: space-between; gap: var(--e-4); border: 0; text-align: right !important; }
  .site .shop_table_responsive td[data-title]::before { content: attr(data-title); font-weight: 700; color: var(--md-encre-3); text-align: left; }
  .site .shop_table_responsive td.product-remove, .site .shop_table_responsive td.product-thumbnail { justify-content: flex-start; }
  /* le tableau passe en bloc : son corps aussi, sinon il garde la largeur de son contenu et déborde */
  .site .shop_table_responsive :is(tbody, tfoot) { display: block; width: 100%; }
  .site .shop_table_responsive td { width: 100%; }
  /* le n° de commande (espace client) est une cellule d'en-tête de ligne : même traitement */
  .site .shop_table_responsive tbody th { display: flex; justify-content: space-between; gap: var(--e-4); width: 100%; border: 0; }
  /* libellé à gauche, valeur(s) groupée(s) à droite (« 27,00 € pour 50 articles ») */
  .site .shop_table_responsive td[data-title] { justify-content: flex-end; column-gap: .35em; }
  .site .shop_table_responsive td[data-title]::before { margin-right: auto; padding-right: var(--e-4); }
  /* boutons du bas du panier, l'un sous l'autre (l'ancien thème posait « Vider le panier » en absolu) */
  .site .shop_table_responsive td.actions { flex-direction: column; align-items: stretch; gap: var(--e-3); }
  .site .shop_table_responsive td.actions .button-cart-empty { position: static; }
  /* cellule Produit : libellé, référence et nom sur une ligne, l'alerte de disponibilité en dessous */
  .site .shop_table_responsive td.product-name { flex-wrap: wrap; justify-content: flex-start; column-gap: var(--e-3); text-align: left !important; }
  .site .shop_table_responsive td.product-name ce-product-stock-alert { flex-basis: 100%; }
}

/* --------------------------------------------------- messages et alertes */
.site :is(.alert, .woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) {
  position: relative; margin: 0 0 var(--e-4); padding: var(--e-4) var(--e-5);
  border: var(--trait-1) solid var(--md-trait-2); border-left-width: 4px; border-radius: var(--rayon-2);
  background: var(--md-papier); color: var(--md-encre-2); font-size: var(--t-1); line-height: 1.5;
  list-style: none;
}
.site :is(.alert, .woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.btn):not(.button) { color: var(--md-encre); font-weight: 700; text-decoration: underline; }
.site :is(.alert, .woocommerce-message, .woocommerce-info, .woocommerce-error) :is(.btn, .button) { margin-left: var(--e-3); }
.site :is(.alert-info, .alert-primary, .alert-tertiary, .woocommerce-info) { background: var(--marque-voile); border-color: var(--marque-trait); border-left-color: var(--marque); }
[data-marque="sidat"] .site :is(.alert-info, .alert-primary, .alert-tertiary, .woocommerce-info) { border-left-color: #161616; }
.site :is(.alert-success, .woocommerce-message) { background: var(--etat-ok-voile); border-color: #A7D7B5; border-left-color: var(--etat-ok); }
.site :is(.alert-warning) { background: #FFF7E6; border-color: #F2C98B; border-left-color: #B45309; }
.site :is(.alert-danger, .woocommerce-error) { background: #FDECEC; border-color: #F5B5B5; border-left-color: #B42318; }
.site :is(.alert-dark, .alert-secondary, .alert-default, .alert-light) { background: var(--md-papier); }
.site .woocommerce-error li { margin: 0; }
.site .woocommerce-notices-wrapper:empty { display: none; }

/* ------------------------------------------------------------------- cartes */
.site .card:not(.carte-produit):not(.famille) {
  margin-bottom: var(--e-5); overflow: hidden;
  background: var(--md-papier); border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2);
  box-shadow: none;
}
.site .card .card-header { padding: var(--e-4) var(--e-5); background: var(--md-papier-2); border-bottom: var(--trait-1) solid var(--md-trait); font-weight: 800; }
.site .card .card-body { padding: var(--e-5); }
.site .card .card-footer { padding: var(--e-4) var(--e-5); background: transparent; border-top: var(--trait-1) solid var(--md-trait); }
.site .card .card-title { font-family: var(--f-titre); font-size: var(--t-4); font-weight: 800; }
.site .jumbotron { margin: 0 0 var(--e-5); padding: var(--e-6); background: var(--md-papier); border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2); }

/* étiquettes (badges) — sauf la pastille du panier, posée par l'en-tête */
.site .badge:not(.badge-panier) {
  display: inline-flex; align-items: center; min-height: 22px; padding: 0 var(--e-2);
  border-radius: var(--rayon-1); background: var(--md-papier-2); color: var(--md-encre-2);
  box-shadow: inset 0 0 0 1px var(--md-trait-2);
  font-family: var(--f-mono); font-size: 11px; font-weight: 700; letter-spacing: .06em;
}
.site :is(.badge-primary, .badge-success) { background: var(--marque); color: var(--sur-marque); box-shadow: none; }

/* listes et navigations secondaires */
.site .list-group { margin: 0 0 var(--e-5); padding: 0; border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2); overflow: hidden; background: var(--md-papier); }
.site .list-group-item { display: block; padding: var(--e-3) var(--e-4); border: 0; border-bottom: var(--trait-1) solid var(--md-trait); color: var(--md-encre); text-decoration: none; background: transparent; }
.site .list-group-item:last-child { border-bottom: 0; }
.site :is(.list-group-item-action, .list-group-item):hover { background: var(--marque-voile); }
.site .list-group-item.active { background: var(--nuit); color: var(--md-papier); }
.site .nav-pills { display: flex; flex-wrap: wrap; gap: var(--e-2); margin: 0 0 var(--e-5); padding: 0; list-style: none; }
.site .nav-pills .nav-link { display: inline-flex; align-items: center; height: 38px; padding: 0 var(--e-4); border: var(--trait-1) solid var(--md-trait-2); border-radius: var(--rayon-pilule); color: var(--md-encre-2); font-weight: 600; text-decoration: none; background: var(--md-papier); }
.site .nav-pills .nav-link.active, .site .nav-pills .nav-link:hover { background: var(--nuit); border-color: var(--nuit); color: var(--md-papier); }

/* pagination Bootstrap et WooCommerce */
.site :is(.pagination, .woocommerce-pagination ul.page-numbers, ul.page-numbers) {
  display: flex; flex-wrap: wrap; justify-content: center; gap: var(--e-2); margin: var(--e-6) 0 0; padding: 0; list-style: none; border: 0;
}
.site :is(.pagination .page-link, ul.page-numbers .page-numbers) {
  display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 var(--e-2);
  border: var(--trait-1) solid var(--md-trait-2); border-radius: var(--rayon-1); background: var(--md-papier);
  color: var(--md-encre); font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums;
}
.site :is(.pagination .active .page-link, ul.page-numbers .current) { background: var(--nuit); border-color: var(--nuit); color: var(--md-papier); }
.site :is(.pagination .page-link, ul.page-numbers a.page-numbers):hover { border-color: var(--md-encre); }
.site ul.page-numbers li { margin: 0; border: 0; }

/* utilitaires Bootstrap redéfinis sur les jetons */
.site .text-muted { color: var(--md-encre-3) !important; }
.site .text-primary { color: var(--accent-texte) !important; }
.site .text-warning { color: #B45309 !important; }
.site .text-danger { color: #B42318 !important; }
.site .text-success { color: var(--etat-ok) !important; }
.site :is(.bg-white, .bg-light) { background: var(--md-papier) !important; }
.site .bg-dark { background: var(--nuit) !important; }
.site hr { border: 0; border-top: var(--trait-1) solid var(--md-trait); margin: var(--e-6) 0; }
.site .border-bottom { border-bottom-color: var(--md-trait) !important; }
.site .font-weight-bold { font-weight: 700 !important; }

/* ----------------------------------------- composants Angular (mdf-api) */
/* voyant de stock */
.site { --stock-badge-size: 16px; --stock-badge-border-size: 2px; }
.site .stock-badge { box-shadow: 0 0 0 1px var(--md-trait-2); }
.site .stock-badge-red, .site .stock-badge-danger { background: #DC2626 !important; }
.site .stock-badge-vert-fonce, .site .stock-badge-success { background: #15803D !important; }
.site .stock-badge-vert-clair, .site .stock-badge-green { background: #4ADE80 !important; }
.site .stock-badge-jaune, .site .stock-badge-warning { background: #F59E0B !important; }

/* prix en carte (display="card") */
.site .row-price-icon { display: flex; align-items: center; justify-content: space-between; gap: var(--e-2); margin: 0; }
.site .row-price-icon p { margin: 0; }
.site .meat-product-price { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--md-encre); }
.site .meat-cart-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: var(--rayon-1); background: var(--bouton-fond); color: var(--bouton-texte); font-size: 14px; }

/* chargement */
.site .text-placeholder, .site .input-placeholder { border-radius: var(--rayon-1); }

/* ------------------------------------------------- commande (checkout) */
/* Deux colonnes : coordonnées à gauche, récapitulatif et paiement à droite. */
@media (min-width: 1000px) {
  .site form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, 1fr); column-gap: var(--e-6); align-items: start; }
  .site form.woocommerce-checkout > * { grid-column: 1; }
  .site form.woocommerce-checkout > #order_review_heading,
  .site form.woocommerce-checkout > #order_review { grid-column: 2; }
  .site form.woocommerce-checkout > #order_review_heading { grid-row: 1; margin-top: 0; }
  .site form.woocommerce-checkout > #order_review { grid-row: 2 / span 4; position: sticky; top: calc(var(--h-entete) + var(--wp-admin--admin-bar--height, 0px) + var(--e-4)); }
  .site form.woocommerce-checkout > #customer_details { grid-row: 1 / span 6; }
}
.site #order_review_heading { font-size: var(--t-4); }
/* « Notes de commande » : l'ancien thème l'enferme dans une carte .bg-light grise, dont l'!important
   (couche « ancien ») gagne toujours ; on retire la boîte de la carte, son contenu reste */
.site .woocommerce-additional-fields .card.bg-light { display: contents; }
.site .woocommerce-additional-fields .card-body { padding: 0; }
.site :is(#payment, .woocommerce-checkout-payment, .woocommerce-additional-fields, .woocommerce-shipping-fields, .woocommerce-billing-fields) {
  padding: var(--e-5); background: var(--md-papier) !important;
  border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2);
}
.site #payment ul.payment_methods { margin: 0 0 var(--e-4); padding: 0 0 var(--e-4); list-style: none; border-bottom: var(--trait-1) solid var(--md-trait); }
.site #payment ul.payment_methods li { margin-bottom: var(--e-3); }
.site #payment ul.payment_methods li > label { display: inline-flex; align-items: center; gap: var(--e-2); }
.site #payment .payment_box { margin-top: var(--e-2); padding: var(--e-3) var(--e-4); background: var(--md-papier-2) !important; border-radius: var(--rayon-1); color: var(--md-encre-2); font-size: var(--t-1); }
.site #payment .payment_box::before { display: none; }
.site #payment .place-order { margin: 0; padding: 0; }
.site #place_order { width: 100%; min-height: 52px; }
.site .woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--e-4); font-size: var(--t-1); }
.site #customer_details .row { margin-inline: calc(var(--e-3) * -1); }
.site #customer_details .row > [class*="col"] { padding-inline: var(--e-3); }

/* message « produit ajouté » : texte et bouton sur une ligne */
.site .woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-3); }
.site .woocommerce-message :is(.button, .btn) { order: 2; margin: 0 !important; min-height: 38px; }

/* ------------------------------------------------------- espace client */
.site .woocommerce-MyAccount-navigation { margin: 0 0 var(--e-6); border-bottom: var(--trait-1) solid var(--md-trait); }
.site .woocommerce-MyAccount-navigation ul { display: flex; gap: var(--e-1); margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.site .woocommerce-MyAccount-navigation li { margin: 0; flex: none; }
.site .woocommerce-MyAccount-navigation a {
  display: inline-flex; align-items: center; height: 50px; padding: 0 var(--e-4);
  background: transparent !important; color: var(--md-encre-2) !important;
  font-size: var(--t-1); font-weight: 700; text-transform: none; letter-spacing: 0; text-decoration: none;
  box-shadow: inset 0 -3px 0 transparent; border: 0; border-radius: 0;
}
.site .woocommerce-MyAccount-navigation a:hover { color: var(--md-encre) !important; }
.site .woocommerce-MyAccount-navigation .is-active a { color: var(--md-encre) !important; box-shadow: inset 0 -3px 0 var(--marque); }
.site .woocommerce-MyAccount-content { min-width: 0; }
.site :is(.woocommerce-Addresses, .u-columns) { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--e-5); }
.site .woocommerce-Address { padding: var(--e-5); background: var(--md-papier); border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2); }
.site .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--e-3); }
.site .woocommerce-Address-title h3 { margin: 0 0 var(--e-3); font-size: var(--t-4); }
.site address { font-style: normal; color: var(--md-encre-2); line-height: 1.6; }
.site :is(.woocommerce-orders-table__cell-order-actions) .button { min-height: 34px; padding: 0 var(--e-3); font-size: var(--t-0); }
.site mark { background: var(--marque-voile); color: var(--md-encre); padding: 0 var(--e-1); border-radius: var(--rayon-1); }

/* grilles Bootstrap des pages gardées (contenus, panier, compte) : une seule
   colonne sur petit écran — l'ancien site n'avait pas de viewport et n'a
   jamais été prévu pour un écran étroit */
@media (max-width: 760px) {
  .site .row { margin-inline: 0; }
  .site .row > [class*="col"] { flex: 0 0 100%; max-width: 100%; padding-inline: 0; }
  .site .row > [class*="col"] + [class*="col"] { margin-top: var(--e-4); }
}

/* -------------------------------------------- espace client, visiteur
   la carte de connexion de l'accueil, centrée sous le titre (myaccount/form-login.php) */
.woocommerce-account:not(.logged-in) .site h1.content-page-title { text-align: center; }
.woocommerce-account:not(.logged-in) .site .entry-content { max-width: none; }
.woocommerce-account:not(.logged-in) .site .entry-content .woocommerce { max-width: 460px; margin-inline: auto; }
.connexion-compte__intro { margin: 0 0 var(--e-5); text-align: center; color: var(--md-encre-2); }
.connexion-compte .connexion { margin-block: 0 var(--e-6); box-shadow: var(--ombre-1); }

/* ------------------------------------------------------- panier vide
   (cart/cart-empty.php) */
.panier-vide {
  display: grid; justify-items: center; gap: var(--e-3);
  max-width: 520px; margin: var(--e-5) auto var(--e-6); padding: var(--e-7) var(--e-6);
  text-align: center; background: var(--md-papier);
  border: var(--trait-1) solid var(--md-trait); border-radius: var(--rayon-2);
}
.panier-vide__icone { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--marque-voile); color: var(--accent-texte); }
.panier-vide__icone .icone { width: 28px; height: 28px; }
.site .panier-vide__titre { margin: 0; font-size: var(--t-5); }
.panier-vide__texte { margin: 0 0 var(--e-3); color: var(--md-encre-2); }

/* --------------------------------------- espace client : gestion des retours
   (src/Features/MdTelechargement.php) — deux blocs côte à côte */
.retours { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-5); align-items: start; }
@media (max-width: 960px) { .retours { grid-template-columns: minmax(0, 1fr); } }
.retours .alert { margin-bottom: var(--e-4); }
.retours__texte p { margin: 0 0 var(--e-3); color: var(--md-encre-2); font-size: var(--t-1); }
.retours__texte strong { color: var(--md-encre); }
.retours__texte .retours__signature { margin-top: var(--e-4); color: var(--md-encre-3); font-style: italic; }
.retours .documents--colonne { grid-template-columns: minmax(0, 1fr); margin: var(--e-5) 0 0; padding: 0; }

/* ----------------------------------------------------------------- panier
   pleine largeur ; en-têtes de tableau sans l'ombre décalée de l'ancien thème
   (text-shadow 0 2px, effet « double ») */
.site table thead th { text-shadow: none; }
/* la commande aussi : bridée à la largeur de lecture, ses deux colonnes se tassaient à gauche */
:is(.woocommerce-cart, .woocommerce-checkout) .site .entry-content { max-width: none; }

/* choix du transporteur : les titres « Expédition aujourd'hui … » / « Expédition dès … »
   (ShippingHelper) sont posés dans la carte des transporteurs : on leur rend de l'air */
#choix-transporteur .list-group > h3 { margin: 0; padding: var(--e-5) var(--e-5) var(--e-3); font-size: var(--t-4); line-height: 1.25; }
#choix-transporteur .list-group > h3 .fa { font-size: 1em; vertical-align: -2px; }
#choix-transporteur .list-group > hr { margin: 0; border: 0; border-top: var(--trait-1) solid var(--md-trait); }
/* Sidat, « Retrait à Osny » (flat_rate:44) : « NOUVEAU » remplace « Sur devis » (règle de sidat/style.css).
   Le titre du nouveau design lui rendait sa couleur : les deux textes se superposaient. */
[data-marque="sidat"] #choix-transporteur .list-group > div[data-value="flat_rate:44"] .text-monospace { color: transparent; }
[data-marque="sidat"] #choix-transporteur .list-group > div[data-value="flat_rate:44"].active .text-monospace::after { color: var(--md-papier); }
