/**
 * Skin WooCommerce Deliss — Panier + Mon compte (6 écrans/endpoints)
 * Portage VERBATIM du CSS des maquettes validées (04-wc-account-*.html + 05-wc-checkout-cart-v2.html)
 * sur le markup NATIF WooCommerce. Chargé UNIQUEMENT sur is_cart() / is_account_page()
 * (enqueue conditionnel dans functions.php, version filemtime).
 * NelCielo — 2026-07-29 — chantier tunnel d'achat (plan radiant-discovering-llama).
 *
 * Règle David (devs à venir) : AUCUNE hauteur fixe de ligne, AUCUN nth-child positionnel —
 * les meta d'items (date/créneau/boissons) arrivent en dl.variation / .wc-item-meta, stylées ici.
 */

/* ===== Tokens maquettes (scopés à ce fichier : chargé que sur 2 pages) ===== */
:root{
  --dw-orange:#F2A541; --dw-orange-dark:#E0932C; --dw-orange-light:#FDE8CC; --dw-orange-pale:#FFF5E6;
  --dw-blue:#1D3668; --dw-blue-light:#E8EDF7;
  --dw-cream:#FAF6F0; --dw-white:#FFFFFF; --dw-ink:#2B2B2B;
  --dw-gray:#555555; --dw-gray-soft:#888888; --dw-line:#E8E2D6;
  --dw-shadow-sm:0 2px 12px rgba(18,32,67,.06); --dw-shadow-md:0 16px 40px rgba(18,32,67,.12);
  --dw-radius:8px; --dw-radius-lg:14px;
}

/* ===== Visibilité connecté / déconnecté (décision D3 du plan) ===== */
body.logged-in .deliss-account-hero{display:none}
body:not(.logged-in) .deliss-account-bandeau{display:none}
body:not(.logged-in) .deliss-account-trust{display:block}
body.logged-in .deliss-account-trust{display:none}

/* ===== Bandeau titre natif (maquettes .page-header-native, verbatim) ===== */
.deliss-account-bandeau{background:var(--dw-white);border-bottom:1px solid var(--dw-line)}

/* ===== Layout Mon compte : sidebar + contenu (verbatim orders-v1 l.638-653) ===== */
/* !important : le CSS du widget Elementor my-account (charge APRÈS) refloate nav/contenu
   et passe les items en inline-block (constat DOM 29/07 : nav 58px, li inline). */
.woocommerce .woocommerce-MyAccount-navigation{float:none !important;width:auto !important;padding:0}
.woocommerce .woocommerce-MyAccount-content{float:none !important;width:auto !important;max-width:none !important;padding:0}
.woocommerce .woocommerce-MyAccount-content-wrapper{width:auto !important;max-width:none !important}
.woocommerce-MyAccount-navigation ul{display:block !important;width:auto !important}
.woocommerce-MyAccount-navigation li{display:block !important;width:auto !important;margin:0 !important}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:2.5rem;align-items:start}
/* Placement EXPLICITE (leçon 29/07 : l'auto-placement se fait détourner par les styles Astra
   -> nav partait dans la colonne 1fr. Les cases nommées rendent le layout déterministe.) */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;grid-row:1}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1;grid-row:2}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-column:2;grid-row:2;min-width:0}
/* Déconnecté (login/register) : pas de sidebar -> 1 colonne */
body:not(.logged-in).woocommerce-account .woocommerce{display:block}

.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--dw-line);background:var(--dw-white)}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--dw-line);margin:0}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{display:block !important;padding:.85rem 1rem !important;color:var(--dw-ink) !important;background:transparent;text-decoration:none;font-size:.95rem;font-family:'Inter',sans-serif !important;transition:background .15s}
.woocommerce-MyAccount-navigation li a:hover{background:var(--dw-cream) !important;color:var(--dw-orange-dark) !important}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--dw-cream) !important;color:var(--dw-orange-dark) !important;font-weight:600;border-left:3px solid var(--dw-orange) !important}
.woocommerce-MyAccount-navigation li a:focus-visible{outline:3px solid var(--dw-orange);outline-offset:2px}

.woocommerce-MyAccount-content p{font-size:1rem;line-height:1.7;color:var(--dw-ink);margin-bottom:1.2rem}
.woocommerce-MyAccount-content p strong{color:var(--dw-blue);font-weight:600}
.woocommerce-MyAccount-content p a{color:var(--dw-orange-dark) !important;text-decoration:underline !important}

