/* ════════════════════════════════════════════════════════════════
   ITOUKEI Premium UI — layout/mise en page (généré 2026-05-30)
   Layout-only. NE MODIFIE AUCUN PRODUIT (Printful). Consolidé : shop+produit+panier+checkout+contact.
   ════════════════════════════════════════════════════════════════ */

/* ===== SOURCE: shop-redesign/shop-premium.css ===== */
/* ════════════════════════════════════════════════════════════════
   ITOUKEI — SHOP LISTING PREMIUM  (v1 — staging, à pousser après validation)
   Cible les classes WooCommerce RÉELLES de la page /shop/.
   À APPENDRE à la fin de wp-content/themes/itoukei-brutal/style.css
   (ou à enqueue séparément). Additif/override — n'écrase rien d'autre.
   Palette : Paper #D0CCC0 · Noir #000 · Jaune #F5C900
   ════════════════════════════════════════════════════════════════ */

/* ── 1. FIL D'ARIANE (rendu par woocommerce_breadcrumb dans woocommerce.php) ── */
.woocommerce-breadcrumb{
  font-family:var(--font-m);font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(0,0,0,.55);padding:20px 24px 0;margin:0;
}
.woocommerce-breadcrumb a{color:rgba(0,0,0,.55);transition:color var(--transition-fast,.15s ease)}
.woocommerce-breadcrumb a:hover{color:var(--black)}

/* ── 2. BARRE TRI + COMPTEUR (WooCommerce output natif) ── */
.woocommerce-result-count,
.woocommerce-ordering{
  font-family:var(--font-m);font-size:11px;letter-spacing:1px;
  margin:0;padding:14px 24px;font-variant-numeric:tabular-nums;
}
.woocommerce-ordering{float:right}
.woocommerce-result-count{color:rgba(0,0,0,.55)}
.woocommerce-ordering select,
.orderby{
  font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  background:var(--white);border:var(--border-t);padding:10px 14px;cursor:pointer;min-height:44px;border-radius:0;
}

/* ── 3. FILTRE CATÉGORIES (rendu par le shortcode/menu dans woocommerce.php) ── */
.itk-shop-cats{display:flex;flex-wrap:wrap;gap:0;border-top:var(--border);border-bottom:var(--border);margin:0}
.itk-shop-cats a{
  font-family:var(--font-m);font-size:11px;letter-spacing:2px;text-transform:uppercase;
  padding:16px 18px;border-right:var(--border-t);transition:background var(--transition-fast,.15s ease),color .15s;
}
.itk-shop-cats a:hover{background:#C8C4B8}
.itk-shop-cats a.itk-cat-active{background:var(--black);color:var(--yellow)}

/* ── 4. CARTES PRODUITS — améliorations sur l'existant ── */
ul.products li.product{position:relative;transition:background var(--transition-med,.3s ease)}
ul.products li.product:hover{background:#C8C4B8}

/* image : zoom plus marqué + media wrapper */
ul.products li.product a img{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
ul.products li.product:hover a img{transform:scale(1.05)}

/* badge "Nouveau" / promo natif WooCommerce */
ul.products li.product .onsale,
ul.products li.product .itk-stock-badge{
  position:absolute;top:12px;right:12px;z-index:2;margin:0;
  font-family:var(--font-m);font-size:9px;letter-spacing:2px;text-transform:uppercase;
  padding:4px 9px;border:var(--border-t);border-radius:0;min-height:0;line-height:1.4;
}
ul.products li.product .onsale{background:var(--black);color:var(--white)}
.itk-stock-badge--low{background:var(--white);color:var(--black)}
.itk-stock-badge--out{background:var(--black);color:var(--yellow)}
.itk-stock-badge--new{background:var(--yellow);color:var(--black)}

/* prix : chiffres tabulaires (alignement propre) */
ul.products li.product .price{font-variant-numeric:tabular-nums}

/* CTA : touch target ≥44px, micro-interaction */
ul.products li.product .button{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  transition:background var(--transition-fast,.15s ease),color .15s,transform .15s;
}
ul.products li.product .button:hover{transform:translateY(-1px)}

/* produit épuisé : image désaturée */
ul.products li.product.outofstock a img{filter:grayscale(1) opacity(.55)}

/* ── 5. PAGINATION ── */
.woocommerce-pagination ul{display:flex;justify-content:center;gap:0;border:0;margin:40px auto}
.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span{
  font-family:var(--font-m);font-size:13px;min-width:48px;min-height:48px;
  display:flex;align-items:center;justify-content:center;border:var(--border-t);margin-left:-1.5px;
  border-radius:0;background:transparent;transition:background var(--transition-fast,.15s ease);
}
.woocommerce-pagination ul li a:hover{background:#C8C4B8}
.woocommerce-pagination ul li span.current{background:var(--black);color:var(--yellow)}

/* ── 6. ÉTAT VIDE (catégorie sans produit) ── */
.woocommerce-info,.woocommerce-no-products-found{
  font-family:var(--font-m);font-size:13px;letter-spacing:1px;padding:48px 24px;text-align:center;
  border:0;background:transparent;color:rgba(0,0,0,.6);
}

/* ── RESPONSIVE : 3 → 2 colonnes (jamais 1 sur mobile, meilleur scan mode) ── */
@media(max-width:1024px){ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){
  ul.products{grid-template-columns:repeat(2,1fr)!important}
  .woocommerce-ordering{float:none}
  .woocommerce-ordering,.woocommerce-result-count{display:block;padding:10px 16px}
  ul.products li.product .woocommerce-loop-product__title{font-size:16px}
}

/* ── ACCESSIBILITÉ ── */
ul.products li.product a:focus-visible,
.woocommerce-pagination a:focus-visible,
.itk-shop-cats a:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  ul.products li.product:hover a img{transform:none}
  ul.products li.product .button:hover{transform:none}
}

/* ===== SOURCE: product-redesign/product-premium.css ===== */
/* ════════════════════════════════════════════════════════════════
   ITOUKEI — FICHE PRODUIT PREMIUM  (v1 — staging, à pousser après validation)
   Cible les classes WooCommerce RÉELLES de la page single product
   (voir product-live.html : .woocommerce div.product, .woocommerce-product-gallery,
    .product_title, p.price, form.cart, .single_add_to_cart_button, .quantity,
    .woocommerce-tabs, .related.products).
   À APPENDRE à la fin de wp-content/themes/itoukei-brutal/style.css
   (même méthode que shop-premium.css). Additif/override — n'écrase rien d'autre.
   Palette : Paper #D0CCC0 · Noir #000 · Jaune #F5C900
   Les variables --bg/--black/--yellow/--font-* sont déjà définies dans le thème.
   Fallbacks fournis au cas où.
   ════════════════════════════════════════════════════════════════ */

:root{
  --itk-bg:#D0CCC0; --itk-black:#000; --itk-yellow:#F5C900; --itk-white:#fff;
  --itk-paper-2:#C8C4B8; --itk-paper-3:#C0BCB0;
  --itk-border:3px solid #000; --itk-border-t:1.5px solid #000;
  --itk-fd:Impact,'Arial Narrow Bold','Arial Narrow',sans-serif;
  --itk-fb:'Space Grotesk',system-ui,sans-serif;
  --itk-fm:'Courier New',Courier,monospace;
  --itk-tf:.15s cubic-bezier(.4,0,.2,1);
  --itk-tm:.3s cubic-bezier(.4,0,.2,1);
  --itk-ts:.5s cubic-bezier(.25,.46,.45,.94);
}

/* ── 0. CONTENEUR PRODUIT — layout 2 colonnes propre ── */
.woocommerce div.product{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-top:var(--itk-border);border-bottom:var(--itk-border);
  margin:20px auto 0;max-width:1400px;
}
.woocommerce div.product .woocommerce-product-gallery{
  width:100%!important;float:none!important;margin:0!important;
  border-right:var(--itk-border);background:var(--itk-paper-3);
}
.woocommerce div.product .summary.entry-summary{
  width:100%!important;float:none!important;margin:0!important;
  padding:40px 48px;clear:none!important;
}

/* ── 1. FIL D'ARIANE (woocommerce_breadcrumb) ── */
.woocommerce .woocommerce-breadcrumb{
  font-family:var(--itk-fm);font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(0,0,0,.55);padding:20px 24px 0;margin:0;max-width:1400px;
}
.woocommerce .woocommerce-breadcrumb a{color:rgba(0,0,0,.55);transition:color var(--itk-tf)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--itk-black)}

/* ── 2. GALERIE ── */
.woocommerce div.product .woocommerce-product-gallery__wrapper{margin:0}
.woocommerce div.product .woocommerce-product-gallery__image{border-bottom:0}
.woocommerce div.product .woocommerce-product-gallery__image img{
  transition:transform var(--itk-ts)
}
.woocommerce div.product .woocommerce-product-gallery__image:hover img{transform:scale(1.05)}
/* miniatures flexslider (controlNav:thumbnails) */
.woocommerce div.product .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;
  border-top:var(--itk-border)
}
.woocommerce div.product .flex-control-thumbs li{margin:0;border-right:var(--itk-border-t)}
.woocommerce div.product .flex-control-thumbs li:last-child{border-right:0}
.woocommerce div.product .flex-control-thumbs img{
  opacity:.7;transition:opacity var(--itk-tf),transform var(--itk-tm);cursor:pointer
}
.woocommerce div.product .flex-control-thumbs img:hover,
.woocommerce div.product .flex-control-thumbs img.flex-active{opacity:1}
/* badge promo natif sur la galerie */
.woocommerce div.product .woocommerce-product-gallery .onsale{
  position:absolute;top:14px;left:14px;margin:0;min-height:0;line-height:1.4;
  font-family:var(--itk-fm);font-size:9px;letter-spacing:2px;text-transform:uppercase;
  padding:5px 10px;border:var(--itk-border-t);border-radius:0;
  background:var(--itk-yellow);color:var(--itk-black)
}

/* ── 3. TITRE / PRIX ── */
.woocommerce div.product .product_title{
  font-family:var(--itk-fd);font-size:clamp(40px,6vw,72px)!important;line-height:.86!important;
  text-transform:uppercase;letter-spacing:-1.5px;margin:6px 0 18px!important;font-weight:400!important
}
.woocommerce div.product p.price,
.woocommerce div.product .summary p.price{
  font-family:var(--itk-fd);font-size:40px;letter-spacing:1px;font-variant-numeric:tabular-nums;
  color:var(--itk-black);margin:0 0 18px
}
.woocommerce div.product p.price .woocommerce-Price-currencySymbol{font-size:16px;opacity:.6;margin-right:4px}

/* quick info (liste maison .itk-product-quickinfo déjà présente) */
.woocommerce div.product .itk-product-quickinfo{
  list-style:none;margin:0 0 8px;padding:16px 0;
  border-top:var(--itk-border-t);border-bottom:var(--itk-border-t);
  display:flex;flex-wrap:wrap;gap:8px 20px
}
.woocommerce div.product .itk-product-quickinfo li{
  font-family:var(--itk-fm);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:rgba(0,0,0,.7)
}
.woocommerce div.product .itk-product-quickinfo li a{text-decoration:underline;text-underline-offset:3px}

/* ── 4. FORMULAIRE / VARIATIONS (taille) ── */
.woocommerce div.product form.cart{margin:24px 0 0}
.woocommerce div.product form.cart .variations{margin:0 0 18px;border:0}
.woocommerce div.product form.cart .variations th.label{
  font-family:var(--itk-fm);font-size:11px;letter-spacing:2px;text-transform:uppercase;
  padding:0 0 10px;vertical-align:top
}
.woocommerce div.product form.cart .variations td.value{padding:0}
/* select taille -> apparence brutaliste (full-width, gros touch target) */
.woocommerce div.product form.cart .variations select{
  font-family:var(--itk-fb);font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;
  background:var(--itk-white);border:var(--itk-border);border-radius:0;
  padding:14px 16px;min-height:54px;width:100%;cursor:pointer;
  background-image:none
}
.woocommerce div.product form.cart .variations select:focus-visible{outline:3px solid var(--itk-yellow);outline-offset:2px}
.woocommerce div.product .reset_variations{
  font-family:var(--itk-fm);font-size:11px;letter-spacing:1px;text-transform:uppercase;
  text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-top:8px
}
/* lien guide des tailles (Printful) */
.woocommerce div.product .single_variation_wrap a[onclick*="SizeGuide"]{
  font-family:var(--itk-fm)!important;font-size:11px!important;letter-spacing:1px;text-transform:uppercase;
  color:var(--itk-black)!important;text-decoration:underline!important;text-underline-offset:3px;
  display:inline-block;margin:0 0 16px
}

/* ── 5. QUANTITÉ + AJOUTER AU PANIER ── */
.woocommerce div.product .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form){
  display:flex;align-items:stretch;gap:0;flex-wrap:wrap
}
.woocommerce div.product .quantity{margin:0}
.woocommerce div.product .quantity .qty{
  width:80px;height:60px;border:var(--itk-border);border-radius:0;text-align:center;
  background:var(--itk-white);font-family:var(--itk-fd);font-size:20px;font-variant-numeric:tabular-nums
}
.woocommerce div.product .single_add_to_cart_button{
  flex:1;margin-left:-3px;min-width:200px;min-height:60px;border-radius:0;
  background:var(--itk-black)!important;color:var(--itk-yellow)!important;
  border:var(--itk-border)!important;
  font-family:var(--itk-fb);font-weight:700;font-size:13px;letter-spacing:3px;text-transform:uppercase;
  transition:background var(--itk-tf),color var(--itk-tf);box-shadow:none!important
}
.woocommerce div.product .single_add_to_cart_button:hover{
  background:var(--itk-yellow)!important;color:var(--itk-black)!important
}
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button:disabled{opacity:.35;cursor:not-allowed}

