/* v12.10.357 - clean page headings, live clone parity and premium search-result focus. */
html body .magazine-shell .op-page-category-title,
html body .nc-canvas .op-page-category-title{
  border-bottom:0!important;
  padding-bottom:0!important;
}
html body .m2-page-head{
  border-bottom:0!important;
  padding-bottom:0!important;
}

/* One catalogue contract: offers use the brand colour, while the REDUCERE
   label remains black and its percentage uses the brand colour. These rules
   are deliberately last so legacy inline/preset colors cannot split editor
   and live rendering. */
html body .magazine-shell .product-card .op-reduction-label,
html body .nc-canvas .product-card .op-reduction-label{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}

/* v12.10.355: canonical cards carry a more specific brand rule for all
   badge-like zones. Keep only the REDUCERE label black while leaving the
   percentage, OFERTA and CTA zones on the brand color. */
html body .magazine-shell .product-card.is-v175-canonical .op-reduction-label,
html body .magazine-shell .product-card.is-safe-child-layout .op-reduction-label,
html body .nc-canvas .product-card.is-v175-canonical .op-reduction-label,
html body .nc-canvas .product-card.is-safe-child-layout .op-reduction-label{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}

/* Turn.js moves the visible pages outside .magazine-shell/.nc-canvas. Keep
   the same contract on that rendered copy as well. */
html body .product-card.is-v175-canonical .op-reduction-label[data-nc-child="badge"],
html body .product-card.is-safe-child-layout .op-reduction-label[data-nc-child="badge"],
html body .product-card.is-v175-canonical.has-nc-reduction .op-reduction-label[data-nc-child="badge"],
html body .product-card.is-safe-child-layout.has-nc-reduction .op-reduction-label[data-nc-child="badge"]{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}
html body .product-card.is-v175-canonical .op-reduction-percent[data-nc-child="discount"],
html body .product-card.is-safe-child-layout .op-reduction-percent[data-nc-child="discount"],
html body .product-card .op-offer-label,
html body .product-card .op-offer-link,
html body .product-card.is-child-layout [data-nc-child^="badge_copy_"],
html body .product-card.is-safe-child-layout.nc-preset-card [data-nc-child^="badge_copy_"],
html body .magazine-shell .product-card.is-v175-canonical.has-nc-reduction [data-nc-child^="badge_copy_"],
html body .magazine-shell .product-card.is-safe-child-layout.has-nc-reduction [data-nc-child^="badge_copy_"],
html body .magazine-shell .product-card.is-safe-child-layout.nc-preset-card [data-nc-child^="badge_copy_"]{
  background:#8e2f19!important;
  border-color:#8e2f19!important;
  color:#fff!important;
}
html body .magazine-shell .product-card .op-reduction-percent,
html body .nc-canvas .product-card .op-reduction-percent,
html body .magazine-shell .product-card .op-offer-label,
html body .nc-canvas .product-card .op-offer-label,
html body .magazine-shell .product-card .op-offer-link,
html body .nc-canvas .product-card .op-offer-link,
html body .magazine-shell .product-card [data-nc-child^="badge_copy_"],
html body .nc-canvas .product-card [data-nc-child^="badge_copy_"]{
  background:#8e2f19!important;
  border-color:#8e2f19!important;
  color:#fff!important;
}
html body .nc-mobile-product-card .nc-mobile-reduction-label{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}
html body .nc-mobile-product-card .nc-mobile-reduction-percent,
html body .nc-mobile-product-card .nc-mobile-offer-label,
html body .nc-mobile-product-card .nc-mobile-offer-link{
  background:#8e2f19!important;
  border-color:#8e2f19!important;
  color:#fff!important;
}
html body .m2-card .m2-role-discount,
html body .m2-card .m2-role-link{
  background:#8e2f19!important;
  border-color:#8e2f19!important;
  color:#fff!important;
}

/* Horizontal pages use the same 34px title reservation as vertical pages.
   The previous min-height:0 rule made their grid start ~34px too high. Keep
   the compact 4px title-to-grid gap without changing the shared origin. */
html body .magazine-shell .page.has-horizontal-products .page-safe-area,
html body .nc-canvas .page.has-horizontal-products .page-safe-area{
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:4px!important;
}
html body .magazine-shell .page.has-horizontal-products .page-head,
html body .nc-canvas .page.has-horizontal-products .page-head{
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
}
html body .page.has-horizontal-products .page-safe-area{
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:4px!important;
}
html body .page.has-horizontal-products .page-head{
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
}
html body .m2-page[data-m2-page-layout="two_horizontal"] .m2-page-head{
  margin-bottom:5px!important;
}

/* Turn.js renders visible pages as .op-turn-integrated-page siblings of the
   hidden source magazine. Reuse the editor/live child-box contract there too,
   otherwise descriptions and prices fall back to the old flex layout and can
   pass underneath the CTA. */