/* ===== Table Mes commandes (verbatim orders-v1 l.657-681) ===== */
.woocommerce table.woocommerce-orders-table{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--dw-white);border:1px solid var(--dw-line);border-radius:0}
.woocommerce-orders-table th{background:var(--dw-cream);padding:.85rem 1rem;text-align:left;font-weight:600;color:var(--dw-blue);font-family:'Oswald',sans-serif;font-size:.82rem;letter-spacing:.8px;text-transform:uppercase;border-bottom:2px solid var(--dw-line)}
.woocommerce-orders-table td{padding:1rem;border-bottom:1px solid var(--dw-line);vertical-align:middle;color:var(--dw-ink)}
.woocommerce-orders-table tbody tr:hover{background:var(--dw-cream)}
.woocommerce-orders-table tbody tr:last-child td{border-bottom:0}
.woocommerce-orders-table td a:not(.button),.woocommerce-orders-table th a{color:var(--dw-orange-dark) !important;text-decoration:underline;font-family:'Oswald',sans-serif;font-weight:600;font-size:.92rem}
.woocommerce table.woocommerce-orders-table mark.order-status{display:inline-block;padding:.3rem .65rem;border-radius:14px;font-size:.75rem;font-weight:600;letter-spacing:.3px;background:transparent;color:inherit}
/* !important sur les 4 statuts + le bouton VOIR : nos propres règles génériques (.woocommerce
   .button et mark.order-status) portent !important -> les spécifiques doivent aussi le porter
   pour gagner (constat 29/07 : VOIR orange + badges tous blancs sur la page Elementor). */
