/* Retail UI */
.mp-sticky { position: sticky; top: 92px; }
.mp-sidebar { border-radius: 16px; }

.mp-chip{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.35rem .6rem; border-radius:999px;
  background:#f4f6f8; border:1px solid rgba(0,0,0,.06);
  color:#0b3b3c; text-decoration:none; font-size:13px;
}
.mp-chip:hover{ background:#eef2f4; }
.mp-chip-x{ opacity:.6; font-weight:700; }
.mp-chip-clear{ background:#fff3cd; border-color:#ffe69c; }

.mp-product-card{
  border-radius:16px;
  overflow:hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.mp-product-card:hover{
  transform: translateY(-5px);
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}

.mp-product-media{ background:#fff; }
.mp-product-img{
  height:190px; width:100%;
  object-fit:contain;
  padding:14px;
  background:#fff;
}

.mp-badges{
  position:absolute; left:12px; top:12px;
  display:flex; gap:8px; flex-wrap:wrap;
}
.mp-badge{
  display:inline-flex; align-items:center;
  padding:.28rem .55rem;
  border-radius:999px;
  font-size:12px; font-weight:700;
  background:#f4f6f8; color:#0b3b3c;
}
.mp-badge-promo{ background:#ffc107; color:#111; }
.mp-badge-in{ background:#d1e7dd; color:#0f5132; }
.mp-badge-low{ background:#fff3cd; color:#664d03; }
.mp-badge-out{ background:#f8d7da; color:#842029; }
.mp-badge-neutral{ background:#e9ecef; color:#343a40; }

.mp-quickview{
  position:absolute; right:12px; top:12px;
  width:38px; height:38px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.06);
  color:#0b3b3c; text-decoration:none;
}

.mp-product-title{
  font-weight:800;
  color:#0b3b3c;
  text-decoration:none;
  line-height:1.2;
  min-height:2.4em;
}
.mp-product-title:hover{ text-decoration:underline; }

.mp-price-row{ display:flex; align-items:baseline; gap:8px; }
.mp-price{
  font-size:20px;
  font-weight:900;
  color:#0b3b3c;
}
.mp-price-ask{
  font-size:16px;
  font-weight:800;
  color:#6c757d;
}
.mp-price-sub{ white-space:nowrap; }

/* Qty */
.mp-qty{
  display:flex; align-items:center;
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px; overflow:hidden;
  height:42px; min-width:132px;
}
.mp-qty-btn{
  width:40px; height:42px; border:0;
  background:#f4f6f8; font-weight:900;
}
.mp-qty-input{
  width:60px; border:0; text-align:center;
  outline:none; font-weight:800;
}
.mp-btn-cart{
  border-radius:12px;
  font-weight:800;
}
.mp-small-note{ opacity:.9; }

/* Product main image + thumbs */
.mp-prod-main{
  height:420px; width:100%;
  object-fit:contain;
  padding:10px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
}
.mp-thumb{
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  border-radius:12px;
  padding:6px;
}
.mp-thumb img{
  width:64px; height:64px;
  object-fit:contain;
  display:block;
}

/* Skeleton */
.mp-skel{
  background:rgba(0,0,0,.06);
  border-radius:10px;
  position:relative;
  overflow:hidden;
  height:14px;
}
.mp-skel:after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-60%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  animation: mpSh 1.1s infinite;
}
@keyframes mpSh{ to{ transform:translateX(60%); } }
.sk1{ width:45%; height:12px; }
.sk2{ width:90%; height:16px; }
.sk3{ width:35%; height:18px; }
.sk4{ width:100%; height:38px; border-radius:12px; }
/* ==== PATCH METAPRO FINAL (à la fin du CSS) ==== */

/* Liens bleus globaux (header/footer/breadcrumb/cart) */
header a, footer a, .breadcrumb a, .mp-card a, .mp-product-card a {
  text-decoration: none !important;
}
header a:hover, footer a:hover, .breadcrumb a:hover, .mp-card a:hover, .mp-product-card a:hover {
  text-decoration: underline !important;
}

/* Cartes: rendu "enseigne" partout (catalogue + product + panier) */
.mp-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

/* Si tu utilises encore mp-card-solid, ça reste compatible */
.mp-card-solid{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

/* Breadcrumb plus clean */
.breadcrumb{ background:transparent; }
.breadcrumb-item + .breadcrumb-item::before{ opacity:.6; }

/* Image produit: force un rendu propre (évite "blanc sur blanc") */
.mp-prod-main{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
}


/* Fix image produit si elle semble "vide" */
.mp-prod-main{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
}
/* =========================
   CART / CHECKOUT (cart.php)
   ========================= */

.mp-cart-page .mp-cart-title{
  font-weight:900;
  color:#0b3b3c;
  letter-spacing:.2px;
}

.mp-cart-page .mp-cart-layout{
  display:grid;
  grid-template-columns: 1fr 380px;
  gap:18px;
  align-items:start;
}
@media (max-width: 991px){
  .mp-cart-page .mp-cart-layout{ grid-template-columns: 1fr; }
}

/* tableau produits -> version "liste" pro */
.mp-cart-page .mp-cart-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.mp-cart-page .mp-cart-table th{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6c757d;
  padding:12px 10px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.mp-cart-page .mp-cart-table td{
  padding:14px 10px;
  border-bottom:1px solid rgba(0,0,0,.06);
  vertical-align:middle;
}
.mp-cart-page .mp-cart-product{
  display:flex; gap:12px; align-items:center;
}
.mp-cart-page .mp-cart-thumb{
  width:54px; height:54px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  object-fit:contain;
  padding:6px;
}
.mp-cart-page .mp-cart-name{
  font-weight:800;
  color:#0b3b3c;
  line-height:1.15;
}
.mp-cart-page .mp-cart-ref{
  font-size:12px;
  color:#6c757d;
}
.mp-cart-page .mp-cart-actions{
  display:flex; justify-content:flex-end; gap:8px;
}
.mp-cart-page .mp-cart-trash{
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px;
}

/* qty input */
.mp-cart-page .mp-cart-qty{
  max-width:110px;
}
.mp-cart-page input[type="number"].form-control{
  border-radius:12px;
  font-weight:800;
}

/* panneau récap "sticky" */
.mp-cart-page .mp-summary{
  position:sticky;
  top:92px;
}
.mp-cart-page .mp-summary .mp-summary-row{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:10px;
  padding:10px 0;
  border-bottom:1px dashed rgba(0,0,0,.08);
}
.mp-cart-page .mp-summary .mp-summary-row:last-child{
  border-bottom:0;
}
.mp-cart-page .mp-summary-total{
  font-size:24px;
  font-weight:900;
  color:#0b3b3c;
}
.mp-cart-page .mp-summary-note{
  font-size:12px;
  color:#6c757d;
}

/* form devis "checkout" */
.mp-cart-page .mp-checkout label{
  font-size:12px;
  color:#6c757d;
}
.mp-cart-page .mp-checkout .form-control,
.mp-cart-page .mp-checkout textarea{
  border-radius:12px;
}
.mp-cart-page .mp-checkout textarea{
  min-height:110px;
}
.mp-cart-page .mp-checkout .btn{
  border-radius:12px;
  font-weight:900;
}

/* alert success */
.mp-cart-page .alert{
  border-radius:14px;
}
