/* ============================================================
   Tractoshop — PAGE PRODUIT v1.2.3
   Navy #0a1e3c · Bleu #1A64B7 · Vert #5EB229
   Fix spécificité OOS (hydra v5.4.1) · Compatible collapse JS
   ============================================================ */

/* PRIX — fond dégradé défini dans custom.css */
.page-product .product__current-price,
.page-product .product__current-price *,
.page-product .product__prices .current-price,
.page-product .product__prices span.price,
.page-product .product-prices .current-price,
.page-product .product-prices span.price {
  color:#ffffff!important; font-size:2rem!important; font-weight:900!important;
  font-family:"Montserrat",sans-serif!important; line-height:1.1!important;
}
.page-product .product__tax-info,.page-product .product__tax-info *,
.page-product .product__prices small,.page-product .product__prices p,
.page-product .product-prices small,.page-product .product-prices p {
  color:rgba(255,255,255,0.80)!important; font-size:0.82rem!important;
}

/* ═══════════════════════════════════════════════════════════
   BADGE STOCK — base commune
   ═══════════════════════════════════════════════════════════ */
.page-product .product-availability,
.page-product .js-availability,
.page-product .product-availability.alert,
.page-product .js-availability.alert {
  display:flex!important; align-items:center!important; gap:8px!important;
  padding:8px 14px!important; border-radius:8px!important;
  font-size:0.82rem!important; font-weight:700!important;
  letter-spacing:0.04em!important; text-transform:uppercase!important;
  width:100%!important; box-sizing:border-box!important;
}

/* En stock */
.page-product .product-availability.alert-success,
.page-product .js-availability.alert-success,
.page-product .product-availability.available,
.page-product .js-availability.available {
  background:rgba(94,178,41,0.08)!important; color:#285d0c!important;
  border:1.5px solid rgba(94,178,41,0.35)!important;
}

/* ★ RUPTURE DE STOCK — spécificité 0,4,0 (fix hydra v5.4.1)
   Le JS product-tweaks.js injecte aussi des styles inline pour être
   sûr de passer au-dessus du thème Hummingbird natif.
   ─────────────────────────────────────────────────────── */
.page-product .product-availability.alert.alert-danger,
.page-product .js-availability.alert.alert-danger,
.page-product .product-availability.alert.unavailable,
.page-product .js-availability.alert.unavailable {
  display:block!important; text-transform:none!important; letter-spacing:0!important;
  font-size:0.88rem!important; font-weight:700!important; line-height:1.5!important;
  padding:12px 16px!important;
  background:rgba(239,68,68,0.07)!important; color:#991b1b!important;
  border:1.5px solid rgba(239,68,68,0.25)!important;
  border-radius:10px!important; margin:12px 0!important;
}
.page-product .product-availability.alert.alert-danger *,
.page-product .js-availability.alert.alert-danger * {
  color:#991b1b!important; text-transform:none!important; letter-spacing:0!important;
}

/* Backorder / commande — spécificité 0,4,0 (fix hydra v5.4.1) */
.page-product .product-availability.alert.alert-warning,
.page-product .js-availability.alert.alert-warning {
  display:block!important; text-transform:none!important; letter-spacing:0!important;
  font-size:0.85rem!important; font-weight:600!important; line-height:1.5!important;
  padding:12px 16px 12px 52px!important;
  background:#fff8ed!important; color:#7c3a00!important;
  border:1.5px solid rgba(255,140,0,0.35)!important; border-left:4px solid #ff8c00!important;
  border-radius:10px!important; position:relative!important; margin:14px 0!important;
}
.page-product .product-availability.alert.alert-warning::before,
.page-product .js-availability.alert.alert-warning::before {
  content:""!important; position:absolute!important; left:14px!important;
  top:50%!important; transform:translateY(-50%)!important;
  width:24px!important; height:24px!important;
  background-color:#ff8c00!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")!important;
  mask-size:contain!important; -webkit-mask-size:contain!important;
  mask-repeat:no-repeat!important; -webkit-mask-repeat:no-repeat!important;
  mask-position:center!important; -webkit-mask-position:center!important;
}
.page-product .product-availability.alert.alert-warning *,
.page-product .js-availability.alert.alert-warning * {
  color:#7c3a00!important; text-transform:none!important; letter-spacing:0!important;
}

/* Masquer icônes Bootstrap Material internes */
.page-product .product-availability .material-icons,
.page-product .js-availability .material-icons,
.page-product .product-availability .me-2,
.page-product .js-availability .me-2 { display:none!important; }