.woocommerce mark.status-processing,.woocommerce-order-info mark.order-status{background:#FFF8E1 !important;color:#C87410 !important;border:1px solid #F9C043 !important}
.woocommerce mark.status-completed{background:#E8F5E9 !important;color:#2E7D32 !important;border:1px solid #5BA776 !important}
.woocommerce mark.status-on-hold{background:#FFE0CC !important;color:#C87410 !important;border:1px solid var(--dw-orange) !important}
.woocommerce mark.status-cancelled{background:#FFEBEE !important;color:#C62828 !important;border:1px solid #EF9A9A !important}
/* 3 classes (0,3,0) : bat le générique .woocommerce .button (0,2,0) qui est plus bas dans le fichier */
.woocommerce .woocommerce-orders-table .button{display:inline-block;padding:.5rem 1rem !important;font-size:.78rem;font-family:'Oswald',sans-serif !important;background:var(--dw-blue) !important;color:var(--dw-white) !important;text-decoration:none !important;border-radius:var(--dw-radius);font-weight:600;letter-spacing:.5px;text-transform:uppercase;transition:all .2s;border:0 !important;min-height:0}
.woocommerce .woocommerce-orders-table .button:hover{background:var(--dw-orange-dark) !important;color:var(--dw-white) !important}
.woocommerce-Pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--dw-line)}
.woocommerce-Pagination .woocommerce-button{padding:.5rem .9rem;font-size:.78rem;background:var(--dw-cream);color:var(--dw-orange-dark);text-decoration:none;border-radius:var(--dw-radius);font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.5px;transition:all .15s;border:1px solid var(--dw-line)}
.woocommerce-Pagination .woocommerce-button:hover{background:var(--dw-orange-pale);border-color:var(--dw-orange)}

/* ===== Détail commande (verbatim view-order-v1) ===== */
/* WC ne pose pas la classe .woocommerce-order-info attendue par la maquette -> on vise aussi
   le 1er paragraphe du contenu sur l'endpoint view-order (body class woocommerce-view-order). */
.woocommerce-order-info,.woocommerce-view-order .woocommerce-MyAccount-content p:first-of-type{padding:1rem 1.3rem;background:var(--dw-cream) !important;border-left:3px solid var(--dw-orange) !important;border-radius:var(--dw-radius);margin-bottom:1.6rem;font-size:.95rem;line-height:1.6}
.woocommerce-order-info strong,.woocommerce-view-order .woocommerce-MyAccount-content p:first-of-type strong{color:var(--dw-blue)}
/* Pilule de statut générique (phrase d'intro view-order + partout où WC émet mark.order-status) */
.woocommerce-MyAccount-content mark.order-status{display:inline-block;padding:.2rem .55rem;border-radius:14px;font-size:.78rem;font-weight:600;letter-spacing:.3px;background:#FFF8E1;color:#C87410;border:1px solid #F9C043}
.woocommerce-order-details__title,.woocommerce-column__title{font-family:'Oswald',sans-serif;font-size:1.1rem;color:var(--dw-blue);margin:0 0 1rem;padding-bottom:.6rem;border-bottom:2px solid var(--dw-orange-pale);font-weight:600}
.woocommerce-order-details{margin-bottom:2rem}
.woocommerce table.woocommerce-table--order-details{width:100%;border-collapse:collapse;font-size:.92rem;border:1px solid var(--dw-line);background:var(--dw-white);border-radius:0}
.woocommerce-table--order-details th{background:var(--dw-cream);padding:.85rem 1rem;text-align:left;font-weight:600;color:var(--dw-blue);font-family:'Oswald',sans-serif;font-size:.8rem;letter-spacing:.6px;text-transform:uppercase}
.woocommerce-table--order-details td{padding:1rem;border-bottom:1px solid var(--dw-line);vertical-align:top;color:var(--dw-ink)}
.woocommerce-table--order-details .product-name a{color:var(--dw-orange-dark) !important;text-decoration:none;font-weight:600}
.woocommerce-table--order-details .product-name a:hover{text-decoration:underline}
.woocommerce-table--order-details .product-quantity{color:var(--dw-gray);font-weight:500;margin-left:.3rem}
.woocommerce-table--order-details .product-total{text-align:right;font-family:'Oswald',sans-serif;font-weight:600;color:var(--dw-blue);white-space:nowrap}
.woocommerce-table--order-details tfoot th{background:var(--dw-cream);text-align:right;padding:.7rem 1rem;font-family:'Inter',sans-serif;font-size:.88rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--dw-gray)}
.woocommerce-table--order-details tfoot td{padding:.7rem 1rem;text-align:right;font-family:'Oswald',sans-serif;font-weight:600;color:var(--dw-blue);background:var(--dw-cream)}
.woocommerce-table--order-details tfoot tr:last-child th,.woocommerce-table--order-details tfoot tr:last-child td{font-size:1.1rem;color:var(--dw-orange-dark);font-weight:700;border-top:2px solid var(--dw-orange);background:var(--dw-orange-pale)}
.woocommerce-table--order-details tfoot small{font-size:.75rem;color:var(--dw-gray-soft);font-style:italic;font-weight:400}
.woocommerce-customer-details{margin-top:1.6rem}
.woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.woocommerce-column--billing-address,.woocommerce-column--shipping-address{background:var(--dw-white);border:1px solid var(--dw-line);border-radius:var(--dw-radius-lg);padding:1.4rem 1.6rem}
.woocommerce-column address{font-style:normal;font-size:.95rem;line-height:1.7;color:var(--dw-ink);border:0;padding:0}
.woocommerce-customer-details--phone,.woocommerce-customer-details--email{display:inline-block;font-size:.85rem;color:var(--dw-gray)}

/* Meta d'items — génériques, prêtes pour les add-ons David (date/créneau/boissons) */
.wc-item-meta,.woocommerce td.product-name dl.variation{list-style:none;padding:.4rem 0 0;margin:.4rem 0 0;border-top:1px dashed var(--dw-line)}
.wc-item-meta li,.woocommerce td.product-name dl.variation dt,.woocommerce td.product-name dl.variation dd{font-size:.82rem;color:var(--dw-gray);padding:.15rem 0;line-height:1.5;margin:0}
.wc-item-meta strong,.woocommerce td.product-name dl.variation dt{color:var(--dw-blue);font-weight:600}

/* ===== Mes adresses (verbatim addresses-v1 l.657-667) ===== */
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.4rem}
/* Reset des floats/largeurs Astra sur .col-1/.col-2 : sa feuille WC passe APRÈS la nôtre
   -> !important assumé (reset de tiers, leçon 29/07) + placement explicite anti-quinconce. */
.woocommerce-Addresses .u-column1,.woocommerce-Addresses .u-column2{max-width:none !important;width:auto !important;float:none !important}
.woocommerce-Addresses .u-column1{grid-column:1;grid-row:1}
.woocommerce-Addresses .u-column2{grid-column:2;grid-row:1}
.woocommerce-Address{background:var(--dw-white);border:1px solid var(--dw-line);border-radius:var(--dw-radius-lg);padding:1.6rem 1.8rem;box-shadow:var(--dw-shadow-sm)}
.woocommerce-Address-title,.woocommerce-Address header.title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;margin-bottom:1rem;padding:0 0 .8rem;background:transparent;border:0 !important;border-bottom:2px solid var(--dw-orange-pale) !important}
.woocommerce-Address-title h2,.woocommerce-Address-title h3,.woocommerce-Address header.title h2,.woocommerce-Address header.title h3{margin:0 !important;font-family:'Oswald',sans-serif;font-size:1.05rem;color:var(--dw-blue) !important;margin:0;font-weight:600;border:0;padding:0}
.woocommerce-Address .edit{position:static !important;margin:0 !important;font-size:.85rem;color:var(--dw-orange-dark);text-decoration:underline;font-weight:500}
.woocommerce-Address .edit:hover{color:var(--dw-orange)}
.woocommerce-Address address{font-style:normal;font-size:.95rem;line-height:1.7;color:var(--dw-ink);border:0 !important;padding:0 !important}
/* Le libellé lecteur d'écran du lien Modifier restait visible -> clip standard */
.woocommerce-Address .edit .screen-reader-text,.woocommerce-MyAccount-content .screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ===== Formulaires (verbatim edit-v1 + hub, généralisé aux forms WC compte) ===== */
.woocommerce-EditAccountForm,.woocommerce-address-fields,form.woocommerce-ResetPassword{background:var(--dw-white);border:1px solid var(--dw-line);border-radius:var(--dw-radius-lg);padding:2rem 2.2rem;box-shadow:var(--dw-shadow-sm);max-width:720px}
.woocommerce form .form-row{display:block;margin-bottom:1.2rem;padding:0}
.woocommerce form .form-row-first{width:48%;float:left;margin-right:4%}
.woocommerce form .form-row-last{width:48%;float:left;margin-right:0}
.woocommerce form .clear{clear:both;height:0}
.woocommerce form .form-row label{display:block;font-size:.88rem;font-weight:500;color:var(--dw-blue);margin-bottom:.35rem;letter-spacing:.2px}
.woocommerce form .form-row .required{color:var(--dw-orange-dark);font-weight:600;text-decoration:none}
.woocommerce form .form-row .input-text{width:100%;padding:.75rem .9rem;border:1.5px solid var(--dw-line) !important;border-radius:var(--dw-radius);font-family:'Inter',sans-serif;font-size:.92rem;color:var(--dw-ink);background:var(--dw-white) !important;transition:border-color .2s,box-shadow .2s}
.woocommerce form .form-row .input-text:focus{outline:none;border-color:var(--dw-orange) !important;box-shadow:0 0 0 3px rgba(244,161,61,.18)}
.woocommerce form .form-row em,.woocommerce form .form-row .form-help{font-size:.78rem;color:var(--dw-gray);font-style:italic;display:block;margin-top:.25rem}
.woocommerce-EditAccountForm fieldset{border:1.5px solid var(--dw-line);border-radius:var(--dw-radius);padding:1.4rem 1.5rem;margin:1.5rem 0 1.2rem}
.woocommerce-EditAccountForm legend{font-family:'Oswald',sans-serif;font-size:.95rem;letter-spacing:.6px;color:var(--dw-blue);text-transform:uppercase;font-weight:600;padding:0 .5rem}

