/* =========================================================
   KOMAKI — habillage WooCommerce
   ========================================================= */

/* ---------- Boutons génériques WooCommerce ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce-page a.button,.woocommerce-page button.button{
  background:var(--ink);color:#fff;border-radius:var(--r);font-family:'Archivo',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;padding:14px 22px;line-height:1.2;border:0;transition:.2s
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--ink-3);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce a.checkout-button,.woocommerce #place_order{background:var(--signal)!important;color:#fff!important}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover,.woocommerce a.checkout-button:hover{background:var(--signal-dark)!important}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{background:var(--chalk-3);color:var(--stone);padding:14px 22px}

/* ---------- Champs ---------- */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .input-text,.woocommerce-page .input-text,.select2-container .select2-selection--single{
  border:1.5px solid var(--chalk-3);border-radius:var(--r);padding:12px 14px;background:#fff;font-size:15px;line-height:1.4;color:var(--ink)
}
.select2-container .select2-selection--single{height:auto;min-height:48px}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:10px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce .input-text:focus{border-color:var(--ink);outline:none}
.woocommerce form .form-row label{font-weight:700;font-size:13px}
.woocommerce form .form-row .required{color:var(--signal)}

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper .woocommerce-message{
  border-top:0;border-left:4px solid var(--signal);background:#fff;border-radius:var(--r);font-size:15px;color:var(--ink);
  box-shadow:0 1px 0 var(--chalk-2)
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--signal)}
.woocommerce-error{border-left-color:#C62828}
.woocommerce-error::before{color:#C62828}
.woocommerce-message .button,.woocommerce-info .button{float:right}
.woocommerce-notices-wrapper{max-width:var(--max);margin:0 auto;padding:0 24px}
.woocommerce-notices-wrapper:empty{display:none}

/* ---------- Cartes : bouton AJAX ---------- */
.card a.added_to_cart{display:none!important}
.add.loading{opacity:.6;pointer-events:none}
.add.loading::after{display:none!important}
.add.added,.add.done{background:var(--ok)}
.card .price .woocommerce-Price-amount{font-weight:900}

/* ---------- Tri / filtres boutique ---------- */
.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering{float:none;margin:0}
.woocommerce-ordering select{border:1.5px solid var(--ink);border-radius:40px;padding:8px 34px 8px 14px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%230A0A0A' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font-weight:600;font-size:13px;cursor:pointer;color:var(--ink)}
.filters a.chip{display:inline-flex;align-items:center}
.woocommerce nav.woocommerce-pagination{margin-top:40px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1.5px solid var(--ink);border-radius:var(--r);padding:10px 14px;font-weight:700;min-width:44px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff}

/* ---------- Fiche produit : formulaire d'achat ---------- */
.pdp-info form.cart{display:flex;gap:12px;margin:0 0 16px;align-items:stretch;flex-wrap:wrap}
.pdp-info form.cart::before,.pdp-info form.cart::after{display:none}
.quantity{display:inline-flex;align-items:center;border:1.5px solid var(--ink);border-radius:var(--r);height:56px;background:#fff}
.woocommerce .quantity .qty,.quantity input.qty{width:44px;border:0;text-align:center;font-weight:800;font-size:16px;background:transparent;outline:none;-moz-appearance:textfield;padding:0;height:100%}
.quantity input.qty::-webkit-inner-spin-button,.quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:42px;height:100%;font-size:20px;font-weight:500;color:var(--ink)}
.qty-btn:hover{color:var(--signal)}
.pdp-info form.cart .quantity{float:none;margin:0}
.pdp-info form.cart button.single_add_to_cart_button{
  flex:1;min-width:200px;height:56px;background:var(--signal)!important;color:#fff;border-radius:var(--r);font-size:14px;letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;padding:0 26px;float:none
}
.pdp-info form.cart button.single_add_to_cart_button:hover{background:var(--signal-dark)!important}
.pdp-info form.cart button.single_add_to_cart_button.loading{opacity:.7}
.pdp-info .stock.out-of-stock,.pdp-info p.stock{color:#C62828;font-weight:700}
.pdp-info p.stock.in-stock{display:none}

/* ---------- Onglets fiche produit ---------- */
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:30px;border-bottom:1px solid var(--chalk-3);margin:0 0 30px;padding:0;overflow-x:auto;scrollbar-width:none}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs::after{display:none}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;background:none}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce-tabs ul.tabs li a{display:block;padding:16px 0;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--stone);position:relative;white-space:nowrap}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink)}
.woocommerce-tabs ul.tabs li.active a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--signal)}
.woocommerce-tabs .panel{max-width:820px;margin:0;padding:0}
.woocommerce-tabs .panel p{color:var(--muted);font-size:16px;margin-bottom:16px}
.woocommerce-tabs .panel h2:first-child:empty{display:none}
table.woocommerce-product-attributes,.woocommerce table.shop_attributes{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--chalk-2);margin:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{padding:14px 18px;border-bottom:1px solid var(--chalk-2);border-top:0;background:none!important;font-style:normal;text-align:left;vertical-align:top}
.woocommerce table.shop_attributes th{font-weight:700;width:34%;color:var(--ink)}
.woocommerce table.shop_attributes td p{margin:0;padding:0;color:var(--muted);font-size:15px}

