/* KillerPack — compléments propres à WordPress / WooCommerce (le reste vient de la maquette : kp.css, pages.css, accueil.css).
   Panier, commande, mon compte, suivi : gabarits WooCommerce classiques ET blocs, habillés aux couleurs du design « Le mix ». */

/* ---------- Socle WordPress ---------- */
.screen-reader-text, .sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
.skip-link:focus { position: fixed !important; z-index: 1000; top: 8px; left: 8px; width: auto; height: auto; clip: auto; clip-path: none; margin: 0; padding: 12px 18px; background: #fff; color: var(--bleu-nuit); border-radius: 10px; font-weight: 800; box-shadow: 0 8px 24px rgba(11,27,63,.25); }
.alignleft { float: left; margin: 0 1.5em 1em 0; } .alignright { float: right; margin: 0 0 1em 1.5em; } .aligncenter { display: block; margin-inline: auto; }
.wp-caption, figure { max-width: 100%; } .wp-caption-text, figcaption { font-size: 14px; color: var(--gris); }
body.admin-bar .kp-tiroir { top: var(--wp-admin--admin-bar--height, 0px); }

/* En-tête : compteur du panier aussi sur l'accueil (pages.css n'y est pas chargé) */
.kp-icones a { position: relative; }
.kp-accueil .pastille-panier { position: absolute; top: 2px; right: 0; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--orange); color: #fff; font-size: 12px; font-weight: 800; display: grid; place-items: center; line-height: 1; }
.kp-accueil .pastille-panier:empty { display: none; }
.kp-tiroir-tete img { width: auto; }

/* Affiches de l'accueil : produit sans prix « Ailleurs* » ou sans prix */
.etiquette.sans-ailleurs .ancien, .etiquette.sans-ailleurs .tampon { display: none !important; }
.etiquette.sans-prix-aff .nouveau { font-size: .55em; }

/* Recherche : autres contenus, pagination */
.resultats-pages { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 4px; }
.navigation.pagination, .woocommerce-pagination { margin-top: 28px; }
.nav-links, .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; border: 0 !important; }
.page-numbers li { border: 0 !important; }
a.page-numbers, span.page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 12px; border: 2px solid var(--ligne); font-weight: 800; text-decoration: none; color: var(--bleu-nuit); background: #fff; }
span.page-numbers.current { background: var(--bleu-nuit); border-color: var(--bleu-nuit); color: #fff; }

/* Fiche produit : description longue, formulaire des produits variables */
.fiche-description { max-width: 75ch; margin: 0 0 22px; }
.fiche-description > :first-child { margin-top: 0; }
.kp-achat-wc form.cart { display: grid; gap: 14px; }
.kp-achat-wc table.variations { width: 100%; border-collapse: collapse; }
.kp-achat-wc table.variations th, .kp-achat-wc table.variations td { display: block; padding: 0 0 6px; text-align: left; }
.kp-achat-wc table.variations label { font-weight: 800; color: var(--bleu-nuit); }
.kp-achat-wc select { width: 100%; min-height: 48px; border: 2px solid var(--ligne); border-radius: 12px; padding: 0 14px; font: inherit; background: #fff; }
.kp-achat-wc .reset_variations { font-size: 14px; color: var(--gris); }
.kp-achat-wc .woocommerce-variation-price .price { font-family: var(--titre); font-size: 34px; color: var(--bleu-nuit); }
.kp-achat-wc .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.kp-achat-wc .quantity input.qty { width: 90px; min-height: 52px; border: 2px solid var(--bleu-nuit); border-radius: 12px; text-align: center; font: inherit; font-weight: 800; font-size: 18px; }
.kp-achat-wc .single_add_to_cart_button, .kp-form-achat .single_add_to_cart_button { cursor: pointer; }
.kp-achat-wc .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 14px; border: 0; background: var(--orange); color: #fff; font-weight: 800; font-size: 17px; box-shadow: 0 5px 0 var(--orange-fonce); }
.kp-achat-wc .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }
.kp-form-achat .boutons-achat button.kp-btn-contour { cursor: pointer; }
.fiche-infos .stock.out-of-stock { font-weight: 800; color: #B42318; margin: 0; }

/* ---------- Avis WooCommerce (notices) ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
  list-style: none; margin: 0 0 18px; padding: 14px 16px !important; border-radius: 14px; border: 2px solid var(--ligne); background: #fff; color: var(--encre);
  font-weight: 700; display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; box-shadow: var(--c-ombre, 0 18px 40px -28px rgba(15,23,42,.45));
}
.woocommerce-message { border-color: #12A150; } .woocommerce-message::before { content: "✓"; color: #12A150; font-weight: 900; position: static; }
.woocommerce-error { border-color: #B42318; } .woocommerce-error li { list-style: none; }
.woocommerce-info { border-color: var(--bleu); }
.woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button { order: 2; }
.fiche-haut .woocommerce-notices-wrapper, main > .woocommerce-notices-wrapper { width: 100%; max-width: 1320px; margin: 16px auto 0; padding: 0 16px; }
.fiche-haut .woocommerce-notices-wrapper > *, main > .woocommerce-notices-wrapper > * { margin-bottom: 0; }

/* ---------- Boutons WooCommerce (classique) au style du design ---------- */
.zone-wc .button, .zone-wc button.button, .zone-wc input.button, .zone-wc a.button, .woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .zone-wc #place_order, .zone-wc .checkout-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: 0 22px; border-radius: 14px; border: 2px solid var(--bleu-nuit);
  background: #fff; color: var(--bleu-nuit); font: inherit; font-weight: 800; font-size: 16px; text-decoration: none; cursor: pointer; white-space: nowrap; line-height: 1.1;
}
.zone-wc.zone-wc .button.alt, .zone-wc.zone-wc .checkout-button, .zone-wc.zone-wc #place_order, .zone-wc.zone-wc .woocommerce-form-login__submit, .zone-wc.zone-wc .woocommerce-form-register__submit, .zone-wc.zone-wc .woocommerce-Button, .zone-wc.zone-wc .track_order .button, .zone-wc.zone-wc .woocommerce-ResetPassword .button {
  background: var(--orange); border-color: var(--orange); color: #fff; box-shadow: 0 5px 0 var(--orange-fonce);
}
.zone-wc .button:hover { filter: brightness(.95); }
.zone-wc .button:disabled, .zone-wc .button.disabled { opacity: .55; cursor: not-allowed; }