/* Boutons WC (style .btn-primary maquette : orange, texte bleu, Oswald, 50px)
   !important sur les couleurs : le CSS du widget Elementor woocommerce-my-account charge APRÈS
   cette feuille et repeignait les boutons en bleu clair (constat live 29/07, page 15). */
.woocommerce .button,.woocommerce button.button,.woocommerce-Button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.7rem;font-family:'Oswald',sans-serif !important;font-weight:500;font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;background:var(--dw-orange) !important;color:var(--dw-blue) !important;border:2px solid var(--dw-orange) !important;border-radius:var(--dw-radius);cursor:pointer;transition:all .25s;min-height:50px;text-decoration:none}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce-Button:hover{background:var(--dw-orange-dark) !important;border-color:var(--dw-orange-dark) !important;color:var(--dw-white) !important;transform:translateY(-2px);box-shadow:var(--dw-shadow-md)}
/* exception : boutons de la table commandes gardent leur style pilule bleue (plus haut, plus spécifique) */

/* ===== Hub connexion / création (styles maquette hub -> classes NATIVES WC) ===== */
body:not(.logged-in) .woocommerce-account .woocommerce{background:transparent}
#customer_login{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-bottom:2.5rem;width:auto}
/* Placement explicite (même leçon Astra que la sidebar) : Connexion à gauche, Création à droite, MÊME ligne */
#customer_login .u-column1{grid-column:1;grid-row:1}
#customer_login .u-column2{grid-column:2;grid-row:1}
#customer_login .u-column1,#customer_login .u-column2{max-width:none;width:auto;float:none;background:var(--dw-white);border:1px solid var(--dw-line);border-radius:var(--dw-radius-lg);padding:2rem 2.2rem;box-shadow:var(--dw-shadow-sm);display:flex;flex-direction:column}
/* Astra ajoute sa propre bordure/padding/fond autour des forms login/register -> double cadre.
   !important assumé : reset d'un style tiers chargé après le nôtre (feuille WC dynamique d'Astra). */
