/* =====================================================================
   DIVERSHOP — Styles WooCommerce
   Habille les éléments générés par WooCommerce (boutons, panier,
   commande, mon compte, avis...) avec la charte DiverShop.
   ===================================================================== */

/* --- Grille boutique (remplace ul.products par défaut) --- */
ul.products{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px; list-style:none; padding:0; margin:0 0 30px;
}
@media (max-width:980px){ ul.products{grid-template-columns:repeat(3,1fr);} }
@media (max-width:720px){ ul.products{grid-template-columns:repeat(2,1fr);} }
ul.products li.product{margin:0;}

.woocommerce-result-count,
.woocommerce-ordering{
  font-size:12.5px; color:var(--ink-soft); margin-bottom:18px;
}
.woocommerce-ordering select{
  padding:8px 12px; border-radius:8px; border:1px solid var(--line); font-size:12.5px; background:#fff;
}

/* --- Add to cart button (dans les cartes produit) --- */
.product-card .button,
a.add_to_cart_button,
a.single_add_to_cart_button,
button.single_add_to_cart_button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--orange); color:#fff !important; font-weight:700; font-size:13px;
  padding:11px 16px; border-radius:9px; width:100%; border:none; transition:transform .15s ease;
}
.product-card .button:hover,
a.single_add_to_cart_button:hover{ transform:translateY(-1px); background:var(--orange-dark); }
.product-card .added_to_cart{
  display:block; text-align:center; font-size:11.5px; color:var(--orange); font-weight:700; margin-top:6px;
}

/* --- Pagination boutique --- */
.woocommerce-pagination ul{display:flex; gap:8px; list-style:none; padding:0; justify-content:center;}
.woocommerce-pagination a, .woocommerce-pagination span{
  display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px;
  border:1px solid var(--line); font-size:13px; font-weight:600; color:var(--navy);
}
.woocommerce-pagination .current{background:var(--navy); color:#fff; border-color:var(--navy);}

/* --- Fiche produit --- */
.woocommerce-content.is-single-product{max-width:1000px;}
div.product .woocommerce-product-gallery{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); margin-bottom:20px;}
div.product .summary{padding-top:6px;}
div.product .product_title{font-family:var(--font-display); font-size:26px; font-weight:800; color:var(--navy); margin-bottom:12px;}
div.product p.price{font-size:22px; font-weight:800; color:var(--orange); margin-bottom:16px;}
div.product p.price del{color:var(--ink-soft); font-weight:500; font-size:15px; opacity:.7;}
div.product p.price ins{text-decoration:none;}
div.product .woocommerce-product-details__short-description{font-size:14px; color:var(--ink-soft); line-height:1.7; margin-bottom:20px;}
div.product form.cart{display:flex; gap:12px; align-items:center; margin-bottom:24px;}
div.product .quantity input.qty{
  width:64px; padding:12px; border-radius:9px; border:1px solid var(--line); text-align:center; font-size:14px;
}
div.product .single_add_to_cart_button{padding:14px 30px; font-size:14px; width:auto;}
.woocommerce-product-rating{display:flex; align-items:center; gap:8px; margin-bottom:14px; font-size:12.5px; color:var(--ink-soft);}
.star-rating{color:var(--gold); font-size:15px;}
.woocommerce-tabs{margin-top:40px; border-top:1px solid var(--line); padding-top:24px;}
.woocommerce-tabs ul.tabs{display:flex; gap:22px; list-style:none; padding:0; margin-bottom:18px; border-bottom:1px solid var(--line);}
.woocommerce-tabs ul.tabs li{padding-bottom:12px; font-size:13.5px; font-weight:700; color:var(--ink-soft);}
.woocommerce-tabs ul.tabs li.active{color:var(--orange); border-bottom:2px solid var(--orange);}
.related.products{margin-top:50px;}
.related.products > h2{font-family:var(--font-display); font-size:19px; font-weight:700; color:var(--navy); margin-bottom:20px;}