/* bouton favoris maison (.itk-wishlist-btn--single déjà stylé inline ; on harmonise) */
.woocommerce div.product .itk-wishlist-btn--single{
  border:var(--itk-border)!important;border-radius:0!important;box-shadow:none!important;
  background:var(--itk-bg)!important;color:var(--itk-black)!important
}
.woocommerce div.product .itk-wishlist-btn--single:hover{
  background:var(--itk-black)!important;color:var(--itk-yellow)!important
}

/* PayPal / boutons tiers : on garde leur rendu mais on aère */
.woocommerce div.product .ppc-button-wrapper,
.woocommerce div.product .ppcp-messages{margin:14px 0 0}

/* ── 6. BLOC RASSURANCE (à injecter via hook woocommerce_single_product_summary,
   ou snippet PHP — markup .itk-reassure) ── */
.itk-reassure{display:grid;grid-template-columns:repeat(3,1fr);border:var(--itk-border);margin:20px 0 0}
.itk-reassure__item{padding:16px 14px;border-right:var(--itk-border-t);text-align:center}
.itk-reassure__item:last-child{border-right:0}
.itk-reassure__t{font-family:var(--itk-fb);font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.itk-reassure__s{font-family:var(--itk-fm);font-size:10px;letter-spacing:.5px;color:rgba(0,0,0,.55);margin-top:5px;line-height:1.4}

/* ── 7. META (UGS / catégorie) ── */
.woocommerce div.product .product_meta{
  margin-top:22px;font-family:var(--itk-fm);font-size:11px;letter-spacing:1px;text-transform:uppercase;
  color:rgba(0,0,0,.55);border:0;padding:0
}
.woocommerce div.product .product_meta>span{display:block;margin:0 0 6px}
.woocommerce div.product .product_meta a{text-decoration:underline;text-underline-offset:3px}

/* ── 8. ONGLETS (.woocommerce-tabs) ── */
.woocommerce div.product .woocommerce-tabs{
  grid-column:1 / -1;margin:0;padding:0;
  border-top:var(--itk-border);background:var(--itk-bg)!important
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;flex-wrap:wrap;margin:0;padding:0;border-bottom:var(--itk-border)
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0;padding:0;border:0;border-right:var(--itk-border);border-radius:0;background:transparent
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--itk-fm);font-size:12px;letter-spacing:2px;text-transform:uppercase;
  padding:20px 28px;display:block;color:var(--itk-black);
  transition:background var(--itk-tf),color var(--itk-tf)
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{background:var(--itk-paper-2)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li[aria-selected="true"] a{
  background:var(--itk-black);color:var(--itk-yellow)
}
.woocommerce div.product .woocommerce-Tabs-panel{padding:40px 48px;max-width:920px}
.woocommerce div.product .woocommerce-Tabs-panel h2{
  font-family:var(--itk-fd);font-size:28px;text-transform:uppercase;letter-spacing:-.5px;margin-bottom:16px;font-weight:400
}
.woocommerce div.product .woocommerce-Tabs-panel h3{
  font-family:var(--itk-fb);font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin:22px 0 8px
}
.woocommerce div.product .woocommerce-Tabs-panel p{font-size:15px;line-height:1.7;max-width:70ch;margin:0 0 12px}
.woocommerce div.product .woocommerce-Tabs-panel a{text-decoration:underline;text-underline-offset:3px}
/* tableau infos complémentaires */
.woocommerce div.product .woocommerce-product-attributes{border-collapse:collapse;width:100%;margin-top:8px}
.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td{
  border:var(--itk-border-t);padding:12px 14px;font-size:13px;text-align:left
}
.woocommerce div.product .woocommerce-product-attributes th{
  font-family:var(--itk-fm);letter-spacing:1px;text-transform:uppercase;background:var(--itk-paper-2);width:40%
}

/* ── 9. PRODUITS SIMILAIRES (.related.products) ──
   Le grid/cartes héritent déjà des règles shop dans itoukei-fixes-final.
   On renforce le titre + cartes pour matcher shop-premium. ── */
.woocommerce .related.products{
  grid-column:1 / -1;padding:48px 24px 64px;margin:0;clear:both;border:0;
  max-width:1400px;margin-left:auto;margin-right:auto
}
.woocommerce .related.products>h2{
  font-family:var(--itk-fd);font-size:clamp(32px,5vw,56px);text-transform:uppercase;
  letter-spacing:-1px;line-height:.9;margin:0 0 28px;font-weight:400
}
.woocommerce .related.products ul.products li.product{
  position:relative;background:var(--itk-bg);transition:background var(--itk-tm);
  border:var(--itk-border)
}
.woocommerce .related.products ul.products li.product:hover{background:var(--itk-paper-2)}
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--itk-fd);font-size:clamp(18px,2.2vw,24px)!important;line-height:1;
  text-transform:uppercase;letter-spacing:.5px;font-weight:400!important;padding:0 16px
}
.woocommerce .related.products ul.products li.product .price{
  font-family:var(--itk-fd);font-size:20px;letter-spacing:1px;font-variant-numeric:tabular-nums;
  color:var(--itk-black)!important;padding:0 16px
}
.woocommerce .related.products ul.products li.product a.button{
  font-family:var(--itk-fb);font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;
  background:var(--itk-black);color:var(--itk-yellow);border-radius:0;min-height:44px;
  margin:12px 16px 16px;transition:background var(--itk-tf),color var(--itk-tf)
}
.woocommerce .related.products ul.products li.product a.button:hover{
  background:var(--itk-yellow);color:var(--itk-black)
}