/* ---------- Avis ---------- */
.woocommerce #reviews #comments h2,.woocommerce-Reviews-title{font-size:24px;text-transform:uppercase;margin-bottom:20px}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--chalk-2);background:#fff;border-radius:var(--r)}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border:0;background:none;border-radius:50%}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--signal)}
.woocommerce #review_form #respond textarea,.woocommerce #review_form #respond input[type=text],.woocommerce #review_form #respond input[type=email]{border:1.5px solid var(--chalk-3);border-radius:var(--r);padding:12px 14px;width:100%;background:#fff}
#review_form .comment-reply-title{font-size:20px;font-weight:900;text-transform:uppercase;display:block;margin-bottom:12px}

/* ---------- Produits associés ---------- */
.related.products{margin-top:0}
.related.products>h2{display:none}

/* ---------- Panier (classique) ---------- */
.woocommerce table.shop_table{border:1px solid var(--chalk-2);border-radius:var(--r);background:#fff;border-collapse:separate}
.woocommerce table.shop_table th{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--stone);font-weight:800}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:1px solid var(--chalk-2);padding:16px 14px}
.woocommerce-cart table.cart img{width:80px;border-radius:3px}
.woocommerce-cart table.cart td.product-name a{font-weight:800;font-size:16px}
.woocommerce a.remove{color:var(--stone)!important;font-weight:400}
.woocommerce a.remove:hover{background:var(--signal);color:#fff!important}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:180px;margin-right:8px;padding:12px 14px;text-transform:uppercase}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{background:var(--ink);color:#fff;border-radius:var(--r);padding:26px}
.woocommerce .cart_totals h2{font-size:22px;text-transform:uppercase;margin-bottom:14px}
.woocommerce .cart_totals table.shop_table{background:transparent;border:0;color:#fff}
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{border-color:var(--line);color:#C9C6C0}
.woocommerce .cart_totals .order-total .amount{font-size:26px;font-weight:900;color:#fff}
.woocommerce .cart_totals .free-ship{background:var(--ink-2);border-color:var(--line);color:#fff}
.woocommerce .cart_totals .free-ship .bar{background:var(--ink-3)}
.woocommerce .cart_totals a{color:#fff}
.woocommerce .cart_totals .woocommerce-shipping-destination,.woocommerce .cart_totals .shipping-calculator-button{color:var(--stone)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{font-size:15px;padding:18px;border-radius:var(--r)}
.cart-empty.woocommerce-info{font-size:18px}
.return-to-shop .button{background:var(--signal)!important}

/* ---------- Commande ---------- */
.woocommerce-checkout h3{font-size:20px;text-transform:uppercase;margin:10px 0 16px}
.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--chalk-2);border-radius:var(--r);padding:20px}
.woocommerce-checkout #payment{background:var(--chalk-2);border-radius:var(--r)}
.woocommerce-checkout #payment div.payment_box{background:#fff}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce #place_order{width:100%;padding:18px;font-size:15px}
.woocommerce-checkout .free-ship{margin-bottom:18px}

/* ---------- Mon compte ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;border:1px solid var(--chalk-2);border-radius:var(--r);background:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;font-weight:600;border-bottom:1px solid var(--chalk-2)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--signal);font-weight:800}

@media (max-width:768px){
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:100%;margin:0 0 8px}
  .woocommerce .cart-collaterals .cart_totals{width:100%}
}
@media (max-width:560px){
  .pdp-info form.cart{flex-direction:column}
  .pdp-info form.cart .quantity{align-self:flex-start}
  .pdp-info form.cart button.single_add_to_cart_button{width:100%;flex:none;height:56px;min-width:0}
}

/* Panier : liens produits, suggestions */
.woocommerce-cart table.cart td.product-name a{color:var(--ink);text-decoration:none}
.woocommerce-cart table.cart td.product-name a:hover{color:var(--signal)}
.woocommerce .cart-collaterals .cart_totals{float:right;width:100%;max-width:460px}
.woocommerce .cart-collaterals{display:flow-root;margin-top:30px}
.cross-sells{margin-top:70px;clear:both}
.cross-sells>h2{font-size:clamp(28px,3.4vw,40px);text-transform:uppercase;margin-bottom:24px}
.woocommerce-cart .cart-collaterals .cross-sells{width:100%;float:none}
