/* ============================================================
   ZABOKA — PANIER / COMMANDE / MON COMPTE
   Dépend des tokens de style.css. Aucun :root ici.

   Cible le checkout WooCommerce *classique* (shortcodes).
   Une section en fin de fichier couvre les blocs WooCommerce
   au cas où une page serait restée en Gutenberg.
   ============================================================ */

/* ── En-tête commun ───────────────────────────────────────── */

.zbk-wc-title {
  margin-bottom: 28px;
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: uppercase;
  color: var(--ink);
}

.zbk-wc-page h2,
.zbk-wc-page h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--ink);
}

/* Champs — le sélecteur générique de style.css suffit, on ne
   remet ici que ce que WooCommerce impose en inline/plugin. */
.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink);
}
.woocommerce form .form-row .required { color: var(--red); text-decoration: none; border: none; }
.woocommerce form .form-row .optional { color: var(--ink-3); }

.woocommerce .woocommerce-input-wrapper { display: block; width: 100%; }

/* WooCommerce pose ses champs sur deux colonnes via .form-row-first /
   .form-row-last. Sa feuille de style étant désactivée (voir le filtre
   woocommerce_enqueue_styles), c'est à nous de gérer la grille. */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  display: inline-block;
  width: calc(50% - 8px);
  vertical-align: top;
}
.woocommerce form .form-row-first { margin-right: 12px; }
.woocommerce form .form-row-wide,
.woocommerce form .form-row-full { display: block; width: 100%; }

@media (max-width: 560px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { display: block; width: 100%; margin-right: 0; }
}

/* Select2 (pays / région) aligné sur nos champs */
.select2-container--default .select2-selection--single {
  height: 48px;
  border: 1px solid var(--line-2);
  border-radius: 0;
  background: var(--paper);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 46px;
  padding-left: 14px;
  color: var(--ink);
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.select2-dropdown { border-color: var(--line-2); border-radius: 0; }

/* Cases à cocher */
.woocommerce form .form-row-wide label.checkbox,
.woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  font-weight: 400;
  color: var(--ink-2);
}
.woocommerce-form__input-checkbox,
input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 3px 0 0;
  padding: 0;
  accent-color: var(--green);
  flex-shrink: 0;
}

/* ============================================================
   PANIER
   ============================================================ */

/* Le panier n'a pas de template surchargé : on met en page les deux blocs que
   WooCommerce produit (le formulaire, puis .cart-collaterals). :has() évite
   d'appliquer la grille sur un panier vide, qui n'a pas de colonne de totaux. */
.woocommerce-cart .woocommerce:has(.cart-collaterals) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 48px;
  align-items: start;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper { grid-column: 1 / -1; }

.woocommerce-cart .cross-sells { grid-column: 1 / -1; margin-top: 24px; }
.woocommerce-cart .cross-sells h2 { margin-bottom: 20px; font-size: 20px; }
.woocommerce-cart .cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
}
.woocommerce-cart .cross-sells ul.products li.product { width: 100%; margin: 0; float: none; }

.woocommerce table.shop_table {
  width: 100%;
  border: 1px solid var(--line);
  border-collapse: collapse;
  border-radius: 0;
  margin: 0 0 24px;
}

.woocommerce table.shop_table th {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--paper-2);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: left;
  color: var(--ink);
}

.woocommerce table.shop_table td {
  padding: 18px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  color: var(--ink-2);
  vertical-align: middle;
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: none; }

.woocommerce table.cart .product-thumbnail { width: 96px; }
.woocommerce table.cart .product-thumbnail img {
  width: 84px;
  height: 84px;
  object-fit: cover;
  background: var(--paper-2);
}

.woocommerce table.cart .product-name a {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
}
.woocommerce table.cart .product-name a:hover { color: var(--green); }
.woocommerce table.cart .product-name .variation {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--ink-2);
}
.woocommerce table.cart .product-name .variation dt,
.woocommerce table.cart .product-name .variation dd {
  display: inline;
  margin: 0;
  font-weight: 400;
}
.woocommerce table.cart .product-name .variation dd::after { content: ' '; }

.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-subtotal { white-space: nowrap; }
.woocommerce table.cart td.product-subtotal { font-weight: 600; color: var(--ink); }

.woocommerce table.cart .quantity input.qty {
  width: 76px;
  min-height: 44px;
  padding: 8px;
  text-align: center;
}

