/* ==========================================================================
   Product detail page (PDP)
   ========================================================================== */

.mn-pdp{padding-bottom:24px}
.mn-pdp .mn-breadcrumb{padding:15px 0 21px}
.mn-pdp__brandbar{background:var(--mn-black);height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:32px}
.mn-pdp__brandbar span{color:#fff;font-size:40px;line-height:64px;font-weight:600;letter-spacing:2px;text-transform:uppercase}

.mn-pdp__layout{display:grid;grid-template-columns:648px 540px;justify-content:space-between;align-items:start}
.mn-pdp__gallery{position:sticky;top:140px;display:flex;align-items:flex-start;gap:10px;width:648px}
.mn-pdp__thumbs{display:flex;flex-direction:column;gap:9px;flex:none;width:66px}
.mn-pdp__thumb{width:66px;height:66px;border:1px solid var(--mn-border);background:#fff;display:flex;align-items:center;justify-content:center;padding:2px}
.mn-pdp__thumb.is-active{border-color:var(--mn-black)}
.mn-pdp__thumb img{width:60px;height:60px;object-fit:contain}
.mn-pdp__mainimg{position:relative;width:564px;height:564px;display:flex;align-items:center;justify-content:center;background:#fff}
.mn-pdp__mainimg img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.mn-pdp__next{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--mn-black)}
.mn-pdp__next .mn-icon{width:20px;height:20px}

.mn-pdp__info{position:relative;width:540px}
.mn-pdp__head{display:flex;align-items:center;justify-content:space-between;padding-top:17px}
.mn-pdp__wish{position:absolute;left:-42px;top:17px;width:24px;height:24px;color:var(--mn-black)}
.mn-pdp__wish .mn-icon{width:24px;height:24px}
.mn-pdp__brand{font-size:16px;line-height:20px;font-weight:700;text-transform:uppercase}
.mn-pdp__rating{display:flex;align-items:center;gap:6px;font-size:13px;line-height:16px}
.mn-pdp__rating .mn-stars{display:inline-flex;gap:1px}
.mn-pdp__rating .mn-icon{width:13px;height:13px}
.mn-pdp__rating a{text-decoration:underline}
.mn-pdp__title{font-size:22px;line-height:26px;font-weight:500;letter-spacing:.3px;margin-top:2px}
.mn-pdp__subtitle{font-size:16px;line-height:22px;font-weight:400;margin-top:2px}
.mn-pdp__fidelity{font-size:12px;line-height:16px;color:#6b6b6b;margin-top:12px}
.mn-pdp__fidelity-note{font-size:12px;line-height:16px;color:#6b6b6b}

.mn-pdp__variants{border-top:1px solid var(--mn-border);margin-top:20px}
.mn-variant{display:flex;gap:12px;width:100%;min-height:106px;padding:16px 0;border-bottom:1px solid var(--mn-border);text-align:left;align-items:flex-start}
.mn-variant__radio{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--mn-black);margin-top:2px;position:relative}
.mn-variant.is-selected .mn-variant__radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--mn-black)}
.mn-variant__body{flex:1;min-width:0}
.mn-variant__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.mn-variant__name{font-size:16px;line-height:20px;font-weight:500}
.mn-variant.is-selected .mn-variant__name{font-weight:700}
.mn-variant__prices{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.mn-variant__prices del{font-size:14px;line-height:16px;color:var(--mn-black)}
.mn-variant__price{font-size:18px;line-height:22px;font-weight:500}
.mn-variant__ppu{display:block;font-size:12px;line-height:16px;color:#6b6b6b;margin-top:4px}
.mn-variant__promo{display:block;background:var(--mn-cream);font-size:12px;line-height:16px;font-weight:500;padding:2px 8px;margin-top:8px}

.mn-pdp__price{display:none}
.mn-pdp__countdown{font-size:12px;line-height:16px;font-weight:500;margin-top:12px}
.mn-pdp__countdown strong{font-variant-numeric:tabular-nums}
.mn-pdp__viewers{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:#6b6b6b;margin-top:8px}
.mn-pdp__viewers .mn-icon{width:16px;height:16px}
.mn-pdp__stock{font-size:13px;line-height:18px;color:#8a2b2b;font-weight:500;margin-top:6px}

.mn-pdp__actions{margin-top:20px}
.mn-pdp__atc{width:100%;height:46px}
.mn-pdp__store{width:100%;height:37px;border:0;background:transparent;text-decoration:underline;font-size:13px;line-height:16px;font-weight:700;text-transform:uppercase}
.mn-pdp__atc:hover{background:var(--mn-purple);border-color:var(--mn-purple)}

.mn-pdp__trust{margin-top:24px;background:#f6f6f6;padding:16px 20px;display:grid;gap:12px}
.mn-pdp__trust li{display:flex;align-items:center;gap:12px;font-size:13px;line-height:18px}
.mn-pdp__trust .mn-icon{width:20px;height:20px}

.mn-pdp__accordions{margin-top:32px}
.mn-accordion{border-top:1px solid var(--mn-border)}
.mn-accordion:last-child{border-bottom:1px solid var(--mn-border)}
.mn-accordion__head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0 20px;font-size:16px;line-height:16px;font-weight:700;text-align:left}
.mn-accordion:not(.is-open) .mn-accordion__head{font-weight:400}
.mn-accordion__head .mn-icon{width:16px;height:16px;transition:transform .2s}
.mn-accordion.is-open .mn-accordion__head .mn-icon{transform:rotate(180deg)}
.mn-accordion__body{font-size:14px;line-height:21px;padding-bottom:16px}
.mn-accordion__body p{margin:0 0 8px}

/* "Vous aimerez aussi" — sponsored carousel: reference uses a light pink band,
   centred 28/900 heading (no link underline) and 40px vertical padding. */
.mn-pdp__related{background:#fff0ef;padding:40px 0}
.mn-pdp__related .mn-section-heading{margin:0;padding:24px 0}

/* Added-to-cart modal (PDP): reference dialog is 440×383. The name line count drives the
   height — a 3-line product name pushes the dialog to 400px, so clamp the name to 2 lines
   like the reference (keeps the dialog at the 383px target). */
body.single-product #mn-atc-modal .mn-modal__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Qty stepper (cart + hidden pdp) */
.mn-qty{display:none;align-items:center;justify-content:space-between;width:122px;height:36px;border:1px solid var(--mn-border);background:#fff}
.mn-qty__btn{width:36px;height:34px;display:flex;align-items:center;justify-content:center}
.mn-qty__btn .mn-icon{width:14px;height:14px}
.mn-qty__input{width:44px;height:34px;border:0;text-align:center;font-size:14px;-moz-appearance:textfield;appearance:textfield}
.mn-qty__input::-webkit-outer-spin-button,.mn-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

@media (max-width:1023px){
  .mn-pdp{padding-bottom:16px}
  .mn-pdp .mn-breadcrumb{padding:10px 0 45px;overflow:hidden;white-space:nowrap}
  .mn-pdp .mn-breadcrumb ol{font-size:13px;flex-wrap:nowrap;overflow:hidden}
  .mn-pdp .mn-breadcrumb li:first-child{display:none}
  .mn-pdp__brandbar{height:22px;margin-bottom:0}
  .mn-pdp__brandbar span{font-size:14px;line-height:22px;letter-spacing:1px;font-weight:700}
  .mn-pdp__layout{display:block}
  .mn-pdp__gallery{position:relative;top:0;width:auto;display:flex;flex-direction:column;gap:0;margin:0 -16px}
  .mn-pdp__thumbs{order:2;flex-direction:row;width:auto;overflow-x:auto;gap:9px;padding:8px 16px 12px}
  .mn-pdp__thumb{width:66px;height:66px;flex:none}
  .mn-pdp__mainimg{order:1;width:100%;height:316px}
  .mn-pdp__mainimg img{max-width:250px;max-height:250px;width:auto;height:auto}
  .mn-pdp__next{right:14px}
  .mn-pdp__info{width:auto;padding-top:16px}
  .mn-pdp__head{padding-top:0}
  .mn-pdp__wish{left:auto;right:0;top:0}
  .mn-pdp__head{padding-right:36px}
  .mn-pdp__title{font-size:20px;line-height:24px}
  .mn-pdp__subtitle{font-size:14px;line-height:20px}
  .mn-pdp__fidelity{margin-top:8px}
  .mn-pdp__variants{margin-top:16px}
  .mn-variant{min-height:106px;padding:16px 0}
  .mn-variant__name{font-size:16px}
  .mn-variant__ppu{font-size:12px}
  .mn-variant__promo{margin-top:6px}
  .mn-pdp__actions{margin-top:16px}
  .mn-pdp__atc{height:46px}
  .mn-pdp__store{height:42px;border:1px solid var(--mn-black);margin-top:8px;text-transform:uppercase}
  .mn-pdp__trust{margin-top:16px;padding:12px 16px;gap:10px}
  .mn-pdp__accordions{margin-top:24px}
  .mn-pdp__related{padding:24px 0 16px}
  .mn-pdp__related .mn-section-heading{margin:0 0 16px;padding:0}
}