html body .op-turn-integrated-page .product-card.is-safe-child-layout,
html body .op-turn-integrated-page .product-card.is-v175-canonical{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  isolation:isolate!important;
  box-sizing:border-box!important;
}
html body .op-turn-integrated-page .product-card.is-free-moving,
html body .op-turn-integrated-page .product-card.is-manual-card,
html body .op-turn-integrated-page .editorial-grid.manual-canvas .product-card{
  position:absolute!important;
  left:var(--x,auto)!important;
  top:var(--y,auto)!important;
  width:var(--w,auto)!important;
  height:var(--h,auto)!important;
  z-index:var(--z,1)!important;
}
html body .op-turn-integrated-page .product-card .product-copy,
html body .op-turn-integrated-page .product-card .price-row{
  display:contents!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
html body .op-turn-integrated-page .product-card :is([data-nc-child],.product-media,.badge,.discount,.product-title,.product-description,.merchant,.old-price,.price){
  position:absolute!important;
  left:var(--x,auto)!important;
  top:var(--y,auto)!important;
  width:var(--w,auto)!important;
  height:var(--h,auto)!important;
  z-index:var(--z,10)!important;
  box-sizing:border-box!important;
  display:block!important;
  margin:0!important;
  transform:none!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  line-height:var(--line-height,1.08)!important;
  color:var(--text-color,inherit)!important;
  background:var(--card-bg,transparent)!important;
  font-family:var(--font-family,inherit)!important;
  font-size:var(--font-size,inherit)!important;
  font-weight:var(--font-weight,inherit)!important;
  text-align:var(--text-align,left)!important;
  border-color:var(--border-color,transparent)!important;
  border-width:var(--border-width,0)!important;
  border-style:var(--border-style,solid)!important;
  border-radius:var(--radius,0)!important;
  padding:var(--pad,0)!important;
  opacity:var(--opacity,1)!important;
}
html body .op-turn-integrated-page .product-card :is([data-nc-child="image"],.product-media){
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(70,44,16,.22)!important;
}
html body .op-turn-integrated-page .product-card :is([data-nc-child="image"],.product-media) img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
html body .op-turn-integrated-page .product-card :is([data-nc-child="badge"],.badge){
  text-transform:uppercase!important;
  font-weight:900!important;
}
html body .op-turn-integrated-page .product-card :is([data-nc-child="old_price"],.old-price){
  text-decoration:line-through!important;
  text-decoration-thickness:2px!important;
  font-weight:900!important;
}
html body .op-turn-integrated-page .product-card :is([data-nc-child="price"],.price){
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif!important;
  font-weight:900!important;
}
html body .op-turn-integrated-page .product-card>.op-favorite-btn[data-nc-child="favorite"]{
  left:auto!important;
  top:auto!important;
  right:8px!important;
  bottom:8px!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  max-width:32px!important;
  max-height:32px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  pointer-events:auto!important;
  z-index:2147482000!important;
}
html body .op-turn-integrated-page .product-card[data-op-content-flow="1"] [data-op-flow-item="1"]{
  box-sizing:border-box!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  white-space:pre-wrap!important;
  line-height:var(--line-height,1.08)!important;
}

/* The cue is intentionally static: the scrollbar is the affordance, while
   this small marker only confirms that the text continues below. */
html body .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 .op-turn-integrated-page .product-card .op-long-text-scroll::-webkit-scrollbar{width:5px;height:5px;}
html body .op-turn-integrated-page .product-card .op-long-text-scroll::-webkit-scrollbar-thumb{background:var(--op-brand-red);border-radius:999px;}
html body .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;
  opacity:.72;
}
html body .op-turn-integrated-page .product-card .op-long-text-scroll.op-scroll-complete::after{display:none;}
html body .op-turn-integrated-page .product-card[data-op-content-flow="1"] [data-op-flow-item="1"].op-long-text-scroll{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* Focus never changes card geometry: it is a restrained brand-colour halo. */
html body .magazine-shell .product-card.op-product-locate-animation,
html body .nc-mobile-product-card.op-product-locate-animation,
html body .m2-card.op-product-locate-animation{
  outline:2px solid rgba(142,47,25,.92)!important;
  outline-offset:5px!important;
  animation:opProductLocatePremium 1.9s cubic-bezier(.22,.8,.28,1) 1!important;
  z-index:2147481000!important;
}
@keyframes opProductLocatePremium{
  0%{filter:brightness(1.04) saturate(1.04);box-shadow:0 0 0 0 rgba(142,47,25,0),0 0 0 0 rgba(244,211,94,0)}
  18%{filter:brightness(1.1) saturate(1.08);box-shadow:0 0 0 2px rgba(142,47,25,.8),0 0 0 10px rgba(142,47,25,.16),0 14px 34px rgba(142,47,25,.18)}
  52%{filter:brightness(1.03) saturate(1.02);box-shadow:0 0 0 1px rgba(142,47,25,.48),0 0 0 17px rgba(142,47,25,.09),0 14px 30px rgba(142,47,25,.12)}
  100%{filter:none;box-shadow:0 0 0 0 rgba(142,47,25,0),0 0 0 0 rgba(142,47,25,0),0 0 0 rgba(142,47,25,0)}
}
@media (prefers-reduced-motion:reduce){
  html body .magazine-shell .product-card.op-product-locate-animation,
  html body .nc-mobile-product-card.op-product-locate-animation,
  html body .m2-card.op-product-locate-animation{
    animation:none!important;
    outline-color:#8e2f19!important;
  }
}