/* ── 10. ACCESSIBILITÉ ── */
.woocommerce div.product a:focus-visible,
.woocommerce div.product button:focus-visible,
.woocommerce div.product input:focus-visible,
.woocommerce div.product select:focus-visible,
.woocommerce .woocommerce-tabs ul.tabs li a:focus-visible,
.woocommerce .related.products a:focus-visible{
  outline:3px solid var(--itk-yellow);outline-offset:2px
}

/* ── 11. RESPONSIVE ── */
@media(max-width:1024px){
  .woocommerce div.product{grid-template-columns:1fr}
  .woocommerce div.product .woocommerce-product-gallery{border-right:0;border-bottom:var(--itk-border)}
  .woocommerce div.product .summary.entry-summary{padding:32px 24px}
  .woocommerce .related.products ul.products{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:768px){
  .itk-reassure{grid-template-columns:1fr}
  .itk-reassure__item{border-right:0;border-bottom:var(--itk-border-t)}
  .itk-reassure__item:last-child{border-bottom:0}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{flex:1}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:16px 14px;text-align:center}
}
@media(max-width:560px){
  .woocommerce div.product .product_title{font-size:38px!important}
  .woocommerce div.product .woocommerce-variation-add-to-cart{flex-direction:column;gap:12px}
  .woocommerce div.product .single_add_to_cart_button{margin-left:0;width:100%}
  .woocommerce div.product .woocommerce-Tabs-panel{padding:28px 20px}
}
@media(max-width:380px){
  .woocommerce .related.products ul.products{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .woocommerce div.product .woocommerce-product-gallery__image:hover img,
  .woocommerce .related.products ul.products li.product:hover a img{transform:none}
  .woocommerce div.product *{transition:none!important}
}

/* ===== SOURCE: cart-redesign/cart-premium.css ===== */
/* ════════════════════════════════════════════════════════════════
   ITOUKEI — PANIER (CART) PREMIUM  (v1 — staging, à pousser après validation)
   Cible les classes WooCommerce RÉELLES de la page /panier/ (cart).
   À APPENDRE à la fin de wp-content/themes/itoukei-brutal/style.css
   (ou enqueue séparément). Additif/override — n'écrase rien d'autre.
   Palette : Paper #D0CCC0 · Noir #000 · Jaune #F5C900
   Fonts présumées déjà définies par le thème :
     --font-d (Impact) · --font-b (Space Grotesk) · --font-m (Courier)
   Fallbacks fournis au cas où les variables n'existent pas.
   ════════════════════════════════════════════════════════════════ */

:root{
  --itk-bg:#D0CCC0; --itk-black:#000; --itk-yellow:#F5C900; --itk-white:#fff;
  --itk-paper-2:#C8C4B8; --itk-paper-3:#C0BCB0;
  --itk-border:3px solid #000; --itk-border-t:1.5px solid #000;
  --itk-fd:var(--font-d,Impact,'Arial Narrow Bold',sans-serif);
  --itk-fb:var(--font-b,'Space Grotesk',system-ui,sans-serif);
  --itk-fm:var(--font-m,'Courier New',Courier,monospace);
  --itk-tf:.15s cubic-bezier(.4,0,.2,1);
}

/* ── Conteneur global de la page panier ── */
.woocommerce-cart .woocommerce{max-width:1400px;margin:0 auto;padding:0 24px 48px}
.woocommerce-cart .page-cart-wrap{max-width:1400px;margin:0 auto;padding:0 24px}
.woocommerce-cart .page-cart-wrap h1{
  font-family:var(--itk-fd);font-size:clamp(48px,9vw,120px);line-height:.85;
  text-transform:uppercase;letter-spacing:-2px;margin:18px 0 8px;
}

/* ── 1. NOTICES ── */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error{
  font-family:var(--itk-fm);font-size:12px;letter-spacing:1px;
  border:var(--itk-border-t);border-radius:0;background:var(--itk-white);
  padding:16px 18px;color:var(--itk-black);box-shadow:none;
}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before{color:var(--itk-black)}
.woocommerce-cart .woocommerce-message .button,
.woocommerce-cart .woocommerce-info .button{
  font-family:var(--itk-fb);font-weight:700;letter-spacing:1px;text-transform:uppercase;
  background:var(--itk-black);color:var(--itk-yellow);border-radius:0;border:var(--itk-border-t);
}

/* ── 2. TABLE ARTICLES — table.shop_table.cart ── */
.woocommerce-cart table.cart,
.woocommerce-cart table.shop_table{
  border:var(--itk-border);border-radius:0;border-collapse:collapse;width:100%;
  background:transparent;margin-bottom:0;
}
.woocommerce-cart table.cart thead th,
.woocommerce-cart table.shop_table thead th{
  font-family:var(--itk-fm);font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(0,0,0,.5);text-align:left;padding:16px 18px;border-bottom:var(--itk-border);
  background:transparent;
}
.woocommerce-cart table.cart tbody td,
.woocommerce-cart table.shop_table tbody td{
  padding:20px 18px;border-top:var(--itk-border-t);vertical-align:middle;background:transparent;
}
.woocommerce-cart table.cart tbody tr:hover{background:var(--itk-paper-2)}

/* vignette produit */
.woocommerce-cart table.cart td.product-thumbnail{width:96px}
.woocommerce-cart table.cart td.product-thumbnail img{
  width:84px;height:84px;object-fit:cover;border:var(--itk-border-t);border-radius:0;
  transition:transform .5s cubic-bezier(.25,.46,.45,.94);
}
.woocommerce-cart table.cart tbody tr:hover td.product-thumbnail img{transform:scale(1.05)}

/* nom produit + variations (taille) */
.woocommerce-cart table.cart td.product-name a{
  font-family:var(--itk-fd);font-size:22px;line-height:1;text-transform:uppercase;
  letter-spacing:.5px;color:var(--itk-black);
}
.woocommerce-cart table.cart td.product-name a:hover{color:rgba(0,0,0,.6)}
.woocommerce-cart table.cart td.product-name .variation,
.woocommerce-cart table.cart td.product-name dl.variation{
  font-family:var(--itk-fb);font-size:12px;color:rgba(0,0,0,.6);margin:6px 0 0;
}
.woocommerce-cart table.cart td.product-name .variation dt{font-weight:600;color:var(--itk-black)}

/* prix + sous-total ligne : chiffres tabulaires */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal{
  font-family:var(--itk-fb);font-weight:600;font-variant-numeric:tabular-nums;font-size:15px;
}
.woocommerce-cart table.cart td.product-subtotal{font-family:var(--itk-fd);font-size:20px;letter-spacing:.5px}

/* ── 3. SÉLECTEUR QUANTITÉ — .quantity input ── */
.woocommerce-cart table.cart td.product-quantity .quantity{
  display:inline-flex;align-items:stretch;border:var(--itk-border-t);background:var(--itk-white);
}
.woocommerce-cart .quantity input.qty,
.woocommerce-cart td.product-quantity input[type=number]{
  width:54px;height:44px;border:0;border-left:var(--itk-border-t);border-right:var(--itk-border-t);
  text-align:center;font-family:var(--itk-fb);font-weight:600;font-size:15px;
  font-variant-numeric:tabular-nums;background:transparent;border-radius:0;-moz-appearance:textfield;
}
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* boutons +/- si thème/plugin les ajoute (sinon le champ number natif reste utilisable) */
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .minus{
  width:40px;min-width:40px;height:44px;background:transparent;border:0;cursor:pointer;
  font-family:var(--itk-fd);font-size:20px;color:var(--itk-black);border-radius:0;
  transition:background var(--itk-tf),color var(--itk-tf);line-height:1;
}
.woocommerce-cart .quantity .plus:hover,
.woocommerce-cart .quantity .minus:hover{background:var(--itk-black);color:var(--itk-yellow)}

/* ── 4. SUPPRIMER — td.product-remove a.remove ── */
.woocommerce-cart table.cart td.product-remove{width:56px;text-align:center}
.woocommerce-cart table.cart a.remove{
  width:40px;height:40px;line-height:36px;display:inline-flex;align-items:center;justify-content:center;
  border:var(--itk-border-t);border-radius:0;background:transparent;color:var(--itk-black)!important;
  font-family:var(--itk-fd);font-size:22px;transition:background var(--itk-tf),color var(--itk-tf);
}
.woocommerce-cart table.cart a.remove:hover{background:var(--itk-black);color:var(--itk-yellow)!important}

/* ── 5. CODE PROMO — .coupon ── */
.woocommerce-cart .cart .actions{padding:20px 0 0;border:0}
.woocommerce-cart .cart .actions .coupon{display:flex;gap:0;align-items:stretch}
.woocommerce-cart .cart .actions .coupon label{position:absolute;left:-9999px}
.woocommerce-cart .cart .actions .coupon input.input-text,
.woocommerce-cart .cart .actions .coupon #coupon_code{
  min-height:48px;border:var(--itk-border-t);border-radius:0;background:var(--itk-white);
  padding:0 16px;font-family:var(--itk-fb);font-size:14px;letter-spacing:1px;margin:0;width:auto;flex:0 1 240px;
}
.woocommerce-cart .cart .actions .coupon button[name=apply_coupon]{
  min-height:48px;padding:0 22px;background:var(--itk-black);color:var(--itk-yellow);
  border:var(--itk-border-t);border-left:0;border-radius:0;font-family:var(--itk-fb);font-weight:700;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;
  transition:background var(--itk-tf),color var(--itk-tf);
}
.woocommerce-cart .cart .actions .coupon button[name=apply_coupon]:hover{background:var(--itk-yellow);color:var(--itk-black)}