/* ---------- Champs de formulaire WooCommerce (classique) ---------- */
.zone-wc .form-row { display: grid; gap: 6px; margin: 0 0 14px; padding: 0; }
.zone-wc .form-row label, .zone-wc fieldset legend { font-weight: 800; font-size: 14px; color: var(--bleu-nuit); }
.zone-wc .form-row label.checkbox, .zone-wc .form-row label.woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: center; font-weight: 600; font-size: 15px; color: var(--encre); }
.zone-wc .required { color: var(--orange-fonce); text-decoration: none; border: 0; }
.zone-wc input.input-text, .zone-wc textarea, .zone-wc select, .zone-wc input[type=email], .zone-wc input[type=password], .zone-wc input[type=text], .zone-wc input[type=tel], .zone-wc input[type=number], .zone-wc .select2-container .select2-selection--single {
  width: 100%; min-height: 48px; border: 2px solid var(--ligne); border-radius: 12px; padding: 0 14px; font: inherit; font-size: 16px; background: #fff; color: var(--encre); box-sizing: border-box;
}
.zone-wc textarea { min-height: 110px; padding: 12px 14px; }
.zone-wc .select2-container .select2-selection--single { display: flex; align-items: center; }
.zone-wc .select2-container .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.zone-wc input:focus, .zone-wc textarea:focus, .zone-wc select:focus { outline: none; border-color: var(--bleu); box-shadow: 0 0 0 3px rgba(29,78,216,.18); }
.zone-wc input[type=checkbox], .zone-wc input[type=radio] { width: 20px; height: 20px; min-height: 0; accent-color: var(--orange); }
.zone-wc .password-input { position: relative; display: block; }
.zone-wc .show-password-input { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: 0; cursor: pointer; }
.zone-wc h2, .zone-wc h3 { font-family: var(--titre); font-weight: 400; text-transform: uppercase; color: var(--bleu-nuit); line-height: 1; letter-spacing: .005em; }
.zone-wc h2 { font-size: clamp(30px, 4vw, 44px); margin: 0 0 16px; }
.zone-wc h3 { font-size: clamp(24px, 3vw, 32px); margin: 0 0 14px; }
.zone-wc table.shop_table { width: 100%; border-collapse: collapse; border: 0; }
.zone-wc table.shop_table th, .zone-wc table.shop_table td { padding: 10px 0; border: 0; border-bottom: 1px solid var(--ligne); text-align: left; vertical-align: middle; }
.zone-wc table.shop_table td:last-child, .zone-wc table.shop_table th:last-child { text-align: right; }
.zone-wc .woocommerce-Price-amount { font-weight: 800; white-space: nowrap; }
.zone-wc .order-total .woocommerce-Price-amount { font-family: var(--titre); font-weight: 400; font-size: 32px; color: var(--bleu-nuit); }