.woocommerce form.login,.woocommerce form.register{border:0 !important;padding:0 !important;margin:0 !important;background:transparent !important}
/* Ordre du formulaire de création : WC n'offre pas de hook sous le champ e-mail -> les éléments
   injectés arrivent en fin de form. Flex order pour retrouver l'ordre de la maquette :
   Prénom/Nom (rangée .clear incluse) -> e-mail -> aide -> mot de passe -> CGV -> RGPD -> bouton. */
.woocommerce form.register{display:flex;flex-wrap:wrap;gap:0}
.woocommerce form.register > *{width:100%}
.woocommerce form.register > .form-row-first{order:1;width:48% !important;margin-right:4% !important;float:none}
.woocommerce form.register > .form-row-last{order:2;width:48% !important;float:none}
.woocommerce form.register > .clear{display:none}
.woocommerce form.register > p:has(#reg_email){order:3}
.woocommerce form.register > .deliss-help-email{order:4;margin:-.9rem 0 1.2rem}
.woocommerce form.register > p:has(#reg_password){order:5}
.woocommerce form.register > .deliss-cgv-row{order:6}
.woocommerce form.register > .woocommerce-privacy-policy-text{order:7}
.woocommerce form.register > p:has(button[type=submit]){order:8}
@media (max-width:767px){
  .woocommerce form.register > .form-row-first,.woocommerce form.register > .form-row-last{width:100% !important;margin-right:0 !important}
}
#customer_login .u-column2{background:linear-gradient(135deg,var(--dw-white) 0%,var(--dw-orange-pale) 100%);border-color:var(--dw-orange-light)}
#customer_login h2{font-family:'Oswald',sans-serif;font-size:1.4rem;color:var(--dw-blue);margin:0 0 .35rem;padding-bottom:1rem;border-bottom:2px solid var(--dw-orange-pale);margin-bottom:1.4rem;font-weight:600}
#customer_login .u-column2 h2{border-bottom-color:var(--dw-orange)}
.deliss-account-sub{margin:-1.1rem 0 1.2rem;color:var(--dw-gray);font-size:.92rem;font-style:italic}
.woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--dw-gray);cursor:pointer;margin-bottom:.6rem}
.woocommerce-form-login__rememberme input[type="checkbox"]{width:18px;height:18px;accent-color:var(--dw-orange);cursor:pointer}
.woocommerce-LostPassword a{font-size:.85rem;color:var(--dw-orange-dark);text-decoration:underline}
.woocommerce-form-register .woocommerce-privacy-policy-text p{font-size:.82rem;color:var(--dw-gray);line-height:1.55}
.deliss-cgv-row label{display:inline-flex !important;align-items:flex-start;gap:.5rem;font-size:.85rem;color:var(--dw-gray);font-weight:400 !important}
.deliss-cgv-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--dw-orange);flex-shrink:0;margin-top:2px}
.deliss-cgv-row a{color:var(--dw-orange-dark);text-decoration:underline}