/* bouton "Mettre à jour le panier" */
.woocommerce-cart .cart .actions button[name=update_cart]{
  min-height:48px;padding:0 22px;background:transparent;color:var(--itk-black);
  border:var(--itk-border-t);border-radius:0;font-family:var(--itk-fm);font-size:11px;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;float:right;
  transition:background var(--itk-tf),color var(--itk-tf);
}
.woocommerce-cart .cart .actions button[name=update_cart]:hover{background:var(--itk-black);color:var(--itk-yellow)}
.woocommerce-cart .cart .actions button[name=update_cart][disabled]{opacity:.4;cursor:not-allowed}

/* ── 6. ENCART TOTAUX — .cart-collaterals .cart_totals ── */
.woocommerce-cart .cart-collaterals{width:100%;margin-top:40px}
.woocommerce-cart .cart-collaterals .cart_totals{
  float:none;width:100%;max-width:420px;margin-left:auto;
  border:var(--itk-border);border-radius:0;background:var(--itk-paper-2);padding:24px 22px;
}
.woocommerce-cart .cart_totals h2{
  font-family:var(--itk-fd);font-size:26px;text-transform:uppercase;letter-spacing:.5px;
  padding-bottom:18px;border-bottom:var(--itk-border);margin-bottom:6px;
}
.woocommerce-cart .cart_totals table{border:0;width:100%;margin:0}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border:0;border-bottom:var(--itk-border-t);padding:14px 0;background:transparent;
  font-family:var(--itk-fb);font-size:14px;
}
.woocommerce-cart .cart_totals table th{font-weight:400;color:rgba(0,0,0,.65);text-align:left}
.woocommerce-cart .cart_totals table td{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}

/* ligne TOTAL en exergue */
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{
  border-bottom:0;border-top:var(--itk-border);padding-top:18px;font-family:var(--itk-fd);
}
.woocommerce-cart .cart_totals tr.order-total th{font-size:24px;text-transform:uppercase}
.woocommerce-cart .cart_totals tr.order-total td,
.woocommerce-cart .cart_totals tr.order-total .amount{font-size:28px;font-variant-numeric:tabular-nums}

/* livraison gratuite : badge jaune */
.woocommerce-cart .cart_totals tr.shipping td .free-shipping,
.woocommerce-cart .cart_totals tr.shipping .woocommerce-Price-amount.free{
  background:var(--itk-yellow);border:var(--itk-border-t);padding:2px 8px;
  font-family:var(--itk-fm);font-size:11px;letter-spacing:1px;text-transform:uppercase;
}
.woocommerce-cart .cart_totals .shipping-calculator-button{
  font-family:var(--itk-fm);font-size:11px;letter-spacing:1px;color:rgba(0,0,0,.6);text-decoration:underline;
}

/* ── 7. CTA PAIEMENT — .checkout-button / .wc-proceed-to-checkout ── */
.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.button{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:60px;
  background:var(--itk-black)!important;color:var(--itk-yellow)!important;border:var(--itk-border);
  border-radius:0;font-family:var(--itk-fb);font-weight:700;font-size:15px;letter-spacing:3px;
  text-transform:uppercase;cursor:pointer;text-align:center;
  transition:background var(--itk-tf),color var(--itk-tf),transform var(--itk-tf);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--itk-yellow)!important;color:var(--itk-black)!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active{transform:translateY(1px)}