/* --- Notices / messages --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice{
  list-style:none; padding:14px 18px; border-radius:9px; font-size:13.5px; margin-bottom:20px;
  background:#EEF7EE; border:1px solid #BFE3BF; color:#2C6B2C;
}
.woocommerce-error{background:#FBEDEA; border-color:#F0C4BA; color:#B3401F;}
.woocommerce-message a.button, .woocommerce-notice a.button{
  background:var(--navy); color:#fff !important; padding:8px 14px; border-radius:7px; font-size:12.5px; margin-left:10px;
}

/* --- Panier (table + résumé) --- */
table.shop_table{width:100%; border-collapse:collapse; margin-bottom:30px;}
table.shop_table th{
  text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft);
  padding:12px 10px; border-bottom:2px solid var(--line);
}
table.shop_table td{padding:16px 10px; border-bottom:1px solid var(--line); font-size:13.5px; vertical-align:middle;}
table.shop_table td.product-name a{font-weight:700; color:var(--navy);}
table.shop_table img{width:56px; height:56px; object-fit:cover; border-radius:8px;}
table.shop_table .quantity input.qty{width:56px; padding:9px; border-radius:7px; border:1px solid var(--line); text-align:center;}
a.remove{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%;
  background:#FBEDEA; color:#B3401F !important; font-weight:700; text-decoration:none !important;
}
.cart-collaterals{display:flex; justify-content:flex-end;}
.cart_totals{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; max-width:380px; width:100%;
}
.cart_totals h2{font-family:var(--font-display); font-size:17px; font-weight:700; color:var(--navy); margin-bottom:16px;}
.cart_totals table{width:100%;}
.cart_totals table td, .cart_totals table th{padding:10px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.cart_totals .order-total td, .cart_totals .order-total th{font-weight:800; color:var(--navy); font-size:15px; border-bottom:none;}
.wc-proceed-to-checkout a.checkout-button{
  display:block; text-align:center; background:var(--orange); color:#fff !important; font-weight:700;
  padding:15px; border-radius:10px; margin-top:16px; font-size:14px;
}
a.button[name="update_cart"]{
  background:#fff; border:1px solid var(--line); color:var(--navy) !important; padding:11px 20px; border-radius:9px; font-weight:700; font-size:13px;
}

/* --- Coupon --- */
.woocommerce-coupon-form{display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap;}
.woocommerce-coupon-form input#coupon_code{
  padding:11px 14px; border-radius:9px; border:1px solid var(--line); font-size:13px; min-width:220px;
}
.woocommerce-coupon-form button{
  background:var(--navy); color:#fff; padding:11px 18px; border-radius:9px; font-weight:700; font-size:13px; border:none;
}

/* --- Checkout --- */
.woocommerce-checkout .col2-set{display:grid; grid-template-columns:1fr 1fr; gap:30px;}
@media (max-width:800px){ .woocommerce-checkout .col2-set{grid-template-columns:1fr;} }
.woocommerce-checkout .form-row label{display:block; font-size:12.5px; font-weight:700; color:var(--navy); margin-bottom:6px;}
.woocommerce-checkout .form-row{margin-bottom:16px;}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  width:100%; padding:12px 14px; border-radius:9px; border:1px solid var(--line); font-size:13.5px; background:#FBF9F5;
}
#order_review{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin-top:20px;
}
#order_review table.shop_table td, #order_review table.shop_table th{padding:10px 0;}
#place_order{
  width:100%; background:var(--orange); color:#fff; font-weight:700; padding:16px; border-radius:10px; border:none; font-size:14.5px; margin-top:16px;
}
.woocommerce-checkout ul.wc_payment_methods{list-style:none; padding:0; margin:16px 0;}
.woocommerce-checkout ul.wc_payment_methods li{
  padding:14px; border:1px solid var(--line); border-radius:9px; margin-bottom:10px; font-size:13.5px;
}

/* --- Mon compte --- */
.woocommerce-MyAccount-navigation ul{list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px;}
.woocommerce-MyAccount-navigation li a{
  display:block; padding:9px 16px; border-radius:999px; border:1px solid var(--line); font-size:12.5px; font-weight:700; color:var(--ink-soft);
}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--navy); color:#fff; border-color:var(--navy);}
.woocommerce-MyAccount-content form .form-row{margin-bottom:16px;}
.woocommerce-MyAccount-content input.input-text{
  width:100%; padding:12px 14px; border-radius:9px; border:1px solid var(--line); font-size:13.5px;
}
.woocommerce-MyAccount-content button[type="submit"]{
  background:var(--orange); color:#fff; font-weight:700; padding:13px 24px; border-radius:9px; border:none; font-size:13.5px;
}