/* ---------- Panier classique (shortcode [woocommerce_cart]) ---------- */
.zone-panier .woocommerce { display: grid; gap: 24px; }
@media (min-width: 960px) {
  .zone-panier .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 40px; }
  .zone-panier .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .zone-panier .cart-collaterals { position: sticky; top: calc(var(--entete) + 16px); }
}
.zone-panier .woocommerce > * { min-width: 0; }
.woocommerce-cart-form table.cart thead { display: none; }
.woocommerce-cart-form table.cart, .woocommerce-cart-form table.cart tbody { display: block; border: 0; }
.woocommerce-cart-form table.cart tr.cart_item {
  display: grid; grid-template-columns: 84px minmax(0,1fr) auto; grid-template-areas: "vig nom suppr" "vig prix prix" "qte qte total"; gap: 8px 14px; align-items: center;
  padding: 12px; margin-bottom: 12px; border-radius: var(--c-rayon); background: #fff; border: 2px solid var(--c-bord); box-shadow: var(--c-ombre);
}
@media (min-width: 700px) { .woocommerce-cart-form table.cart tr.cart_item { grid-template-columns: 84px minmax(0,1fr) auto auto 44px; grid-template-areas: "vig nom qte total suppr" "vig prix qte total suppr"; } }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr td { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr td::before { display: none !important; content: none !important; }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr td.product-thumbnail { grid-area: vig; width: 84px; height: 84px; border-radius: 12px; background: var(--c-media); display: grid !important; place-items: center; overflow: hidden; }
.woocommerce-cart-form td.product-thumbnail img { width: 100%; height: 100%; object-fit: contain; padding: 6px; mix-blend-mode: multiply; }
.woocommerce-cart-form td.product-name { grid-area: nom; font-weight: 800; color: var(--bleu-nuit); line-height: 1.25; }
.woocommerce-cart-form td.product-name a { text-decoration: none; }
.woocommerce-cart-form td.product-name dl.variation { margin: 4px 0 0; font-weight: 600; font-size: 13px; color: var(--gris); display: flex; gap: 4px; }
.woocommerce-cart-form td.product-name dl.variation dd, .woocommerce-cart-form td.product-name dl.variation p { margin: 0; }
.woocommerce-cart-form td.product-price { grid-area: prix; font-size: 14px; color: var(--gris); font-weight: 600; }
.woocommerce-cart-form td.product-price .woocommerce-Price-amount { font-weight: 700; }
.woocommerce-cart-form td.product-quantity { grid-area: qte; }
.woocommerce-cart-form td.product-quantity .quantity input.qty { width: 92px; min-height: 46px; border: 2px solid var(--bleu-nuit); border-radius: 12px; text-align: center; font: inherit; font-weight: 800; font-size: 17px; }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr td.product-subtotal { grid-area: total; text-align: right !important; }
.woocommerce-cart-form td.product-subtotal .woocommerce-Price-amount { font-family: var(--titre); font-weight: 400; font-size: 26px; color: var(--bleu-nuit); }
.woocommerce-cart-form td.product-remove { grid-area: suppr; justify-self: end; }
.woocommerce-cart-form td.product-remove a.remove { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--fond-2); color: var(--gris) !important; font-size: 24px; text-decoration: none; line-height: 1; }
.woocommerce-cart-form td.product-remove a.remove:hover { background: #FDE2DB; color: #B42318 !important; }
.woocommerce-cart-form tr:not(.cart_item) { display: block; }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr td.actions { display: flex !important; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; padding-top: 4px !important; }
.woocommerce-cart-form td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.woocommerce-cart-form td.actions .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart-form td.actions .coupon input.input-text { width: 180px; }
.cart-collaterals .cart_totals { width: 100% !important; float: none !important; background: #fff; color: var(--encre); border-radius: var(--c-rayon); border: 2px solid var(--c-bord); padding: 20px; display: grid; gap: 14px; box-shadow: var(--c-ombre); }
.cart-collaterals .cart_totals h2 { font-size: 30px; margin: 0; }
.cart-collaterals .cart_totals table th { font-weight: 700; width: auto; }
.cart-collaterals .cart_totals table tr.order-total th, .cart-collaterals .cart_totals table tr.order-total td { border-top: 2px dashed var(--ligne); border-bottom: 0; padding-top: 12px; }
.cart-collaterals .cart_totals table ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: right; font-size: 14px; }
.cart-collaterals .woocommerce-shipping-destination, .cart-collaterals .woocommerce-shipping-calculator { font-size: 13px; color: var(--gris); margin: 4px 0 0; }
.cart-collaterals .wc-proceed-to-checkout { padding: 0; }
.cart-collaterals .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; font-size: 18px; }
.cart-collaterals .cross-sells { display: none; }
.zone-panier .cart-empty { text-align: center; font-family: var(--titre); font-weight: 400; text-transform: uppercase; font-size: clamp(30px, 4vw, 44px); color: var(--bleu-nuit); border: 0; box-shadow: none; display: block; padding: 130px 0 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cellipse cx='100' cy='186' rx='70' ry='8' fill='%230B1B3F' opacity='.1'/%3E%3Cpath d='M80 74c0-30 34-30 34 0' fill='none' stroke='%23B9874F' stroke-width='7'/%3E%3Cpolygon points='50,72 140,72 146,182 44,182' fill='%23D6A86E'/%3E%3Cpolygon points='140,72 164,82 167,174 146,182' fill='%23B9874F'/%3E%3Cpolygon points='50,72 140,72 164,82 74,82' fill='%23E8C695'/%3E%3Cpath fill='%23FF6B35' transform='translate(80 102) scale(.5)' d='M30 0 0 64h22L10 120l44-76H30L44 0z'/%3E%3C/svg%3E") no-repeat center top / 120px; }
.zone-panier .cart-empty::before { display: none; }
.zone-panier .return-to-shop { text-align: center; margin: 14px 0 0; }

/* ---------- Commande classique ([woocommerce_checkout]) ---------- */
.zone-commande form.checkout { display: grid; gap: 24px; }
@media (min-width: 960px) {
  .zone-commande form.checkout { grid-template-columns: minmax(0, 1fr) 420px; align-items: start; column-gap: 40px; row-gap: 14px; }
  .zone-commande form.checkout > .woocommerce-NoticeGroup, .zone-commande form.checkout > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .zone-commande #customer_details { grid-column: 1; grid-row: 1 / span 3; }
  .zone-commande #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
  .zone-commande #order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--entete) + 16px); }
}
.zone-commande #customer_details { display: grid; gap: 18px; }
.zone-commande #customer_details .col-1, .zone-commande #customer_details .col-2 { float: none; width: auto; background: #fff; border-radius: var(--c-rayon); border: 2px solid var(--c-bord); padding: clamp(18px, 3vw, 28px); box-shadow: var(--c-ombre); }
.zone-commande .woocommerce-billing-fields__field-wrapper, .zone-commande .woocommerce-shipping-fields__field-wrapper { display: grid; gap: 0 14px; grid-template-columns: 1fr 1fr; }
.zone-commande .form-row-wide, .zone-commande .notes, .zone-commande #billing_address_1_field, .zone-commande #billing_address_2_field, .zone-commande #billing_country_field, .zone-commande #billing_company_field, .zone-commande #billing_email_field, .zone-commande #shipping_address_1_field, .zone-commande #shipping_address_2_field, .zone-commande #shipping_country_field, .zone-commande #shipping_company_field { grid-column: 1 / -1; }
.zone-commande .form-row-first, .zone-commande .form-row-last { float: none; width: auto; }
@media (max-width: 599px) { .zone-commande .woocommerce-billing-fields__field-wrapper, .zone-commande .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; } }
.zone-commande #order_review { background: #fff; border-radius: var(--c-rayon); border: 2px solid var(--c-bord); padding: 20px; box-shadow: var(--c-ombre); display: grid; gap: 14px; }
.zone-commande #order_review table.shop_table th, .zone-commande #order_review table.shop_table td { font-size: 15px; }
.zone-commande #payment { background: var(--fond-2); border-radius: 14px; padding: 14px; }
.zone-commande #payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; border: 0; }
.zone-commande #payment ul.payment_methods li { background: #fff; border-radius: 12px; padding: 12px; border: 2px solid var(--ligne); }
.zone-commande #payment ul.payment_methods li label { font-weight: 800; color: var(--bleu-nuit); margin-left: 6px; }
.zone-commande #payment .payment_box { margin: 8px 0 0; font-size: 14px; color: var(--gris); background: none; padding: 0; }
.zone-commande #payment .payment_box::before { display: none; }
.zone-commande #payment .place-order { padding: 0; margin: 0; display: grid; gap: 12px; }
.zone-commande #place_order { width: 100%; min-height: 58px; font-size: 18px; float: none; }
.zone-commande .woocommerce-terms-and-conditions-wrapper { font-size: 14px; }
.zone-commande .woocommerce-form-coupon-toggle .woocommerce-info, .zone-commande .woocommerce-form-login-toggle .woocommerce-info { justify-content: flex-start; }
.zone-commande form.checkout_coupon, .zone-commande form.woocommerce-form-login { border: 2px solid var(--ligne); border-radius: 14px; padding: 16px; margin: 0 0 18px; background: #fff; }

/* Confirmation de commande (classique et blocs) */
.woocommerce-order { display: grid; gap: 22px; }
.woocommerce-order .woocommerce-thankyou-order-received, .wc-block-order-confirmation-status p { font-family: var(--titre); text-transform: uppercase; font-size: clamp(26px, 3.4vw, 40px); color: var(--bleu-nuit); line-height: 1.05; margin: 0; }
ul.woocommerce-order-overview { list-style: none; margin: 0; padding: 16px; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); background: var(--bleu-nuit); color: #fff; border-radius: var(--c-rayon); }
ul.woocommerce-order-overview li { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: #C9D3EA; border: 0 !important; margin: 0 !important; padding: 0 !important; float: none !important; }
ul.woocommerce-order-overview li strong { display: block; font-size: 18px; letter-spacing: 0; text-transform: none; color: #fff; margin-top: 4px; }
.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order .woocommerce-bacs-bank-details { background: #fff; border-radius: var(--c-rayon); border: 2px solid var(--c-bord); padding: clamp(18px, 3vw, 28px); box-shadow: var(--c-ombre); }
.woocommerce-customer-details address { font-style: normal; line-height: 1.6; border: 0; padding: 0; }
.woocommerce-customer-details .col2-set .col-1, .woocommerce-customer-details .col2-set .col-2 { float: none; width: auto; }
.wc-bacs-bank-details { list-style: none; padding: 0; }

/* ---------- Mon compte (classique) ---------- */
.zone-compte #customer_login { display: grid; gap: 24px; }
@media (min-width: 900px) { .zone-compte #customer_login { grid-template-columns: 1fr 1fr; align-items: start; } }
.zone-compte #customer_login .u-column1, .zone-compte #customer_login .u-column2 { float: none; width: auto; }
.zone-compte .woocommerce-form-login, .zone-compte .woocommerce-form-register, .zone-compte form.lost_reset_password, .zone-compte form.woocommerce-EditAccountForm, .zone-compte .woocommerce-address-fields, .zone-suivi form.track_order {
  display: grid; gap: 4px; background: #fff; color: var(--encre); border-radius: var(--c-rayon); padding: clamp(18px, 3vw, 32px) !important; border: 2px solid var(--c-bord) !important; box-shadow: var(--c-ombre); margin: 0 !important;
}
.zone-compte .woocommerce-form-login .button, .zone-compte .woocommerce-form-register .button { justify-self: start; }
.zone-compte .woocommerce-form-login__rememberme { margin: 4px 0 10px; }
.zone-compte .woocommerce-LostPassword { margin: 8px 0 0; }
.zone-compte .woocommerce-LostPassword a, .zone-compte .woocommerce-privacy-policy-text a { color: var(--bleu); font-weight: 800; }
.zone-compte .woocommerce-privacy-policy-text { font-size: 13px; color: var(--gris); }
.zone-compte .woocommerce { display: grid; gap: 22px; }
@media (min-width: 960px) { .zone-compte .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 250px minmax(0, 1fr); align-items: start; gap: 40px; } }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none !important; width: auto !important; min-width: 0; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 960px) { .woocommerce-MyAccount-navigation ul { flex-direction: column; } }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 2px solid var(--ligne); background: #fff; color: var(--bleu-nuit); font-weight: 700; font-size: 15px; text-decoration: none; }
.woocommerce-MyAccount-navigation a:hover { border-color: var(--bleu-nuit); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--bleu-nuit); color: #fff; border-color: var(--bleu-nuit); }
.woocommerce-MyAccount-content { background: #fff; border-radius: var(--c-rayon); border: 2px solid var(--c-bord); padding: clamp(18px, 3vw, 32px); box-shadow: var(--c-ombre); }
.woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--bleu); font-weight: 700; }
.woocommerce-orders-table .button { min-height: 40px; padding: 0 14px; font-size: 14px; }
.woocommerce-Addresses { display: grid; gap: 18px; }
@media (min-width: 760px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Addresses .woocommerce-Address { float: none; width: auto; }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.woocommerce-Address address { font-style: normal; }
@media (max-width: 760px) {
  .zone-wc table.shop_table_responsive thead { display: none; }
  .zone-wc table.shop_table_responsive tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--ligne); }
  .zone-wc table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 10px; border: 0; padding: 4px 0; text-align: right; }
  .zone-wc table.shop_table_responsive td::before { content: attr(data-title); font-weight: 800; text-align: left; }
}