/* ── 8. ÉTAT VIDE — .wc-empty-cart-message + .return-to-shop ── */
.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-cart .wc-empty-cart-message{
  font-family:var(--itk-fd);font-size:clamp(32px,5vw,52px);text-transform:uppercase;
  letter-spacing:-1px;line-height:.9;text-align:center;color:var(--itk-black);
  border:0;background:transparent;padding:56px 20px 24px;
}
.woocommerce-cart .wc-empty-cart-message::before{display:none}
.woocommerce-cart .return-to-shop{text-align:center;padding:0 20px 64px}
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop a.wc-backward{
  display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 32px;
  background:var(--itk-black);color:var(--itk-yellow);border-radius:0;border:var(--itk-border);
  font-family:var(--itk-fb);font-weight:700;font-size:13px;letter-spacing:3px;text-transform:uppercase;
  transition:background var(--itk-tf),color var(--itk-tf);
}
.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart .return-to-shop a.wc-backward:hover{background:var(--itk-yellow);color:var(--itk-black)}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .woocommerce-cart .page-cart-wrap h1{font-size:54px}
  /* table → cartes empilées (woocommerce-smallscreen.css fait déjà une partie, on harmonise) */
  .woocommerce-cart table.cart tbody td{
    padding:10px 16px;text-align:right;
  }
  .woocommerce-cart table.cart td.product-thumbnail{display:block;width:100%;text-align:left}
  .woocommerce-cart .cart-collaterals .cart_totals{max-width:100%;margin-left:0}
  .woocommerce-cart .cart .actions .coupon{flex-wrap:wrap}
  .woocommerce-cart .cart .actions .coupon input.input-text{flex:1 1 100%}
  .woocommerce-cart .cart .actions button[name=update_cart]{float:none;width:100%;margin-top:8px}
}

/* ── ACCESSIBILITÉ ── */
.woocommerce-cart a:focus-visible,
.woocommerce-cart button:focus-visible,
.woocommerce-cart input:focus-visible,
.woocommerce-cart .checkout-button:focus-visible,
.woocommerce-cart a.remove:focus-visible{outline:3px solid var(--itk-yellow);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  .woocommerce-cart table.cart tbody tr:hover td.product-thumbnail img{transform:none}
  .woocommerce-cart *{transition:none!important}
}

/* ===== SOURCE: checkout-redesign/checkout-premium.css ===== */
/* ════════════════════════════════════════════════════════════════
   ITOUKEI — CHECKOUT / COMMANDE PREMIUM  (v1 — staging, à pousser après validation)
   Cible les classes WooCommerce RÉELLES de la page /commande/ (Checkout shortcode classique).
   À APPENDRE à la fin de wp-content/themes/itoukei-brutal/style.css
   (ou à enqueue séparément, après woocommerce.css).
   Additif / override — n'écrase pas les autres pages.
   Palette : Paper #D0CCC0 · Noir #000 · Jaune #F5C900 · Blanc #fff · Erreur #B3261E
   Fonts : Impact (titres) · Space Grotesk (UI/forms) · Courier New (mono labels)
   Devise CHF · fr_FR.
   IMPORTANT : panier vide au moment du test → checkout WooCommerce a redirigé.
   Le ciblage repose sur la structure standard du shortcode [woocommerce_checkout]
   + passerelles détectées actives (WooPayments/Stripe-cards, PayPal Payments, Klarna via APMs).
   ════════════════════════════════════════════════════════════════ */

/* Variables locales — alignées sur le thème. Fallbacks si non définies. */
.woocommerce-checkout{
  --bg:#D0CCC0; --black:#000; --yellow:#F5C900; --white:#fff;
  --paper-2:#C8C4B8; --paper-3:#C0BCB0; --err:#B3261E;
  --border:3px solid #000; --border-t:1.5px solid #000;
  --font-d:Impact,'Arial Narrow Bold','Arial Narrow',sans-serif;
  --font-b:'Space Grotesk',system-ui,sans-serif;
  --font-m:'Courier New',Courier,monospace;
  --t-fast:.15s cubic-bezier(.4,0,.2,1);
}

/* ── 0. FIL D'ARIANE (si woocommerce_breadcrumb rendu sur la page) ── */
.woocommerce-checkout .woocommerce-breadcrumb{
  font-family:var(--font-m);font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(0,0,0,.55);padding:20px 24px 0;margin:0;
}
.woocommerce-checkout .woocommerce-breadcrumb a{color:rgba(0,0,0,.55);transition:color var(--t-fast)}
.woocommerce-checkout .woocommerce-breadcrumb a:hover{color:var(--black)}

/* ── 1. NOTICES (erreurs / infos WooCommerce) ── */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info{
  font-family:var(--font-m);font-size:12px;letter-spacing:.5px;
  border:var(--border-t);border-radius:0;background:var(--white);
  padding:14px 18px;margin:0 0 24px;list-style:none;
}
.woocommerce-checkout .woocommerce-error{border-color:var(--err);color:var(--err);border-width:3px}
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before{display:none}
.woocommerce-checkout .woocommerce-message{border-left:6px solid var(--yellow)}

/* coupon / login toggles en haut */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:16px}
.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon{
  border:var(--border-t);border-radius:0;padding:20px;background:var(--white);
}

/* ── 2. LAYOUT 2 COLONNES — form.checkout > .col2-set + #order_review ── */
@media (min-width:981px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    display:grid;grid-template-columns:1fr 400px;gap:0;align-items:start;
    border:var(--border);
  }
  /* col gauche = coordonnées+livraison (#customer_details et/ou .col2-set) */
  .woocommerce-checkout form.checkout #customer_details{
    border-right:var(--border);padding:0;margin:0;width:auto;float:none;
  }
  /* col droite = récap commande (#order_review_heading + #order_review) */
  .woocommerce-checkout form.checkout #order_review_heading{
    grid-column:2;margin:0;padding:22px 24px 0;
  }
  .woocommerce-checkout form.checkout #order_review{
    grid-column:2;grid-row:1 / span 3;align-self:start;
    position:sticky;top:24px;width:auto;float:none;padding:0;
  }
}

/* colonnes internes billing / shipping (.col2-set .col-1/.col-2) en pleine largeur empilées */
.woocommerce-checkout .col2-set{width:100%;float:none;margin:0}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100%;float:none;padding:28px;border-bottom:var(--border)}
.woocommerce-checkout .col2-set .col-2{border-bottom:0}

/* ── 3. TITRES DE SECTION (Détails de facturation / Expédier vers…) ── */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout #order_review_heading{
  font-family:var(--font-d);font-size:28px;text-transform:uppercase;letter-spacing:.5px;
  line-height:1;margin:0 0 18px;color:var(--black);
}
.woocommerce-checkout .woocommerce-additional-fields > h3{
  font-family:var(--font-d);font-size:22px;text-transform:uppercase;letter-spacing:.5px;margin:24px 0 14px;
}

/* ── 4. CHAMPS — .form-row, labels visibles, inputs ≥48px ── */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  display:flex;flex-wrap:wrap;gap:0 18px;
}
.woocommerce-checkout .form-row{
  display:flex;flex-direction:column;gap:6px;margin:0 0 18px;padding:0;float:none;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last{width:calc(50% - 9px)}
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes{width:100%}

/* labels — TOUJOURS visibles (jamais placeholder-only) */
.woocommerce-checkout .form-row label{
  font-family:var(--font-m);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--black);display:block;margin:0;line-height:1.4;
}
.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr.required{color:var(--err);text-decoration:none;border:0;margin-left:3px}
.woocommerce-checkout .form-row label .optional{color:rgba(0,0,0,.4);margin-left:6px}
/* ré-affiche les labels masqués par le thème (address_2 a screen-reader-text par défaut) */
.woocommerce-checkout .form-row label.screen-reader-text{
  position:static;width:auto;height:auto;clip:auto;clip-path:none;margin:0;overflow:visible;
}

