/* ============================================================
   PRODUCT PAGE — DESKTOP & TABLETTE (≥768px)
   ============================================================ */

/* Masqués par défaut — visibles uniquement ≥768px */
.pp-thumbs,
.pp-tabs-nav,
.pp-guarantees { display: none; }

/* Images/noms dans les swatches couleur : cachés sur mobile */
.pd2-swatch__thumb,
.pd2-swatch__name { display: none; }

/* Livraison desktop : cachée sur mobile */
.pd-desktop-delivery-row { display: none; }

/* ════════════════════════════════════════════════════════
   TABLETTE & DESKTOP  ≥ 768px
   ════════════════════════════════════════════════════════ */
@media (min-width: 768px) {

  /* ── Corps de page ── */
  body.product-page {
    padding-bottom: 0;
    background: #f0f2f0;
  }

  /* Cacher la barre sticky mobile */
  .pp-sticky-bar { display: none !important; }

  /* ── Layout principal : 2 colonnes ~45 / 55 ── */
  .pp-layout {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 36fr 64fr;
    gap: 24px;
    padding-top: calc(var(--promo-h, 44px) + var(--navbar-h, 72px) + 20px);
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 24px;
    align-items: start;
    background: transparent;
  }

  /* ── Colonne galerie : flex colonne, pas de miniatures ── */
  .pp-gallery-col {
    position: static !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column;
    gap: 14px;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
  }

  /* Thumbs : cachés sur desktop et tablette */
  .pp-thumbs { display: none !important; }

  /* ── Galerie principale : carré avec image en position absolue ── */
  .pp-gallery {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 18px;
    overflow: hidden;
    border: 1.5px solid var(--border, #E5E5E0);
    background: #fafafa;
    isolation: isolate;
    flex-shrink: 0;
  }
  .pp-gallery .pp-gallery__track-wrap { display: none !important; }

  /* Image principale en position absolue remplissant la galerie */
  .pp-gallery .pd-main-image-wrap {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    aspect-ratio: auto !important;
    border: none !important;
    border-radius: 0 !important;
    background: #fff;
    overflow: hidden;
    z-index: 1;
  }

  #gallery-main-img {
    z-index: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: zoom-in;
  }
  #gallery-next-img {
    z-index: auto !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Counter */
  .pp-gallery__counter { display: none; }

  /* Dots : position absolue en bas de l'image */
  .pp-gallery .pd-carousel-dots {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    z-index: 5;
    background: transparent;
    padding: 0;
  }
  .pp-gallery .pd-dot {
    background: rgba(255,255,255,.65);
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
  }
  .pp-gallery .pd-dot.active {
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.3);
  }

  /* Zoom loupe */
  .pp-gallery__zoom-lens {
    position: absolute;
    width: 130px; height: 130px;
    border: 2px solid rgba(45,106,79,.35);
    background: rgba(255,255,255,.15);
    pointer-events: none;
    display: none;
    z-index: 6;
  }
  .pp-gallery__zoom-result {
    position: absolute;
    top: 0;
    left: calc(100% + 14px);
    width: 100%; height: 100%;
    background-repeat: no-repeat;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    display: none;
    z-index: 20;
    pointer-events: none;
    box-shadow: 0 4px 20px rgba(0,0,0,.12);
  }

  /* ── Boutons desktop : Add to cart + Buy Now sous la galerie ── */
  .pp-desktop-actions {
    display: flex !important;
    flex-direction: row;
    gap: 10px;
    flex-shrink: 0;
  }

  .pp-desktop-actions .pp-sticky-bar__buy,
  .pp-desktop-actions .pp-sticky-bar__cart {
    flex: 1;
    height: 50px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: opacity .15s, transform .1s, box-shadow .15s;
  }
  .pp-desktop-actions .pp-sticky-bar__buy {
    background: var(--btn-blue, #2d6a4f);
    color: #fff;
    border: none;
    box-shadow: 0 4px 14px rgba(45,106,79,.3);
    order: 2;
  }
  .pp-desktop-actions .pp-sticky-bar__cart {
    background: #f0fdf6;
    color: var(--btn-blue, #2d6a4f);
    border: 2px solid var(--btn-blue, #2d6a4f) !important;
    order: 1;
  }
  .pp-desktop-actions .pp-sticky-bar__buy:hover {
    opacity: .92;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(45,106,79,.38);
  }
  .pp-desktop-actions .pp-sticky-bar__cart:hover {
    background: #e2f4eb;
    transform: translateY(-2px);
  }
  .pp-desktop-actions .pp-sticky-bar__buy:disabled,
  .pp-desktop-actions .pp-sticky-bar__cart:disabled {
    opacity: .4; cursor: not-allowed; transform: none;
  }

  /* ── Colonne info : sticky, scroll interne si contenu long ── */
  .pp-info-col {
    position: sticky;
    top: calc(var(--promo-h, 44px) + var(--navbar-h, 72px) + 20px);
    align-self: start;
    background: #fff;
    border-radius: 16px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 0;
    box-shadow: 0 2px 20px rgba(0,0,0,.07);
    max-height: calc(100vh - (var(--promo-h, 44px) + var(--navbar-h, 72px) + 40px));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d0d0d0 transparent;
  }

  /* ── Breadcrumb ── */
  .pd-breadcrumb {
    display: flex !important;
    background: transparent;
    padding: 0 0 12px;
    font-size: 11.5px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 14px;
  }

  /* ── Bloc prix : titre → prix → note ── */
  .pp-price-block {
    background: transparent;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
  }

  /* Ordre Shopsy : titre → note → prix → économies → description */
  .pp-combo-badge               { order: 0; }
  .pp-price-block__title        { order: 1; font-size: 21px; font-weight: 700; color: #1a1a1a; line-height: 1.35; margin: 0; letter-spacing: -.3px; }
  .pp-price-block__meta         { order: 2; padding-top: 4px; }
  .pp-price-block__prices       { order: 3; margin-top: 6px; display: flex !important; align-items: center; gap: 10px; flex-wrap: wrap; }
  .pp-you-save                  { order: 4; }
  .pp-price-block .pd2-info__desc { order: 5; font-size: .84rem; color: #666; line-height: 1.65; margin: 4px 0 0; display: none !important; }
  .pp-price-block .price-label  { order: 6; }

  /* Ordre à l'intérieur de .pp-price-block__prices : % → ancien → actuel */
  .pp-price-block__discount { order: 1; }
  .pp-price-block__old      { order: 2; }
  .pp-price-block__current  { order: 3; }

  /* Prix actuel */
  .pp-price-block__current {
    font-size: 30px;
    font-weight: 800;
    color: var(--price-red, #e53935);
    letter-spacing: -.5px;
  }

  /* Ancien prix barré */
  .pp-price-block__old {
    font-size: 15px;
    color: #aaa;
    text-decoration: line-through;
    font-weight: 400;
  }

  /* Badge remise : vert */
  .pp-price-block__discount {
    display: inline-flex;
    align-items: center;
    background: var(--green-promo, #00A651);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    letter-spacing: .02em;
    white-space: nowrap;
  }

  /* ── Bloc livraison remplacé par pd-desktop-delivery-row ── */
  .pp-shipping-info { display: none !important; }

  /* ── Livraison vers (info col, desktop) ── */
  .pd-desktop-delivery-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: #f0fdf6;
    border: 1px solid #d1fae5;
    border-radius: 8px;
    font-size: .84rem;
    color: #1b4332;
    margin-top: 4px;
  }
  .pd-desktop-delivery-row__icon { flex-shrink: 0; font-size: 1.1rem; line-height: 1.5; }
  .pd-desktop-delivery-row__label { font-weight: 700; color: #0f2016; margin-right: 4px; white-space: nowrap; }
  .pd-desktop-delivery-row__text { color: #1b4332; line-height: 1.55; }

  /* ── Variants ── */
  .pd2-variant-block {
    background: transparent;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
  }

  /* Label + valeur active */
  .pd2-variant__label {
    font-size: .85rem;
    font-weight: 600;
    color: #444;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
  }
  .pd2-attr-active-val {
    color: var(--primary, #2d6a4f);
    font-weight: 600;
    margin-left: 4px;
  }

  /* ── Couleurs : rangée de vignettes images avec scroll horizontal ── */
  .pd2-color-swatches {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: #e0e0e0 transparent;
    -webkit-overflow-scrolling: touch;
  }
  .pd2-color-swatches::-webkit-scrollbar { height: 3px; }
  .pd2-color-swatches::-webkit-scrollbar-thumb { background: #d0d0d0; border-radius: 2px; }

  /* Swatch avec image : carte portrait */
  .pd2-swatch.pd2-swatch--has-img {
    width: 70px !important;
    height: auto !important;
    min-height: unset !important;
    border-radius: 8px !important;
    border: 2px solid #e0e0e0 !important;
    background: #f7f7f7 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden;
    flex-shrink: 0;
    transform: none !important;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
  }
  .pd2-swatch.pd2-swatch--has-img:hover,
  .pd2-swatch.pd2-swatch--has-img.in-selection,
  .pd2-swatch.pd2-swatch--has-img.active {
    border-color: var(--primary, #2d6a4f) !important;
    box-shadow: 0 0 0 1px var(--primary, #2d6a4f);
    transform: none !important;
  }

  /* Vignette image */
  .pd2-swatch__thumb {
    display: block;
    width: 100%;
    height: 70px;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 0;
  }

  /* Nom couleur sous la vignette */
  .pd2-swatch__name {
    display: block;
    font-size: .63rem;
    font-weight: 500;
    color: #555;
    padding: 3px 4px 4px;
    text-align: center;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #fff;
    box-sizing: border-box;
    line-height: 1.3;
  }

  /* Swatch sans image : carré coloré légèrement plus grand */
  .pd2-swatch:not(.pd2-swatch--has-img) {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    flex-shrink: 0;
  }

  /* ── Taille : boutons rectangulaires ── */
  .pd2-pill-swatches {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .pd2-pill {
    border: 1.5px solid #d0d0d0;
    border-radius: 6px;
    padding: 6px 16px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    background: #fff;
    color: #333;
    transition: border-color .15s, background .15s, color .15s;
    outline: none;
  }
  .pd2-pill.active,
  .pd2-pill.in-selection {
    border-color: var(--btn-blue, #2d6a4f);
    background: rgba(45,106,79,.08);
    color: var(--btn-blue, #2d6a4f);
  }
  .pd2-pill:hover:not(.active):not(.in-selection):not(:disabled) {
    border-color: var(--btn-blue, #2d6a4f);
  }

  /* ── Paliers ── */
  .pd2-paliers {
    background: transparent;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
  }

  /* ── Votre choix panel ── */
  #votre-choix-panel {
    border-radius: 10px;
    margin: 6px 0;
  }

  /* ── Quantité ── */
  .pp-quantity {
    background: transparent;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
  }

  /* ── Total bar ── */
  .pp-total-bar {
    background: #f8faf8;
    border-radius: 8px;
    padding: 10px 14px;
    margin: 8px 0 4px;
    border: 1px solid #e8f5ee;
  }
  .pp-total-bar__amount { font-size: 22px; font-weight: 800; }

  /* ── Trust & garanties : masqués ── */
  .pd2-trust   { display: none !important; }
  .pp-guarantees { display: none !important; }

  /* ── Accordéons ── */
  .pp-accordion {
    background: transparent;
    border-bottom: 1px solid #f0f0f0;
  }
  .pp-accordion__header { padding: 11px 0; }
  .pp-accordion__title  { font-size: 13px; font-weight: 600; }
  .pp-accordion__content { padding: 0 0 12px; font-size: 13px; }

  /* ── Onglets navigation sticky ── */
  .pp-tabs-nav {
    display: flex;
    position: sticky;
    top: calc(var(--promo-h, 44px) + var(--navbar-h, 72px));
    z-index: 40;
    background: #fff;
    max-width: 1280px;
    margin: 16px auto 0;
    padding: 0 20px;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,.08);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .pp-tabs-nav::-webkit-scrollbar { display: none; }
  .pp-tabs-nav__item {
    padding: 13px 20px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: #666;
    cursor: pointer;
    white-space: nowrap;
    transition: color .15s, border-color .15s;
  }
  .pp-tabs-nav__item:hover           { color: var(--btn-blue, #2d6a4f); }
  .pp-tabs-nav__item--active {
    color: var(--btn-blue, #2d6a4f);
    border-bottom-color: var(--btn-blue, #2d6a4f);
    font-weight: 700;
  }

  /* ── Sections pleine largeur (description, avis, produits similaires) ── */
  .pp-layout__sections {
    max-width: 1280px;
    margin: 16px auto 0;
    padding: 0 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .pp-layout__sections > section,
  .pp-layout__sections > div {
    background: #fff;
    border-radius: 12px;
    padding: 22px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.05);
  }
  /* "Vous aimerez aussi" : fond teinté + bordures pour se démarquer */
  .pp-layout__sections .pp-related {
    background: #f0fdf6;
    border-top: 3px solid var(--primary, #2d6a4f);
    border-bottom: 3px solid var(--primary, #2d6a4f);
    border-radius: 12px;
    padding: 28px 22px 24px;
    box-shadow: 0 2px 12px rgba(45,106,79,.08);
  }

  /* ── Description desktop : 2 colonnes gauche/droite ── */
  .pp-description__content {
    max-height: 240px;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.75;
    column-count: 2;
    column-gap: 32px;
    column-fill: balance;
  }
  .pp-description--expanded .pp-description__content {
    max-height: 9999px;
    overflow: visible;
  }

  /* ── Description riche (saisie admin) ── */
  .pd-rich-desc { font-size: 14px; line-height: 1.8; color: #444; }
  .pd-rich-desc p  { margin: 0 0 12px; }
  .pd-rich-desc h2 { font-size: 20px; font-weight: 700; margin: 20px 0 8px; color: #1a1a1a; }
  .pd-rich-desc h3 { font-size: 17px; font-weight: 700; margin: 16px 0 6px; color: #1a1a1a; }
  .pd-rich-desc ul, .pd-rich-desc ol { padding-left: 20px; margin: 0 0 12px; }
  .pd-rich-desc li  { margin-bottom: 4px; }
  .pd-rich-desc img { max-width: 100%; height: auto; border-radius: 8px; display: block; margin: 12px 0; }

  /* ── Avis desktop ── */
  .pp-reviews__title  { font-size: 17px; }
  .pp-reviews__summary { padding: 14px; border-radius: 8px; margin-bottom: 14px; }

  .rv-carousel { overflow: visible; margin: 0; }
  .rv-carousel__track {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    transform: none !important;
    transition: none !important;
    flex-wrap: unset;
  }
  .rv-carousel__slide { flex: none; padding: 0; width: auto; }
  .rv-carousel__dots  { display: none; }
  .rv-slide { height: 100%; box-sizing: border-box; }

  /* ── Produits similaires ── */
  .related-swiper-wrap { overflow: hidden !important; }
  .related-swiper      { overflow: hidden !important; }

  /* ── Formulaire avis ── */
  .pp-write-review { padding: 22px; }

} /* fin @media ≥768px */


/* ════════════════════════════════════════════════════════
   TABLETTE UNIQUEMENT (768px–1023px)
   ════════════════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1023px) {
  .pp-layout {
    grid-template-columns: 36fr 64fr;
    gap: 16px;
    padding-left: 14px;
    padding-right: 14px;
  }
}


/* ════════════════════════════════════════════════════════
   DESKTOP ≥ 1200px — Layout plus large
   ════════════════════════════════════════════════════════ */
@media (min-width: 1200px) {

  .pp-layout {
    max-width: 1340px;
    grid-template-columns: 36fr 64fr;
    gap: 28px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .pp-desktop-actions .pp-sticky-bar__buy,
  .pp-desktop-actions .pp-sticky-bar__cart {
    height: 52px;
    font-size: 14.5px;
  }

  /* Activer le zoom loupe au hover */
  .pp-gallery:hover .pp-gallery__zoom-lens   { display: block; }
  .pp-gallery:hover .pp-gallery__zoom-result { display: block; }

  .pp-info-col { padding: 24px; }
  .pp-price-block__title { font-size: 22px; }
  .pp-price-block__current { font-size: 32px; }

  .pp-layout__sections {
    max-width: 1340px;
    padding: 0 24px 28px;
    gap: 16px;
  }
  .pp-tabs-nav { max-width: 1340px; padding: 0 24px; }
}


/* ════════════════════════════════════════════════════════
   LARGE DESKTOP ≥ 1440px
   ════════════════════════════════════════════════════════ */
@media (min-width: 1440px) {
  .pp-layout,
  .pp-layout__sections,
  .pp-tabs-nav { max-width: 1440px; }
}


/* ═══════════════════════════════════════════════════════
   FLIPKART / SHOPSY REDESIGN — desktop & tablette
   ═══════════════════════════════════════════════════════ */

/* ── Rating pill — défini aussi en mobile, dispo partout ── */
.pp-rating-pill {
  display: inline-flex;
  align-items: center;
  background: #388e3c;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  gap: 3px;
  white-space: nowrap;
  letter-spacing: .01em;
}
.pp-rating-count {
  font-size: .83rem;
  color: #757575;
}

@media (min-width: 768px) {

  /* ── Prix courant : rouge IciOnDeal ── */
  .pp-price-block__current {
    color: #e53935 !important;
    font-size: 28px !important;
  }

  /* ── Remise : toujours vert IciOnDeal ── */
  .pp-price-block__discount {
    background: #388e3c !important;
    color: #fff !important;
  }

  /* ── Galerie col : ligne flex (thumbs à gauche + image à droite) ── */
  .pp-gallery-col {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    position: static !important; /* sera sticky via le wrapper */
  }

  /* ── Bande miniatures verticale (côté gauche) ── */
  .pp-thumbs {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 68px !important;
    min-width: 68px !important;
    flex-shrink: 0 !important;
    order: 0;
    overflow-y: auto;
    max-height: 480px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    align-self: flex-start;
  }
  .pp-thumbs::-webkit-scrollbar { display: none; }

  .pp-thumbs__item {
    width: 68px !important;
    height: 68px !important;
    border-radius: 6px !important;
    border: 2px solid #e0e0e0 !important;
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0 !important;
    transition: border-color .15s, box-shadow .15s;
    background: #f7f7f7;
    box-sizing: border-box;
  }
  .pp-thumbs__item--active,
  .pp-thumbs__item:hover {
    border-color: var(--primary, #2d6a4f) !important;
    box-shadow: 0 0 0 1px var(--primary, #2d6a4f);
  }
  .pp-thumbs__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
  }
  .pp-thumbs__item:active {
    transform: scale(0.94);
    transition: none;
  }

  /* ── Galerie principale occupe l'espace restant ── */
  .pp-gallery {
    flex: 1 !important;
    order: 1;
    min-width: 0;
  }

  /* ── Boutons CTA : wrap sur toute la largeur sous galerie+thumbs ── */
  .pp-desktop-actions {
    order: 2 !important;
    flex-basis: 100% !important;
    display: flex !important;
    gap: 10px !important;
  }

  /* CTA Ajouter au panier — fond vert IciOnDeal */
  .pp-desktop-actions .pp-sticky-bar__cart {
    flex: 1 !important;
    height: 56px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    background: var(--primary, #2d6a4f) !important;
    color: #fff !important;
    border: 2px solid var(--primary, #2d6a4f) !important;
    box-shadow: 0 2px 8px rgba(45,106,79,.28) !important;
    order: 1 !important;
    cursor: pointer;
    font-family: inherit;
    transition: filter .15s, transform .1s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    -webkit-tap-highlight-color: transparent;
  }
  .pp-desktop-actions .pp-sticky-bar__cart:hover {
    filter: brightness(1.08) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(45,106,79,.38) !important;
  }
  .pp-desktop-actions .pp-sticky-bar__cart:active {
    filter: brightness(.9) !important;
    transform: none !important;
    transition: none !important;
  }

  /* CTA Acheter maintenant — outline vert IciOnDeal */
  .pp-desktop-actions .pp-sticky-bar__buy {
    flex: 1 !important;
    height: 56px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    background: #fff !important;
    color: var(--primary, #2d6a4f) !important;
    border: 2px solid var(--primary, #2d6a4f) !important;
    box-shadow: none !important;
    order: 2 !important;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s, transform .1s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    -webkit-tap-highlight-color: transparent;
  }
  .pp-desktop-actions .pp-sticky-bar__buy:hover {
    background: #edf7f1 !important;
    transform: translateY(-1px) !important;
  }
  .pp-desktop-actions .pp-sticky-bar__buy:active {
    background: #d4eede !important;
    transform: none !important;
    transition: none !important;
  }
  .pp-desktop-actions .pp-sticky-bar__buy:disabled,
  .pp-desktop-actions .pp-sticky-bar__cart:disabled {
    opacity: .4 !important;
    cursor: not-allowed !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
  }

  /* ── Galerie col : sticky (image visible pendant scroll info — style Flipkart) ── */
  .pp-gallery-col {
    position: sticky !important;
    top: calc(var(--promo-h, 44px) + var(--navbar-h, 72px) + 16px) !important;
    align-self: start !important;
  }

} /* fin @media ≥768px */


/* ── Tablette (768–1023px) : thumbs plus petits ── */
@media (min-width: 768px) and (max-width: 1023px) {
  .pp-thumbs {
    width: 56px !important;
    min-width: 56px !important;
  }
  .pp-thumbs__item {
    width: 56px !important;
    height: 56px !important;
  }
}

/* ── Desktop ≥ 1200px : thumbs taille nominale ── */
@media (min-width: 1200px) {
  .pp-desktop-actions .pp-sticky-bar__cart,
  .pp-desktop-actions .pp-sticky-bar__buy {
    height: 58px !important;
    font-size: 13.5px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   SHOPSY DESKTOP LAYOUT — sections inline col info
   ══════════════════════════════════════════════════════════ */

@media (min-width: 768px) {
  /* Afficher les tabs Description + Détails sur desktop */
  .pd-tabs-acc { display: block; margin-top: 8px; }
  /* Masquer l'onglet Avis sur desktop (avis affiché en bas de page) */
  #pd-tab-avis { display: none !important; }
  /* Masquer les titres mobile à l'intérieur des corps d'onglet */
  .pd-tabs-acc .pp-mob-section-title { display: none !important; }
  /* Styles desktop pour la barre de tabs */
  .pd-tabs-acc__header { background: #fff; padding: 0 5%; border-bottom: 2px solid #e8e8e8; }
  .pd-tabs-acc__tab { flex: 0 0 auto; padding: 14px 24px; font-size: .9rem; }
  .pd-tabs-acc__body { padding: 24px 5%; background: #fff; }
  .pd-sections-wrap { display: none !important; }

  /* Réactiver les accordéons retour/sécurité dans la col info */
  #pp-acc-return, #pp-acc-security { display: block !important; }

  /* ── Base commun des 3 sections shopsy ── */
  .pp-shopsy-specs,
  .pp-shopsy-reviews,
  .pp-shopsy-seller {
    display: block;
    background: #fff;
    border: 1.5px solid #e0e0e0;
    border-radius: 6px;
    padding: 14px 16px;
  }

  /* ── Spécifications card ── */
  .pp-shopsy-specs__title,
  .pp-shopsy-reviews__title {
    font-size: .82rem;
    font-weight: 800;
    color: #1a1a1a;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .pp-shopsy-specs__table {
    width: 100%;
    border-collapse: collapse;
    font-size: .83rem;
  }
  .pp-shopsy-specs__table tr { border-bottom: 1px solid #f5f5f5; }
  .pp-shopsy-specs__table tr:last-child { border-bottom: none; }
  .pp-shopsy-specs__lbl {
    padding: 7px 8px 7px 0;
    color: #878787;
    width: 45%;
    vertical-align: top;
    font-weight: 400;
  }
  .pp-shopsy-specs__val {
    padding: 7px 0 7px 8px;
    color: #212121;
    font-weight: 500;
  }
  .pp-shopsy-specs__more {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    background: none;
    border: none;
    color: var(--primary, #2d6a4f);
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    gap: 4px;
  }
  .pp-shopsy-specs__more::after { content: ' ▾'; }
  .pp-shopsy-specs__desc {
    display: none;
    margin-top: 10px;
    font-size: .84rem;
    color: #555;
    line-height: 1.7;
    border-top: 1px solid #f0f0f0;
    padding-top: 10px;
  }
  .pp-shopsy-specs__desc.open { display: block; }

  /* ── Évaluations & avis card ── */
  .pp-shopsy-reviews__summary {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
  }
  .pp-shopsy-reviews__left {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 64px;
    flex-shrink: 0;
  }
  .pp-shopsy-reviews__big {
    font-size: 2.2rem;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1;
  }
  .pp-shopsy-reviews__stars { font-size: .9rem; margin-top: 4px; }
  .pp-shopsy-reviews__total { font-size: .7rem; color: #878787; margin-top: 4px; text-align: center; }
  .pp-shopsy-reviews__bars { flex: 1; display: flex; flex-direction: column; gap: 4px; }
  .pp-shopsy-reviews__bar-row {
    display: flex; align-items: center; gap: 8px; font-size: .75rem;
  }
  .pp-shopsy-reviews__bar-lbl { min-width: 30px; color: #555; font-weight: 500; }
  .pp-shopsy-reviews__bar-track {
    flex: 1; height: 8px; background: #e0e0e0; border-radius: 4px; overflow: hidden;
  }
  .pp-shopsy-reviews__bar-fill { height: 100%; border-radius: 4px; transition: width .4s ease; }
  .pp-shopsy-reviews__bar-cnt { min-width: 24px; text-align: right; color: #878787; font-weight: 500; }

  .pp-shopsy-reviews__list { display: flex; flex-direction: column; gap: 12px; }
  .pp-shopsy-reviews__item {
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
  }
  .pp-shopsy-reviews__item:last-child { border-bottom: none; }
  .pp-shopsy-reviews__item-head {
    display: flex; align-items: center; gap: 8px; margin-bottom: 4px; flex-wrap: wrap;
  }
  .pp-shopsy-reviews__item-stars { font-size: .82rem; }
  .pp-shopsy-reviews__item-summary {
    font-size: .84rem; font-weight: 700; color: #1a1a1a;
    flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .pp-shopsy-reviews__item-meta {
    display: flex; gap: 10px; font-size: .75rem; color: #878787;
  }
  .pp-shopsy-reviews__item-author { font-weight: 600; color: #555; }
  .pp-shopsy-reviews__see-all {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 12px; padding: 10px 0;
    border-top: 1px solid #f0f0f0;
    font-size: .83rem; font-weight: 700;
    color: var(--primary, #2d6a4f);
    text-decoration: none;
  }
  .pp-shopsy-reviews__see-all:hover { text-decoration: underline; }
  .pp-shopsy-reviews__question {
    display: block; width: 100%; margin-top: 12px;
    padding: 10px 0;
    background: none; border: 2px solid #e0e0e0; border-radius: 4px;
    font-family: inherit; font-size: .78rem; font-weight: 800;
    color: var(--primary, #2d6a4f); text-transform: uppercase;
    letter-spacing: .06em; cursor: pointer;
    transition: border-color .2s, background .2s;
  }
  .pp-shopsy-reviews__question:hover {
    border-color: var(--primary, #2d6a4f); background: #f0fdf6;
  }
  .pp-shopsy-reviews__empty { font-size: .84rem; color: #aaa; padding: 8px 0; }

  /* ── Vendu par row ── */
  .pp-shopsy-seller {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 14px;
  }
  .pp-shopsy-seller__label { font-size: .82rem; color: #878787; }
  .pp-shopsy-seller__name {
    font-size: .84rem; font-weight: 700; color: #1a1a1a;
    text-decoration: none;
  }
  .pp-shopsy-seller__name:hover { color: var(--primary, #2d6a4f); text-decoration: underline; }
  .pp-shopsy-seller__badge {
    font-size: .72rem; background: #e8f5e9; color: #2e7d32;
    border-radius: 4px; padding: 2px 8px; font-weight: 700;
  }
}

/* Sur mobile : sections shopsy cachées (tabs gèrent l'affichage) */
.pp-shopsy-specs,
.pp-shopsy-reviews,
.pp-shopsy-seller { display: none; }

/* ── "Vous économisez" desktop ── */
@media (min-width: 768px) {
  .pp-you-save {
    order: 4;
    font-size: .85rem;
    margin-top: 2px;
    padding: 0;
  }

  /* ── Highlights / Points forts desktop ── */
  .pp-highlights {
    background: transparent;
    padding: 10px 0 0;
  }
  .pp-highlights__title {
    font-size: .72rem;
    font-weight: 700;
    color: #878787;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px;
  }
  .pp-highlights__list {
    padding-left: 18px;
    gap: 6px;
  }
  .pp-highlights__list li {
    font-size: .84rem;
    color: #212121;
    line-height: 1.55;
  }

  /* ── Prix desktop : rouge IciOnDeal ── */
  .pp-price-block__current {
    color: #e53935 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
  }
  .pp-price-block__discount {
    background: #388e3c !important;
    color: #fff !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    padding: 3px 10px !important;
  }
  .pp-price-block__old {
    font-size: 16px !important;
    color: #878787 !important;
    text-decoration: line-through !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   FEATURE ZIGZAG — Description produit (mobile-first)
   ═══════════════════════════════════════════════════════════ */

/* ── Base (≥480px : 2 colonnes côte à côte) ── */
.pp-features {
  padding: 0;
}

.feature-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}

.feature-row + .feature-row {
  margin-top: 48px;
}

/* Alternance : blocs pairs → image à gauche, texte à droite */
.feature-row:nth-child(even) .feature-row__text  { order: 2; }
.feature-row:nth-child(even) .feature-row__media { order: 1; }

.feature-row__eyebrow {
  font-size: 14px;
  font-weight: 700;
  color: #212121;
  margin: 0 0 6px;
  text-transform: uppercase;
  letter-spacing: .05em;
  line-height: 1.3;
}

.feature-row__title {
  font-size: 24px;
  font-weight: 700;
  color: #212121;
  line-height: 1.1;
  margin: 0 0 12px;
  letter-spacing: -.2px;
}

.feature-row__body {
  font-size: 14px;
  color: #8a8a8a;
  line-height: 1.7;
  margin: 0;
}

.feature-row__media {
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
}

.feature-row__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Tablette & Desktop (≥768px) ── */
@media (min-width: 768px) {
  .feature-row + .feature-row { margin-top: 72px; }
  .feature-row                { gap: 40px; }
  .feature-row__eyebrow       { font-size: 22px; text-transform: none; letter-spacing: 0; }
  .feature-row__title         { font-size: 36px; margin-bottom: 16px; letter-spacing: -.4px; }
  .feature-row__body          { font-size: 17px; }
}

/* ── Grand desktop (≥1200px) ── */
@media (min-width: 1200px) {
  .feature-row                { gap: 56px; }
  .feature-row__title         { font-size: 40px; }
  .feature-row__body          { font-size: 18px; }
}

/* ── Mobile très petit (<480px) : empilement image / texte ── */
@media (max-width: 479px) {
  .feature-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  /* Toujours image en premier, texte en dessous */
  .feature-row .feature-row__media { order: 0 !important; }
  .feature-row .feature-row__text  { order: 1 !important; }
  .feature-row__media { aspect-ratio: 4 / 3; }
  .feature-row__title { font-size: 22px; }
}