.woocommerce a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--paper-2);
  color: var(--ink-2);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: background var(--ease), color var(--ease);
}
.woocommerce a.remove:hover { background: var(--red); color: #fff; }

/* Actions bas de tableau */
.woocommerce table.cart td.actions {
  padding: 16px;
  background: var(--paper-2);
  border-top: 1px solid var(--line);
}
.woocommerce table.cart td.actions .coupon {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  float: none;
}
.woocommerce table.cart td.actions .coupon input.input-text { width: 220px; }

/* Totaux */
.woocommerce .cart-collaterals { width: 100%; float: none; }
.woocommerce .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--paper-2);
}
.woocommerce .cart-collaterals .cart_totals h2 {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 600;
  color: var(--ink);
}
.woocommerce .cart-collaterals .cart_totals table { border: none; margin: 0; }
.woocommerce .cart-collaterals .cart_totals table th,
.woocommerce .cart-collaterals .cart_totals table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  font-size: 16px;
}
.woocommerce .cart-collaterals .cart_totals table th { width: 45%; color: var(--ink-2); font-weight: 500; }
.woocommerce .cart-collaterals .cart_totals table td { text-align: right; color: var(--ink); }
.woocommerce .cart-collaterals .cart_totals .order-total th,
.woocommerce .cart-collaterals .cart_totals .order-total td { border-bottom: none; }
.woocommerce .cart-collaterals .cart_totals .order-total td .amount {
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
}

.woocommerce .wc-proceed-to-checkout { padding: 20px 0 0; }

/* Boutons WooCommerce — volontairement sans ancêtre .woocommerce :
   certains formulaires (connexion, mot de passe perdu) sont rendus hors de ce
   conteneur selon la configuration, et le bouton restait alors non stylé. */
.button,
button.button,
input.button,
a.button,
.woocommerce-Button,
.woocommerce-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 26px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: var(--paper);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.2;
  cursor: pointer;
  transition: background var(--ease), color var(--ease), border-color var(--ease);
}
.button:hover,
button.button:hover,
input.button:hover,
a.button:hover,
.woocommerce-Button:hover,
.woocommerce-button:hover { background: var(--green); border-color: var(--green); color: #fff; }

.button.alt,
a.checkout-button,
#place_order,
.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
  width: 100%;
  min-height: 56px;
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
a.checkout-button:hover,
#place_order:hover,
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover { background: var(--green-dark); border-color: var(--green-dark); }

.button:disabled,
.button.disabled {
  background: var(--paper-3);
  border-color: var(--paper-3);
  color: var(--ink-3);
  cursor: not-allowed;
}

/* Le bouton « Voir » des tableaux de commandes reste discret. */
.woocommerce-orders-table .button,
.woocommerce-Address-title .button {
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
}

/* Panier vide */
.cart-empty,
.woocommerce .cart-empty {
  padding: 48px 0 24px;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  color: var(--ink);
}
.return-to-shop { padding-bottom: 40px; text-align: center; }

/* ============================================================
   COMMANDE
   ============================================================ */

.zbk-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 48px;
  align-items: start;
}

.zbk-checkout-main > h3,
.woocommerce .woocommerce-billing-fields > h3,
.woocommerce .woocommerce-shipping-fields > h3,
.woocommerce .woocommerce-additional-fields > h3 {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  font-size: 20px;
  font-weight: 600;
  color: var(--ink);
}
.woocommerce .woocommerce-shipping-fields,
.woocommerce .woocommerce-additional-fields { margin-top: 32px; }

.zbk-checkout-aside {
  position: sticky;
  top: 130px;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--paper-2);
}

#order_review_heading,
.zbk-checkout-aside > h3 {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
  color: var(--ink);
}

.woocommerce-checkout-review-order-table { border: none; margin: 0 0 20px; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  font-size: 15px;
}
.woocommerce-checkout-review-order-table thead th { background: transparent; }
.woocommerce-checkout-review-order-table td { text-align: right; color: var(--ink); }
.woocommerce-checkout-review-order-table th { text-align: left; color: var(--ink-2); font-weight: 500; }

/* Vignette produit ajoutée par zaboka_checkout_item_thumbnail() (functions.php) */
.woocommerce-checkout-review-order-table td.product-name { text-align: left; }
.woocommerce-checkout-review-order-table td.product-name::after {
  content: '';
  display: block;
  clear: both;
}
.zbk-order-thumb {
  float: left;
  width: 52px;
  height: 52px;
  margin: 2px 12px 4px 0;
  background: var(--paper);
  object-fit: cover;
}
.woocommerce-checkout-review-order-table .product-quantity {
  color: var(--ink-2);
  font-weight: 600;
}
.woocommerce-checkout-review-order-table .variation {
  margin: 2px 0 0;
  font-size: 13px;
  color: var(--ink-2);
}
.woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout-review-order-table .variation dd {
  display: inline;
  margin: 0;
  font-weight: 400;
}
.woocommerce-checkout-review-order-table .variation dd::after { content: ' '; }

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td { border-bottom: none; padding-top: 16px; }
.woocommerce-checkout-review-order-table .order-total td .amount {
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
}