/* inputs / selects / textarea */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%;min-height:48px;background:var(--white);border:var(--border-t);border-radius:0;
  padding:12px 14px;font-family:var(--font-b);font-size:15px;color:var(--black);
  transition:border-color var(--t-fast);box-shadow:none;
}
.woocommerce-checkout .form-row textarea{min-height:96px;resize:vertical}
.woocommerce-checkout .form-row input.input-text::placeholder,
.woocommerce-checkout .form-row textarea::placeholder{color:rgba(0,0,0,.35)}
.woocommerce-checkout .form-row input.input-text:hover,
.woocommerce-checkout .form-row select:hover{border-color:var(--black)}

/* focus accessible — anneau jaune */
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{outline:none;border:3px solid var(--black)}
.woocommerce-checkout .form-row input.input-text:focus-visible,
.woocommerce-checkout .form-row textarea:focus-visible,
.woocommerce-checkout .form-row select:focus-visible{
  outline:3px solid var(--yellow);outline-offset:2px;border-color:var(--black);
}

/* select2 (sélecteur pays/canton WooCommerce) — alignement brutalist */
.woocommerce-checkout .select2-container--default .select2-selection--single{
  height:48px;display:flex;align-items:center;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.2;padding:0;color:var(--black);font-family:var(--font-b);font-size:15px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.woocommerce-checkout .select2-dropdown{border:var(--border-t);border-radius:0}
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--black);color:var(--yellow);
}
.woocommerce-checkout .select2-container--open .select2-selection--single{outline:3px solid var(--yellow);outline-offset:2px}

/* ── 5. VALIDATION INLINE — classes JS WooCommerce (validate-required, woocommerce-invalid…) ── */
.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated select{border-color:var(--black)}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid-required-field input.input-text{
  border:3px solid var(--err);
}
/* message d'erreur SOUS le champ (généré au submit côté WooCommerce dans les notices,
   mais on stylise aussi un éventuel hint inline custom .field-error) */
.woocommerce-checkout .form-row .field-error,
.woocommerce-checkout .form-row .woocommerce-error-inline{
  font-family:var(--font-m);font-size:11px;letter-spacing:.5px;color:var(--err);margin-top:2px;
}

/* case « Expédier à une adresse différente » (#ship-to-different-address) */
.woocommerce-checkout #ship-to-different-address{margin:0 0 4px}
.woocommerce-checkout #ship-to-different-address label{
  display:flex;align-items:center;gap:12px;padding:16px;border:var(--border-t);background:var(--white);
  font-family:var(--font-b);font-size:14px;font-weight:500;letter-spacing:.3px;text-transform:none;cursor:pointer;
}
.woocommerce-checkout #ship-to-different-address input[type=checkbox]{
  width:22px;height:22px;flex-shrink:0;accent-color:var(--black);margin:0;cursor:pointer;
}

/* ── 6. RÉCAP COMMANDE — #order_review ── */
.woocommerce-checkout #order_review{background:var(--bg)}
.woocommerce-checkout #order_review .shop_table{
  width:100%;border-collapse:collapse;border:0;margin:0 24px 0;width:calc(100% - 48px);
  font-variant-numeric:tabular-nums;
}
.woocommerce-checkout #order_review .shop_table thead th{
  font-family:var(--font-m);font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(0,0,0,.5);text-align:left;padding:18px 0 10px;border-bottom:var(--border-t);
}
.woocommerce-checkout #order_review .shop_table td,
.woocommerce-checkout #order_review .shop_table th{border:0;padding:12px 0;background:transparent}
.woocommerce-checkout #order_review .cart_item td{border-bottom:var(--border-t);vertical-align:top}
.woocommerce-checkout #order_review .product-name{
  font-family:var(--font-b);font-weight:700;font-size:14px;letter-spacing:.3px;line-height:1.3;
}
.woocommerce-checkout #order_review .product-name .product-quantity{
  font-family:var(--font-m);font-size:11px;color:rgba(0,0,0,.55);font-weight:400;
}
.woocommerce-checkout #order_review .product-name dl.variation{
  font-family:var(--font-m);font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:rgba(0,0,0,.5);margin:4px 0 0;
}
.woocommerce-checkout #order_review .product-total,
.woocommerce-checkout #order_review td.product-total{text-align:right;font-family:var(--font-b);font-weight:600;font-size:14px}

/* lignes de totaux (cart-subtotal, shipping, tax, order-total) */
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review tr.shipping th,
.woocommerce-checkout #order_review .tax-rate th{
  font-family:var(--font-m);font-size:12px;letter-spacing:1px;text-transform:uppercase;
  color:rgba(0,0,0,.6);font-weight:400;padding:12px 0;border-bottom:var(--border-t);text-align:left;
}
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review tr.shipping td,
.woocommerce-checkout #order_review .tax-rate td{
  font-family:var(--font-b);font-weight:600;font-size:14px;text-align:right;
  padding:12px 0;border-bottom:var(--border-t);
}
/* méthodes de livraison (liste radio) */
.woocommerce-checkout #order_review tr.shipping ul#shipping_method{margin:0;padding:0;list-style:none}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method li{
  display:flex;align-items:center;gap:10px;padding:6px 0;font-family:var(--font-b);font-size:13px;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method input[type=radio]{
  width:20px;height:20px;accent-color:var(--black);
}

/* TOTAL — grand chiffre Impact */
.woocommerce-checkout #order_review .order-total th{
  font-family:var(--font-d);font-size:24px;text-transform:uppercase;letter-spacing:.5px;
  padding:18px 0 4px;border:0;text-align:left;
}
.woocommerce-checkout #order_review .order-total td{
  font-family:var(--font-d);font-size:30px;letter-spacing:1px;text-align:right;padding:18px 0 4px;border:0;
}
.woocommerce-checkout #order_review .order-total td small.includes_tax{
  display:block;font-family:var(--font-m);font-size:10px;letter-spacing:.5px;color:rgba(0,0,0,.45);font-weight:400;
}

/* ── 7. MÉTHODES DE PAIEMENT — #payment.woocommerce-checkout-payment ── */
.woocommerce-checkout #payment{
  background:transparent;border:0;border-radius:0;margin:18px 24px 24px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border:var(--border-t);border-radius:0;padding:0;margin:0;list-style:none;background:var(--white);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  border-bottom:var(--border-t);padding:0;margin:0;transition:background var(--t-fast);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child{border-bottom:0}
/* l'option sélectionnée → fond jaune (li ajoute .selected, ou via :has sur l'input coché) */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type=radio]:checked){
  background:var(--yellow);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label{
  display:flex;align-items:center;gap:12px;padding:18px 16px;cursor:pointer;
  font-family:var(--font-b);font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase;margin:0;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio]{
  width:22px;height:22px;flex-shrink:0;accent-color:var(--black);margin:0 0 0 16px;cursor:pointer;
}
/* logos passerelles (Stripe, PayPal, Klarna) alignés à droite du label */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img{
  margin-left:auto;max-height:24px;width:auto;display:inline-block;
}
/* boîte descriptive sous chaque méthode */
.woocommerce-checkout #payment div.payment_box{
  background:var(--bg);border:0;border-top:var(--border-t);border-radius:0;
  margin:0;padding:16px;font-family:var(--font-m);font-size:11px;letter-spacing:.3px;color:rgba(0,0,0,.65);
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
/* champs carte (Stripe/WooPayments) hébergés — laisser respirer */
.woocommerce-checkout #payment div.payment_box .wc-stripe-elements-field,
.woocommerce-checkout #payment div.payment_box .wcpay-card-mount{
  background:var(--white);border:var(--border-t);padding:12px 14px;min-height:48px;border-radius:0;
}
.woocommerce-checkout #payment .focus-visible,
.woocommerce-checkout #payment input[type=radio]:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* CGV / privacy policy */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{
  font-family:var(--font-m);font-size:11px;letter-spacing:.3px;color:rgba(0,0,0,.55);padding:0 16px 12px;
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{padding:0 16px 12px}
.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox input{width:20px;height:20px;accent-color:var(--black)}

