/* v12.10.357 - editor/live parity, brand colour, equal intro rows and readable overflow cues. */
:root{--op-brand-red:#8e2f19;}

/* Badges, discounts, offer CTAs and red price accents share the campaign colour. */
html body .magazine-shell .product-card.is-v175-canonical [data-nc-child="badge"],
html body .magazine-shell .product-card.is-v175-canonical [data-nc-child="discount"],
html body .magazine-shell .product-card.is-safe-child-layout [data-nc-child="badge"],
html body .magazine-shell .product-card.is-safe-child-layout [data-nc-child="discount"],
html body .magazine-shell .product-card .op-reduction-label,
html body .magazine-shell .product-card .op-reduction-percent,
html body .magazine-shell .product-card .op-offer-label,
html body .magazine-shell .product-card .op-offer-link,
html body .magazine-shell .product-card .price,
html body .magazine-shell .product-card [data-nc-child^="badge_copy_"]{
  --op-brand-red:#8e2f19;
}
html body .magazine-shell .product-card.is-v175-canonical [data-nc-child="badge"],
html body .magazine-shell .product-card.is-v175-canonical [data-nc-child="discount"],
html body .magazine-shell .product-card.is-safe-child-layout [data-nc-child="badge"],
html body .magazine-shell .product-card.is-safe-child-layout [data-nc-child="discount"],
html body .magazine-shell .product-card .op-reduction-label,
html body .magazine-shell .product-card .op-reduction-percent,
html body .magazine-shell .product-card .op-offer-label,
html body .magazine-shell .product-card .op-offer-link,
html body .magazine-shell .product-card [data-nc-child^="badge_copy_"]{
  background:var(--op-brand-red)!important;
  border-color:var(--op-brand-red)!important;
  color:#fff!important;
}
html body .magazine-shell .product-card .price{color:var(--op-brand-red)!important;}
html body .nc-mobile-product-card .nc-mobile-product-badge,
html body .nc-mobile-product-card .nc-mobile-product-discount,
html body .nc-mobile-product-card .nc-mobile-offer-link,
html body .m2-card .m2-role-badge,
html body .m2-card .m2-role-discount,
html body .m2-card .m2-role-link{background:var(--op-brand-red)!important;border-color:var(--op-brand-red)!important;color:#fff!important;}
html body .nc-mobile-product-card .nc-mobile-product-price,
html body .m2-card .m2-role-price{color:var(--op-brand-red)!important;}

/* Horizontal preset frames use the same top origin as vertical preset frames. */
html body .magazine-shell .page.layout-manual .product-card.nc-preset-two_horizontal[data-layout-owner="system"]{
  top:0!important;
  transform:none!important;
}

/* All intro/table-of-contents category controls occupy equal rows, including
   the longer MOBILIER label. */
html body .op-intro-cat-list-v269,
html body .op-intro-cat-list-v38,
html body .m2-home-categories{
  align-items:stretch!important;
  grid-auto-rows:minmax(0,1fr)!important;
}
html body .op-intro-cat-v269,
html body .op-intro-cat-v38,
html body .m2-home-categories>a{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  box-sizing:border-box!important;
}
html body .op-intro-cat-v269 .op-intro-cat-copy-v293,
html body .m2-home-categories>a span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Descriptions that do not fit remain readable through a native scrollbar. The
   visible Turn.js pages live outside .magazine-shell, so both render targets
   must receive the same interaction contract. */
html body :is(.magazine-shell,.op-turn-integrated-page) .product-card .op-long-text-scroll{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  position:relative!important;
  pointer-events:auto!important;
  touch-action:pan-y!important;
  overscroll-behavior:contain!important;
  cursor:ns-resize!important;
  user-select:text!important;
  -webkit-user-select:text!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--op-brand-red) transparent!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
html body :is(.magazine-shell,.op-turn-integrated-page) .product-card .op-long-text-scroll::-webkit-scrollbar{width:5px;height:5px;}
html body :is(.magazine-shell,.op-turn-integrated-page) .product-card .op-long-text-scroll::-webkit-scrollbar-thumb{background:var(--op-brand-red);border-radius:999px;}
html body :is(.magazine-shell,.op-turn-integrated-page) .product-card .op-long-text-scroll::after{
  content:"↕";
  position:absolute;
  right:3px;
  bottom:2px;
  z-index:4;
  display:grid;
  place-items:center;
  width:14px;
  height:14px;
  border-radius:999px;
  background:rgba(142,47,25,.9);
  color:#fff;
  font:900 11px/1 Arial,sans-serif;
  pointer-events:none;
  animation:none!important;
}
html body :is(.magazine-shell,.op-turn-integrated-page) .product-card .op-long-text-scroll.op-scroll-complete::after{display:none;}
html body .nc-mobile-product-card .op-long-text-scroll,
html body .m2-card .op-long-text-scroll{
  position:relative!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--op-brand-red) transparent!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
html body .nc-mobile-product-card .op-long-text-scroll::-webkit-scrollbar,
html body .m2-card .op-long-text-scroll::-webkit-scrollbar{width:5px;height:5px;}
html body .nc-mobile-product-card .op-long-text-scroll::-webkit-scrollbar-thumb,
html body .m2-card .op-long-text-scroll::-webkit-scrollbar-thumb{background:var(--op-brand-red);border-radius:999px;}
html body .nc-mobile-product-card .op-long-text-scroll::after,
html body .m2-card .op-long-text-scroll::after{
  content:"↕";position:absolute;right:3px;bottom:2px;z-index:4;display:grid;place-items:center;
  width:14px;height:14px;border-radius:999px;background:rgba(142,47,25,.9);color:#fff;
  font:900 11px/1 Arial,sans-serif;pointer-events:none;animation:none!important;
}
html body .nc-mobile-product-card .op-long-text-scroll.op-scroll-complete::after,
html body .m2-card .op-long-text-scroll.op-scroll-complete::after{display:none;}
@media (prefers-reduced-motion:reduce){html body :is(.magazine-shell,.op-turn-integrated-page) .product-card .op-long-text-scroll::after{animation:none!important;}}
