/* JAM Cadeaux panier 1.0.12. Loaded only on cart?action=show. */
.jamgift-box,.jamgift-box *{box-sizing:border-box}
.jamgift-box{
  --jamgift-green:#47785a;
  --jamgift-green-dark:#315d43;
  --jamgift-green-soft:#eaf5ec;
  --jamgift-lime:#9bc84a;
  --jamgift-text:#2f3b33;
  --jamgift-muted:#657269;
  --jamgift-amber:#9a6a18;
  --jamgift-amber-dark:#65430f;
  position:relative;
  margin:1rem 0 1.25rem;
  overflow:hidden;
  border:1px solid #c8ddcd;
  border-radius:12px;
  background:linear-gradient(135deg,#eef8f0 0%,#f9fcf6 58%,#edf5e6 100%);
  box-shadow:0 5px 18px rgba(40,76,54,.10);
  color:var(--jamgift-text);
}
.jamgift-head{
  padding:1rem 1.1rem;
  background:linear-gradient(135deg,var(--jamgift-green-dark) 0%,var(--jamgift-green) 72%,#5e8d68 100%);
  color:#fff;
}
.jamgift-head-next{background:linear-gradient(135deg,#506b58 0%,#6b896f 100%)}
.jamgift-head-promo{background:linear-gradient(135deg,var(--jamgift-amber-dark) 0%,var(--jamgift-amber) 72%,#b28128 100%)}
.jamgift-head-row{display:flex;align-items:center;gap:.8rem;min-width:0}
.jamgift-icon{
  display:inline-flex;
  flex:0 0 44px;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(255,255,255,.14);
  font-size:1.45rem;
  line-height:1;
}
.jamgift-head-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:.14rem}
.jamgift-title{font-size:1.1rem;line-height:1.2;color:#fff}
.jamgift-sub{font-size:.9rem;line-height:1.35;color:rgba(255,255,255,.88)}
.jamgift-count{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:.2rem;
  min-width:52px;
  height:36px;
  padding:0 .55rem;
  border:2px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:var(--jamgift-lime);
  color:#203a27;
  font-size:1rem;
  font-weight:800;
  line-height:1;
}
.jamgift-count small{font-size:.68rem;font-weight:750;line-height:1}
.jamgift-body{padding:1rem}
.jamgift-notice{
  margin:0 0 .85rem;
  padding:.65rem .8rem;
  border:1px solid #c7e3cf;
  border-radius:8px;
  background:#f2fbf4;
  color:#27633f;
  font-size:.9rem;
  line-height:1.35;
}
.jamgift-notice-warning{border-color:#e5cf91;background:#fff9e8;color:#6b4a12}
.jamgift-box.jamgift-promo-blocked{border-color:#dfc57e;background:linear-gradient(135deg,#fff8e4 0%,#fffdf7 58%,#f9efd0 100%);box-shadow:0 5px 18px rgba(103,72,20,.10)}
.jamgift-promo-message{display:flex;align-items:flex-start;gap:.8rem;padding:.9rem;border:1px solid #e2cd94;border-radius:9px;background:rgba(255,255,255,.78);color:#4a3a1f}
.jamgift-promo-lock{display:inline-flex;flex:0 0 38px;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#f4df9f;font-size:1.15rem;line-height:1}
.jamgift-promo-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:.22rem;line-height:1.35}
.jamgift-promo-copy strong{color:#513a11;font-size:.98rem}
.jamgift-promo-copy>span:not(.jamgift-promo-code){color:#685a40;font-size:.88rem}
.jamgift-promo-code{display:inline-flex;align-self:flex-start;margin-top:.25rem;padding:.25rem .58rem;border:1px solid #d6b85f;border-radius:999px;background:#fff3c7;color:#60420e;font-size:.76rem;font-weight:800;letter-spacing:.025em;overflow-wrap:anywhere}
.jamgift-item-form{min-width:0;margin:0}
.jamgift-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:.75rem;
  margin:0;
}
.jamgift-item{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(82px,96px) minmax(0,1fr) 30px;
  align-items:center;
  gap:.75rem;
  width:100%;
  min-height:124px;
  margin:0;
  padding:.75rem;
  border:1px solid #cfdcd2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(37,70,49,.07);
  color:inherit;
  font:inherit;
  text-align:left;
  text-transform:none;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background-color .15s ease;
}
.jamgift-item:hover,.jamgift-item:focus{
  border-color:var(--jamgift-green);
  background:#fbfefb;
  box-shadow:0 5px 14px rgba(42,82,56,.14);
  outline:0;
  transform:translateY(-1px);
}
.jamgift-item:focus-visible{outline:3px solid rgba(155,200,74,.45);outline-offset:2px}
.jamgift-item.is-selected{
  border:2px solid var(--jamgift-green);
  background:#f4faf5;
  box-shadow:0 5px 15px rgba(42,82,56,.13),inset 0 0 0 1px rgba(255,255,255,.75);
}
.jamgift-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid #edf1ee;
  border-radius:8px;
  background:#f8faf8;
}
.jamgift-media img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
.jamgift-media-placeholder{font-size:2rem;line-height:1}
.jamgift-item-copy{display:flex;min-width:0;flex-direction:column;gap:.22rem}
.jamgift-item-copy strong{
  overflow-wrap:anywhere;
  color:#2e3831;
  font-size:.98rem;
  font-weight:700;
  line-height:1.25;
}
.jamgift-item-copy small{color:#7a847d;font-size:.78rem;line-height:1.2}
.jamgift-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.15rem}
.jamgift-free,.jamgift-threshold{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:.18rem .45rem;
  border-radius:999px;
  font-size:.69rem;
  font-weight:800;
  line-height:1.1;
}
.jamgift-free{background:#dff2e4;color:#24633e;letter-spacing:.02em}
.jamgift-threshold{background:#f0f4ea;color:#52624f;font-weight:650}
.jamgift-choice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid #b8c9bc;
  border-radius:50%;
  background:#fff;
  color:var(--jamgift-green-dark);
  font-size:1.15rem;
  font-weight:800;
  line-height:1;
}
.jamgift-item.is-selected .jamgift-choice{border-color:var(--jamgift-green);background:var(--jamgift-green);color:#fff}
.jamgift-next{
  margin-top:.9rem;
  padding:.8rem;
  border:1px dashed #b9ceb9;
  border-radius:9px;
  background:rgba(255,255,255,.68);
}
.jamgift-head-next + .jamgift-body .jamgift-next{margin-top:0}
.jamgift-head-next + .jamgift-body .jamgift-next-list{margin-top:0}
.jamgift-next-title{color:#394a3d;font-size:.92rem;line-height:1.35}
.jamgift-next-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin-top:.65rem}
.jamgift-next-item{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
  padding:.45rem .55rem;
  border:1px solid #e0e7e1;
  border-radius:7px;
  background:#fff;
  color:#4d5b51;
  font-size:.8rem;
  line-height:1.25;
}
.jamgift-next-image{display:flex;flex:0 0 42px;align-items:center;justify-content:center;width:42px;height:42px;overflow:hidden;border-radius:5px;background:#f8faf8}
.jamgift-next-item img{display:block;width:42px;height:42px;object-fit:contain}
.jamgift-next-item span{min-width:0;overflow-wrap:anywhere}
.jamgift-front-debug,.jamgift-debug small{display:block;margin-top:.75rem;line-height:1.45}
.jamgift-front-debug{padding:.55rem .7rem;border:1px solid #e4a11b;border-radius:6px;background:#fff9e9;color:#594719;font-size:.78rem}
.jamgift-box.jamgift-debug{padding:1rem;border:2px solid #e4a11b;background:#fff9e9;color:#332b19}
.jamgift-box.jamgift-debug small{font-size:.8rem;word-break:break-word}

/* Bootstrap/PrestaShop breakpoints. The source thumbnail itself remains the shop's
   configured product image type, normally cart_default. */
@media (max-width:991.98px){
  .jamgift-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
  .jamgift-item{grid-template-columns:minmax(76px,88px) minmax(0,1fr) 28px;min-height:116px}
}
@media (max-width:767.98px){
  .jamgift-head{padding:.9rem}
  .jamgift-body{padding:.9rem}
  .jamgift-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:.65rem}
  .jamgift-item{padding:.65rem;gap:.6rem}
}
@media (max-width:575.98px){
  .jamgift-box{margin:.8rem 0 1rem;border-radius:10px}
  .jamgift-head-row{align-items:flex-start;gap:.65rem}
  .jamgift-icon{flex-basis:38px;width:38px;height:38px;font-size:1.2rem}
  .jamgift-title{font-size:1rem}
  .jamgift-sub{font-size:.82rem}
  .jamgift-count{min-width:48px;height:32px;padding:0 .45rem;font-size:.9rem}
  .jamgift-count small{font-size:.62rem}
  .jamgift-body{padding:.75rem}
  .jamgift-grid{grid-template-columns:1fr;gap:.6rem}
  .jamgift-item{grid-template-columns:72px minmax(0,1fr) 26px;min-height:98px;padding:.6rem;border-radius:8px}
  .jamgift-item-copy strong{font-size:.91rem}
  .jamgift-free,.jamgift-threshold{font-size:.64rem}
  .jamgift-choice{width:25px;height:25px;font-size:1rem}
  .jamgift-next-list{grid-template-columns:1fr}
  .jamgift-promo-message{gap:.65rem;padding:.75rem}
  .jamgift-promo-lock{flex-basis:34px;width:34px;height:34px;font-size:1rem}
}