/* ── 8. BOUTON PAYER — #place_order / .place-order ── */
.woocommerce-checkout #payment .place-order{padding:0;margin:0;border:0}
.woocommerce-checkout #place_order,
.woocommerce-checkout .place-order #place_order,
.woocommerce-checkout #payment #place_order{
  width:100%;min-height:64px;margin-top:18px;
  background:var(--black);color:var(--yellow);border:var(--border);border-radius:0;
  font-family:var(--font-d);font-size:22px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:14px;
  transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast);
  font-variant-numeric:tabular-nums;
}
.woocommerce-checkout #place_order:hover{background:var(--yellow);color:var(--black);transform:translateY(-2px)}
.woocommerce-checkout #place_order:active{transform:translateY(0)}
.woocommerce-checkout #place_order:focus-visible{outline:3px solid var(--black);outline-offset:3px}
.woocommerce-checkout #place_order:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* overlay de traitement (blockUI) */
.woocommerce-checkout .blockUI.blockOverlay{background:var(--bg)!important}

/* ── 9. BLOC RASSURANCE — à injecter via snippet (woocommerce_review_order_after_submit) ── */
.woocommerce-checkout .itk-reassure{margin:20px 24px 28px;border:var(--border-t);background:var(--white)}
.woocommerce-checkout .itk-reassure__row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:var(--border-t)}
.woocommerce-checkout .itk-reassure__row:last-child{border-bottom:0}
.woocommerce-checkout .itk-reassure__ico{width:24px;height:24px;flex-shrink:0}
.woocommerce-checkout .itk-reassure__t{font-family:var(--font-b);font-weight:700;font-size:12px;letter-spacing:.5px;text-transform:uppercase;line-height:1.2;display:block}
.woocommerce-checkout .itk-reassure__d{font-family:var(--font-m);font-size:10px;letter-spacing:.5px;color:rgba(0,0,0,.5);line-height:1.3;display:block;margin-top:2px}

/* ── RESPONSIVE ── */
@media (max-width:980px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{display:block;border:var(--border)}
  .woocommerce-checkout form.checkout #customer_details{border-right:0;border-bottom:var(--border)}
  .woocommerce-checkout form.checkout #order_review{position:static;width:auto}
  /* récap remonté visuellement en haut sur mobile via order (nécessite flex parent — voir NOTES) */
  .woocommerce-checkout #order_review .shop_table,
  .woocommerce-checkout #payment,
  .woocommerce-checkout .itk-reassure{margin-left:18px;margin-right:18px;width:auto}
}
@media (max-width:560px){
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{padding:18px}
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{width:100%}
  .woocommerce-checkout #order_review_heading{padding-left:18px;padding-right:18px}
  .woocommerce-checkout #place_order{font-size:18px}
}

/* ── ACCESSIBILITÉ GLOBALE ── */
.woocommerce-checkout a:focus-visible,
.woocommerce-checkout button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  .woocommerce-checkout *,
  .woocommerce-checkout #place_order{transition:none!important}
  .woocommerce-checkout #place_order:hover{transform:none}
}

/* ===== SOURCE: contact-redesign/contact-premium.css ===== */
/* ════════════════════════════════════════════════════════════════
   ITOUKEI — PAGE CONTACT PREMIUM  (v1 — staging, à pousser après validation)
   Cible les classes RÉELLES de la page /contact/ (audit/contact.html) :
     wrapper .page-contact-wrap · .contact-lead · .contact-email-block
     .contact-form-block · #itk-contact-form · champs name="itk_nom"
     name="itk_email" name="itk_message" · #itk-contact-msg
   À APPENDRE à wp-content/themes/itoukei-brutal/style.css
   (ou enqueue séparément). Additif/override — ne casse rien d'autre.
   Le HTML live applique des styles INLINE sur le form : on les neutralise
   avec une spécificité suffisante (sélecteurs imbriqués, pas de !important
   sauf là où l'inline l'impose).
   Palette : Paper #D0CCC0 · Noir #000 · Jaune #F5C900
   ════════════════════════════════════════════════════════════════ */

/* Variables de repli si le thème ne les définit pas déjà */
:root{
  --itk-err:#B00020;
  --itk-ok:#1f7a33;
}

/* ── 0. WRAPPER + EN-TÊTE ─────────────────────────────────────── */
.page-contact-wrap{
  max-width:1400px;margin:0 auto;padding:24px;
}
.page-contact-wrap > h1{
  font-family:var(--font-d,Impact,'Arial Narrow',sans-serif);
  font-size:clamp(56px,11vw,140px);line-height:.82;text-transform:uppercase;
  letter-spacing:-3px;margin:8px 0 0;
}
.contact-lead{
  font-family:var(--font-m,'Courier New',monospace);
  font-size:14px;line-height:1.9;color:rgba(0,0,0,.6);margin-top:18px;max-width:42ch;
}

/* ── 1. BLOC EMAIL (à droite dans le redesign 2 colonnes) ─────── */
.contact-email-block a[href^="mailto:"]{
  transition:background var(--t-fast,.15s ease),color var(--t-fast,.15s ease);
}
.contact-email-block a[href^="mailto:"]:hover{
  background:var(--yellow,#F5C900);color:#000;
}

/* ── 2. LAYOUT 2 COLONNES (form / infos) ──────────────────────── */
/* Le HTML live empile email-block puis form-block. On les met côte à côte. */
@media(min-width:861px){
  .page-contact-wrap{
    display:grid;grid-template-columns:1.3fr 1fr;gap:0;
    align-items:start;column-gap:0;
  }
  .page-contact-wrap > h1,
  .page-contact-wrap > .contact-lead{grid-column:1 / -1}
  .contact-form-block{
    grid-column:1;grid-row:3;
    border-right:var(--border,3px solid #000);
    border-top:var(--border,3px solid #000);
    padding:40px 24px;max-width:none!important;margin-top:24px;
  }
  .contact-email-block{
    grid-column:2;grid-row:3;
    border-top:var(--border,3px solid #000);
    padding:40px 24px;margin:24px 0 0!important;
  }
}

/* ── 3. FORMULAIRE — neutralise les styles inline & re-stylise ── */
#itk-contact-form{margin-top:0!important;}

/* Groupes de champs (les <div> wrappers inline du form live) */
#itk-contact-form > div{position:relative;margin-bottom:24px!important;}

/* Labels visibles, langage UI */
#itk-contact-form label{
  display:block;font-family:var(--font-b,'Space Grotesk',sans-serif);
  font-size:10px!important;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(0,0,0,.55)!important;margin-bottom:8px;
}

/* Champs : inputs ≥44px (ici 48px), bordure brutalist, pas de radius */
#itk-contact-form input[type="text"],
#itk-contact-form input[type="email"],
#itk-contact-form textarea,
#itk-contact-form select{
  width:100%;box-sizing:border-box;background:#fff;
  border:var(--border,3px solid #000)!important;border-radius:0!important;
  padding:13px 15px!important;min-height:48px;font-size:15px!important;color:#000;
  font-family:var(--font-b,'Space Grotesk',sans-serif);outline:none;
  transition:border-color var(--t-fast,.15s ease),box-shadow var(--t-fast,.15s ease);
}
#itk-contact-form textarea{
  min-height:140px;resize:vertical;
  font-family:var(--font-m,'Courier New',monospace)!important;
  font-size:14px!important;line-height:1.6;
}
#itk-contact-form ::placeholder{color:rgba(0,0,0,.35)}

/* ── 4. VALIDATION INLINE ──────────────────────────────────────
   Hooks JS à ajouter (cf. NOTES.md) :
   - état OK   : ajouter .is-valid sur le <div> wrapper du champ
   - état KO   : ajouter .is-error sur le <div> wrapper
   - message d'erreur : <p class="itk-field-error"> injecté sous le champ
   En l'absence de JS, on s'appuie aussi sur :user-invalid (natif).
─────────────────────────────────────────────────────────────── */
#itk-contact-form .is-valid input,
#itk-contact-form .is-valid textarea,
#itk-contact-form .is-valid select{
  border-color:var(--itk-ok)!important;box-shadow:inset 3px 0 0 var(--itk-ok);
}
#itk-contact-form .is-error input,
#itk-contact-form .is-error textarea,
#itk-contact-form .is-error select,
#itk-contact-form input:user-invalid,
#itk-contact-form textarea:user-invalid{
  border-color:var(--itk-err)!important;box-shadow:inset 3px 0 0 var(--itk-err);
}