/* Les montants ne se coupent jamais entre le nombre et le symbole — mais la
   règle porte sur le montant, pas sur la cellule : la ligne « Livraison »
   contient parfois une estimation de délai qui, en nowrap, poussait tout le
   tableau hors de sa colonne et coupait les prix à droite. */
.woocommerce-checkout-review-order-table .amount,
.woocommerce .cart-collaterals .cart_totals .amount,
.woocommerce table.cart .amount { white-space: nowrap; }

/* Mise en page automatique : combinée aux montants insécables ci-dessus, la
   colonne des prix ne peut jamais devenir plus étroite que le prix lui-même,
   et le nom du produit récupère tout le reste. Pas de largeurs figées, donc
   rien ne s'écrase quand un libellé de livraison est long. */
.woocommerce-checkout-review-order-table { table-layout: auto; }
.woocommerce-checkout-review-order-table td.product-name { overflow-wrap: anywhere; }

/* La ligne « Livraison » porte souvent une estimation de délai
   (« Frais de port (Estimation de la livraison : 14–17 août) ») : on la laisse
   à gauche et un cran plus petite pour qu'elle respire. */
.woocommerce-checkout-review-order-table tr.shipping td {
  text-align: left;
  font-size: 15px;
}
.woocommerce-checkout-review-order-table tr.shipping .amount { font-weight: 600; color: var(--ink); }

/* Paiement */
.woocommerce #payment {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.woocommerce #payment ul.payment_methods {
  margin: 0 0 18px;
  padding: 0;
  border: 1px solid var(--line);
  background: var(--paper);
  list-style: none;
}

.woocommerce #payment ul.payment_methods li {
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  list-style: none;
}
.woocommerce #payment ul.payment_methods li:last-child { border-bottom: none; }

.woocommerce #payment ul.payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink);
  cursor: pointer;
}
.woocommerce #payment ul.payment_methods li img {
  display: inline-block;
  max-height: 26px;
  width: auto;
  margin-left: 6px;
  vertical-align: middle;
}

.woocommerce #payment div.payment_box {
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper-2);
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
}
.woocommerce #payment div.payment_box::before { display: none; }

.woocommerce #payment .form-row.place-order { padding: 0; margin: 0; }
.woocommerce #payment .terms,
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
  font-size: 15px;
  color: var(--ink-2);
}
.woocommerce-terms-and-conditions-wrapper a { color: var(--ink); text-decoration: underline; }

/* Coupon */
.woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 20px; }
.woocommerce form.checkout_coupon {
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper-2);
}
.woocommerce form.checkout_coupon .form-row { display: inline-block; width: auto; margin-right: 8px; }
.woocommerce form.checkout_coupon .input-text { width: 240px; }

/* Confirmation de commande */
.woocommerce-order { max-width: 800px; }
.woocommerce-thankyou-order-received {
  margin-bottom: 24px;
  font-size: 22px;
  font-weight: 600;
  color: var(--green);
}
.woocommerce ul.order_details {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 0 32px;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--paper-2);
  list-style: none;
}
.woocommerce ul.order_details li {
  font-size: 14px;
  color: var(--ink-2);
  border: none;
}
.woocommerce ul.order_details li strong {
  display: block;
  margin-top: 4px;
  font-size: 17px;
  color: var(--ink);
}

/* ============================================================
   MON COMPTE
   ============================================================ */

/* Connexion + inscription côte à côte (le bug corrigé : le
   formulaire était coincé à 356px dans un conteneur prose). */
.zbk-login-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  max-width: 980px;
}

.zbk-login-grid--single { grid-template-columns: minmax(0, 520px); }

.zbk-login-col {
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--paper);
}
.zbk-login-col h2 {
  margin-bottom: 6px;
  font-size: 22px;
  font-weight: 600;
  color: var(--ink);
}
.zbk-login-col > p:first-of-type {
  margin-bottom: 20px;
  font-size: 15px;
  color: var(--ink-2);
}

.woocommerce form.login,
.woocommerce form.register {
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}

.woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-size: 15px;
  color: var(--ink-2);
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit { width: 100%; }

.woocommerce-LostPassword {
  margin-top: 14px;
  font-size: 15px;
}
.woocommerce-LostPassword a { color: var(--ink-2); text-decoration: underline; }
.woocommerce-LostPassword a:hover { color: var(--ink); }

/* Tableau de bord */
.zbk-account-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.woocommerce-MyAccount-navigation { width: 100%; float: none; margin: 0; }
.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  list-style: none;
}
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 500;
  color: var(--ink-2);
  transition: background var(--ease), color var(--ease);
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--paper-2); color: var(--ink); }
.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--ink);
  color: var(--paper);
  font-weight: 600;
}

