/* Offer cards show only the image, discount and prices. */
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid.home-price-drop-grid:has(>.product-card-minimal) {
  column-gap:28px!important; row-gap:32px!important;
}
@media(min-width:761px) {
  html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid.home-price-drop-grid:has(>.product-card-minimal) {
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;
  }
}
@media(max-width:760px) {
  html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid.home-price-drop-grid:has(>.product-card-minimal) {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important; row-gap:28px!important;
  }
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal {
  height:auto!important; min-height:0!important; max-height:none!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal :is(h3,.public-rating,.meta,.offer-label) {
  display:none!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .price {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"discount discount" "old old" "current current"!important;
  align-items:center!important; gap:5px 8px!important; margin:0!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .price>.current-price {
  grid-area:current!important; font-size:clamp(22px,1.8vw,28px)!important;
  font-weight:400!important; line-height:1.2!important; align-self:center!important;
  white-space:nowrap!important; letter-spacing:-.035em!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .price>.old {
  grid-area:old!important; flex-basis:auto!important; font-size:18px!important;
  font-weight:400!important; line-height:1.3!important; margin:0!important;
  white-space:nowrap!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .old-label {
  display:none!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .old del {
  white-space:nowrap!important; overflow-wrap:normal!important;
}
@media(max-width:760px) {
  html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .price>.old {
    font-size:16px!important;
  }
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .price>.card-offer {
  grid-area:discount!important; flex:initial!important; justify-self:start!important;
  align-self:center!important; height:auto!important; min-height:0!important; margin:0!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .card-offer>.discount-badge {
  height:auto!important; padding:5px 7px!important; font-size:12px!important; line-height:1.2!important; white-space:nowrap!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal .product-body {
  flex:0 0 auto!important; padding:12px 0 0!important;
}
html body[data-page="home"] :is(#app,#conteudo) .home-price-drop-grid .product-card-minimal.product-card-minimal.product-card-minimal:focus-visible .product-media {
  outline:2px solid var(--accent)!important; outline-offset:3px;
}

/* Shared organic cards. Ads retain their own component and visual rules.
   Repeated variant specificity wins over the legacy page-specific !important rules. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal {
  display:flex!important; flex-direction:column!important; align-self:start!important;
  height:auto!important; min-height:372px!important; max-height:none!important;
  padding:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; box-shadow:none!important; outline:0!important;
  overflow:visible!important; transform:none!important; cursor:pointer;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media {
  display:grid!important; place-items:center!important; position:relative;
  grid-template-columns:minmax(0,1fr)!important; grid-template-rows:minmax(0,1fr)!important;
  flex:0 0 auto!important; width:100%!important; height:190px!important;
  min-height:0!important; max-height:none!important; aspect-ratio:auto!important;
  padding:8px!important; margin:0!important; border:0!important;
  /* Give blending a local backdrop, including composited mobile carousels. */
  border-radius:6px!important; background:var(--page-canvas,var(--bg))!important; box-shadow:none!important;
  isolation:isolate;
  overflow:hidden!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media img {
  width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important;
  min-width:0!important; min-height:0!important; margin:0!important; padding:0!important;
  object-fit:contain!important; object-position:center!important; transform:none!important;
  mix-blend-mode:multiply!important;

}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-body {
  display:flex!important; flex-direction:column!important; flex:0 0 auto!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  gap:6px!important; padding:10px 0 0!important; margin:0!important;
  border:0!important; background:transparent!important; overflow:visible!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .meta {
  font-size:9px!important; font-weight:400!important; line-height:1.3!important; color:var(--muted)!important;
  text-transform:uppercase; letter-spacing:.05em!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-height:13px;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal h3 {
  display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:4!important; line-clamp:4!important;
  width:100%!important; max-width:170px!important; align-self:flex-start!important;
  flex:0 0 auto!important; height:auto!important; min-height:2.8em!important; max-height:5.6em!important;
  white-space:normal!important; overflow-wrap:break-word!important;
  margin:0!important; overflow:hidden!important; text-overflow:ellipsis!important; font-size:15px!important; text-decoration:none!important;
  font-weight:500!important; line-height:1.4!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .public-rating {
  height:auto!important; min-height:0!important; padding:0!important; margin:0!important;
  flex:0 0 auto!important; border:0!important; background:transparent!important; font-size:11px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal :is(.public-rating:empty,.public-rating[hidden]) {display:none!important}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price {
  display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; align-content:flex-start!important; align-items:flex-start!important;
  position:static!important; width:100%!important; height:auto!important; min-height:0!important; max-height:none!important;
  flex:0 0 auto!important; justify-content:flex-start!important; text-align:left!important; overflow:visible!important; gap:3px!important; padding:0!important; margin:0!important; border:0!important;
  background:transparent!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.old {
  height:auto!important; min-height:0!important; margin:0!important;
  font-size:12px!important; line-height:1.3!important; color:var(--muted)!important; text-decoration:line-through!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .current-price {
  position:static!important; inset:auto!important; transform:none!important; text-align:left!important;
  width:auto!important; height:auto!important; min-height:0!important; margin:0!important;
  font-size:20px!important; font-weight:400!important; line-height:1.3!important;
  white-space:normal!important; overflow-wrap:anywhere; letter-spacing:-.02em!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .card-saving {
  position:static!important; height:auto!important; min-height:0!important;
  font-size:11px!important; line-height:1.4!important; color:var(--accent)!important;
  padding:0!important; margin:0!important; background:transparent!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.discount-badge {
  position:static!important; width:auto!important; min-width:0!important;
  padding:0!important; margin:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; color:var(--accent)!important; box-shadow:none!important; filter:none!important;
  font-size:11px!important; font-weight:500!important; line-height:1.3!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal) {
  column-gap:10px!important; row-gap:22px!important; align-items:start!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail):has(>.product-card-minimal) {
  display:flex!important; overflow-x:auto!important; scroll-snap-type:x mandatory!important;
  width:100%!important; max-width:100%!important; margin-inline:0!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal {scroll-snap-align:start}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail)>.product-card-minimal.product-card-minimal.product-card-minimal {
  flex:0 0 210px!important; width:210px!important;
  min-width:0!important; max-width:none!important;
}
@media (max-width:1200px) and (min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail)>.product-card-minimal.product-card-minimal.product-card-minimal {
    flex-basis:210px!important; width:210px!important;
  }
}
@media (max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal) {column-gap:16px!important; row-gap:22px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail)>.product-card-minimal.product-card-minimal.product-card-minimal {
    flex-basis:calc((100% - 16px)/2.05)!important; width:calc((100% - 16px)/2.05)!important;
  }
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media {height:clamp(140px,40vw,180px)!important; aspect-ratio:auto!important; padding:6px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal h3 {font-size:14px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .current-price {font-size:18px!important}
}
@media (hover:hover) and (pointer:fine) {
}
/* Keyboard feedback belongs to the content, without recreating a card outline. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal:is(:focus-visible,:has(:focus-visible)) h3 {color:#3483fa!important;text-decoration:none!important}
@media (prefers-reduced-motion:reduce) {
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media img { transform:none!important}
}

html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>* {align-self:flex-start!important; order:initial!important; flex:0 0 auto!important}

/* Reserve control lanes outside the scrolling content, including at the last slide. */
@media(min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.product-card-minimal) {
    padding-inline:46px!important;
  }
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.product-card-minimal) :is(.product-rail-arrow.previous,[data-product-carousel="previous"]) {left:-20px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.product-card-minimal) :is(.product-rail-arrow.next,[data-product-carousel="next"]) {right:-20px!important}
}

/* Sponsored content remains a distinct card. Only product shelves use these sizes. */
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card {
  --shelf-ad-width:284px;
  flex:0 0 var(--shelf-ad-width)!important;
  width:var(--shelf-ad-width)!important; min-width:0!important; max-width:none!important;
  height:372px!important; min-height:372px!important; max-height:372px!important;
  align-self:start!important; box-shadow:none!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card>a {
  display:grid!important; grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:34px minmax(0,1fr) 130px!important;
  grid-template-areas:"label" "media" "body"!important;
  gap:0!important; height:100%!important; min-height:0!important; padding:0!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-label {
  height:34px!important; min-height:0!important; max-height:34px!important;
  gap:6px!important; padding:4px 40px 4px 10px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-brand-mark {width:24px!important; height:24px!important; flex-basis:24px!important}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-media {
  height:100%!important; min-height:0!important; max-height:none!important;
  aspect-ratio:auto!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-body {
  display:flex!important; flex-direction:column!important; gap:5px!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  padding:8px 12px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-body>strong {
  height:36px!important; min-height:36px!important; max-height:36px!important;
  font-size:14px!important; line-height:18px!important; -webkit-line-clamp:2!important;
  white-space:normal!important; margin:0!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-prices {
  display:flex!important; flex-direction:column!important; gap:1px!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  margin:0!important; padding:0!important; border:0!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-prices strong {font-size:20px!important; height:auto!important; line-height:24px!important}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-prices del {font-size:10px!important; height:auto!important; min-height:0!important; line-height:12px!important}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-cta {
  height:30px!important; min-height:30px!important; max-height:30px!important;
  margin-top:auto!important; padding:0 10px!important; font-size:11px!important; box-shadow:none!important;
}
@media(max-width:1200px) and (min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card {--shelf-ad-width:284px}
}
@media(max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card {--shelf-ad-width:100%; height:300px!important; max-height:300px!important}
}
/* Grid ads use their allocated columns; carousel ads occupy two organic slots. */
html body:not([data-admin-page]) :is(#app,#conteudo) .products:not(.home-product-rail):not(.product-carousel-track):has(>.product-card-minimal)>.shoplab-sponsored-card {width:100%!important; justify-self:stretch!important}

/* Shared compact dimensions across every desktop product shelf. */
@media (min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products:not(.home-product-rail):not(.product-carousel-track),.home-price-drop-grid):has(>.product-card-minimal) {
    grid-template-columns:repeat(auto-fill,minmax(0,210px))!important;
  }
  html body:not([data-admin-page])[data-page="home"] #conteudo .trending-section :is(.product-rail,.product-carousel-viewport):has(.product-card-minimal) {
    padding-inline:0!important;
  }
  html body[data-page="home"] #conteudo .trending-section .product-card-minimal.product-card-minimal.product-card-minimal .product-media {
    height:190px!important; padding:8px!important;
  }
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.old {
  font-weight:400!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .card-saving {
  display:none!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .sponsored-card-prices :is(strong,del) {
  font-weight:400!important;
}
/* Compact offer row, current price, then previous price on its own line. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-body {
  gap:0!important; padding-top:12px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price {
  display:flex!important; flex-direction:row!important; flex-wrap:wrap!important;
  align-items:baseline!important; column-gap:8px!important; row-gap:3px!important;
  min-height:0!important; margin:0 0 6px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.card-offer {
  grid-area:offer!important; display:flex!important; align-items:center!important;
  gap:7px!important; align-self:center!important; height:20px!important;
  flex:0 0 100%!important; margin-bottom:3px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .card-offer>.discount-badge {
  position:static!important; display:inline-flex!important; align-items:center!important; justify-content:center!important;
  width:auto!important; min-width:0!important; height:20px!important;
  padding:2px 6px!important; margin:0!important; border:0!important; border-radius:3px!important;
  background:var(--accent)!important; color:#fff!important; box-shadow:none!important; filter:none!important;
  font-size:11px!important; font-weight:600!important; line-height:16px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .offer-label {
  font-size:11px!important; font-weight:400!important; line-height:16px!important; color:var(--muted)!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.current-price {
  grid-area:current!important; font-size:20px!important; font-weight:400!important;
  line-height:26px!important; white-space:normal!important;
  min-width:0!important; max-width:100%!important; overflow:visible!important; text-overflow:clip!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.old {
  grid-area:old!important; flex:0 0 100%!important; align-self:flex-start!important; min-width:0!important;
  font-size:clamp(9px,.6vw,11px)!important; line-height:13px!important;
  font-weight:400!important; text-decoration:none!important; color:var(--muted)!important;
  max-width:100%!important; white-space:normal!important; overflow:visible!important;
  text-overflow:clip!important; overflow-wrap:anywhere!important;
  -webkit-line-clamp:unset!important; line-clamp:unset!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .old del {
  text-decoration:line-through!important; white-space:normal!important;
  overflow:visible!important; text-overflow:clip!important; overflow-wrap:anywhere!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal h3 {
  font-weight:400!important; margin-bottom:5px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .meta {
  margin-top:0!important; font-size:10px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .public-rating {
  display:flex!important; align-items:center!important; gap:6px!important; margin-bottom:5px!important; line-height:1.4!important;
}
@media(max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price {
    row-gap:3px!important;
  }
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.current-price {font-size:18px!important; line-height:24px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.old {flex-basis:100%!important; font-size:10px!important}
}

/* Os valores de preço sempre usam peso normal. */
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.price,.current-price,.old,.home-price-drop-copy>b,.price-values output),
html body:not([data-admin-page]) :is(#app,#conteudo) .price :is(b,strong,span,del) {font-weight:400!important}

/* Final shelf polish: a little more breathing room and quieter controls. */
html body:not([data-admin-page]) main#conteudo > :is(.home-section,.section):has(.product-card-minimal) {
  padding-top:18px!important; padding-bottom:18px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-section):has(.product-card-minimal) :is(.product-rail-arrow,button[data-product-carousel]) {
  background:color-mix(in srgb,var(--bg) 94%,transparent)!important;
  background-image:none!important; border:0!important; box-shadow:none!important;
  color:var(--muted)!important;

}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-section):has(.product-card-minimal) :is(.product-rail-arrow,button[data-product-carousel]):is(:focus-visible,:active) {
  background:color-mix(in srgb,var(--accent) 9%,var(--bg))!important;
  color:var(--accent)!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-section):has(.product-card-minimal) button[data-product-carousel] svg {
  color:inherit!important; stroke:currentColor!important; stroke-width:1.6!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-rail:has(.product-card-minimal) .product-rail-arrow::before {
  border-top-color:currentColor!important; border-right-color:currentColor!important;
  border-top-width:2px!important; border-right-width:2px!important;
}
@media(max-width:760px) {
  html body:not([data-admin-page]) main#conteudo > :is(.home-section,.section):has(.product-card-minimal) {
    padding-top:14px!important; padding-bottom:14px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-section):has(.product-card-minimal) :is(.product-rail-arrow,button[data-product-carousel]) {}
}

/* Promotion rows only occupy space when an offer is present. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.card-offer {
  height:24px!important; min-height:24px!important; margin-bottom:0!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail)>.product-card-minimal.product-card-minimal.product-card-minimal {
  flex-basis:var(--product-peek-width,210px)!important; width:var(--product-peek-width,210px)!important;
}
/* Desktop image areas are 190px tall; center controls on the image only. */
@media(min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-section):has(.product-card-minimal) :is(.product-rail-arrow,button[data-product-carousel]) {
    top:95px!important; bottom:auto!important; transform:translateY(-50%)!important;
  }
}
@media(max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail)>.product-card-minimal.product-card-minimal.product-card-minimal {
    flex-basis:var(--product-peek-width,calc((100% - 32px)/2.2))!important;
    width:var(--product-peek-width,calc((100% - 32px)/2.2))!important;
  }
}

/* Match the public page canvas, including home and its loading state. */
html body:not([data-admin-page]) {
  --page-canvas:#f7f8f6;
  --home-content-background:var(--page-canvas);
  background:var(--page-canvas)!important;
}
html body:not([data-admin-page]) main#conteudo {
  background:var(--page-canvas)!important;
}
html body:not([data-admin-page]) main#conteudo > .section.alt {
  background:var(--page-canvas)!important;
}

/* Ads keep their visual identity while fitting the organic shelf geometry. */
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card {
  --shelf-ad-width:var(--product-peek-width,210px);
  --shelf-ad-image-area:190px;
  flex:0 0 var(--shelf-ad-width)!important;
  width:var(--shelf-ad-width)!important; min-width:0!important; max-width:none!important;
  height:372px!important; min-height:372px!important; max-height:372px!important;
  grid-column:span 1!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card>a {
  grid-template-rows:42px calc(var(--shelf-ad-image-area) - 42px) minmax(0,1fr)!important;
  height:100%!important; min-height:0!important; max-height:none!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-label {
  height:42px!important; min-height:42px!important; max-height:42px!important;
  display:flex!important; flex-wrap:wrap!important; align-content:center!important;
  gap:2px 6px!important; padding:4px 8px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-label>small {
  min-width:0!important; margin-left:auto!important; white-space:nowrap!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-media {
  height:100%!important; min-height:0!important; max-height:none!important; aspect-ratio:auto!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-body {
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  gap:5px!important; padding:10px 10px 8px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-cta {
  flex:0 0 30px!important; margin-top:auto!important;
}
@media(max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card {
    --shelf-ad-width:100%;
    --shelf-ad-image-area:clamp(140px,40vw,180px);
    grid-column:span 2!important;
  }
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-carousel-track,.home-product-rail):has(>.product-card-minimal)>.shoplab-sponsored-card {
    --shelf-ad-width:calc(2 * var(--product-peek-width,calc((100% - 32px)/2.2)) + 16px);
  }
}

/* Keep brand and sponsorship readable even in a single narrow product column. */
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-label {
  display:grid!important; grid-template-columns:24px minmax(0,1fr)!important;
  grid-template-rows:16px 12px!important; gap:0 6px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-brand-mark {
  grid-column:1!important; grid-row:1 / span 2!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-brand-name {
  grid-column:2!important; grid-row:1!important; min-width:0!important;
  display:block!important; align-self:center!important;
  margin:0!important; padding:0!important; border-radius:0!important;
  background:transparent!important; color:#173f37!important;
  font-size:12px!important; line-height:16px!important;
  overflow:hidden!important; text-overflow:ellipsis!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-label>small {
  grid-column:2!important; grid-row:2!important; margin-left:0!important;
  align-self:center!important; font-size:8px!important; line-height:12px!important;
}

/* Full-width mobile ads retain the media ratio and grow to fit their content. */
@media(max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card {height:auto!important; min-height:372px!important; max-height:none!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card>a {grid-template-rows:42px auto minmax(130px,1fr)!important; height:auto!important; min-height:372px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.products,.product-carousel-track,.home-product-rail,.home-price-drop-grid):has(>.product-card-minimal)>.shoplab-sponsored-card .sponsored-card-media {height:auto!important; aspect-ratio:3/2!important}
}

/* Full desktop shelves align with section edges and show complete columns. */
@media(min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) {padding-inline:0!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) .whole-product-slots {padding-inline:0!important;scroll-padding-inline:0!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) :is(.product-rail-arrow.previous,[data-product-carousel="previous"]) {left:-48px!important}
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) :is(.product-rail-arrow.next,[data-product-carousel="next"]) {right:-48px!important}
}

@media(min-width:761px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) .whole-product-slots.whole-product-slots > .product-card-minimal.product-card-minimal.product-card-minimal {
    flex:0 0 var(--product-peek-width)!important;
    width:var(--product-peek-width)!important;min-width:var(--product-peek-width)!important;max-width:var(--product-peek-width)!important;
  }
}

/* Blend white product-photo pixels into the same canvas on mobile Safari. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media{background:#f1f3f2!important;isolation:isolate!important}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media img{background:transparent!important;mix-blend-mode:multiply!important;isolation:auto!important;filter:none!important}

/* Start every title immediately below the shared image area. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-media {
  padding-inline:0!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal h3 {
  max-width:170px!important; min-height:0!important;
  margin:0 0 5px!important; text-align:left!important;
}

/* Product text follows the compact, regular typography of the reference. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal {
  font-family:Arial,Helvetica,sans-serif!important;
  font-style:normal!important; letter-spacing:normal!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal h3 {
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important; font-weight:400!important; line-height:20px!important;
  letter-spacing:normal!important; max-height:80px!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal :is(.public-rating,.meta,.price,.current-price,.old) {
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:400!important; letter-spacing:normal!important;
}

/* Products without discounts do not reserve a promotion row. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .price>.card-offer:empty {
  display:none!important;
  height:0!important; min-height:0!important; margin:0!important; padding:0!important;
}

/* One shared content axis for category, offer and product sections. */
html body[data-page="home"] main#conteudo > :is(.home-category-section,.home-section,.section) > .container {
  width:min(1410px,calc(100% - 48px))!important;
  max-width:none!important; margin-inline:auto!important; padding-inline:0!important;
}
html body[data-page="home"] :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.product-card-minimal) {
  width:100%!important; max-width:100%!important;
  margin-inline:0!important; padding-inline:0!important;
}
html body[data-page="home"] :is(#app,#conteudo) :is(.home-product-rail,.product-carousel-track,.home-price-drop-grid,.home-category-strip) {
  width:100%!important; max-width:100%!important;
  margin-inline:0!important; padding-inline:0!important; scroll-padding-inline:0!important;
}
html body[data-page="home"] :is(#app,#conteudo) :is(.simple-head,.section-head) {
  padding-inline:0!important; margin-inline:0!important;
}
@media(max-width:760px) {
  html body[data-page="home"] main#conteudo > :is(.home-category-section,.home-section,.section) > .container {
    width:calc(100% - 32px)!important;
  }
}

/* Restore the subtle title thickness without a shadow. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal.product-card-minimal h3 {
  font-weight:400!important;
  -webkit-text-stroke:0.2px currentColor;
  text-shadow:none!important;
}

/* Alternative cards share organic card styling without a hover frame. */
html body:not([data-admin-page])[data-page="product"] #product-related .product-card-minimal.premium-related-card:is(:focus-within) {
  box-shadow:none!important; background:transparent!important;
  border:0!important; outline:0!important; transform:none!important;
}
html body:not([data-admin-page])[data-page="product"] #product-related .product-card-minimal.premium-related-card.product-card-minimal.product-card-minimal .premium-relation > span {
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important; font-weight:400!important; line-height:1.4!important;
  letter-spacing:normal!important;
  -webkit-text-stroke:0.2px currentColor; text-shadow:none!important;
}
html body:not([data-admin-page])[data-page="product"] #product-related .premium-relation-toggle::after {
  content:none!important;
}

/* Section destination stays on the right, where the shelf dots used to be. */
html body[data-page="home"] :is(#app,#conteudo) .shelf-more-link {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin-left:auto;
  min-height:24px;
  padding:3px 9px;
  border:0;
  border-radius:3px;
  background:#087c70;
  color:#fff!important;
  font-size:11px;
  font-weight:700;
  line-height:18px;
  text-decoration:none!important;
  white-space:nowrap;
}
html body[data-page="home"] :is(#app,#conteudo) .shelf-more-link:hover {
  background:#06443c;
}

/* Center the compact information column under each desktop product image. */
@media(min-width:761px) {
  html body[data-page="home"] :is(#app,#conteudo) :is(.home-product-rail,.product-carousel-track,.products) .product-card-minimal.product-card-minimal.product-card-minimal .product-body,
  html body:not([data-admin-page]):not([data-page="home"]) :is(#app,#conteudo) .product-card-minimal.product-card-minimal.product-card-minimal .product-body {
    box-sizing:border-box!important;
    width:100%!important; max-width:170px!important; min-width:0!important;
    align-self:center!important; margin-inline:auto!important;
    text-align:left!important;
  }
}

/* Static product cards: shared across shelves, listings, related products and news.
   Ads, carousel controls, the product gallery and keyboard outlines are separate. */
html body:not([data-admin-page]) :is(
  .product-card.product-card.product-card,
  .home-price-drop-card,
  .quick-comparison-item,
  .automatic-comparison-card,
  .news-product,
  .account-list > article,
  .comparison-recommendation,
  .comparison-score-products > article,
  .comparison-table thead th > a[href*="produto"]
),
html body:not([data-admin-page]) :is(
  .product-card.product-card.product-card,
  .home-price-drop-card,
  .quick-comparison-item,
  .automatic-comparison-card,
  .news-product,
  .account-list > article,
  .comparison-recommendation,
  .comparison-score-products > article,
  .comparison-table thead th > a[href*="produto"]
) * {
  transition:none!important;
  animation:none!important;
}
html body:not([data-admin-page]) :is(
  .product-card.product-card.product-card h3,
  .home-price-drop-card .home-price-drop-copy strong,
  .quick-comparison-item .quick-comparison-copy strong,
  .automatic-comparison-card .automatic-comparison-product strong,
  .news-product > div > strong,
  .account-list > article .account-product-copy strong,
  .comparison-recommendation h3,
  .comparison-score-products > article h4,
  .comparison-table thead th > a[href*="produto"] > strong
) {
  transition:color 160ms ease!important;
}
@media (hover:hover) and (pointer:fine) {
  html body:not([data-admin-page]) :is(#app,#conteudo) :is(
    .product-card.product-card.product-card:hover h3,
    .home-price-drop-card:hover .home-price-drop-copy strong,
    .quick-comparison-item:hover .quick-comparison-copy strong,
    .automatic-comparison-card:hover .automatic-comparison-product strong,
    .news-product:hover > div > strong,
    .account-list > article:hover .account-product-copy strong,
    .comparison-recommendation:hover h3,
    .comparison-score-products > article:hover h4,
    .comparison-table thead th > a[href*="produto"]:hover > strong
  ) {
    color:#2563EB!important;
  }
}

/* Uniform product-photo box; contain preserves the entire image and its ratio. */
html body:not([data-admin-page]) :is(#app,#conteudo) .product-card.product-card.product-card .product-media img {
  position:static!important;
  inset:auto!important;
  width:min(100%,170px)!important;
  height:min(100%,170px)!important;
  max-width:170px!important;
  max-height:170px!important;
  min-width:0!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:760px) {
  html body:not([data-admin-page]) :is(#app,#conteudo) .product-card.product-card.product-card .product-media img {
    width:min(100%,140px)!important;
    height:min(100%,140px)!important;
    max-width:140px!important;
    max-height:140px!important;
  }
}

/* A shared neutral photo surface on every public product card. */
html body:not([data-admin-page]) :is(#app,#conteudo) :is(
  .product-card.product-card.product-card.product-card .product-media,
  .home-price-drop-card .home-product-thumb,
  .quick-comparison-item .home-product-thumb
) {
  background:#f1f3f2!important;
  background-image:none!important;
  border-radius:6px!important;
  isolation:isolate!important;
}
html body:not([data-admin-page]) :is(#app,#conteudo) :is(
  .product-card.product-card.product-card.product-card .product-media,
  .home-price-drop-card .home-product-thumb,
  .quick-comparison-item .home-product-thumb
) img {
  background:transparent!important;
  mix-blend-mode:multiply!important;
}

/* Whole-card shelves must keep tablet controls within the viewport. */
@media(min-width:761px) and (max-width:1279px){
 html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) :is(.product-rail-arrow.previous,[data-product-carousel="previous"]){left:8px!important}
 html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) :is(.product-rail-arrow.next,[data-product-carousel="next"]){right:8px!important}
}

/* Tablet and compact desktop gutters keep arrows beside cards. */
@media(min-width:761px) and (max-width:1550px){
 html body:not([data-admin-page]) :is(#app,#conteudo) .product-carousel-section .product-carousel-viewport{width:calc(100% - 88px)!important;margin-inline:44px!important;overflow:visible!important}
 html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport) :is(.product-rail-arrow.previous,[data-product-carousel="previous"]){left:-44px!important}
 html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport) :is(.product-rail-arrow.next,[data-product-carousel="next"]){right:-44px!important}
 html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) :is(.product-rail-arrow.previous,[data-product-carousel="previous"]){left:-44px!important}
 html body:not([data-admin-page]) :is(#app,#conteudo) :is(.product-rail,.product-carousel-viewport):has(.whole-product-slots) :is(.product-rail-arrow.next,[data-product-carousel="next"]){right:-44px!important}
}
