.db-pd{ max-width:1400px; margin:18px auto 36px; padding:0 14px; }

.db-pd__grid{
  display:grid;
  grid-template-columns: 1.05fr 1.25fr .75fr;
  gap:18px;
  align-items:start;
}

.db-pd__gallery,.db-pd__info,.db-pd__buy{
  background:var(--db-card);
  border:1px solid var(--db-line);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(2,6,23,.05);
}

.db-pd__gallery{ padding:14px; position:relative; }
.db-pd__main{ position:relative; border-radius:14px; background:#f1f5f9; overflow:hidden; aspect-ratio:1/1; display:grid; place-items:center; }
.db-pd__img{ display:none; width:100%; height:100%; object-fit:contain; background:#fff; }
.db-pd__img.is-active{ display:block; }
.db-pd__arrow{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:999px; border:1px solid var(--db-line); background:#fff; cursor:pointer; font-size:26px; box-shadow:0 6px 18px rgba(2,6,23,.12); }
.db-pd__arrow.is-left{ left:10px; }
.db-pd__arrow.is-right{ right:10px; }
.db-pd__thumbs{ margin-top:12px; display:grid; grid-template-columns:repeat(auto-fill,minmax(68px,1fr)); gap:10px; }
.db-pd__thumb{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; border:2px solid transparent; cursor:pointer; background:#f1f5f9; }
.db-pd__thumb.is-active,.db-pd__thumb:hover{ border-color:var(--db-sky); }

.db-zoom{ position:absolute; inset:0; pointer-events:none; opacity:0; }
.db-zoom.is-on{ opacity:1; }
.db-zoom__lens{ position:absolute; width:120px; height:120px; border:2px solid rgba(14,165,233,.9); background:rgba(14,165,233,.15); border-radius:14px; }
.db-zoom__result{ display:none; }
.db-zoom__result.is-on{
  display:block;
  position:absolute;
  top:14px;
  left:calc(100% + 14px);
  width:360px;
  height:360px;
  border-radius:16px;
  border:1px solid var(--db-line);
  background:#fff;
  background-repeat:no-repeat;
  box-shadow:0 10px 30px rgba(2,6,23,.12);
}

.db-pd__info{ padding:16px; }
.db-pd__title{ margin:0; font-size:1.5rem; font-weight:900; }
.db-pd__rating{ margin-top:6px; color:#f59e0b; font-weight:900; }
.db-pd__rating span{ color:var(--db-muted); font-weight:800; }
.db-pd__price{ display:flex; gap:10px; align-items:baseline; }
.db-price__now{ font-size:1.8rem; font-weight:900; color:var(--db-blue); }
.db-price__old{ font-weight:800; color:#94a3b8; text-decoration:line-through; }
.db-pd__promo{ margin-top:8px; display:inline-flex; padding:6px 10px; border-radius:999px; background:rgba(16,185,129,.12); border:1px solid rgba(16,185,129,.25); font-weight:900; color:#065f46; }
.db-pd__bullets{ margin:10px 0 0; padding-left:18px; display:grid; gap:8px; }
.db-pd__desc{ color:#0f172a; line-height:1.55; }
.db-sep{ padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--db-line); }
.db-sep:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }

.db-pd__buy{ padding:16px; position:sticky; top:12px; }
.db-buy__label{ color:var(--db-muted); font-weight:800; }
.db-buy__val{ font-size:1.6rem; font-weight:900; color:var(--db-sky); }
.db-buy__ship,.db-buy__stock{ margin-top:12px; padding:10px 12px; border-radius:14px; background:#f8fbff; border:1px solid var(--db-line); }
.db-buy__lbl{ display:block; margin-top:10px; font-weight:900; }
.db-buy__select{ width:100%; padding:10px 10px; border-radius:12px; border:1px solid var(--db-line); background:#fff; font-weight:700; }
.db-buy__btn{ width:100%; margin-top:12px; padding:12px 12px; border-radius:12px; border:none; cursor:pointer; font-weight:900; background:linear-gradient(90deg,var(--db-green),var(--db-sky)); color:#07101f; text-decoration:none; display:inline-flex; justify-content:center; }
.db-buy__btn--ghost{ background:#fff; border:2px solid var(--db-sky); color:var(--db-sky); }
.db-buy__btn--ghost:hover{ background:#f0f9ff; }
.db-buy__fine{ margin-top:12px; display:grid; gap:10px; color:var(--db-muted); font-weight:700; }
.db-fav{ border:1px solid var(--db-line); background:#fff; border-radius:12px; padding:10px 10px; cursor:pointer; font-weight:900; }
.db-fav:hover{ background:#f8fbff; }
.db-muted{ color:var(--db-muted); }

/* Rails (lignes 2-5) */
.db-rail{ margin-top:16px; background:var(--db-card); border:1px solid var(--db-line); border-radius:16px; padding:14px; box-shadow:0 8px 24px rgba(2,6,23,.05); }
.db-rail__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.db-rail__head h2{ margin:0; font-size:1.1rem; }
.db-rail__nav{ display:flex; align-items:center; gap:10px; color:var(--db-muted); font-weight:800; }
.db-rail__btn{ border:1px solid var(--db-line); background:#fff; border-radius:999px; padding:8px 10px; cursor:pointer; font-weight:900; }
.db-rail__wrap{ display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; margin-top:10px; }
.db-rail__track{ display:flex; gap:12px; overflow:auto; scroll-snap-type:x mandatory; padding-bottom:6px; }
.db-rail__track::-webkit-scrollbar{ height:10px; }
.db-rail__track::-webkit-scrollbar-thumb{ background:#dbeafe; border-radius:999px; }
.db-rail__arrow{ width:42px; height:42px; border-radius:999px; border:1px solid var(--db-line); background:#fff; cursor:pointer; font-size:24px; box-shadow:0 6px 18px rgba(2,6,23,.12); }

.db-card{ min-width:210px; max-width:210px; scroll-snap-align:start; text-decoration:none; color:inherit; border:1px solid var(--db-line); border-radius:16px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.db-card__img{ background:#f1f5f9; aspect-ratio:1/1; display:grid; place-items:center; }
.db-card__img img{ width:100%; height:100%; object-fit:contain; background:#fff; }
.db-card__ph{ font-size:1.6rem; opacity:.6; }
.db-card__meta{ padding:10px 12px 12px; display:grid; gap:6px; }
.db-card__title{ font-weight:900; min-height:44px; }
.db-card__price{ font-weight:900; color:var(--db-blue); }
.db-card__ship{ color:var(--db-muted); font-weight:700; font-size:.92rem; }

@media (max-width: 1180px){
  .db-pd__grid{ grid-template-columns:1fr; }
  .db-pd__buy{ position:static; }
  .db-zoom__result{ display:none !important; }
}