/* Message d'erreur sous le champ (élément injecté par le JS) */
#itk-contact-form .itk-field-error{
  font-family:var(--font-m,'Courier New',monospace);font-size:12px;
  color:var(--itk-err);margin-top:8px;letter-spacing:.5px;
}

/* ── 5. FOCUS-VISIBLE JAUNE (accessibilité) ───────────────────── */
#itk-contact-form input:focus-visible,
#itk-contact-form textarea:focus-visible,
#itk-contact-form select:focus-visible,
#itk-contact-form button:focus-visible,
.contact-email-block a:focus-visible{
  outline:3px solid var(--yellow,#F5C900)!important;outline-offset:2px;
}

/* ── 6. BOUTON ENVOYER ────────────────────────────────────────── */
#itk-contact-form button[type="submit"]{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-b,'Space Grotesk',sans-serif);
  font-size:11px!important;font-weight:700;letter-spacing:4px!important;text-transform:uppercase;
  color:#000;background:var(--yellow,#F5C900);
  padding:16px 40px!important;min-height:52px;
  border:var(--border,3px solid #000)!important;border-radius:0;
  cursor:pointer;box-shadow:5px 5px 0 #000!important;
  transition:transform var(--t-fast,.15s ease),box-shadow var(--t-fast,.15s ease);
}
#itk-contact-form button[type="submit"]:hover{
  transform:translate(-2px,-2px);box-shadow:7px 7px 0 #000!important;
}
#itk-contact-form button[type="submit"]:active{
  transform:translate(2px,2px);box-shadow:1px 1px 0 #000!important;
}
#itk-contact-form button[type="submit"][disabled]{opacity:.55;cursor:wait;transform:none}
/* flèche "→" : ajoute un suffixe si le label est juste "Envoyer" */
#itk-contact-form button[type="submit"]::after{content:" →";white-space:pre}

/* ── 7. MESSAGE DE RETOUR (succès / erreur globale) ────────────
   Élément existant : #itk-contact-msg (le JS live met background inline +
   display:block). On habille la typo et neutralise le rendu plat. ──── */
#itk-contact-msg{
  margin-bottom:22px!important;padding:16px 18px!important;
  border:var(--border,3px solid #000)!important;border-radius:0;
  font-family:var(--font-b,'Space Grotesk',sans-serif);
  font-size:14px!important;font-weight:600!important;line-height:1.5;
}

/* ── 8. RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:860px){
  .page-contact-wrap{padding:28px 16px}
  .contact-form-block,.contact-email-block{max-width:none!important}
  #itk-contact-form button[type="submit"]{width:100%;justify-content:center}
}

/* ── 9. PREFERS-REDUCED-MOTION ────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  #itk-contact-form *,
  .contact-email-block a{transition:none!important}
  #itk-contact-form button[type="submit"]:hover{transform:none}
}

/* ════════════════════════════════════════════════════════════════
   ITOUKEI — FICHE PRODUIT v2 (présentation refaite — 2026-06-01)
   Cible WooCommerce single-product. Brutalist ITOUKEI. Layout-only.
   ════════════════════════════════════════════════════════════════ */
.single-product div.product{
  display:grid;grid-template-columns:1.1fr 1fr;gap:0;
  border:var(--border);background:var(--bg);margin:24px clamp(16px,4vw,48px);
}
.single-product div.product .woocommerce-product-gallery{
  margin:0;padding:0;border-right:var(--border);background:var(--p3,#C0BCB0);position:relative;
}
.single-product div.product .woocommerce-product-gallery__image img{display:block;width:100%}
.single-product div.product .summary.entry-summary{
  padding:clamp(24px,3vw,48px);margin:0;display:flex;flex-direction:column;gap:14px;
}
.single-product .product_title{
  font-family:var(--font-d);font-size:clamp(30px,4vw,56px);line-height:.92;
  text-transform:uppercase;letter-spacing:-1px;margin:0;
}
.single-product .summary .price{
  font-family:var(--font-d);font-size:30px;letter-spacing:1px;color:var(--black);
  font-variant-numeric:tabular-nums;margin:0;
}
.single-product .summary .price del{opacity:.4;font-size:20px;margin-right:8px}
.single-product .summary .price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{
  font-family:var(--font-b);font-size:14px;line-height:1.7;color:rgba(0,0,0,.7);
  border-top:var(--border-t);border-bottom:var(--border-t);padding:16px 0;
}
/* Variations (taille / couleur) */
.single-product .variations{border:0;margin:0;width:100%}
.single-product .variations th,.single-product .variations td{padding:6px 0;border:0;display:block;text-align:left}
.single-product .variations th label{
  font-family:var(--font-m);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(0,0,0,.55);
}
.single-product .variations select{
  width:100%;font-family:var(--font-b);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  background:var(--white);border:var(--border-t);padding:13px 14px;border-radius:0;min-height:48px;cursor:pointer;
}
.single-product .reset_variations{font-family:var(--font-m);font-size:11px;letter-spacing:1px}
/* Quantité + Add to cart */
.single-product form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin:6px 0 0}
.single-product .quantity .qty{
  width:72px;height:52px;border:var(--border);background:var(--white);text-align:center;
  font-family:var(--font-d);font-size:18px;border-radius:0;
}
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button{
  flex:1;min-height:52px;border:var(--border);background:var(--black);color:var(--yellow);
  font-family:var(--font-b);font-weight:700;font-size:13px;letter-spacing:3px;text-transform:uppercase;
  border-radius:0;cursor:pointer;transition:background var(--transition-fast,.15s ease),color .15s;
}
.single-product .single_add_to_cart_button:hover{background:var(--yellow);color:var(--black)}
/* Quickinfo (plugin) */
.itk-product-quickinfo{
  list-style:none;margin:6px 0 0;padding:16px 0 0;border-top:var(--border-t);
  display:flex;flex-wrap:wrap;gap:10px 18px;font-family:var(--font-m);font-size:11px;
  letter-spacing:1px;text-transform:uppercase;color:rgba(0,0,0,.6);
}
.itk-product-quickinfo li{margin:0}
.itk-product-quickinfo a{border-bottom:1px solid var(--black)}
/* Meta (sku/cat) */
.single-product .product_meta{font-family:var(--font-m);font-size:11px;letter-spacing:1px;color:rgba(0,0,0,.5);border-top:var(--border-t);padding-top:14px}
.single-product .product_meta a{color:var(--black)}
/* Onglets */
.single-product .woocommerce-tabs{grid-column:1 / -1;border-top:var(--border);padding:clamp(24px,3vw,48px)}
.single-product .woocommerce-tabs ul.tabs{display:flex;gap:0;padding:0;margin:0 0 24px;border:0;flex-wrap:wrap}
.single-product .woocommerce-tabs ul.tabs li{
  list-style:none;border:var(--border-t);margin-left:-1.5px;background:transparent;border-radius:0;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{display:none}
.single-product .woocommerce-tabs ul.tabs li a{
  font-family:var(--font-b);font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  padding:12px 18px;color:rgba(0,0,0,.6);display:block;
}
.single-product .woocommerce-tabs ul.tabs li.active{background:var(--black)}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--yellow)}
.single-product .woocommerce-Tabs-panel{font-family:var(--font-b);font-size:14px;line-height:1.7}
.single-product .woocommerce-Tabs-panel h2{font-family:var(--font-d);font-size:24px;text-transform:uppercase}
/* Produits liés */
.single-product .related.products{grid-column:1 / -1;border-top:var(--border);padding:clamp(24px,3vw,48px) 0 0;margin:0}
.single-product .related.products>h2{
  font-family:var(--font-d);font-size:clamp(26px,3vw,42px);text-transform:uppercase;
  padding:0 clamp(16px,4vw,48px);margin:0 0 24px;letter-spacing:-.5px;
}
/* RESPONSIVE : empile sur mobile/tablette */
@media(max-width:880px){
  .single-product div.product{grid-template-columns:1fr;margin:16px}
  .single-product div.product .woocommerce-product-gallery{border-right:0;border-bottom:var(--border)}
  .single-product form.cart .single_add_to_cart_button{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){
  .single-product .single_add_to_cart_button{transition:none}
}