.woocommerce-MyAccount-content { width: 100%; float: none; }
.woocommerce-MyAccount-content p { font-size: 16px; color: var(--ink-2); }
.woocommerce-MyAccount-content a:not(.button) { color: var(--green); text-decoration: underline; }

.woocommerce-orders-table td,
.woocommerce-orders-table th { font-size: 15px; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
}

.zbk-wc-page mark,
mark.order-status {
  display: inline-block;
  padding: 3px 10px;
  background: var(--paper-3);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}
mark.status-completed  { background: #E2F0DE; color: var(--green-dark); }
mark.status-processing,
mark.status-on-hold    { background: #FDF0CF; color: #7A5A00; }
mark.status-cancelled,
mark.status-refunded,
mark.status-failed     { background: #FBE2DC; color: var(--red-dark); }

/* Adresses */
.woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 20px;
}
.woocommerce-Address {
  width: 100%;
  float: none;
  padding: 22px;
  border: 1px solid var(--line);
  background: var(--paper);
}
.woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 { font-size: 18px; font-weight: 600; }
.woocommerce-Address-title a { font-size: 15px; color: var(--green); text-decoration: underline; }
.woocommerce-Address address { font-style: normal; font-size: 16px; line-height: 1.7; color: var(--ink-2); }

/* Formulaires d'édition */
.woocommerce-EditAccountForm fieldset {
  margin-top: 28px;
  padding: 22px;
  border: 1px solid var(--line);
}
.woocommerce-EditAccountForm legend {
  padding: 0 8px;
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  .woocommerce-cart .woocommerce:has(.cart-collaterals) { grid-template-columns: 1fr; gap: 32px; }
  .woocommerce-cart .cross-sells ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .zbk-checkout-layout { grid-template-columns: 1fr; gap: 32px; }
  .zbk-checkout-aside { position: static; }
  .zbk-account-layout { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 720px) {
  .zbk-login-grid { grid-template-columns: 1fr; gap: 20px; }
  .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-cart .cross-sells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Tableaux en cartes empilées */
  .woocommerce table.shop_table.cart,
  .woocommerce table.shop_table.cart tbody,
  .woocommerce table.shop_table.cart tr,
  .woocommerce table.shop_table.cart td { display: block; width: 100%; }
  .woocommerce table.shop_table.cart thead { display: none; }
  .woocommerce table.shop_table.cart tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 4px 14px;
    padding: 16px;
    border-bottom: 1px solid var(--line);
  }
  .woocommerce table.shop_table.cart tr.cart_item td {
    padding: 0;
    border: none;
    text-align: left;
  }
  .woocommerce table.shop_table.cart td.product-remove {
    position: absolute;
    top: 12px; right: 12px;
    width: auto;
  }
  .woocommerce table.shop_table.cart td.product-thumbnail { grid-row: 1 / span 4; }
  .woocommerce table.shop_table.cart td::before {
    content: attr(data-title) ' : ';
    font-size: 14px;
    color: var(--ink-3);
  }
  .woocommerce table.shop_table.cart td.product-thumbnail::before,
  .woocommerce table.shop_table.cart td.product-name::before,
  .woocommerce table.shop_table.cart td.product-remove::before { content: none; }
  .woocommerce table.shop_table.cart td.actions { padding: 16px; }
  .woocommerce table.cart td.actions .coupon input.input-text { width: 100%; }

  .woocommerce-orders-table,
  .woocommerce-orders-table tbody,
  .woocommerce-orders-table tr,
  .woocommerce-orders-table td { display: block; width: 100%; }
  .woocommerce-orders-table thead { display: none; }
  .woocommerce-orders-table tr { padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .woocommerce-orders-table td { padding: 4px 0; border: none; }
  .woocommerce-orders-table td::before {
    content: attr(data-title) ' : ';
    font-size: 14px;
    color: var(--ink-3);
  }
}

/* ============================================================
   FILET DE SÉCURITÉ — BLOCS WOOCOMMERCE
   Si une page Panier/Commande est restée en Gutenberg, on
   garde au moins une mise en page lisible.
   ============================================================ */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-checkout,
.wc-block-cart {
  max-width: var(--wrap);
  margin: 0 auto;
}

.wc-block-components-title,
.wc-block-components-checkout-step__title { font-size: 20px; font-weight: 600; color: var(--ink); }

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
  border: 1px solid var(--line-2);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
}

.wc-block-components-totals-item__value { font-weight: 700; color: var(--ink); }

.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button {
  border-radius: 0;
  background: var(--green);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