/* ---------- Suivi de commande ([woocommerce_order_tracking]) ---------- */
.zone-suivi .woocommerce { max-width: 760px; }
.zone-suivi form.track_order > p:first-child { margin: 0 0 10px; }
.zone-suivi form.track_order .form-row-first, .zone-suivi form.track_order .form-row-last { float: none; width: auto; }
.zone-suivi form.track_order .clear { display: none; }

/* ---------- Blocs WooCommerce (Panier, Commande, Confirmation) ---------- */
.zone-wc .wc-block-components-main, .zone-wc .wc-block-components-sidebar { min-width: 0; }
.zone-wc .wc-block-cart-items__header { font-family: var(--titre); font-weight: 400; text-transform: uppercase; color: var(--bleu-nuit); letter-spacing: .02em; }
.zone-wc .wc-block-cart-item__image img { border-radius: 12px; background: var(--fond-2); }
.zone-wc .wc-block-components-product-name { font-weight: 800 !important; color: var(--bleu-nuit) !important; text-decoration: none !important; font-size: 16px !important; }
.zone-wc .wc-block-cart-item__total .wc-block-components-product-price__value, .zone-wc .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--titre); font-weight: 400 !important; font-size: 26px !important; color: var(--bleu-nuit); }
.zone-wc .wp-block-woocommerce-cart-totals-block, .zone-wc .wp-block-woocommerce-checkout-order-summary-block {
  background: #fff; border-radius: var(--c-rayon); border: 2px solid var(--c-bord) !important; box-shadow: var(--c-ombre); padding: 6px 4px;
}
.zone-wc .wc-block-cart__totals-title, .zone-wc .wc-block-components-checkout-order-summary__title-text, .zone-wc h2.wc-block-components-title.wc-block-components-title {
  font-family: var(--titre) !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--bleu-nuit); font-size: 26px !important; letter-spacing: .01em; line-height: 1.05;
}
.zone-wc .wc-block-components-button:not(.is-link), .zone-wc .wc-block-cart__submit-button, .zone-wc .wc-block-components-checkout-place-order-button {
  background: var(--orange) !important; color: #fff !important; border: 0 !important; border-radius: 14px !important; box-shadow: 0 5px 0 var(--orange-fonce) !important;
  min-height: 56px; font-family: var(--texte) !important; font-weight: 800 !important; font-size: 18px !important; text-decoration: none !important;
}
.zone-wc .wc-block-components-button:not(.is-link):hover { filter: brightness(.95); }
.zone-wc .wc-block-components-button.is-link { color: var(--bleu) !important; font-weight: 700; }
.zone-wc .wc-block-components-text-input input, .zone-wc .wc-block-components-combobox .wc-block-components-combobox-control input, .zone-wc .wc-blocks-components-select__select, .zone-wc .wc-block-components-textarea {
  border: 2px solid var(--ligne) !important; border-radius: 12px !important; background: #fff !important;
}
.zone-wc .wc-block-components-text-input input:focus { border-color: var(--bleu) !important; box-shadow: 0 0 0 3px rgba(29,78,216,.18) !important; }
.zone-wc .wc-block-components-quantity-selector { border-radius: 12px !important; }
.zone-wc .wc-block-components-quantity-selector::after { border-color: var(--bleu-nuit) !important; border-width: 2px !important; border-radius: 12px !important; }
.zone-wc .wc-block-components-quantity-selector input { font-weight: 800 !important; }
.zone-wc .wc-block-components-radio-control__input:checked { border-color: var(--orange) !important; }
.zone-wc .wc-block-components-radio-control__input:checked::before { background: var(--orange) !important; }
.zone-wc .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: var(--orange); border-color: var(--orange); }
.zone-wc .wc-block-components-checkout-step__title { font-family: var(--titre); text-transform: uppercase; font-weight: 400 !important; font-size: 26px !important; color: var(--bleu-nuit); }
.zone-wc .wc-block-components-checkout-step { background: #fff; border-radius: var(--c-rayon); border: 2px solid var(--c-bord); box-shadow: var(--c-ombre); padding: clamp(16px, 3vw, 26px) !important; margin-bottom: 18px !important; }
.zone-wc .wc-block-components-checkout-step::after { display: none !important; }
.zone-wc .wc-block-components-sale-badge { background: var(--jaune); color: var(--bleu-nuit); border: 0; font-weight: 800; border-radius: 6px; }
.zone-wc .wp-block-woocommerce-empty-cart-block h2 { font-family: var(--titre); font-weight: 400; text-transform: uppercase; color: var(--bleu-nuit); font-size: clamp(30px, 4vw, 44px); }
.zone-wc .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
.zone-wc .wp-block-button__link { background: var(--orange); color: #fff; border-radius: 14px; font-weight: 800; }
.zone-wc .wc-block-components-totals-coupon-link, .zone-wc .wc-block-components-panel__button { font-weight: 700; color: var(--bleu-nuit); }
.zone-wc .wc-block-components-notice-banner.is-error { border-color: #B42318; }
.zone-wc .wc-block-components-notice-banner.is-success { border-color: #12A150; }

/* ---------- Divers ---------- */
.univ-grille .m img { width: 100%; height: 100%; object-fit: contain; }

/* Mon compte : pas de « clearfix » WooCommerce dans les grilles */
.zone-wc .col2-set::before, .zone-wc .col2-set::after, .zone-wc .woocommerce::before, .zone-wc .woocommerce::after, .zone-wc form.checkout::before, .zone-wc form.checkout::after { display: none !important; content: none !important; }
.zone-wc .woocommerce-form-row--wide, .zone-wc .form-row-wide { width: auto; }

/* Avis produits */
.sec-avis { padding-top: 0; }
.sec-avis .faq details > div { padding: 0 18px 18px; }
.sec-avis .woocommerce-Reviews-title, .sec-avis #reply-title { font-family: var(--titre); font-weight: 400; text-transform: uppercase; color: var(--bleu-nuit); font-size: 28px; margin: 0 0 12px; display: block; }
.sec-avis .woocommerce-noreviews { display: none; }
.sec-avis .comment-form { display: grid; gap: 10px; }
.sec-avis .comment-form p { margin: 0; display: grid; gap: 6px; }
.sec-avis .comment-form label { font-weight: 800; font-size: 14px; color: var(--bleu-nuit); }
.sec-avis .comment-form input[type=text], .sec-avis .comment-form input[type=email], .sec-avis .comment-form textarea, .sec-avis .comment-form select { width: 100%; min-height: 48px; border: 2px solid var(--ligne); border-radius: 12px; padding: 0 14px; font: inherit; background: #fff; }
.sec-avis .comment-form textarea { min-height: 120px; padding: 12px 14px; }
.sec-avis .comment-form-cookies-consent { display: flex !important; gap: 8px; align-items: center; font-size: 14px; }
.sec-avis .comment-form .submit { justify-self: start; min-height: 48px; padding: 0 22px; border-radius: 14px; border: 0; background: var(--orange); color: #fff; font: inherit; font-weight: 800; box-shadow: 0 5px 0 var(--orange-fonce); cursor: pointer; }
.sec-avis .stars a { color: var(--orange); font-size: 0; display: inline-block; width: 26px; height: 26px; }
.sec-avis .stars a::before { content: "★"; font-size: 24px; }
.sec-avis .stars.selected a.active ~ a::before, .sec-avis .stars a:hover ~ a::before { color: var(--ligne); }
.sec-avis .commentlist { list-style: none; padding: 0; display: grid; gap: 12px; }
.sec-avis .commentlist .comment_container { background: #fff; border-radius: 14px; border: 2px solid var(--ligne); padding: 14px; display: flex; gap: 12px; }
.sec-avis .commentlist img.avatar { width: 44px; height: 44px; border-radius: 50%; }
.sec-avis .star-rating { color: var(--orange); font-weight: 800; }

/* Ajustements (largeurs imposées par woocommerce-layout.css) */
.zone-wc.zone-wc .form-row-first, .zone-wc.zone-wc .form-row-last, .zone-wc.zone-wc .form-row-wide { float: none !important; width: auto !important; }
.zone-wc .woocommerce-billing-fields, .zone-wc .woocommerce-shipping-fields, .zone-wc .woocommerce-additional-fields { min-width: 0; }
.zone-commande #ship-to-different-address { margin: 8px 0 10px; font-size: clamp(22px, 2.6vw, 28px); }
.zone-commande #ship-to-different-address label { display: flex; gap: 10px; align-items: center; cursor: pointer; }
.zone-commande .woocommerce-additional-fields h3 { margin-top: 16px; }
.cart-collaterals .cart_totals table th { white-space: nowrap; padding-right: 12px; }
.woocommerce-order .woocommerce-customer-details .woocommerce-columns { display: grid; gap: 18px; }
@media (min-width: 760px) { .woocommerce-order .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr 1fr; } }
.woocommerce-order .woocommerce-column__title { font-size: clamp(24px, 3vw, 32px); }
.zone-wc .wc-block-components-product-name, .zone-wc .wc-block-components-order-summary-item__description h3 { font-family: var(--texte) !important; text-transform: none !important; font-size: 15px !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr.cart_item { background: #fff; border: 2px solid var(--c-bord); }
.zone-wc .woocommerce-cart-form table.shop_table.cart tr td { background: transparent !important; }
.zone-wc .woocommerce-cart-form table.shop_table.cart td.actions .coupon .button, .zone-wc .woocommerce-cart-form table.shop_table.cart td.actions > .button { width: auto !important; float: none !important; }
.zone-wc .woocommerce-cart-form table.shop_table.cart td.actions .coupon .input-text { width: 180px !important; float: none !important; margin: 0 !important; }
@media (max-width: 480px) { .zone-wc .woocommerce-cart-form table.shop_table.cart td.actions .coupon { width: 100%; } .zone-wc .woocommerce-cart-form table.shop_table.cart td.actions .coupon .input-text { flex: 1 1 140px; width: auto !important; } }

/* Classes WordPress standard */
.sticky { position: relative; }
.gallery-caption { font-size: 14px; color: var(--gris); }
.bypostauthor > .comment-body { border-left: 3px solid var(--orange); padding-left: 12px; }
.liste-commentaires { list-style: none; padding: 0; display: grid; gap: 12px; }
.liste-commentaires .comment-body { background: #fff; border: 2px solid var(--ligne); border-radius: 14px; padding: 14px; }
.liste-commentaires .avatar { border-radius: 50%; float: left; margin-right: 10px; }
.commentaires .comment-form { display: grid; gap: 10px; }
.commentaires .comment-form input[type=text], .commentaires .comment-form input[type=email], .commentaires .comment-form input[type=url], .commentaires .comment-form textarea { width: 100%; min-height: 48px; border: 2px solid var(--ligne); border-radius: 12px; padding: 0 14px; font: inherit; }
.commentaires .comment-form textarea { min-height: 120px; padding: 12px 14px; }