/* ═══════════════════════════════════════════════════════════
   COMPATIBLE AVEC LES TRACTEURS — chips ciblés (JS-driven)
   Le JS (product-tweaks.js) wrape la liste dans .ts-compat-block.
   Aucune autre liste UL du site n'est affectée.
   ═══════════════════════════════════════════════════════════ */

/* Wrapper injecté par JS */
.ts-compat-block {
  margin: 8px 0 16px 0;
}

/* La liste en chips flex */
.ts-compat-block .ts-compat-list {
  display:flex!important; flex-wrap:wrap!important; gap:6px!important;
  list-style:none!important; padding:0!important; margin:0 0 8px 0!important;
}

/* Chaque item = chip pill */
.ts-compat-block .ts-compat-list li {
  background:#e8f0fb!important; color:#12437a!important;
  border:1.5px solid #1A64B7!important; border-radius:999px!important;
  padding:4px 12px!important; font-size:0.78rem!important; font-weight:600!important;
  list-style:none!important; white-space:nowrap!important; line-height:1.4!important;
}
.ts-compat-block .ts-compat-list li.ts-compat-hidden {
  display:none!important;
}

/* Bouton "Voir plus" */
.ts-compat-toggle {
  background:transparent!important; border:1.5px solid #1A64B7!important;
  color:#1A64B7!important; border-radius:8px!important; padding:6px 16px!important;
  font-size:0.82rem!important; font-weight:700!important; cursor:pointer!important;
  margin-top:6px!important; display:inline-block!important;
  transition:all 0.18s ease!important; font-family:"Inter",sans-serif!important;
}
.ts-compat-toggle:hover { background:#1A64B7!important; color:#ffffff!important; }

/* En-tête "Compatible avec les tracteurs" dans description */
.page-product #description h2,
.page-product .product-description h2,
.page-product .accordion-body h2 {
  font-family:"Montserrat",sans-serif!important; font-weight:800!important;
  font-size:1.05rem!important; color:#0a1e3c!important;
  padding-bottom:8px!important; border-bottom:2px solid #5EB229!important;
  margin:18px 0 12px 0!important;
}
.page-product #description h1,
.page-product .accordion-body h1 {
  font-family:"Montserrat",sans-serif!important; font-weight:800!important;
  font-size:1.1rem!important; color:#0a1e3c!important;
  padding-bottom:8px!important; border-bottom:2px solid #5EB229!important;
  margin:18px 0 12px 0!important;
}

/* ═══════════════════════════════════════════════════════════
   MASQUER BLOC VIDE
   ═══════════════════════════════════════════════════════════ */
.page-product .product-quantity-spacer { display:none!important; }
.page-product .product-add-to-cart > *:empty,
.page-product .product__add-to-cart > *:empty,
.page-product .product-variants:empty,
.page-product .product-customization:empty,
.page-product #product-customization-summary:empty { display:none!important; }

/* LAYOUT quantité + bouton */
.page-product .product-add-to-cart,
.page-product .js-product-add-to-cart,
.page-product .add-to-cart-or-refresh,
.page-product .product__add-to-cart > form,
.page-product .product__add-to-cart > div:not(.wishlist-button-add) {
  display:flex!important; flex-direction:column!important; gap:10px!important;
  align-items:center!important; width:100%!important;
}
.page-product .product-quantity,
.page-product .js-product-quantity {
  display:flex!important; justify-content:center!important; align-items:center!important; width:100%!important;
}

/* SPINNER */
.page-product .bootstrap-touchspin,
.page-product .input-group.bootstrap-touchspin {
  width:auto!important; min-width:140px!important; display:inline-flex!important;
  height:48px!important; border:1.5px solid #e0e6ed!important; border-radius:10px!important;
  overflow:hidden!important; background:#fff!important; align-items:stretch!important;
}
.page-product .bootstrap-touchspin .btn-touchspin {
  height:48px!important; border:none!important; box-shadow:none!important;
  background:transparent!important; padding:0 16px!important; font-size:1.1rem!important; color:#6b7280!important; flex-shrink:0!important;
}
.page-product .bootstrap-touchspin .form-control {
  height:48px!important; text-align:center!important; font-weight:700!important;
  font-size:1rem!important; border:none!important;
  border-left:1.5px solid #e0e6ed!important; border-right:1.5px solid #e0e6ed!important;
  box-shadow:none!important; background:transparent!important; min-width:52px!important;
}

/* BOUTON AJOUTER AU PANIER */
.page-product .add-to-cart {
  background-color:#5EB229!important; border-color:#5EB229!important; color:#ffffff!important;
  font-family:"Montserrat",sans-serif!important; font-weight:800!important;
  font-size:0.95rem!important; letter-spacing:0.08em!important; text-transform:uppercase!important;
  border-radius:10px!important; padding:0 32px!important; height:48px!important;
  min-height:48px!important; display:flex!important; align-items:center!important;
  justify-content:center!important; gap:8px!important;
  box-shadow:0 4px 18px rgba(94,178,41,0.40)!important;
  white-space:nowrap!important; width:100%!important; align-self:stretch!important;
  transition:background-color 0.2s,transform 0.15s,box-shadow 0.2s!important;
}
.page-product .add-to-cart:hover {
  background-color:#448a1e!important; border-color:#448a1e!important;
  transform:translateY(-2px)!important; box-shadow:0 8px 24px rgba(94,178,41,0.50)!important;
}

/* WISHLIST */
.page-product .wishlist-button-add { display:flex!important; justify-content:flex-end!important; margin-top:2px!important; }
.page-product .wishlist-button-product,
.page-product .wishlist-button-add button {
  background:#f3f4f6!important; border:none!important; border-radius:50%!important;
  width:36px!important; height:36px!important; display:flex!important;
  align-items:center!important; justify-content:center!important; color:#6b7280!important; box-shadow:none!important;
}
.page-product .wishlist-button-product:hover,
.page-product .wishlist-button-add button:hover { background:#1A64B7!important; color:#fff!important; }

/* RÉFÉRENCE / MARQUE */
.tracto-custom-reference { font-size:0.95rem!important; font-weight:600!important; color:#6b7280!important; margin-top:4px!important; margin-bottom:12px!important; display:block!important; letter-spacing:0.02em!important; }
.tracto-custom-reference span { font-weight:800!important; color:#0a1e3c!important; }
.tracto-brand-name { font-weight:700!important; color:#1A64B7!important; font-size:0.95rem!important; text-transform:uppercase!important; letter-spacing:0.03em!important; }
.tracto-brand-name:hover { text-decoration:underline!important; }

/* IMAGE PRODUIT */
body.page-product .product-cover, body.page-product .product__cover {
  border-radius:16px!important; border:1px solid #e0e8f5!important;
  box-shadow:0 4px 24px rgba(26,100,183,0.08)!important; background:#ffffff!important; overflow:hidden!important;
}
body.page-product .product-cover img, body.page-product .product__cover img { padding:1.5rem; object-fit:contain; }

/* VIGNETTES */
body.page-product .product-images > li.thumb-container,
body.page-product .product__thumbs .thumb-container {
  border-radius:10px!important; border:2px solid #e0e8f5!important; overflow:hidden!important;
  transition:border-color 0.2s,box-shadow 0.2s!important; background:#fff!important;
}
body.page-product .product-images > li.thumb-container:hover,
body.page-product .product-images > li.thumb-container.selected,
body.page-product .product__thumbs .thumb-container:hover,
body.page-product .product__thumbs .thumb-container.selected {
  border-color:#1A64B7!important; box-shadow:0 2px 10px rgba(26,100,183,0.2)!important;
}

/* ACCORDÉON */
.page-product .accordion-collapse,
.page-product #product-infos-accordion .accordion-collapse,
.page-product .accordion-item .accordion-collapse { display:block!important; height:auto!important; visibility:visible!important; overflow:visible!important; }
.page-product .accordion-collapse.collapse,
.page-product .accordion-collapse.collapsing { display:block!important; height:auto!important; }
.page-product .accordion-button {
  background:transparent!important; box-shadow:none!important; cursor:default!important;
  pointer-events:none!important; color:#0a1e3c!important;
  font-family:"Montserrat",sans-serif!important; font-weight:800!important; font-size:1.05rem!important;
  text-transform:uppercase!important; letter-spacing:0.05em!important;
  padding:18px 22px!important; border-bottom:2px solid #5EB229!important;
}
.page-product .accordion-button::after,.page-product .accordion-button::before { display:none!important; content:none!important; }
.page-product #product-infos-accordion,
.page-product .product-information,
.page-product .product__information {
  background:#ffffff!important; border:1px solid #e0e8f5!important; border-radius:16px!important;
  box-shadow:0 6px 24px rgba(10,30,60,0.06)!important; overflow:hidden!important; margin:24px 0!important; width:100%!important;
}
.page-product .accordion-item { border:none!important; border-bottom:1px solid #e0e8f5!important; background:transparent!important; }
.page-product .accordion-item:last-child { border-bottom:none!important; }
.page-product .accordion-body { padding:22px 24px 28px!important; background:#ffffff!important; color:#2b3441!important; font-size:0.95rem!important; line-height:1.65!important; }

/* TABLEAU DÉTAILS */
.page-product .data-sheet dt,.page-product .data-sheet dd,
.page-product table.data-sheet th,.page-product table.data-sheet td { padding:12px 16px!important; border-bottom:1px solid #e0e8f5!important; font-size:0.92rem!important; }
.page-product .data-sheet dt,.page-product table.data-sheet th { background:#f4f7fb!important; color:#0a1e3c!important; font-weight:700!important; width:35%!important; text-transform:uppercase!important; letter-spacing:0.04em!important; font-size:0.78rem!important; }
.page-product .data-sheet dd,.page-product table.data-sheet td { background:#ffffff!important; color:#2b3441!important; font-weight:600!important; }

/* BANDEAU CATÉGORIES */
.page-product .tracto-product-categories { display:block!important; width:100%!important; background:linear-gradient(135deg,#f4f7fb 0%,#eaf0f8 100%)!important; border:1px solid #e0e8f5!important; border-left:4px solid #5EB229!important; border-radius:16px!important; padding:18px 24px!important; margin:32px 0 18px 0!important; box-shadow:0 4px 16px rgba(10,30,60,0.05)!important; }
.page-product .tracto-product-categories__label { display:inline-block!important; font-family:"Montserrat",sans-serif!important; font-weight:800!important; font-size:0.78rem!important; letter-spacing:0.08em!important; text-transform:uppercase!important; color:#0a1e3c!important; margin:0 14px 0 0!important; vertical-align:middle!important; }
.page-product .tracto-product-categories__list { display:inline-flex!important; flex-wrap:wrap!important; gap:8px!important; vertical-align:middle!important; margin:0!important; padding:0!important; list-style:none!important; }
.page-product .tracto-product-categories__list li { margin:0!important; padding:0!important; }
.page-product .tracto-product-categories__chip { display:inline-flex!important; align-items:center!important; background:#ffffff!important; color:#1A64B7!important; border:1.5px solid #1A64B7!important; border-radius:999px!important; padding:6px 14px!important; font-size:0.82rem!important; font-weight:700!important; text-decoration:none!important; transition:all 0.18s ease!important; white-space:nowrap!important; }
.page-product .tracto-product-categories__chip:hover { background:#1A64B7!important; color:#ffffff!important; transform:translateY(-1px)!important; box-shadow:0 4px 12px rgba(26,100,183,0.25)!important; }

/* RÉASSURANCE PRODUIT */
body.page-product .blockreassurance_product,
body.page-product #block-reassurance,
body.page-product .block-reassurance { display:none!important; }
.page-product .tracto-reassurance-banner {
  background:linear-gradient(135deg,#1A64B7 0%,#0a1e3c 100%)!important;
  border-radius:12px!important; padding:20px!important; margin:24px 0 0 0!important;
  display:flex!important; flex-direction:column!important; gap:12px!important;
  box-shadow:0 6px 18px rgba(0,48,112,0.25)!important;
}
.page-product a.tracto-reassurance-banner__cell { display:flex!important; align-items:center!important; gap:14px!important; text-decoration:none!important; padding:10px 12px!important; margin:-4px -12px!important; border-radius:8px!important; transition:background 0.25s,transform 0.25s!important; }
.page-product a.tracto-reassurance-banner__cell:hover { background:rgba(255,255,255,0.08)!important; transform:translateX(4px)!important; text-decoration:none!important; }
.page-product .tracto-reassurance-banner__icon { flex-shrink:0!important; color:#5EB229!important; width:28px!important; height:28px!important; display:flex!important; align-items:center!important; justify-content:center!important; }
.page-product .tracto-reassurance-banner__icon svg { width:100%!important; height:100%!important; }
.page-product .tracto-reassurance-banner__text { display:flex!important; flex-direction:column!important; }
.page-product .tracto-reassurance-banner__title { color:#ffffff!important; font-weight:700!important; font-size:0.95rem!important; font-family:"Montserrat",sans-serif!important; margin:0!important; text-transform:uppercase!important; letter-spacing:0.03em!important; }
.page-product .tracto-reassurance-banner__subtitle { color:rgba(255,255,255,0.75)!important; font-size:0.8rem!important; margin:2px 0 0 0!important; }

@media (max-width:768px) {
  body.page-product h1,.page-product .page-title { font-size:1.3rem!important; }
  .ts-compat-toggle { width:100%!important; text-align:center!important; }
}