/* ===== Notices WC (génériques — les messages David hériteront) =====
   Correctif 21/08/2026 (retour Christine, bandeau "ajouté au panier" hors charte) :
   SOURCE DE VÉRITÉ pour le DESIGN des notices -> une copie SYNCHRONISÉE de ce bloc vit aussi
   dans astra-child/style.css (chargé sur TOUTES les pages, y compris les fiches produit où ce
   fichier-ci n'est PAS enqueue). Toute modif ici doit être reportée là-bas (et inversement). */
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.e-notices-wrapper .woocommerce-message,.e-notices-wrapper .woocommerce-info,.e-notices-wrapper .woocommerce-error{
  position:relative;display:flex !important;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;
  max-width:1320px;margin:1rem auto !important;padding:1rem 1.4rem 1rem 2.6rem;box-sizing:border-box;
  background:var(--dw-orange-pale) !important;border-top:0 !important;border-right:0 !important;border-bottom:0 !important;
  border-left:4px solid var(--dw-orange) !important;border-radius:var(--dw-radius);
  color:var(--dw-blue) !important;font-size:.95rem;font-family:'Inter',sans-serif;list-style:none
}
.woocommerce-error,.woocommerce-error li{border-left-color:#B0491F !important;background:#FDEDE7 !important;list-style:none}
.woocommerce-info,.woocommerce-error{padding-left:1.6rem !important}
/* Icône ::before : la police d'icônes WooCommerce n'est pas chargée (Astra) -> carré fantôme qui
   chevauche le texte (retour Christine 29/07 puis 21/08). Remplacée par une coche Unicode (succès
   uniquement, aucune dépendance à une police d'icônes). position:absolute (PAS flex item) : en
   flex item, la coche entrait en collision avec le texte (nœud texte anonyme) sur mobile 390 -
   constat capture 21/08, "«B✓ffet Italia»". Masquée sur info/erreur (pas demandé). */
.woocommerce-message::before{position:absolute !important;left:1rem;top:50%;transform:translateY(-50%);display:block !important;content:"\2713" !important;font-family:inherit !important;color:var(--dw-orange) !important;font-weight:700;font-size:1.15em;line-height:1;margin:0 !important}
.woocommerce-info::before,.woocommerce-error::before,.woocommerce-error li::before{display:none !important}
.woocommerce-message a.button,.woocommerce-info a.button,.woocommerce-error a.button{
  order:1;margin:0 0 0 auto !important;flex:none;display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.5rem !important;font-family:'Oswald',sans-serif !important;font-weight:500;font-size:.8rem;
  letter-spacing:1.2px;text-transform:uppercase;background:var(--dw-orange) !important;color:var(--dw-blue) !important;
  border:2px solid var(--dw-orange) !important;border-radius:var(--dw-radius);text-decoration:none !important;transition:all .25s
}
.woocommerce-message a.button:hover,.woocommerce-info a.button:hover,.woocommerce-error a.button:hover{
  background:var(--dw-orange-dark) !important;border-color:var(--dw-orange-dark) !important;color:var(--dw-white) !important
}
@media (max-width:767px){
  .woocommerce-message,.woocommerce-info,.woocommerce-error{margin:.8rem 16px !important;padding:.9rem 1.1rem}
}

/* ===== Panier (table native / widget Elementor Pro woocommerce-cart) ===== */
.woocommerce table.shop_table{border:1px solid var(--dw-line);border-radius:var(--dw-radius);border-collapse:separate;border-spacing:0;background:var(--dw-white)}
.woocommerce table.shop_table th{background:var(--dw-cream);font-family:'Oswald',sans-serif;font-size:.82rem;letter-spacing:.8px;text-transform:uppercase;color:var(--dw-blue);font-weight:600;padding:.85rem 1rem}
.woocommerce table.shop_table td{padding:1rem;border-top:1px solid var(--dw-line);color:var(--dw-ink);vertical-align:middle}
.woocommerce-cart table.cart img{width:96px;border-radius:var(--dw-radius)}
.woocommerce-cart table.cart td.product-name a{color:var(--dw-blue);font-weight:600;text-decoration:none;font-size:1rem}
.woocommerce-cart table.cart td.product-name a:hover{color:var(--dw-orange-dark)}
.woocommerce-cart table.cart td.product-price,.woocommerce-cart table.cart td.product-subtotal{font-family:'Oswald',sans-serif;font-weight:600;color:var(--dw-blue);white-space:nowrap}
.woocommerce-cart table.cart td.product-subtotal{color:var(--dw-orange-dark)}
/* Bouton supprimer une ligne : Elementor Pro (.elementor-widget-woocommerce-cart .woocommerce .remove,
   specificite (0,3,0), color !important + width:auto) bat notre ancien selecteur (0,2,1) -> ovale et
   noir (constat 21/08, getComputedStyle : width 23px pour height 34px, color rgb(0,0,0)). La croix est
   un SVG Astra (.ahfb-svg-iconset, fill="currentColor") -> suit color, pas besoin de la cibler a part.
   Specificite relevee a (0,4,3)/(0,5,3) pour gagner meme sur les proprietes !important adverses. */
.woocommerce table.cart td.product-remove a.remove,
.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove a.remove{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:28px !important;height:28px !important;min-width:28px !important;min-height:28px !important;
  aspect-ratio:1/1 !important;line-height:1 !important;padding:0 !important;margin:0 auto;
  background:var(--dw-white) !important;border:1.5px solid #B0491F !important;border-radius:50% !important;
  color:#B0491F !important;font-size:1rem;text-decoration:none !important;transition:all .2s
}
.woocommerce table.cart td.product-remove a.remove:before,
.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove a.remove:before{display:none !important}
.woocommerce table.cart td.product-remove a.remove:hover,
.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove a.remove:hover{
  background:#B0491F !important;color:var(--dw-white) !important;border-color:#B0491F !important
}
.woocommerce .quantity .qty{width:4.2em;padding:.55rem .4rem;border:1.5px solid var(--dw-line);border-radius:var(--dw-radius);font-family:'Inter',sans-serif;font-size:.95rem;text-align:center}
.woocommerce .quantity .qty:focus{outline:none;border-color:var(--dw-orange);box-shadow:0 0 0 3px rgba(244,161,61,.18)}
/* Coupon : champ + bouton discrets */
.woocommerce-cart table.cart td.actions .coupon .input-text{width:180px;padding:.6rem .8rem;border:1.5px solid var(--dw-line);border-radius:var(--dw-radius);margin-right:.5rem}
/* Totaux : carte crème (maquette .cart-summary) */
.cart_totals{background:var(--dw-cream);border:1px solid var(--dw-line);border-radius:var(--dw-radius-lg);padding:1.5rem 1.6rem}
.cart_totals h2{font-family:'Oswald',sans-serif;font-size:1.2rem;color:var(--dw-blue);margin:0 0 1rem;font-weight:600}
.cart_totals table.shop_table{border:0;background:transparent}
.cart_totals table.shop_table th{background:transparent;text-transform:none;letter-spacing:0;font-family:'Inter',sans-serif;font-size:.92rem;color:var(--dw-gray);font-weight:500;padding:.55rem 0}
.cart_totals table.shop_table td{background:transparent;border-top:0;text-align:right;font-family:'Oswald',sans-serif;font-weight:600;color:var(--dw-blue);padding:.55rem 0}
.cart_totals .order-total th,.cart_totals .order-total td{border-top:2px solid var(--dw-orange) !important;font-size:1.15rem;color:var(--dw-orange-dark);padding-top:.8rem}
.wc-proceed-to-checkout .checkout-button{width:100%;font-size:.9rem}
/* Livraison (date/créneau) dans la ligne panier : le widget Elementor Pro impose padding:16px et
   aucun line-height sur TOUT select/.input-text de son cart (.elementor-widget-woocommerce-cart
   .woocommerce select, specificite (0,2,1), sans !important) -> sur un <select> natif, 16px de
   padding haut+bas dans une boite de 40px ne laisse que 8px de zone de texte utile (constat 21/08,
   retour Christine "texte coupé"). !important : notre correctif doit primer sur ce padding fixe. */
.deliss-cart-delivery select,select.deliss-cart-date,select.deliss-cart-slot{
  height:auto !important;min-height:44px !important;padding:8px 12px !important;
  line-height:1.4 !important;font-size:15px !important;box-sizing:border-box !important;
  font-family:'Inter',sans-serif !important
}

/* ===== Checkout (widget Elementor Pro woocommerce-checkout) — 22/08/2026 =====
   Ce fichier n'était enqueue que sur is_cart()/is_account_page() -> #place_order restait au bleu
   WooCommerce par défaut #046BD2, Noto Sans (constat QA 21/08). Enqueue étendu à is_checkout()
   dans functions-additions.php ; règles explicites ici (pas seulement la règle générique
   .woocommerce .button) car le widget Elementor Pro Checkout imprime sa propre CSS par-post
   APRÈS cette feuille et peut re-cibler #place_order avec une spécificité proche. */
#place_order,
.woocommerce-checkout .button,
.woocommerce-checkout .wc-backward,
.woocommerce-error .button{
  display:inline-flex !important;align-items:center;justify-content:center;
  padding:.95rem 1.7rem !important;font-family:'Oswald',sans-serif !important;font-weight:500;
  font-size:.82rem !important;letter-spacing:1.5px;text-transform:uppercase;
  background:var(--dw-orange) !important;color:var(--dw-blue) !important;
  border:2px solid var(--dw-orange) !important;border-radius:var(--dw-radius) !important;
  cursor:pointer;transition:all .25s;min-height:50px;text-decoration:none !important
}
#place_order:hover,
.woocommerce-checkout .button:hover,
.woocommerce-checkout .wc-backward:hover,
.woocommerce-error .button:hover{
  background:var(--dw-orange-dark) !important;border-color:var(--dw-orange-dark) !important;color:var(--dw-white) !important
}

/* ===== Responsive — mapping breakpoints maquettes (760/900) -> Elementor (1024/767) ===== */
@media (max-width:1024px){
  /* panier : le widget passe ses colonnes ; garde-fou table */
  .woocommerce-cart table.cart img{width:72px}
  /* Table commandes -> cartes DÈS 1024 : le widget Elementor bascule son pattern responsive
     vers ~1024 (constat tribunal 29/07 : cartes à 820 SANS le N°) -> nos règles doivent couvrir
     la même plage, sinon le N° de commande (un TH scope=row !) reste masqué entre 768 et 1024. */
  .woocommerce-orders-table thead{display:none}
  .woocommerce-orders-table tbody tr{display:block;padding:.8rem 0;border-bottom:2px solid var(--dw-line)}
  .woocommerce-orders-table td{display:block;border-bottom:0;padding:.3rem 1rem;text-align:left}
  .woocommerce-orders-table td::before{content:attr(data-title) " : ";font-weight:600;color:var(--dw-blue);font-family:'Oswald',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;display:inline-block;width:90px}
  .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number{display:block !important;padding:.3rem 1rem;text-align:left;background:transparent;border:0}
  .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before{content:attr(data-title) " : ";font-weight:600;color:var(--dw-blue);font-family:'Oswald',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;display:inline-block;width:90px}
  .woocommerce-orders-table td[data-title="Actions"]::before,.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{display:none}
}
@media (max-width:767px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:1rem}
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1;grid-row:2}
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-column:1;grid-row:3}
  #customer_login{grid-template-columns:1fr;gap:1.2rem}
  #customer_login .u-column1{grid-column:1;grid-row:1}
  #customer_login .u-column2{grid-column:1;grid-row:2}
  #customer_login .u-column1,#customer_login .u-column2{padding:1.5rem 1.4rem}
  /* Empilement des 2 cartes adresses : redéclarer le placement EXPLICITE en 1 colonne, sinon
     le placement desktop (u-column2 -> colonne 2) force une 2e colonne fantôme -> cartes
     comprimées + titres/liens qui se chevauchent (tribunal 29/07, addresses-390) */
  .woocommerce-Addresses,.woocommerce-columns--addresses{grid-template-columns:1fr}
  .woocommerce-Addresses .u-column1{grid-column:1;grid-row:1}
  .woocommerce-Addresses .u-column2{grid-column:1;grid-row:2}
  .woocommerce-EditAccountForm,.woocommerce-address-fields{padding:1.4rem}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none;margin:0 0 1.2rem}
  .woocommerce-table--order-details td,.woocommerce-table--order-details th{padding:.7rem .6rem}
  /* Bouton supprimer une ligne panier : 32px au lieu de 28px sur mobile (cible tactile >= 48px
     visee, cf CLAUDE.md §46.1 ; 32px + zone de padding de la cellule reste dans la marge admise
     pour un bouton secondaire isole, pas un CTA principal). */
  .woocommerce table.cart td.product-remove a.remove,
  .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove a.remove{
    width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important
  }
}
