/* =============================================================
   NOVOOBRA REDESIGN — Direção A "Canteiro de Obra"
   Prefixo: .nob-  (não colide com .ob- do tema anterior)
   ============================================================= */

/* Fontes externas são enfileiradas pelo tema quando necessárias.
   Evita @import em CSS agregado, que bloqueia FCP/LCP no GTmetrix. */

/* ---- 1. TOKENS ------------------------------------------------ */
:root {
  --nob-primary:   var(--lc-primary);
  --nob-accent:    #4ca626;
  --nob-dark:      var(--lc-primary-deep);
  --nob-ink:       #252128;
  --nob-muted:     var(--lc-ink-3);
  --nob-border:    #e4e1e6;
  --nob-bg:        var(--lc-paper);
  --nob-white:     #ffffff;
  --nob-navy:      var(--lc-ink-3);
  /* Tipografia: Open Sans p/ body, Poppins p/ display/preços/CTAs.
     --nob-mono apontado p/ Poppins (alias) — preserva chamadas legadas que dependem de --nob-mono. */
  --nob-font:      'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --nob-display: var(--lc-font-display);
  --nob-mono: var(--lc-font-mono);
  /* override ob- tokens para toda a página */
  --mob-primary:        var(--lc-primary);
  --mob-primary-dark:   var(--lc-primary-deep);
  --mob-primary-light:  var(--lc-primary-soft);
  --mob-secondary:      var(--lc-ink-3);
  --mob-secondary-dark: var(--lc-primary-deep);
  --mob-bg:             var(--lc-paper);
  /* override obp- tokens (ob-product-rebuild.css) para Direção A */
  --obp-orange:        var(--lc-primary);
  --obp-orange-light:  var(--lc-primary-50);
  --obp-blue:          var(--lc-primary-deep);
  /* override fontes legadas: tudo que pegava Nunito/JetBrains agora pega Open Sans/Poppins */
  --mob-font-heading: var(--lc-font-display);
  --mob-font-body: var(--lc-font-body);
  --mob-font-mono: var(--lc-font-mono);
}

body.nob-active.single-product .nob-product-documents {
  display: grid;
  gap: 12px;
  max-width: 760px;
}

body.nob-active.single-product .nob-product-document {
  display: grid;
  gap: 6px;
  padding: 14px 0;
  border-bottom: 1px solid var(--nob-border);
}

body.nob-active.single-product .nob-product-document:last-child {
  border-bottom: 0;
}

body.nob-active.single-product .nob-product-document strong {
  color: var(--nob-text);
  font-size: 15px;
  font-weight: 800;
}

body.nob-active.single-product .nob-product-document a {
  width: max-content;
  color: var(--nob-purple);
  font-weight: 800;
}

/* ---- 2. RESET BLOCKSY/OB- INTERFERÊNCIAS -------------------- */
.nob-topbar, .nob-topbar * { box-sizing: border-box; }
.nob-header, .nob-header * { box-sizing: border-box; }
.nob-nav, .nob-nav * { box-sizing: border-box; }
.nob-hero, .nob-hero * { box-sizing: border-box; }

/* Ocultar topbar antiga quando o novo estiver ativo */
body.nob-active .ob-topbar { display: none !important; }
body.nob-active .ob-header-wrap .ob-header { display: none !important; }
body.nob-active .ob-nav { display: none !important; }
body.nob-active .ob-header-wrap > .ob-mobile-nav { display: none !important; }

/* ---- 3. TOPBAR ------------------------------------------------ */
.nob-topbar {
  background: var(--nob-dark);
  color: rgba(255,255,255,.82);
  font-family: var(--nob-font);
  font-size: 12px;
  padding: 8px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.nob-topbar__left,
.nob-topbar__right {
  display: flex;
  gap: 20px;
  align-items: center;
}
.nob-topbar__sep { opacity: .4; }
.nob-topbar a { color: inherit; text-decoration: none; }
.nob-topbar a:hover { color: var(--nob-accent); }

/* ---- 4. HEADER ------------------------------------------------ */
.nob-header {
  background: var(--nob-white);
  padding: 16px 32px;
  display: grid;
  grid-template-columns: 220px 1fr 300px;
  gap: 28px;
  align-items: center;
  border-bottom: 1px solid var(--nob-border);
  font-family: var(--nob-font);
}

/* Logo */
.nob-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--nob-ink);
}
.nob-logo__icon {
  width: 38px;
  height: 38px;
  background: var(--nob-primary);
  display: grid;
  place-items: center;
  transform: rotate(-8deg);
  border-radius: 4px;
  flex-shrink: 0;
}
.nob-logo__icon span {
  color: #fff;
  font-weight: 900;
  font-size: 22px;
  transform: rotate(8deg);
  display: block;
  font-family: var(--nob-font);
  line-height: 1;
}
.nob-logo__text { line-height: 1; }
.nob-logo__wordmark {
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.5px;
  line-height: 1;
}
.nob-logo__wordmark em {
  color: var(--nob-primary);
  font-style: normal;
}
.nob-logo__sub {
  font-size: 10px;
  color: var(--nob-muted);
  letter-spacing: 1.5px;
  font-weight: 600;
  margin-top: 3px;
}

/* Search */
.nob-search {
  display: flex;
  border: 2px solid var(--nob-dark);
  border-radius: 4px;
  overflow: hidden;
}
.nob-search__cat {
  border: none;
  background: var(--lc-paper);
  padding: 0 12px;
  font-size: 13px;
  color: var(--nob-ink);
  border-right: 1px solid #ddd;
  appearance: none;
  cursor: pointer;
  font-family: var(--nob-font);
  min-width: 140px;
}
.nob-search__input {
  flex: 1;
  border: none;
  padding: 12px 14px;
  font-size: 14px;
  outline: none;
  font-family: var(--nob-font);
  min-width: 0;
}
.nob-search__btn {
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 0 22px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: .4px;
  font-family: var(--nob-font);
  white-space: nowrap;
  transition: background .15s;
}
.nob-search__btn:hover { background: var(--lc-primary-deep); }

/* Account + Cart */
.nob-header__actions {
  display: flex;
  gap: 14px;
  justify-content: flex-end;
  align-items: center;
}
.nob-header__account {
  font-size: 12px;
  line-height: 1.35;
  text-decoration: none;
  color: var(--nob-ink);
}
.nob-header__account small { color: var(--nob-muted); display: block; }
.nob-header__account strong { display: block; font-weight: 700; }
.nob-header__sep {
  width: 1px; height: 32px;
  background: var(--nob-border);
  flex-shrink: 0;
}
.nob-cart-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-family: var(--nob-font);
  transition: background .15s;
}
.nob-cart-btn:hover { background: var(--lc-primary-deep); }
.nob-cart-btn__text { font-size: 11px; line-height: 1.25; text-align: left; }
.nob-cart-btn__text small { opacity: .85; display: block; }
.nob-cart-btn__text strong { display: block; font-weight: 800; font-size: 12px; }

/* ---- 5. NAV BAR ---------------------------------------------- */
.nob-nav {
  background: var(--nob-dark);
  color: #fff;
  display: flex;
  align-items: stretch;
  font-family: var(--nob-font);
  position: relative;
  z-index: 100;
}
.nob-nav__depts-btn {
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 14px 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .3px;
  cursor: pointer;
  font-family: var(--nob-font);
  white-space: nowrap;
  transition: background .15s;
}
.nob-nav__depts-btn:hover { background: var(--lc-primary-deep); }
.nob-nav__hamburger {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.nob-nav__hamburger span {
  width: 18px;
  height: 2px;
  background: #fff;
  display: block;
}
.nob-nav__links {
  display: flex;
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0 12px;
  gap: 0;
  align-items: center;
  overflow: hidden;
}
.nob-nav__links li { white-space: nowrap; }
.nob-nav__links a {
  display: block;
  padding: 14px 13px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  transition: color .15s;
}
.nob-nav__links a:hover,
.nob-nav__links li.is-sale a { color: var(--nob-accent); }
.nob-nav__links li.is-sale a {
  display: flex;
  align-items: center;
  gap: 6px;
}
.nob-nav__links li.is-sale a::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--nob-accent);
  border-radius: 50%;
  display: block;
}
.nob-nav__frete {
  padding: 14px 22px;
  font-size: 12px;
  color: var(--nob-accent);
  font-weight: 700;
  border-left: 1px solid #2a2a2c;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* ---- 6. HERO -------------------------------------------------- */
.nob-hero {
  display: grid;
  grid-template-columns: 240px 1fr;
  background: var(--nob-white);
}

/* Sidebar de categorias */
.nob-hero__sidebar {
  border-right: 1px solid var(--nob-border);
  background: var(--lc-paper);
}
.nob-hero__sidebar-title {
  padding: 13px 18px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: var(--nob-muted);
  border-bottom: 1px solid var(--nob-border);
  text-transform: uppercase;
  font-family: var(--nob-font);
}
.nob-hero__cat-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 12px;
  border-bottom: 1px solid var(--nob-border);
  border-left: 3px solid transparent;
  font-size: 13px;
  font-weight: 500;
  color: var(--nob-ink);
  text-decoration: none;
  transition: border-color .15s, background .15s, color .15s;
  font-family: var(--nob-font);
}
.nob-hero__cat-item:hover,
.nob-hero__cat-item.is-active {
  border-left-color: var(--nob-primary);
  background: var(--nob-white);
  color: var(--nob-primary);
}
/* Image thumbnail on the left */
.nob-hero__cat-item-img {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  overflow: hidden;
  background: #f0ede8;
  display: grid;
  place-items: center;
}
.nob-hero__cat-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nob-hero__cat-item-placeholder {
  font-size: 18px;
  line-height: 1;
}
/* Category name — takes remaining space */
.nob-hero__cat-item-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Arrow on the right */
.nob-hero__cat-item-arrow {
  color: var(--nob-muted);
  font-size: 16px;
  flex-shrink: 0;
  transition: color .15s;
}
.nob-hero__cat-item:hover .nob-hero__cat-item-arrow,
.nob-hero__cat-item.is-active .nob-hero__cat-item-arrow {
  color: var(--nob-primary);
}
.nob-hero__sidebar-more {
  display: block;
  padding: 11px 18px;
  font-size: 12px;
  color: var(--nob-primary);
  font-weight: 700;
  text-decoration: none;
  font-family: var(--nob-font);
}

/* Hero panel */
.nob-hero__panel {
  position: relative;
  background: linear-gradient(115deg, #0E0E10 0%, #1d1d20 60%, #2a2024 100%);
  color: #fff;
  min-height: 440px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
  padding: 50px 52px;
  align-items: center;
}
.nob-hero__stripe {
  position: absolute;
  top: 0; right: 0;
  width: 280px; height: 40px;
  background: repeating-linear-gradient(135deg, var(--nob-accent) 0 18px, var(--nob-dark) 18px 36px);
}
.nob-hero__grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 40px 40px;
}
.nob-hero__content { position: relative; }
.nob-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--nob-primary);
  color: #fff;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  border-radius: 2px;
  text-transform: uppercase;
  font-family: var(--nob-font);
}
.nob-hero__badge-dot {
  width: 6px; height: 6px;
  background: var(--nob-accent);
  border-radius: 50%;
}
.nob-hero__title {
  font-size: clamp(36px, 4.5vw, 60px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -2px;
  margin: 18px 0 16px;
  font-family: var(--nob-font);
}
.nob-hero__title em {
  color: var(--nob-primary);
  font-style: normal;
}
.nob-hero__title mark {
  background: linear-gradient(transparent 60%, var(--nob-accent) 60%);
  color: inherit;
  padding: 0 4px;
}
.nob-hero__desc {
  font-size: 15px;
  color: var(--lc-ink-4);
  max-width: 460px;
  line-height: 1.5;
  margin: 0 0 24px;
}
.nob-hero__price-was {
  font-size: 12px;
  color: #9a9a9d;
  text-decoration: line-through;
  font-family: var(--nob-mono);
}
.nob-hero__price-now {
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1;
}
.nob-hero__price-prefix { font-size: 16px; font-weight: 700; }
.nob-hero__price-main {
  font-size: 56px;
  font-weight: 900;
  font-family: var(--nob-mono);
  letter-spacing: -2px;
  color: var(--nob-accent);
}
.nob-hero__price-cents {
  font-size: 22px;
  font-weight: 900;
  font-family: var(--nob-mono);
  color: var(--nob-accent);
}
.nob-hero__price-pix {
  font-size: 12px;
  color: var(--lc-ink-4);
  margin-top: 4px;
}
.nob-hero__price-pix strong { color: #fff; }
.nob-hero__price-pix b { color: var(--nob-accent); }
.nob-hero__ctas {
  display: flex;
  gap: 12px;
  margin-top: 26px;
  flex-wrap: wrap;
}
.nob-btn-primary {
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 15px 26px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .5px;
  cursor: pointer;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-family: var(--nob-font);
  transition: background .15s;
}
.nob-btn-primary:hover { background: var(--lc-primary-deep); color: #fff; }
.nob-btn-ghost {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.7);
  padding: 15px 22px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .5px;
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  font-family: var(--nob-font);
  transition: border-color .15s, background .15s;
}
.nob-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }
.nob-hero__image {
  position: relative;
  height: 340px;
  display: grid;
  place-items: center;
}
.nob-hero__image-glow {
  position: absolute;
  inset: 20% 10%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(76,166,38,.3) 0%, transparent 70%);
  filter: blur(20px);
}
.nob-hero__image-frame {
  position: relative;
  width: 340px;
  height: 300px;
  background: rgba(255,255,255,.04);
  border: 1px dashed rgba(255,255,255,.15);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.nob-hero__image-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--nob-accent);
  color: var(--nob-dark);
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .5px;
}

/* ---- 7. TRUST STRIP ------------------------------------------ */
.nob-trust {
  background: var(--nob-white);
  border-top: 1px solid var(--nob-border);
  border-bottom: 1px solid var(--nob-border);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  font-family: var(--nob-font);
}
.nob-trust__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px;
  border-right: 1px solid var(--nob-border);
}
.nob-trust__item:last-child { border-right: none; }
.nob-trust__icon {
  width: 44px; height: 44px;
  background: #fff5ef;
  border-radius: 4px;
  display: grid;
  place-items: center;
  font-size: 22px;
  border: 1px solid rgba(76,166,38,.2);
  flex-shrink: 0;
}
.nob-trust__title { font-size: 13px; font-weight: 800; }
.nob-trust__sub { font-size: 11px; color: var(--nob-muted); margin-top: 2px; }

/* ---- 8. SECTION WRAPPER ------------------------------------- */
.nob-section { padding: 40px 32px 28px; }
.nob-section--tight { padding: 28px 32px 16px; }
.nob-section--flush { padding: 0 32px; }

.nob-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 2px solid var(--nob-primary);
  padding-bottom: 10px;
  margin-bottom: 22px;
  font-family: var(--nob-font);
}
.nob-section-title__main { }
.nob-section-title__h {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.5px;
  line-height: 1;
  color: var(--nob-ink);
}
.nob-section-title__sub {
  font-size: 12px;
  color: var(--nob-muted);
  margin-top: 6px;
}
.nob-section-title__link {
  font-size: 12px;
  font-weight: 700;
  color: var(--nob-primary);
  text-decoration: none;
  white-space: nowrap;
}
.nob-section-title__link:hover { text-decoration: underline; }

/* ---- 9. CATEGORY ICON GRID ---------------------------------- */
.nob-cat-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 10px;
}
.nob-cat-card {
  background: var(--nob-white);
  border: 1px solid var(--nob-border);
  border-radius: 4px;
  padding: 12px;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  color: var(--nob-ink);
  transition: border-color .15s, box-shadow .15s;
  font-family: var(--nob-font);
}
.nob-cat-card:hover {
  border-color: var(--nob-primary);
  box-shadow: 0 2px 8px rgba(143,30,174,.12);
  color: var(--nob-primary);
}
.nob-cat-card__img {
  aspect-ratio: 1;
  background: var(--lc-paper);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.nob-cat-card__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nob-cat-card__name {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  min-height: 28px;
}

/* ---- 10. FLASH DEALS ---------------------------------------- */
.nob-flash-wrap { margin: 8px 32px; }
.nob-flash {
  background: var(--nob-dark);
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.nob-flash__stripe {
  height: 8px;
  background: repeating-linear-gradient(135deg, var(--nob-accent) 0 14px, var(--nob-dark) 14px 28px);
}
.nob-flash__inner {
  display: grid;
  grid-template-columns: 300px 1fr;
  align-items: stretch;
}
.nob-flash__sidebar {
  background: var(--nob-primary);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: var(--nob-font);
}
.nob-flash__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  opacity: .9;
  text-transform: uppercase;
}
.nob-flash__title {
  font-size: 36px;
  font-weight: 900;
  line-height: .95;
  letter-spacing: -1px;
  margin-top: 6px;
}
.nob-flash__countdown-label {
  margin-top: 14px;
  font-size: 11px;
  font-weight: 700;
  opacity: .9;
  letter-spacing: .5px;
}
.nob-flash__countdown {
  display: inline-flex;
  gap: 4px;
  margin-top: 8px;
  font-family: var(--nob-mono);
  font-weight: 700;
}
.nob-flash__countdown-cell {
  background: var(--nob-dark);
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 18px;
  min-width: 32px;
  text-align: center;
  display: inline-block;
}
.nob-flash__countdown-sep {
  color: var(--nob-dark);
  font-size: 18px;
  align-self: center;
}
.nob-flash__all-btn {
  margin-top: 18px;
  align-self: flex-start;
  background: var(--nob-white);
  color: var(--nob-primary);
  border: none;
  padding: 12px 18px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .5px;
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  font-family: var(--nob-font);
  transition: background .15s;
}
.nob-flash__all-btn:hover { background: #fef0e6; }
.nob-flash__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

/* Flash card */
.nob-flash-card {
  background: var(--nob-white);
  color: var(--nob-ink);
  border-right: 1px solid var(--nob-border);
  padding: 14px;
  position: relative;
  display: flex;
  flex-direction: column;
  font-family: var(--nob-font);
}
.nob-flash-card:last-child { border-right: none; }
.nob-flash-card__badge {
  position: absolute;
  top: 10px; left: 10px;
  background: var(--nob-accent);
  color: var(--nob-dark);
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .5px;
}
.nob-flash-card__img {
  aspect-ratio: 4/3;
  background: var(--lc-paper);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nob-flash-card__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nob-flash-card__brand {
  font-size: 11px;
  color: #999;
  margin-top: 8px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.nob-flash-card__name {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 4px;
  min-height: 32px;
}
.nob-flash-card__was {
  font-size: 11px;
  color: #999;
  text-decoration: line-through;
  margin-top: 8px;
  font-family: var(--nob-mono);
}
.nob-flash-card__price {
  display: flex;
  align-items: baseline;
  gap: 1px;
  color: var(--nob-primary);
  line-height: 1;
}
.nob-flash-card__price-r { font-size: 12px; font-weight: 700; }
.nob-flash-card__price-main {
  font-size: 26px;
  font-weight: 900;
  font-family: var(--nob-mono);
  letter-spacing: -1px;
}
.nob-flash-card__price-cents {
  font-size: 13px;
  font-weight: 900;
  font-family: var(--nob-mono);
}
.nob-flash-card__inst {
  font-size: 10px;
  color: #666;
  margin-top: 2px;
}
.nob-flash-card__stock { margin-top: 10px; }
.nob-flash-card__stock-label {
  font-size: 10px;
  color: #666;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
}
.nob-flash-card__stock-pct { color: var(--nob-primary); font-weight: 700; }
.nob-flash-card__stock-bar {
  height: 4px;
  background: #eee;
  border-radius: 2px;
  overflow: hidden;
}
.nob-flash-card__stock-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--nob-primary), var(--nob-accent));
}

/* ---- 11. PRODUCT CARD --------------------------------------- */
.nob-product-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.nob-product-grid--4 { grid-template-columns: repeat(4, 1fr); }
.nob-product-grid--3 { grid-template-columns: repeat(3, 1fr); }

.nob-product-card {
  background: var(--nob-white);
  border: 1px solid var(--nob-border);
  border-radius: 4px;
  padding: 12px;
  position: relative;
  display: flex;
  flex-direction: column;
  font-family: var(--nob-font);
  transition: box-shadow .15s;
}
.nob-product-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.nob-product-card__badge {
  position: absolute;
  top: 8px; left: 8px;
  background: var(--nob-primary);
  color: #fff;
  padding: 3px 7px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .5px;
  border-radius: 2px;
  z-index: 1;
}
.nob-product-card__badge--dark { background: var(--nob-dark); }
.nob-product-card__wish {
  position: absolute;
  top: 8px; right: 8px;
  width: 26px; height: 26px;
  border: 1px solid var(--nob-border);
  background: var(--nob-white);
  border-radius: 50%;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 14px;
  color: var(--nob-muted);
  z-index: 1;
  transition: border-color .15s, color .15s;
}
.nob-product-card__wish:hover { border-color: var(--nob-primary); color: var(--nob-primary); }
.nob-product-card__img {
  aspect-ratio: 1;
  background: var(--lc-paper);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nob-product-card__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nob-product-card__brand {
  font-size: 10px;
  color: var(--nob-muted);
  margin-top: 8px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.nob-product-card__name {
  font-size: 12px;
  line-height: 1.35;
  margin-top: 3px;
  min-height: 32px;
  font-weight: 500;
}
.nob-product-card__stars {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.nob-product-card__stars-val {
  color: #f59e0b;
  font-size: 11px;
  letter-spacing: 1px;
}
.nob-product-card__stars-count { font-size: 10px; color: var(--nob-muted); }
.nob-product-card__was {
  margin-top: 8px;
  font-size: 10px;
  color: var(--nob-muted);
  text-decoration: line-through;
  font-family: var(--nob-mono);
}
.nob-product-card__price {
  display: flex;
  align-items: baseline;
  gap: 1px;
  line-height: 1;
}
.nob-product-card__price-r { font-size: 11px; font-weight: 700; }
.nob-product-card__price-main {
  font-size: 22px;
  font-weight: 900;
  font-family: var(--nob-mono);
  letter-spacing: -.8px;
}
.nob-product-card__price-cents { font-size: 12px; font-weight: 900; font-family: var(--nob-mono); }
.nob-product-card__price-avista { font-size: 9px; color: var(--nob-muted); margin-left: 4px; }
.nob-product-card__inst { font-size: 10px; color: var(--nob-muted); margin-top: 1px; }
.nob-product-card__buy {
  margin-top: auto;
  padding-top: 10px;
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 9px 0;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .5px;
  cursor: pointer;
  border-radius: 3px;
  width: 100%;
  font-family: var(--nob-font);
  transition: background .15s;
  text-align: center;
  text-decoration: none;
  display: block;
}
.nob-product-card__buy:hover { background: var(--lc-primary-deep); color: #fff; }

/* ---- 12. B2B + FRETE BANNERS -------------------------------- */
.nob-b2b-wrap {
  margin: 12px 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.nob-b2b-dark {
  background: var(--nob-dark);
  color: #fff;
  padding: 32px 36px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 28px;
  position: relative;
  overflow: hidden;
  font-family: var(--nob-font);
}
.nob-b2b-dark__glow {
  position: absolute;
  top: -20px; right: -20px;
  width: 180px; height: 180px;
  background: var(--nob-primary);
  opacity: .18;
  border-radius: 50%;
  filter: blur(30px);
}
.nob-b2b-dark__content { position: relative; flex: 1; }
.nob-b2b-dark__eyebrow {
  font-size: 11px;
  color: var(--nob-primary);
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.nob-b2b-dark__title {
  font-size: 26px;
  font-weight: 900;
  line-height: 1.05;
  margin-top: 8px;
  letter-spacing: -.5px;
}
.nob-b2b-dark__desc {
  font-size: 13px;
  color: var(--lc-ink-4);
  margin-top: 10px;
  line-height: 1.5;
}
.nob-b2b-dark__btn {
  margin-top: 18px;
  display: inline-block;
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 13px 22px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .5px;
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  font-family: var(--nob-font);
}
.nob-b2b-dark__stats {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nob-stat {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  padding: 8px 12px;
  border-radius: 4px;
  min-width: 130px;
}
.nob-stat__label { font-size: 9px; opacity: .6; letter-spacing: 1.5px; text-transform: uppercase; }
.nob-stat__val {
  font-size: 18px;
  font-weight: 800;
  color: var(--nob-accent);
  font-family: var(--nob-mono);
}
.nob-b2b-orange {
  background: var(--nob-primary);
  color: #fff;
  padding: 32px 36px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 24px;
  position: relative;
  overflow: hidden;
  font-family: var(--nob-font);
}
.nob-b2b-orange__stripe {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 24px;
  background: repeating-linear-gradient(135deg, var(--nob-accent) 0 12px, var(--nob-primary) 12px 24px);
}
.nob-b2b-orange__content { flex: 1; position: relative; }
.nob-b2b-orange__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 2px; opacity: .9; }
.nob-b2b-orange__title {
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  margin-top: 8px;
  letter-spacing: -.8px;
}
.nob-b2b-orange__desc { font-size: 13px; opacity: .95; margin-top: 10px; }
.nob-b2b-orange__desc b { color: var(--nob-accent); }
.nob-b2b-orange__icon { font-size: 64px; opacity: .9; }
.nob-b2b-orange__icon svg { width: 72px; height: 72px; }

/* ---- 13. CATEGORY FEATURE + PRODUCT GRID -------------------- */
.nob-cat-section {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  align-items: stretch;
}
/* Feature card ocupa SOMENTE a 1ª linha (col 1 ou col 5).
   Produtos fluem nas células restantes da linha 1 + linha 2 inteira. */
.nob-cat-section--left  > .nob-cat-feature { grid-column: 1; grid-row: 1; }
.nob-cat-section--right > .nob-cat-feature { grid-column: 5; grid-row: 1; }
/* O wrapper interno .nob-product-grid não cria sub-grid: produtos fluem direto no grid pai. */
.nob-cat-section .nob-product-grid,
.nob-cat-section .nob-product-grid--4,
.nob-cat-section .nob-product-grid--5 { display: contents !important; }

.nob-cat-feature {
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 380px;
  color: #fff;
  text-decoration: none;
}
.nob-cat-feature__bg {
  position: absolute;
  inset: 0;
}
.nob-cat-feature__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .5;
}
.nob-cat-feature__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #0E0E10 0%, #2a1f1a 100%);
  opacity: .85;
}
.nob-cat-feature__content { position: relative; padding: 26px; }
.nob-cat-feature__eyebrow {
  font-size: 11px;
  color: var(--nob-accent);
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: var(--nob-font);
}
.nob-cat-feature__title {
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  margin-top: 8px;
  letter-spacing: -.8px;
  font-family: var(--nob-font);
}
.nob-cat-feature__desc {
  font-size: 12px;
  margin-top: 10px;
  opacity: .9;
  line-height: 1.5;
  font-family: var(--nob-font);
}
.nob-cat-feature__btn {
  display: inline-block;
  margin-top: 16px;
  background: var(--nob-primary);
  color: #fff;
  border: none;
  padding: 11px 18px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .5px;
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  font-family: var(--nob-font);
}

/* ---- 13b. HOME PRODUCT CAROUSEL ------------------------------- */
.nob-home-carousel {
  padding-top: 28px;
  padding-bottom: 28px;
  overflow: hidden;
}
.nob-home-carousel__head {
  margin-bottom: 18px;
}
.nob-home-carousel__shell {
  position: relative;
}
.nob-home-carousel__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px 2px 8px;
}
.nob-home-carousel__viewport::-webkit-scrollbar {
  display: none;
}
.nob-home-carousel__track {
  display: flex;
  align-items: stretch;
  gap: 12px;
}
.nob-home-carousel__item {
  flex: 0 0 calc((100% - 48px) / 5);
  min-width: 0;
  scroll-snap-align: start;
}
.nob-home-carousel__item > .nob-arc-card {
  height: 100%;
}
.nob-home-carousel__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(143,30,174,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--nob-primary);
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(48,37,52,.16);
  transform: translateY(-50%);
  transition: background .16s ease, color .16s ease, opacity .16s ease, transform .16s ease;
}
.nob-home-carousel__nav:hover {
  background: var(--nob-accent);
  color: #fff;
  transform: translateY(-50%) scale(1.04);
}
.nob-home-carousel__nav:disabled {
  opacity: .35;
  pointer-events: none;
}
.nob-home-carousel__nav--prev {
  left: -14px;
}
.nob-home-carousel__nav--next {
  right: -14px;
}

/* ---- 14. CATEGORY STRIP (3 banners) ------------------------- */
.nob-cat-strip {
  padding: 24px 32px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.nob-cat-strip-banner {
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  min-height: 160px;
  display: flex;
  cursor: pointer;
  text-decoration: none;
}
.nob-cat-strip-banner__content {
  flex: 1;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.nob-cat-strip-banner__eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--nob-accent);
  text-transform: uppercase;
  font-family: var(--nob-font);
}
.nob-cat-strip-banner__title {
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  margin-top: 8px;
  letter-spacing: -.5px;
  font-family: var(--nob-font);
}
.nob-cat-strip-banner__sub {
  font-size: 11px;
  opacity: .85;
  margin-top: 6px;
  font-family: var(--nob-font);
}
.nob-cat-strip-banner__cta {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--nob-accent);
  font-family: var(--nob-font);
}

/* ---- 15. BRANDS -------------------------------------------- */
.nob-brands-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
}
.nob-brand-card {
  aspect-ratio: 2/1;
  border: 1px solid var(--nob-border);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 13px;
  color: var(--nob-muted);
  letter-spacing: .5px;
  background: var(--lc-paper);
  border-radius: 4px;
  font-family: var(--nob-font);
}

/* ---- 17. NEW FOOTER ---------------------------------------- */
.nob-footer-wrap {
  background: #161616;
  color: var(--lc-ink-4);
  margin-top: 40px;
  font-family: var(--nob-font);
}

/* Newsletter strip */
.nob-newsletter {
  background: var(--nob-primary);
  padding: 22px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.nob-newsletter__left {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 0;
}
.nob-newsletter__icon { font-size: 36px; flex-shrink: 0; }
.nob-newsletter__title { font-size: 18px; font-weight: 800; }
.nob-newsletter__sub { font-size: 12px; opacity: .92; margin-top: 2px; }
.nob-newsletter__form {
  display: flex;
  flex: 0 0 420px;
  background: var(--nob-white);
  border-radius: 4px;
  overflow: hidden;
}
.nob-newsletter__input {
  flex: 1;
  border: none;
  padding: 12px 16px;
  font-size: 13px;
  outline: none;
  font-family: var(--nob-font);
  min-width: 0;
}
.nob-newsletter__btn {
  background: var(--nob-dark);
  color: #fff;
  border: none;
  padding: 0 22px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .5px;
  cursor: pointer;
  font-family: var(--nob-font);
  white-space: nowrap;
}
.nob-newsletter__btn:hover { background: #333; }

/* Footer trust bar */
.nob-footer-trust {
  border-bottom: 1px solid #2a2a2c;
  padding: 22px 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.nob-footer-trust__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.nob-footer-trust__icon {
  width: 42px; height: 42px;
  background: #222;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 20px;
  flex-shrink: 0;
}
.nob-footer-trust__title {
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  letter-spacing: .5px;
  white-space: nowrap;
}
.nob-footer-trust__sub {
  font-size: 11px;
  color: #9a9aa0;
  margin-top: 2px;
  white-space: nowrap;
}

/* Footer main grid */
.nob-footer-main {
  padding: 40px 32px 32px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 36px;
}
.nob-footer-brand { }
.nob-footer-brand__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  text-decoration: none;
}
.nob-footer-brand__icon {
  width: 38px; height: 38px;
  background: var(--nob-primary);
  display: grid;
  place-items: center;
  transform: rotate(-8deg);
  border-radius: 4px;
}
.nob-footer-brand__icon span {
  color: #fff;
  font-weight: 900;
  font-size: 22px;
  transform: rotate(8deg);
  display: block;
}
.nob-footer-brand__wordmark {
  color: #fff;
  font-weight: 900;
  font-size: 22px;
}
.nob-footer-brand__wordmark em {
  color: var(--nob-primary);
  font-style: normal;
}
.nob-footer-brand__desc { font-size: 12px; line-height: 1.6; }
.nob-footer-brand__info {
  margin-top: 18px;
  font-size: 11px;
  color: #7c7c80;
  line-height: 1.6;
  font-family: var(--nob-mono);
}
.nob-footer-brand__info b { color: #fff; }
.nob-footer-social { margin-top: 18px; }
.nob-footer-social__label {
  font-size: 11px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.nob-footer-social__icons { display: flex; gap: 8px; }
.nob-footer-social__icon {
  width: 36px; height: 36px;
  background: #222;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-weight: 800;
  font-size: 11px;
  text-decoration: none;
  transition: background .15s;
}
.nob-footer-social__icon:hover { background: var(--nob-primary); color: #fff; }
.nob-footer-col__title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #fff;
  text-transform: uppercase;
}
.nob-footer-col__links {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.nob-footer-col__links a {
  font-size: 12.5px;
  color: var(--lc-ink-4);
  text-decoration: none;
  transition: color .15s;
}
.nob-footer-col__links a:hover { color: var(--nob-primary); }

/* Footer payment row */
.nob-footer-payment {
  border-top: 1px solid #2a2a2c;
  padding: 24px 32px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 32px;
  align-items: flex-start;
}
.nob-footer-payment__label {
  font-size: 11px;
  color: #fff;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.nob-footer-payment__items {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.nob-footer-payment__img {
  height: 28px;
  width: auto;
  filter: brightness(.85);
}

.nob-footer-seals__items {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.nob-footer-seals__img { height: 36px; width: auto; opacity: .8; }

/* Footer bottom bar */
.nob-footer-bottom {
  border-top: 1px solid #2a2a2c;
  padding: 14px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: #7c7c80;
  flex-wrap: wrap;
  gap: 12px;
}
.nob-footer-bottom__ver { font-family: var(--nob-mono); }

/* ---- 18. SPLIT SECTION (Hidráulica) ------------------------- */
.nob-split-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nob-split-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
  font-family: var(--nob-font);
}
.nob-split-section__title {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.3px;
}
.nob-split-section__link {
  font-size: 11px;
  color: var(--nob-primary);
  font-weight: 700;
  text-decoration: none;
}

/* ================================================================
   20. CATEGORY PAGE (Archive) — .nob-archive-*
   ================================================================ */

/* Hero */
.nob-archive-hero { background: #fff; border-bottom: 1px solid var(--nob-border); }
body.nob-active .woocommerce-archive, body.nob-active .woocommerce-page.woocommerce-shop { background: #f3f4f6; }
.nob-archive-breadcrumb { padding: 14px 32px; font-size: 12px; color: var(--nob-muted); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.nob-archive-breadcrumb a { color: var(--nob-muted); text-decoration: none; }
.nob-archive-breadcrumb a:hover { color: var(--nob-primary); }
.nob-archive-breadcrumb__sep { color: var(--nob-border); }
.nob-archive-breadcrumb__current { color: var(--nob-dark); font-weight: 600; }
.nob-archive-cat-badge { display: inline-flex; align-items: center; gap: 6px; background: var(--nob-primary); color: #fff; padding: 4px 10px; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; border-radius: 2px; text-transform: uppercase; }
.nob-archive-cat-badge__dot { width: 6px; height: 6px; background: var(--nob-accent); border-radius: 50%; }
.nob-archive-hero__content { padding: 24px 32px 28px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; }
.nob-archive-hero__left { min-width: 0; }
.nob-archive-hero__title { font-size: clamp(28px,3.2vw,44px); font-weight: 900; letter-spacing: -1.5px; line-height: 1; margin: 14px 0 12px; word-break: keep-all; overflow-wrap: normal; hyphens: none; }
.nob-archive-hero__desc { font-size: 14px; color: var(--nob-muted); max-width: 600px; line-height: 1.55; margin: 0; }
.nob-archive-hero__desc b { color: var(--nob-dark); }
.nob-archive-subcat-cards { display: flex; gap: 12px; }
.nob-archive-subcat-card { flex: 1; background: #fff; border: 1px solid var(--nob-border); padding: 14px; border-radius: 4px; cursor: pointer; transition: border-color .2s, box-shadow .2s; text-decoration: none; color: inherit; display: block; }
.nob-archive-subcat-card:hover { border-color: var(--nob-primary); box-shadow: 0 2px 8px rgba(143,30,174,.12); }
.nob-archive-subcat-card__label { font-size: 10px; color: var(--nob-muted); font-weight: 700; letter-spacing: 1.5px; font-family: var(--nob-mono); text-transform: uppercase; }
.nob-archive-subcat-card__count { font-size: 24px; font-weight: 900; font-family: var(--nob-mono); margin-top: 4px; }
.nob-archive-subcat-card__link { font-size: 11px; color: var(--nob-primary); font-weight: 700; margin-top: 4px; }

/* Body: sidebar + results */
.nob-archive-body { padding: 24px 32px; display: grid; grid-template-columns: 260px 1fr; gap: 24px; max-width: 1440px; margin: 0 auto; }
.nob-archive-sidebar { background: #fff; border: 1px solid var(--nob-border); border-radius: 4px; padding: 4px 18px 18px; align-self: flex-start; position: sticky; top: 16px; }
.nob-archive-sidebar__header { display: flex; justify-content: space-between; align-items: center; padding: 14px 0 6px; }
.nob-archive-sidebar__title { font-size: 14px; font-weight: 900; }
.nob-archive-sidebar__clear { background: none; border: none; font-size: 11px; color: var(--nob-primary); font-weight: 700; cursor: pointer; }
.nob-filter-group { border-bottom: 1px solid var(--nob-border); padding: 14px 0; }
.nob-filter-group__header { display: flex; justify-content: space-between; cursor: pointer; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; user-select: none; }
.nob-filter-group__toggle { color: var(--nob-muted); font-size: 16px; line-height: 1; }
.nob-filter-group__body { margin-top: 10px; display: flex; flex-direction: column; gap: 7px; }
.nob-filter-group__body.is-hidden { display: none; }
.nob-filter-check { display: flex; align-items: center; gap: 8px; font-size: 12px; cursor: pointer; }
.nob-filter-check input[type="checkbox"] { accent-color: var(--nob-primary); flex-shrink: 0; }
.nob-filter-check__count { margin-left: auto; color: var(--nob-muted); font-size: 11px; font-family: var(--nob-mono); }
.nob-filter-price-range { width: 100%; accent-color: var(--nob-primary); }
.nob-filter-price-labels { display: flex; justify-content: space-between; font-size: 11px; font-family: var(--nob-mono); color: var(--nob-muted); margin-top: 4px; }
.nob-filter-stars { display: flex; align-items: center; gap: 6px; font-size: 12px; cursor: pointer; }
.nob-filter-stars input[type="checkbox"] { accent-color: var(--nob-primary); }
.nob-filter-stars__stars { color: var(--nob-accent); font-size: 12px; }
.nob-filter-stars__label { color: var(--nob-muted); font-size: 11px; }

/* WC Price Filter widget button */
.nob-filter-group__body .woocommerce-Price-filter .button,
.nob-filter-group__body button[type="submit"] { background: var(--nob-primary) !important; color: #fff !important; border: none !important; border-radius: 3px !important; font-weight: 800 !important; font-size: 12px !important; letter-spacing: .5px !important; padding: 8px 18px !important; cursor: pointer !important; text-transform: uppercase !important; width: 100%; margin-bottom: 8px; }
.nob-filter-group__body .price_slider_amount .price_label { font-size: 12px; color: var(--nob-muted); display: block; margin-bottom: 8px; }

/* Toolbar + results */
.nob-archive-results { min-width: 0; }
.nob-archive-toolbar { background: #fff; border: 1px solid var(--nob-border); border-radius: 4px; padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.nob-archive-toolbar__count { font-size: 13px; }
.nob-archive-toolbar__count b { font-family: var(--nob-mono); }
.nob-archive-toolbar__right { display: flex; align-items: center; gap: 12px; }
.nob-archive-sort-label { font-size: 11px; color: var(--nob-muted); }
.nob-archive-sort { border: 1px solid var(--nob-border); padding: 8px 12px; font-size: 12px; font-weight: 600; border-radius: 4px; background: #fff; cursor: pointer; }
.nob-archive-view-btns { display: flex; border: 1px solid var(--nob-border); border-radius: 4px; overflow: hidden; }
.nob-archive-view-btn { background: #fff; color: var(--nob-dark); border: none; padding: 8px 10px; cursor: pointer; transition: background .15s, color .15s; font-size: 14px; line-height: 1; }
.nob-archive-view-btn.is-active { background: var(--nob-primary); color: #fff; }
.nob-archive-active-filters { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.nob-archive-chip { background: #fff; border: 1px solid var(--nob-primary); color: var(--nob-primary); padding: 4px 10px; font-size: 11px; font-weight: 700; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; text-decoration: none; transition: background .15s; }
.nob-archive-chip:hover { background: #fff5f0; }
.nob-archive-promo-banner { background: var(--nob-dark); color: #fff; border-radius: 4px; padding: 14px 18px; margin-bottom: 14px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.nob-archive-promo-banner__left { display: flex; align-items: center; gap: 12px; }
.nob-archive-promo-banner__badge { background: var(--nob-accent); color: var(--nob-dark); padding: 4px 10px; font-size: 11px; font-weight: 800; letter-spacing: .5px; flex-shrink: 0; }
.nob-archive-promo-banner__text { font-size: 13px; }
.nob-archive-promo-banner__link { font-size: 11px; color: var(--nob-accent); font-weight: 700; text-decoration: none; white-space: nowrap; }
.nob-archive-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }

/* Archive product card */
.nob-arc-card { background: #fff; border: none; border-radius: 6px; padding: 12px; position: relative; display: flex; flex-direction: column; transition: box-shadow .2s; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.nob-arc-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.13); }
.nob-arc-card__badge { position: absolute; top: 8px; left: 8px; background: var(--nob-primary); color: #fff; padding: 3px 7px; font-size: 9px; font-weight: 800; letter-spacing: .5px; z-index: 1; border-radius: 2px; }
.nob-arc-card__badge--dark { background: var(--nob-dark); }
.nob-arc-card__wish { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; border: 1px solid var(--nob-border); background: #fff; border-radius: 50%; cursor: pointer; font-size: 14px; color: var(--nob-muted); z-index: 1; display: flex; align-items: center; justify-content: center; transition: color .15s, border-color .15s; }
.nob-arc-card__wish:hover { color: var(--nob-primary); border-color: var(--nob-primary); }
.nob-arc-card__img-wrap { display: block; aspect-ratio: 1; background: var(--lc-paper); border-radius: 4px; overflow: hidden; margin-bottom: 8px; text-decoration: none; }
.nob-arc-card__img-wrap img { width: 100%; height: 100%; object-fit: contain; }
.nob-arc-card__brand { font-size: 10px; color: var(--nob-muted); font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.nob-arc-card__name { font-size: 12px; line-height: 1.3; margin-top: 3px; min-height: 32px; font-weight: 500; text-decoration: none; color: var(--nob-dark); display: block; }
.nob-arc-card__name:hover { color: var(--nob-primary); text-decoration: none; }
.nob-arc-card__stars { display: flex; align-items: center; gap: 5px; margin-top: 4px; }
.nob-arc-card__stars-icons { color: var(--nob-accent); font-size: 11px; }
.nob-arc-card__stars-count { font-size: 10px; color: var(--nob-muted); }
.nob-arc-card__was { margin-top: 8px; font-size: 10px; color: var(--nob-muted); text-decoration: line-through; font-family: var(--nob-mono); }
.nob-arc-card__price { display: flex; align-items: baseline; gap: 1px; }
.nob-arc-card__price-curr { font-size: 11px; font-weight: 700; }
.nob-arc-card__price-int { font-size: 22px; font-weight: 900; font-family: var(--nob-mono); letter-spacing: -.8px; }
.nob-arc-card__price-cents { font-size: 12px; font-weight: 900; font-family: var(--nob-mono); }
.nob-arc-card__installments { font-size: 10px; color: var(--nob-muted); margin-top: 1px; }
/* =============================================================
   WC LOOP WRAPPER NORMALIZATION
   Neutraliza <ul class="products"> e <li class="product"> default
   pra que o renderer .nob-arc-card seja o único responsável visual.
   Aplica em: related products (PDP), shortcodes [products],
   home grids, search, etc.
   ============================================================= */
ul.products,
.related ul.products,
.upsells ul.products,
.cross-sells ul.products,
.nob-archive-grid,
.nob-product-grid,
.nob-product-grid--4,
.nob-product-grid--5,
.nob-product-grid--6 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
ul.products li.product {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: auto !important;
  float: none !important;
  display: block !important;
}
ul.products li.product > .nob-arc-card { width: 100%; height: 100%; }
ul.products li.product > a.woocommerce-LoopProduct-link,
ul.products li.product > h2.woocommerce-loop-product__title,
ul.products li.product > .price,
ul.products li.product > .button { display: none !important; }
@media (max-width: 1280px) {
  ul.products,
  .nob-archive-grid,
  .nob-product-grid { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 1024px) {
  ul.products,
  .nob-archive-grid,
  .nob-product-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  ul.products,
  .nob-archive-grid,
  .nob-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
}

/* Defensiva: previne overflow horizontal do body causado por elementos com width fixo legado */
html, body { overflow-x: hidden; max-width: 100vw; }

/* Card de produto v3 — fino, 5 col desktop, com DE/% off + Pix verde */
.nob-arc-card { padding: 10px !important; border-radius: 6px !important; box-shadow: 0 1px 3px rgba(0,0,0,.08) !important; border: 0 !important; gap: 0 !important; }
.nob-arc-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.12) !important; }

/* Badges empilhados no topo-left (ENTREGA RÁPIDA + Frete Grátis) */
.nob-arc-card__badges { position: absolute; top: 8px; left: 8px; display: flex; flex-direction: column; gap: 3px; z-index: 2; }
.nob-arc-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px; font-size: 9.5px; font-weight: 600; line-height: 1; letter-spacing: 0; text-transform: none; font-family: var(--nob-display); white-space: nowrap; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
.nob-arc-badge svg { flex-shrink: 0; }
.nob-arc-badge--fast { background: var(--nob-primary); color: #fff; }
.nob-arc-badge--fast b { font-weight: 800; }
.nob-arc-badge--free { background: var(--lc-success); color: #fff; }

/* Image área */
.nob-arc-card__img-wrap { aspect-ratio: 1 !important; background: #fff !important; border-radius: 4px !important; overflow: hidden !important; padding: 6px; display: grid; place-items: center; margin-bottom: 6px; }
.nob-arc-card__img-wrap img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Wish */
.nob-arc-card__wish { right: 8px !important; top: 8px !important; width: 24px !important; height: 24px !important; font-size: 12px !important; }

/* Tipografia da info */
.nob-arc-card__brand { display: none; }
.nob-arc-card__name { font-size: 12.5px !important; line-height: 1.3 !important; min-height: 32px !important; color: #2d2f33 !important; font-weight: 500 !important; margin-top: 0 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nob-arc-card__name:hover { color: var(--nob-primary) !important; }

/* Rating numérico (4.5) + contagem (N) ao lado das estrelas. Linha some quando o produto não tem avaliação. */
.nob-arc-card__stars { margin-top: 6px; gap: 4px; align-items: center; display: flex; }
.nob-arc-card__stars-icons { color: var(--lc-warn); font-size: 12px; letter-spacing: 1px; }
.nob-arc-card__stars-rating { font-size: 11px; font-weight: 700; color: var(--nob-dark); font-family: var(--nob-display); }
.nob-arc-card__stars-count { font-size: 11px; color: var(--nob-muted); font-family: var(--nob-display); }

/* Linha "DE: R$ X" + badge ✓N% — só aparece se houver desconto */
.nob-arc-card__was-row { display: flex; align-items: center; gap: 6px; margin-top: 6px; flex-wrap: wrap; line-height: 1; }
.nob-arc-card__was-label { font-size: 10px; font-weight: 600; color: var(--nob-muted); }
.nob-arc-card__was-val { font-size: 11px; color: var(--nob-muted); text-decoration: line-through; font-family: var(--nob-display); font-weight: 500; }
.nob-arc-card__discount {
  display: inline-flex; align-items: center; gap: 3px;
  background: var(--lc-success); color: #fff;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 10px; font-weight: 800;
  font-family: var(--nob-display);
}
.nob-arc-card__discount svg { stroke: #fff; }

/* Preço — grande, dark (preço Avista/Pix) */
.nob-arc-card__was { display: none; }
.nob-arc-card__price { margin-top: 4px !important; align-items: baseline; gap: 0 !important; color: var(--nob-dark); }
.nob-arc-card__price-curr { font-size: 12px !important; font-weight: 700 !important; color: var(--nob-dark); margin-right: 2px; }
.nob-arc-card__price-int { font-size: 22px !important; font-weight: 800 !important; letter-spacing: -.5px !important; color: var(--nob-dark); line-height: 1; }
.nob-arc-card__price-cents { font-size: 12px !important; font-weight: 800 !important; color: var(--nob-dark); }

/* "à vista no Pix ou Boleto" — verde, igual ao anexo #2 */
.nob-arc-card__pix { font-size: 11px; color: var(--lc-success); margin-top: 2px; font-weight: 500; }
.nob-arc-card__pix b { color: var(--lc-success); font-weight: 700; }

/* Parcelamento cartão */
.nob-arc-card__installments { font-size: 10.5px !important; color: var(--nob-muted) !important; margin-top: 4px !important; line-height: 1.35 !important; font-weight: 400 !important; }
.nob-arc-card__installments b { color: var(--nob-dark); font-weight: 700; }

/* Linha do buy: stepper + botão verde */
.nob-arc-card__buy { display: flex; align-items: stretch; gap: 6px; margin-top: 8px; }
.nob-arc-card__qty {
  display: inline-flex; align-items: center;
  border: 1px solid var(--lc-success);
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
  flex-shrink: 0;
}
.nob-arc-card__qty-btn {
  background: transparent; border: 0;
  width: 22px; height: 32px;
  font-size: 14px; font-weight: 700;
  color: var(--lc-success);
  cursor: pointer;
  font-family: var(--nob-display);
  display: inline-grid; place-items: center;
  transition: background .15s;
  padding: 0;
}
.nob-arc-card__qty-btn:hover { background: #f0fdf4; }
.nob-arc-card__qty-val {
  min-width: 18px; text-align: center;
  font-size: 13px; font-weight: 700; color: var(--nob-dark);
  font-family: var(--nob-display);
  user-select: none;
}

/* Botão "Adicionar ao carrinho" — verde outline */
.nob-arc-card__btn,
button.nob-arc-card__btn,
.nob-arc-card a.nob-arc-card__btn,
.nob-arc-card button.nob-arc-card__btn {
  flex: 1 !important;
  margin-top: 0 !important;
  background: #fff !important;
  color: var(--lc-success) !important;
  border: 1px solid var(--lc-success) !important;
  padding: 7px 6px !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  border-radius: 5px !important;
  width: auto !important;
  transition: background .15s, color .15s !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: var(--nob-display) !important;
  white-space: nowrap;
  line-height: 1.2 !important;
}
.nob-arc-card__btn:hover,
button.nob-arc-card__btn:hover {
  background: var(--lc-success) !important;
  color: #fff !important;
}
.nob-arc-card__btn--out {
  flex: 1 1 100% !important;
  width: 100% !important;
}
.nob-arc-card__btn:focus { outline: 2px solid var(--lc-success); outline-offset: 2px; }

/* Archive manual load more */
.nob-archive-load-more {
  min-height: 76px;
  margin: 28px 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--nob-muted);
  font-family: var(--nob-display);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.nob-archive-load-more__spinner {
  width: 22px;
  height: 22px;
  display: none;
  border: 3px solid rgba(143,30,174,.18);
  border-top-color: var(--nob-accent);
  border-radius: 999px;
  animation: nobArchiveSpin .72s linear infinite;
}
.nob-archive-load-more.is-loading .nob-archive-load-more__spinner {
  display: inline-block;
}
.nob-archive-load-more.is-complete {
  color: var(--nob-accent);
}
.nob-archive-load-more.has-error {
  color: #8a2020;
}
.nob-archive-load-more__btn {
  display: none;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 6px;
  background: var(--nob-accent);
  color: #fff;
  font-family: var(--nob-display);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.nob-archive-load-more.has-manual .nob-archive-load-more__btn {
  display: inline-flex;
  align-items: center;
}
.nob-archive-load-more__btn:disabled {
  opacity: .65;
  cursor: wait;
}
.nob-arc-card.is-new {
  animation: nobArchiveCardIn .28s ease-out both;
}
@keyframes nobArchiveSpin {
  to { transform: rotate(360deg); }
}
@keyframes nobArchiveCardIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ================================================================
   21. PDP — .nob-pdp-*
   ================================================================ */

/* FOMO strip at top */
.nob-pdp-fomo-strip { background: var(--nob-primary); color: #fff; display: flex; align-items: center; justify-content: center; gap: 32px; padding: 10px 32px; font-size: 12px; font-weight: 800; letter-spacing: .5px; flex-wrap: wrap; }
.nob-pdp-fomo-strip__item { display: flex; align-items: center; gap: 8px; }
.nob-pdp-fomo-strip__sep { opacity: .4; font-size: 18px; }

/* Restyle gallery to vertical thumb rail */
body.nob-active .ob-gallery { display: flex !important; flex-direction: row !important; gap: 12px; align-items: flex-start; }
body.nob-active .ob-gallery__thumbs { order: -1; display: flex !important; flex-direction: column !important; width: 80px !important; flex-shrink: 0 !important; gap: 6px !important; overflow-x: visible !important; padding: 0 !important; }
body.nob-active .ob-gallery__thumb { width: 80px !important; height: 80px !important; border-radius: 4px !important; flex-shrink: 0 !important; border: 2px solid transparent !important; transition: border-color .15s !important; }
body.nob-active .ob-gallery__thumb.is-active,
body.nob-active .ob-gallery__thumb:hover { border-color: var(--nob-primary) !important; }
body.nob-active .ob-gallery__main { flex: 1 !important; border-radius: 4px !important; background: var(--lc-paper) !important; }

/* Live viewers badge on main image */
.nob-pdp-viewers { position: absolute; bottom: 12px; left: 12px; background: rgba(14,14,16,.75); color: #fff; padding: 5px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 6px; backdrop-filter: blur(4px); pointer-events: none; }
.nob-pdp-viewers__dot { width: 7px; height: 7px; background: #4ade80; border-radius: 50%; animation: nob-blink 1.5s ease-in-out infinite; flex-shrink: 0; }

@keyframes nob-blink { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }

/* Sticky bar CTA → roxo/verde para Obra Certa */
body.nob-active #ob-sticky-bar .ob-btn--primary,
body.nob-active .ob-sticky-bar__btn.ob-btn--primary,
body.nob-active .ob-sticky-bar__add {
  background: var(--nob-primary) !important;
  border-color: var(--nob-primary) !important;
  box-shadow: 0 4px 14px rgba(143,30,174,.28) !important;
}
body.nob-active #ob-sticky-bar .ob-btn--primary:hover,
body.nob-active .ob-sticky-bar__add:hover {
  background: var(--lc-primary-deep) !important;
  border-color: var(--lc-primary-deep) !important;
}

/* Countdown bar → dark for Direção A (overrides green from ob-product-rebuild) */
body.nob-active .ob-countdown-bar {
  background: var(--nob-dark) !important;
  border-radius: 4px 4px 0 0 !important;
}
body.nob-active .ob-countdown-bar__time {
  color: var(--nob-accent) !important;
}

/* Add-to-cart button → roxo/verde (Direção Obra Certa) */
body.nob-active .ob-pcard-add-btn {
  background: var(--nob-primary) !important;
  box-shadow: 0 4px 14px rgba(143,30,174,.35) !important;
}
body.nob-active .ob-pcard-add-btn:hover {
  background: var(--lc-primary-deep) !important;
  box-shadow: 0 6px 20px rgba(143,30,174,.45) !important;
}
body.nob-active .ob-pcard-add-btn:active {
  background: #C04010 !important;
  box-shadow: 0 1px 4px rgba(143,30,174,.3) !important;
}
body.nob-active .ob-pcard-add-btn.is-added {
  background: var(--lc-success) !important;
}

/* Price display → JetBrains Mono for Direção A */
body.nob-active .ob-pcard-price__main {
  font-family: var(--nob-mono) !important;
  font-weight: 900 !important;
  letter-spacing: -1px !important;
  color: var(--nob-ink) !important;
}
body.nob-active .ob-pcard-pix-row__val {
  font-family: var(--nob-mono) !important;
  font-weight: 800 !important;
}
body.nob-active .ob-pcard-installment {
  font-family: var(--nob-mono) !important;
  font-size: 13px !important;
}

/* Price: was label + "Por apenas:" */
.ob-pcard-price__was-label { font-size: 11px; color: var(--nob-muted); margin-right: 4px; }
.ob-pcard-price__por-apenas { font-size: 11px; color: var(--nob-muted); font-weight: 600; margin: 4px 0 2px; }

/* Price main → roxo */
body.nob-active .ob-pcard-price__main {
  color: var(--nob-primary) !important;
  font-family: var(--nob-mono) !important;
  font-weight: 900 !important;
  letter-spacing: -1px !important;
  font-size: 36px !important;
}

/* Installment line */
body.nob-active .ob-pcard-installment {
  font-size: 13px !important;
  color: var(--nob-muted) !important;
  margin: 4px 0 12px !important;
}

/* PIX banner → dark green */
body.nob-active .ob-pcard-pix-row {
  background: #0d2b1a !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 12px !important;
}
body.nob-active .ob-pcard-pix-row__label {
  font-size: 11px !important;
  font-weight: 900 !important;
  color: rgba(255,255,255,.65) !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
body.nob-active .ob-pcard-pix-row__val {
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  font-family: var(--nob-mono) !important;
  flex: 1 !important;
  letter-spacing: -.5px !important;
}
body.nob-active .ob-pcard-pix-row__val .woocommerce-Price-amount { color: inherit !important; font-size: inherit !important; }
body.nob-active .ob-pcard-pix-row__val .woocommerce-Price-currencySymbol { font-size: .45em !important; vertical-align: super !important; }
.ob-pcard-pix-row__bolt { color: var(--nob-accent); flex-shrink: 0; }

/* WhatsApp full-width green button */
.ob-pcard-whatsapp-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 48px !important;
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .5px !important;
  text-decoration: none !important;
  margin: 8px 0 !important;
  transition: background .15s !important;
}
.ob-pcard-whatsapp-btn:hover { background: #1ab854 !important; color: #fff !important; }

/* Low stock indicator */
.ob-pcard-stock-alert {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--nob-muted);
  margin: 4px 0 12px;
}
.ob-pcard-stock-alert__dot {
  width: 8px; height: 8px;
  background: #f97316;
  border-radius: 50%;
  flex-shrink: 0;
  animation: nob-blink 1.5s ease-in-out infinite;
}
.ob-pcard-stock-alert strong { color: var(--nob-primary); }

/* Freight header with free-badge */
.ob-pcard-freight__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.ob-pcard-freight__label { font-size: 13px; font-weight: 700; color: var(--nob-ink); }
.ob-pcard-freight__free-badge {
  font-size: 10px;
  font-weight: 900;
  color: var(--lc-success);
  letter-spacing: .3px;
  background: #f0fff7;
  border: 1px solid #b2e8cc;
  border-radius: 999px;
  padding: 3px 8px;
}
/* Override inner label since header replaces it */
.ob-pcard-freight__header ~ .ob-freight-calc .ob-pcard-freight__label { display: none; }

/* Freight: "Não sei meu CEP" → roxo */
body.nob-active .ob-freight-cep-link { color: var(--nob-primary) !important; }

/* Guarantee 2×2 grid */
.ob-pcard-guarantee {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--nob-border);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 16px;
}
.ob-pcard-guarantee__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border-right: 1px solid var(--nob-border);
  border-bottom: 1px solid var(--nob-border);
}
.ob-pcard-guarantee__item:nth-child(2n) { border-right: none; }
.ob-pcard-guarantee__item:nth-last-child(-n+2) { border-bottom: none; }
.ob-pcard-guarantee__icon { font-size: 18px; flex-shrink: 0; line-height: 1.2; }
.ob-pcard-guarantee__item strong { display: block; font-size: 11px; font-weight: 700; color: var(--nob-ink); line-height: 1.3; }
.ob-pcard-guarantee__item span { font-size: 10px; color: var(--nob-muted); margin-top: 2px; display: block; }

/* Buy box enhancements */
.nob-pdp-countdown { border: 2px solid var(--nob-accent); border-radius: 4px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; background: #fffdf0; }
.nob-pdp-countdown__label { font-size: 10px; font-weight: 800; letter-spacing: 1px; color: var(--nob-muted); text-transform: uppercase; }
.nob-pdp-countdown__digits { display: flex; gap: 4px; align-items: center; }
.nob-pdp-countdown__unit { display: flex; flex-direction: column; align-items: center; }
.nob-pdp-countdown__num { background: var(--nob-dark); color: #fff; font-family: var(--nob-mono); font-size: 20px; font-weight: 900; padding: 4px 8px; border-radius: 3px; min-width: 36px; text-align: center; }
.nob-pdp-countdown__lbl { font-size: 9px; color: var(--nob-muted); margin-top: 3px; font-weight: 700; letter-spacing: .5px; }
.nob-pdp-countdown__sep { font-size: 18px; font-weight: 900; color: var(--nob-dark); padding-bottom: 12px; }
.nob-pdp-fomo-sold { background: #ffeae0; color: #8a3a14; border: 1px solid #ffc4a8; border-radius: 4px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; margin-bottom: 12px; }
.nob-pdp-fomo-sold b { font-weight: 800; }
.nob-pdp-fomo-sold__danger { color: #d32d2d; font-weight: 700; }
.nob-pdp-fomo-sold__fire { font-size: 18px; }

/* Quick summary bar */
.nob-pdp-quick-summary { background: var(--nob-navy); color: #fff; border-radius: 4px; padding: 18px 24px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; margin: 8px 0; }
.nob-pdp-quick-summary__item { border-left: 1px solid #2a3354; padding-left: 18px; }
.nob-pdp-quick-summary__item:first-child { border-left: none; padding-left: 0; }
.nob-pdp-quick-summary__label { font-size: 10px; color: var(--nob-accent); font-weight: 700; letter-spacing: 1.5px; font-family: var(--nob-mono); text-transform: uppercase; }
.nob-pdp-quick-summary__value { font-size: 18px; font-weight: 900; font-family: var(--nob-mono); margin-top: 4px; line-height: 1.2; }

/* Mid-page FOMO banner */
.nob-pdp-mid-banner { background: linear-gradient(90deg, var(--nob-primary) 0%, #ff8b3d 100%); color: #fff; border-radius: 4px; padding: 18px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; position: relative; overflow: hidden; margin: 20px 0 0; }
.nob-pdp-mid-banner__bg { position: absolute; right: -40px; top: -20px; font-size: 160px; font-weight: 900; letter-spacing: -10px; opacity: .12; pointer-events: none; line-height: 1; }
.nob-pdp-mid-banner__left { display: flex; align-items: center; gap: 18px; position: relative; flex: 1; min-width: 0; }
.nob-pdp-mid-banner__icon { font-size: 40px; flex-shrink: 0; }
.nob-pdp-mid-banner__eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 2px; opacity: .9; text-transform: uppercase; }
.nob-pdp-mid-banner__title { font-size: 20px; font-weight: 900; letter-spacing: -.5px; line-height: 1.1; }
.nob-pdp-mid-banner__sub { font-size: 12px; opacity: .9; margin-top: 4px; }
.nob-pdp-mid-banner__cta { background: #fff; color: var(--nob-primary); padding: 12px 20px; border-radius: 4px; font-weight: 900; font-size: 12px; letter-spacing: .5px; box-shadow: 0 4px 12px rgba(0,0,0,.15); white-space: nowrap; text-decoration: none; flex-shrink: 0; position: relative; }

/* Tabs (restyle existing .ob-tabs) */
body.nob-active .ob-tabs { background: #fff; border: 1px solid var(--nob-border); border-radius: 4px; margin-top: 24px; }
body.nob-active .ob-tabs__nav { display: flex; border-bottom: 1px solid var(--nob-border); padding: 0 16px; gap: 4px; }
body.nob-active .ob-tab-btn { padding: 14px 18px; font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; border: none; background: none; cursor: pointer; color: var(--nob-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .2s, border-color .2s; border-radius: 0; }
body.nob-active .ob-tab-btn.is-active { color: var(--nob-primary); border-bottom-color: var(--nob-primary); }
body.nob-active .ob-tab-panel { padding: 24px 28px; min-height: 280px; }

/* PDP reviews block */
.nob-review-suite {
  background: #f4f5f6;
  border-radius: 8px;
  margin: -24px -28px;
  padding: 28px;
  font-family: var(--nob-font);
}
.nob-review-suite__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.nob-review-suite__title {
  margin: 0;
  color: #252228;
  font-family: var(--nob-display);
  font-size: 26px;
  font-weight: 900;
  line-height: 1.15;
}
.nob-review-suite__title span {
  font-weight: 700;
}
.nob-review-suite__subtitle {
  margin: 6px 0 0;
  color: #6f7379;
  font-size: 13px;
}
.nob-review-suite__controls {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.nob-review-select {
  min-width: 178px;
  min-height: 46px;
  border: 1px solid #d8dce1;
  border-radius: 999px;
  background: #fff;
  color: var(--lc-ink);
  font-size: 14px;
  font-weight: 700;
  padding: 0 42px 0 18px;
  box-shadow: 0 2px 8px rgba(37,34,40,.04);
}
.nob-review-select--rating {
  min-width: 138px;
}
.nob-review-suite__panel {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 34px;
  background: #fff;
  border: 1px solid #d7dbe0;
  border-radius: 12px;
  padding: 34px;
  box-shadow: 0 14px 34px rgba(37,34,40,.05);
}
.nob-review-summary {
  align-self: start;
  background: #f8f9fa;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  padding: 28px 24px;
  box-shadow: 0 8px 20px rgba(37,34,40,.05);
}
.nob-review-summary__score-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}
.nob-review-summary__score {
  color: var(--lc-ink);
  font-family: var(--nob-display);
  font-size: 54px;
  font-weight: 900;
  line-height: 1;
}
.nob-review-stars {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--lc-warn);
  font-size: 23px;
  line-height: 1;
}
.nob-review-stars .is-empty {
  color: #d9dde3;
}
.nob-review-stars .is-half {
  background: linear-gradient(90deg, var(--lc-warn) 52%, #d9dde3 52%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
.nob-review-summary__line {
  height: 1px;
  background: #e5e7ea;
  margin: 22px 0;
}
.nob-review-summary p {
  margin: 0;
  color: #6b7077;
  font-size: 15px;
  line-height: 1.45;
  text-align: center;
}
.nob-review-summary p strong {
  color: var(--lc-ink);
}
.nob-review-summary__recommend strong {
  color: var(--nob-accent);
}
.nob-review-summary__filter-title {
  color: var(--lc-ink);
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 22px;
}
.nob-review-summary__filter-subtitle {
  color: #74777d;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 12px;
}
.nob-review-bar {
  appearance: none;
  width: 100%;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 12px;
  padding: 7px 0;
  color: var(--lc-ink);
  cursor: pointer;
  font-family: var(--nob-font);
  text-align: left;
}
.nob-review-bar__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 30px;
  border: 1px solid #e2e5e8;
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  font-weight: 800;
}
.nob-review-bar__label span {
  color: var(--lc-warn);
}
.nob-review-bar__track {
  height: 9px;
  border-radius: 999px;
  background: #e9ecef;
  overflow: hidden;
}
.nob-review-bar__track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--lc-warn);
}
.nob-review-bar__percent {
  color: var(--lc-ink);
  font-size: 13px;
  font-weight: 800;
  text-align: right;
}
.nob-review-bar:hover .nob-review-bar__label,
.nob-review-bar.is-active .nob-review-bar__label {
  border-color: var(--nob-accent);
  color: var(--nob-primary);
}
.nob-review-highlight {
  padding-bottom: 24px;
  border-bottom: 1px solid #dfe3e7;
}
.nob-review-highlight h3 {
  margin: 0 0 14px;
  color: var(--lc-ink);
  font-size: 21px;
  font-weight: 900;
}
.nob-review-highlight p {
  margin: 0;
  color: #2d3035;
  font-size: 16px;
  line-height: 1.55;
}
.nob-review-highlight__note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: #74777d;
  font-size: 13px;
  font-weight: 800;
}
.nob-review-highlight__note svg {
  color: #4f89e8;
  flex-shrink: 0;
}
.nob-review-list {
  display: grid;
}
.nob-review-list.is-scroll-mode {
  max-height: 720px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 12px;
  scroll-behavior: smooth;
  scrollbar-color: var(--nob-accent) #eceff2;
  scrollbar-width: thin;
}
.nob-review-list.is-scroll-mode::-webkit-scrollbar {
  width: 9px;
}
.nob-review-list.is-scroll-mode::-webkit-scrollbar-track {
  background: #eceff2;
  border-radius: 999px;
}
.nob-review-list.is-scroll-mode::-webkit-scrollbar-thumb {
  background: var(--nob-accent);
  border-radius: 999px;
}
.nob-review-suite.is-scroll-mode .nob-review-content {
  position: relative;
}
.nob-review-suite.is-scroll-mode .nob-review-list {
  border-top: 1px solid #edf0f2;
  border-bottom: 1px solid #edf0f2;
}
.nob-review-card {
  padding: 24px 0;
  border-bottom: 1px solid #edf0f2;
}
.nob-review-card.is-hidden {
  display: none;
}
.nob-review-card__head,
.nob-review-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.nob-review-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--lc-ink);
  font-size: 16px;
  font-weight: 900;
}
.nob-review-card__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #a8adb4;
  background: #f0f2f4;
  flex-shrink: 0;
}
.nob-review-card__avatar svg {
  width: 18px;
  height: 18px;
}
.nob-review-card time {
  color: #747b84;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.nob-review-card__stars-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0 14px;
}
.nob-review-card__stars {
  font-size: 18px;
}
.nob-review-card__verified {
  color: var(--nob-accent);
  background: rgba(76,166,38,.1);
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 900;
}
.nob-review-card__text {
  color: #2d3035;
  font-size: 16px;
  line-height: 1.55;
}
.nob-review-card__text p {
  margin: 0 0 8px;
}
.nob-review-card__empty {
  color: #7c838b;
  font-style: italic;
}
.nob-review-images {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.nob-review-images__item {
  appearance: none;
  display: block;
  width: 86px;
  height: 86px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d8dce1;
  border-radius: 8px;
  background: #f5f7fa;
  cursor: zoom-in;
  transition: border-color .16s, box-shadow .16s, transform .16s;
}
.nob-review-images__item:hover,
.nob-review-images__item:focus-visible {
  border-color: var(--nob-primary);
  box-shadow: 0 10px 24px rgba(37, 42, 48, .14);
  transform: translateY(-1px);
  outline: none;
}
.nob-review-images__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nob-review-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  place-items: center;
  padding: 28px;
  background: rgba(23, 18, 28, .82);
  backdrop-filter: blur(4px);
}
.nob-review-lightbox.is-open {
  display: grid;
}
.nob-review-lightbox img {
  display: block;
  max-width: min(92vw, 980px);
  max-height: 86vh;
  width: auto;
  height: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
  object-fit: contain;
}
.nob-review-lightbox__close {
  appearance: none;
  position: fixed;
  top: 22px;
  right: 22px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  transition: background .16s, transform .16s;
}
.nob-review-lightbox__close:hover,
.nob-review-lightbox__close:focus-visible {
  background: rgba(255,255,255,.24);
  transform: scale(1.04);
  outline: none;
}
body.nob-review-lightbox-open {
  overflow: hidden;
}
.nob-review-card__actions {
  margin-top: 20px;
}
.nob-review-helpful,
.nob-review-icon-btn,
.nob-review-flag {
  appearance: none;
  min-height: 44px;
  border: 1px solid #d8dce1;
  border-radius: 8px;
  background: #fff;
  color: #747b84;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 900;
  font-family: var(--nob-font);
  transition: color .16s, border-color .16s, background .16s;
}
.nob-review-helpful {
  padding: 0 16px;
}
.nob-review-icon-btn,
.nob-review-flag {
  width: 46px;
}
.nob-review-flag {
  margin-left: auto;
  border-color: transparent;
}
.nob-review-helpful:hover,
.nob-review-helpful.is-voted,
.nob-review-icon-btn:hover,
.nob-review-flag:hover {
  color: var(--nob-primary);
  border-color: rgba(143,30,174,.24);
  background: rgba(143,30,174,.04);
}
.nob-review-no-results {
  display: none;
  margin-top: 24px;
  padding: 18px;
  border-radius: 8px;
  background: #f8f9fa;
  color: #69707a;
  font-weight: 800;
  text-align: center;
}
.nob-review-empty {
  margin-top: 24px;
  color: #69707a;
  font-weight: 800;
}
.nob-review-load-more {
  margin: 22px auto 0;
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: 8px;
  background: var(--nob-accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nob-font);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}
.nob-review-load-more:hover {
  background: var(--lc-success-700);
}
@media (max-width: 1024px) {
  .nob-review-suite__panel {
    grid-template-columns: minmax(0, 1fr);
    padding: 24px;
  }
  .nob-review-summary {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(260px, 1fr);
    gap: 18px 24px;
  }
  .nob-review-summary__line {
    display: none;
  }
}
@media (max-width: 720px) {
  .nob-review-suite {
    margin: -24px -28px;
    padding: 18px 14px;
    border-radius: 0;
  }
  .nob-review-suite__top,
  .nob-review-suite__controls,
  .nob-review-card__head {
    align-items: stretch;
    flex-direction: column;
  }
  .nob-review-select,
  .nob-review-select--rating {
    width: 100%;
    min-width: 0;
  }
  .nob-review-suite__panel {
    padding: 16px;
    gap: 22px;
  }
  .nob-review-summary {
    display: block;
    padding: 22px 16px;
  }
  .nob-review-summary__line {
    display: block;
  }
  .nob-review-suite__title {
    font-size: 22px;
  }
  .nob-review-highlight h3 {
    font-size: 18px;
  }
  .nob-review-highlight p,
  .nob-review-card__text {
    font-size: 14px;
  }
  .nob-review-card time {
    white-space: normal;
  }
  .nob-review-list.is-scroll-mode {
    max-height: 620px;
    padding-right: 8px;
  }
  .nob-review-card__actions {
    flex-wrap: wrap;
  }
  .nob-review-flag {
    margin-left: 0;
  }
}

/* Related products */
.nob-pdp-related { padding: 36px 0 0; }
.nob-pdp-related__header { display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 2px solid var(--nob-primary); padding-bottom: 10px; margin-bottom: 18px; }
.nob-pdp-related__title { font-size: 22px; font-weight: 900; letter-spacing: -.5px; line-height: 1; }
.nob-pdp-related__sub { font-size: 12px; color: var(--nob-muted); margin-top: 6px; }
.nob-pdp-related__all { font-size: 12px; font-weight: 700; color: var(--nob-primary); text-decoration: none; }
.nob-pdp-related__all:hover { text-decoration: underline; }

/* WA Floating button */
.nob-pdp-wa-fab { position: fixed; bottom: 24px; right: 24px; background: #25D366; color: #fff; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; box-shadow: 0 6px 20px rgba(37,211,102,.5); z-index: 500; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.nob-pdp-wa-fab:hover { transform: scale(1.08); box-shadow: 0 8px 24px rgba(37,211,102,.6); }

/* Archive page: full-width layout (no .ob-container wrapper) */
body.nob-active .woocommerce-page .nob-archive-hero,
body.nob-active .woocommerce-archive .nob-archive-hero { max-width: none; }
body.nob-active .woocommerce-page .nob-archive-body { max-width: 1440px; margin: 0 auto; }

/* PDP: Quick summary + mid-banner inside .ob-container */
body.nob-active .ob-single-product .nob-pdp-quick-summary { margin: 8px 0; }
body.nob-active .ob-single-product .nob-pdp-mid-banner { margin: 20px 0 0; }
body.nob-active .ob-single-product .nob-pdp-fomo-strip { margin: 0 calc(-1 * var(--mob-container-pad)); }

/* ---- 19. RESPONSIVE (mobile básico) ------------------------- */
@media (max-width: 1024px) {
  .nob-header { grid-template-columns: 1fr; gap: 12px; padding: 12px 16px; }
  .nob-search__cat { display: none; }
  .nob-hero { grid-template-columns: 1fr; }
  .nob-hero__sidebar { display: none; }
  .nob-cat-grid { grid-template-columns: repeat(5, 1fr); }
  .nob-flash__inner { grid-template-columns: 1fr; }
  .nob-flash__cards { grid-template-columns: repeat(2, 1fr); }
  .nob-product-grid { grid-template-columns: repeat(3, 1fr); }
  .nob-b2b-wrap { grid-template-columns: 1fr; }
  .nob-cat-section--left,
  .nob-cat-section--right { grid-template-columns: repeat(3, 1fr); }
  .nob-cat-section--left > .nob-cat-feature { grid-column: 1 / 4; grid-row: 1; }
  .nob-cat-section--right > .nob-cat-feature { grid-column: 1 / 4; grid-row: 1; }
  .nob-cat-feature { min-height: 200px; }
  .nob-brands-grid { grid-template-columns: repeat(4, 1fr); }
  .nob-footer-main { grid-template-columns: 1fr 1fr; }
  .nob-footer-trust { grid-template-columns: repeat(2, 1fr); }
  .nob-trust { grid-template-columns: repeat(2, 1fr); }
  .nob-newsletter { flex-direction: column; }
  .nob-newsletter__form { flex: 1; width: 100%; }
  .nob-topbar { display: none; }
  .nob-nav__links { display: none; }
  .nob-nav__frete { display: none; }
}
@media (max-width: 1024px) {
  .nob-archive-body { grid-template-columns: 1fr; padding: 16px; }
  .nob-archive-sidebar { position: static; }
  .nob-archive-grid { grid-template-columns: repeat(3, 1fr); }
  .nob-archive-hero__content { grid-template-columns: 1fr; gap: 16px; }
  .nob-archive-subcat-cards { flex-wrap: wrap; }
  .nob-archive-subcat-card { min-width: 100px; }
  .nob-pdp-quick-summary { grid-template-columns: repeat(3, 1fr); }
  .nob-pdp-fomo-strip { gap: 12px; padding: 10px 16px; font-size: 11px; }
  body.nob-active .ob-gallery { flex-direction: column; }
  body.nob-active .ob-gallery__thumbs { flex-direction: row !important; width: 100% !important; }
  body.nob-active .ob-gallery__thumb { width: 60px !important; height: 60px !important; }
}
@media (max-width: 640px) {
  .nob-section { padding: 24px 16px 16px; }
  .nob-cat-grid { grid-template-columns: repeat(3, 1fr); }
  .nob-product-grid { grid-template-columns: repeat(2, 1fr); }
  .nob-cat-strip { grid-template-columns: 1fr; }
  .nob-split-section { grid-template-columns: 1fr; }
  .nob-footer-main { grid-template-columns: 1fr; }
  .nob-footer-payment { grid-template-columns: 1fr; }
  .nob-header { padding: 10px; }
  .nob-header__actions { display: none; }
  .nob-archive-grid { grid-template-columns: repeat(2, 1fr); }
  .nob-archive-breadcrumb { padding: 10px 16px; }
  .nob-archive-hero__content { padding: 16px; }
  .nob-pdp-quick-summary { grid-template-columns: repeat(2, 1fr); }
  .nob-pdp-mid-banner__title { font-size: 16px; white-space: normal; }
  .nob-pdp-mid-banner { flex-direction: column; }
}

/* =============================================================
   MEGA-MENU — painel de departamentos (sidebar + conteúdo)
   HTML em header.php, JS toggle em main.js (#ob-mega-trigger)
   ============================================================= */
.nob-nav { position: relative; }
.ob-mega-menu {
  position: absolute; left: 0; right: 0; top: 100%;
  background: #fff; border-top: 3px solid var(--nob-primary);
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
  z-index: 60; max-height: 0; overflow: hidden;
  visibility: hidden; opacity: 0;
  transition: opacity .18s ease, visibility 0s linear .18s;
}
.ob-mega-menu.is-open {
  max-height: 600px; visibility: visible; opacity: 1;
  transition: opacity .2s ease;
}
.ob-mega-menu__inner {
  display: grid; grid-template-columns: 280px 1fr;
  max-width: 1440px; margin: 0 auto;
}
/* Sidebar — coluna de departamentos */
.ob-mega-menu__sidebar {
  background: #fff; max-height: 540px; overflow-y: auto;
  border-right: 1px solid var(--nob-border);
}
.ob-mega-menu__parent {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 11px 18px; font-size: 13px;
  background: #fff; color: var(--nob-dark); cursor: pointer;
  border: none; border-left: 3px solid transparent;
  font-weight: 500; text-align: left; font-family: inherit;
  transition: background .15s, color .15s, border-color .15s;
}
.ob-mega-menu__parent:hover,
.ob-mega-menu__parent.is-active {
  background: var(--lc-paper); color: var(--nob-primary);
  border-left-color: var(--nob-primary); font-weight: 700;
}
.ob-mega-menu__parent svg {
  flex-shrink: 0; color: #bbb;
  transition: color .15s;
}
.ob-mega-menu__parent:hover svg,
.ob-mega-menu__parent.is-active svg { color: var(--nob-primary); }

/* Painéis de subcategoria */
.ob-mega-menu__content { padding: 24px 32px; background: #fff; }
.ob-mega-menu__panel { display: none; }
.ob-mega-menu__panel.is-active { display: block; }
.ob-mega-menu__panel-header {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid var(--nob-border);
  padding-bottom: 12px; margin-bottom: 18px;
}
.ob-mega-menu__cat-title {
  font-size: 15px; font-weight: 800; color: var(--nob-dark);
  text-transform: uppercase; letter-spacing: .5px;
  text-decoration: none;
}
.ob-mega-menu__cat-title:hover { color: var(--nob-primary); }
.ob-mega-menu__cat-count {
  margin-left: 10px; color: var(--nob-muted);
  font-size: 13px; font-weight: 500; text-transform: none; letter-spacing: 0;
}
.ob-mega-menu__ver-todos {
  color: var(--nob-primary); font-weight: 700; font-size: 12px;
  text-decoration: none;
}
.ob-mega-menu__ver-todos:hover { color: var(--lc-primary-deep); }

/* Grid de subcategorias */
.ob-mega-menu__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
  max-height: 360px; overflow-y: auto;
}
.ob-mega-menu__subcat {
  display: flex; flex-direction: column; gap: 4px;
  border: 1px solid var(--nob-border); border-radius: 4px;
  padding: 14px 16px; background: #fff; text-decoration: none;
  color: var(--nob-dark); transition: border-color .15s, transform .15s;
}
.ob-mega-menu__subcat:hover {
  border-color: var(--nob-primary);
  transform: translateY(-1px);
}
.ob-mega-menu__subcat-img {
  width: 28px; height: 28px; object-fit: contain;
  margin-bottom: 4px;
}
.ob-mega-menu__subcat-name {
  font-size: 13px; font-weight: 700; color: var(--nob-dark);
}
.ob-mega-menu__subcat:hover .ob-mega-menu__subcat-name { color: var(--nob-primary); }
.ob-mega-menu__subcat-count {
  font-size: 11px; color: var(--nob-muted);
}
.ob-mega-menu__empty {
  font-size: 13px; color: var(--nob-muted); margin: 0;
}
.ob-mega-menu__empty a { color: var(--nob-primary); font-weight: 700; }

/* Overlay escuro abaixo do menu (toggled em #ob-overlay no JS) */
#ob-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.35);
  z-index: 50; opacity: 0; visibility: hidden;
  transition: opacity .2s ease, visibility 0s linear .2s;
}
#ob-overlay.is-active {
  opacity: 1; visibility: visible;
  transition: opacity .2s ease;
}

/* Mobile: esconde mega-menu, depende da mobile-nav */
@media (max-width: 1024px) {
  .ob-mega-menu { display: none !important; }
}

/* =============================================================
   TIPOGRAFIA GLOBAL — Open Sans (corpo) + Poppins (display)
   Espelha lojadomecanico.com.br: body Open Sans, h1/h2/h3 + preços + CTAs em Poppins.
   ============================================================= */
html, body { font-family: var(--nob-font); }
body, body p, body li, body a, body span, body button, body input, body select, body textarea,
body label, body dd, body dt, body td, body th { font-family: inherit; }

/* Headings em Poppins (display) */
h1, h2, h3, h4, h5, h6,
body h1, body h2, body h3, body h4,
.ob-pcard-title,
.nob-archive-hero__title,
.ob-section-title, .nob-section-title,
.nob-flash__title,
.nob-cat-feature__title, .nob-cat-strip-banner__title,
.nob-pdp-mid-banner__title,
.nob-newsletter__title,
.nob-footer-brand__wordmark,
.nob-logo__wordmark { font-family: var(--nob-display); }

/* =============================================================
   COUPON STRIP — barra escura no topo absoluto (substitui FOMO laranja)
   "GANHE 5% DE DESCONTO* É EXCLUSIVO PRA VOCÊ! USE O CUPOM BUSCA5OFF"
   ============================================================= */
.nob-coupon-strip {
  background: var(--nob-dark);
  color: #fff;
  font-family: var(--nob-display);
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  border-bottom: 1px solid rgba(255,255,255,.05);
  text-transform: uppercase;
}
.nob-coupon-strip__inner {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 22px;
}
.nob-coupon-strip__msg {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.nob-coupon-strip__msg > span { font-weight: 800; }
.nob-coupon-strip__hl {
  color: var(--nob-primary);
  font-weight: 900;
  letter-spacing: .2px;
}
.nob-coupon-strip__note {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  color: rgba(255,255,255,.9);
  white-space: nowrap;
  font-family: var(--nob-display);
  text-transform: none;
}
.nob-coupon-strip__note b { font-weight: 700; color: #fff; }

@media (max-width: 1024px) {
  .nob-coupon-strip { padding: 12px 16px; font-size: 14px; }
  .nob-coupon-strip__note { position: static; transform: none; display: block; margin-top: 4px; }
  .nob-coupon-strip__inner { flex-direction: column; gap: 2px; }
}
@media (max-width: 640px) {
  .nob-coupon-strip { font-size: 12.5px; padding: 9px 12px; letter-spacing: 0; }
  .nob-coupon-strip__msg { gap: 6px; }
}

/* Preços, CTAs e números monospaçados — Poppins (substitui JetBrains Mono) */
.ob-pcard-price__main, .ob-pcard-price__main *,
.ob-pcard-price__was, .ob-pcard-price__was *,
.ob-pcard-installment, .ob-pcard-installment *,
.ob-pcard-pix-row, .ob-pcard-pix-row *,
.ob-pcard-add-btn,
.nob-arc-card__price, .nob-arc-card__price *,
.nob-arc-card__price-int, .nob-arc-card__price-cents, .nob-arc-card__btn,
.nob-flash-card__price, .nob-flash-card__price *,
.nob-pdp-quick-summary__value,
.nob-pdp-quick-summary__label,
.nob-pdp-countdown__num,
form.variations_form .single_add_to_cart_button,
.nob-hdr-v2, .nob-hdr-v2 *, .nob-nav-v2, .nob-nav-v2 * { font-family: var(--nob-display); }


/* =============================================================
   HEADER V2 — barra roxa com listras diagonais nas pontas,
   logo, CEP, busca, ações (telefone/pedidos/login) e carrinho.
   Espelha lojadomecanico.com.br.
   ============================================================= */
.nob-hdr-v2 {
  position: relative;
  background: var(--nob-primary);
  color: #fff;
  padding: 0;
  z-index: 5;
  /* overflow: visible para o cart-popup escapar dos limites do header */
}
/* Listras presas dentro da própria div com overflow hidden — não escapam */
.nob-hdr-v2__stripes { overflow: hidden; }
.nob-hdr-v2__stripes {
  position: absolute;
  top: 0; bottom: 0;
  width: 70px;
  background-image: repeating-linear-gradient(
    -65deg,
    var(--nob-navy) 0 14px,
    transparent 14px 30px
  );
  pointer-events: none;
  z-index: 0;
}
.nob-hdr-v2__stripes--left  { left: 0; }
.nob-hdr-v2__stripes--right { right: 0; transform: scaleX(-1); }

.nob-hdr-v2__inner {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  padding: 16px 96px;
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(380px, 1fr) auto auto auto auto;
  gap: 22px;
  align-items: center;
}

/* Logo */
.nob-hdr-v2__logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #fff;
  font-family: var(--nob-display);
}
.nob-hdr-v2__logo-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-family: var(--nob-display);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -1px;
  line-height: 1;
}
.nob-hdr-v2__logo-icon svg { display: block; }
.nob-hdr-v2__logo-text {
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -.4px;
  line-height: 1;
  color: #fff;
}
.nob-hdr-v2__logo-text em { font-style: normal; opacity: .92; }

/* CEP / Ações texto + ícone (linha pequena em cima, label bold embaixo) */
.nob-hdr-v2__cep,
.nob-hdr-v2__action {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--nob-display);
  white-space: nowrap;
}
.nob-hdr-v2__cep:hover,
.nob-hdr-v2__action:hover,
.nob-hdr-v2__action:focus,
.nob-hdr-v2__action:visited { color: #fff !important; opacity: 1 !important; text-decoration: none !important; }
.nob-hdr-v2__action:hover .nob-hdr-v2__action-txt small,
.nob-hdr-v2__action:hover .nob-hdr-v2__action-txt strong { color: #fff !important; opacity: 1 !important; }
.nob-hdr-v2__icon { flex-shrink: 0; color: #fff; }
.nob-hdr-v2__action-txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
  text-align: left;
}
.nob-hdr-v2__action-txt small {
  font-size: 12px;
  font-weight: 500;
  opacity: .95;
}
.nob-hdr-v2__action-txt strong {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .1px;
}

/* Busca */
.nob-hdr-v2__search {
  display: flex;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  height: 44px;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  width: 100%;
  max-width: 460px;
}
.nob-hdr-v2__search-input {
  flex: 1;
  border: 0;
  outline: 0;
  padding: 0 16px;
  font-family: var(--nob-font);
  font-size: 14px;
  color: var(--nob-ink);
  background: #fff;
}
.nob-hdr-v2__search-input::placeholder { color: #9aa0a6; }
.nob-hdr-v2__search-btn {
  background: var(--nob-navy);
  color: #fff;
  border: 0;
  padding: 0 18px;
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  transition: background .15s;
}
.nob-hdr-v2__search-btn:hover { background: #0f1730; }

/* Carrinho — wrapper hover-area */
.nob-hdr-v2__cart-wrap {
  position: relative;
}
.nob-hdr-v2__cart {
  position: relative;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: #fff !important;
  padding: 6px 8px;
  display: inline-grid;
  place-items: center;
  text-decoration: none !important;
  transition: transform .15s;
}
.nob-hdr-v2__cart:hover { color: #fff !important; transform: scale(1.05); opacity: 1 !important; }
.nob-hdr-v2__cart-count {
  position: absolute;
  top: -2px; right: -4px;
  background: var(--nob-navy);
  color: var(--nob-accent);
  font-size: 11px;
  font-weight: 800;
  font-family: var(--nob-display);
  min-width: 18px; height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  line-height: 1;
  border: 1.5px solid var(--nob-primary);
}

/* Cart popup hover dropdown — anchored à direita do botão */
.nob-hdr-v2__cart-popup {
  position: absolute;
  top: calc(100% + 8px);
  right: -8px;
  width: 320px;
  background: #fff;
  color: var(--nob-ink);
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
  padding: 18px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  z-index: 60;
  font-family: var(--nob-display);
}
.nob-hdr-v2__cart-popup::before {
  content: '';
  position: absolute;
  top: -6px; right: 18px;
  width: 12px; height: 12px;
  background: #fff;
  transform: rotate(45deg);
  border-top-left-radius: 2px;
}
.nob-hdr-v2__cart-wrap:hover .nob-hdr-v2__cart-popup,
.nob-hdr-v2__cart-wrap:focus-within .nob-hdr-v2__cart-popup {
  opacity: 1; visibility: visible; transform: translateY(0);
  transition: opacity .2s ease, transform .2s ease;
}
.nob-hdr-v2__cart-popup-empty {
  margin: 0 0 14px;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  color: var(--nob-primary);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.nob-hdr-v2__cart-popup-title {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--nob-dark);
}
.nob-hdr-v2__cart-popup-list {
  max-height: 260px;
  overflow-y: auto;
  margin: 0 -8px 12px;
  padding: 0 8px;
  border-bottom: 1px solid var(--nob-border);
}
.nob-hdr-v2__cart-popup-item {
  display: flex;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--nob-border);
}
.nob-hdr-v2__cart-popup-item:last-child { border-bottom: 0; }
.nob-hdr-v2__cart-popup-thumb,
.nob-hdr-v2__cart-popup-item img {
  width: 48px !important; height: 48px !important;
  object-fit: contain;
  border-radius: 4px;
  background: var(--lc-paper);
  flex-shrink: 0;
}
.nob-hdr-v2__cart-popup-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nob-hdr-v2__cart-popup-name { font-size: 12px; font-weight: 600; line-height: 1.3; color: var(--nob-dark); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nob-hdr-v2__cart-popup-qp { font-size: 11px; color: var(--nob-muted); }
.nob-hdr-v2__cart-popup-total {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 12px;
  font-size: 13px;
}
.nob-hdr-v2__cart-popup-total strong {
  font-size: 16px; font-weight: 800; color: var(--nob-dark);
}
.nob-hdr-v2__cart-popup-cta {
  display: block;
  width: 100%;
  background: var(--lc-success);
  color: #fff !important;
  text-decoration: none;
  text-align: center;
  padding: 12px 14px;
  border-radius: 4px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .3px;
  text-transform: uppercase;
  transition: background .15s;
}
.nob-hdr-v2__cart-popup-cta:hover { background: #167c3e; color: #fff !important; }

/* Mobile hamburger esconde no desktop */
.nob-hdr-v2__mobile {
  display: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  padding: 6px;
}

/* =============================================================
   NAV V2 — barra branca com botão CATEGORIAS + links horizontais
   ============================================================= */
.nob-nav-v2 {
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--nob-border);
  z-index: 4;
  display: flex;
  align-items: stretch;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px;
  font-family: var(--nob-display);
}
.nob-nav-v2__cats {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--nob-border);
  cursor: pointer;
  font-family: var(--nob-display);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .3px;
  color: var(--nob-dark);
  padding: 14px 18px 14px 0;
  margin-right: 14px;
  white-space: nowrap;
}
.nob-nav-v2__cats svg { color: var(--nob-dark); }
.nob-nav-v2__chevron { transition: transform .2s ease; }
.nob-nav-v2__cats[aria-expanded="true"] .nob-nav-v2__chevron { transform: rotate(180deg); }
.nob-nav-v2__cats:hover { color: var(--nob-primary); }
.nob-nav-v2__cats:hover svg { color: var(--nob-primary); }

.nob-nav-v2__links {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  align-items: stretch;
  flex: 1;
  gap: 0;
  overflow: hidden;
}
.nob-nav-v2__links li { display: flex; }
.nob-nav-v2__links a {
  display: inline-flex;
  align-items: center;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--nob-dark);
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s;
}
.nob-nav-v2__links a:hover { color: var(--nob-primary); }

/* Mega menu reposicionado para abrir ABAIXO da nav v2.
   Mantém a estrutura do .ob-mega-menu existente. */
.nob-nav-v2 .ob-mega-menu { top: 100%; }

/* =============================================================
   Responsivo
   ============================================================= */
@media (max-width: 1280px) {
  .nob-hdr-v2__inner { padding: 14px 80px; gap: 16px; grid-template-columns: 180px minmax(280px, 1fr) auto auto auto auto; }
  .nob-hdr-v2__stripes { width: 56px; }
  .nob-hdr-v2__action-txt small { font-size: 11px; }
  .nob-hdr-v2__action-txt strong { font-size: 13px; }
}
@media (max-width: 1024px) {
  .nob-hdr-v2__inner { grid-template-columns: 160px minmax(220px, 1fr) auto auto; padding: 12px 60px; gap: 14px; }
  .nob-hdr-v2__stripes { width: 40px; }
  .nob-hdr-v2__action { display: none; }
  .nob-nav-v2__links { gap: 0; }
  .nob-nav-v2__links a { padding: 12px 12px; font-size: 13px; }
}
@media (max-width: 768px) {
  .nob-hdr-v2__inner {
    grid-template-columns: auto 1fr auto auto;
    grid-template-areas: "logo logo cart menu" "search search search search";
    padding: 10px 16px;
    row-gap: 10px;
  }
  .nob-hdr-v2__stripes { display: none; }
  .nob-hdr-v2__logo { grid-area: logo; }
  .nob-hdr-v2__search { grid-area: search; max-width: none; }
  .nob-hdr-v2__cart-wrap { grid-area: cart; }
  .nob-hdr-v2__mobile { grid-area: menu; }
  .nob-hdr-v2__action { display: none !important; }
  .nob-hdr-v2__cart { display: inline-grid; }
  .nob-hdr-v2__mobile { display: inline-grid; }
  .nob-hdr-v2__cart-popup { display: none; } /* sem hover em mobile */
  .nob-nav-v2 { display: none; }

  /* Defensiva: esconde qualquer cart icon do parent theme/plugin que vaze pro mobile header */
  body :is(.ct-header, .ct-mobile-cart, [class*="ct-cart"], .blocksy-cart-trigger) { display: none !important; }
}


/* =============================================================
   PDP — botão de produto VARIÁVEL: força styling roxo/verde (.ob-pcard-add-btn)
   no botão WC default que woocommerce_variable_add_to_cart() emite.
   ============================================================= */
.ob-pcard-variations .single_add_to_cart_button,
.ob-pcard-variations button.single_add_to_cart_button,
form.variations_form .single_add_to_cart_button {
  background: var(--nob-primary) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 20px !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background .15s, opacity .15s !important;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  min-height: 48px !important;
  line-height: 1.2 !important;
}
.ob-pcard-variations .single_add_to_cart_button:hover,
form.variations_form .single_add_to_cart_button:hover {
  background: var(--lc-primary-deep) !important;
  color: #fff !important;
}
.ob-pcard-variations .single_add_to_cart_button.disabled,
.ob-pcard-variations .single_add_to_cart_button:disabled,
.ob-pcard-variations .single_add_to_cart_button.wc-variation-selection-needed {
  background: var(--nob-primary) !important;
  color: #fff !important;
  opacity: .55 !important;
  cursor: not-allowed !important;
}
/* Esconde o bloco de preço/availability default do WC abaixo das variações.
   O preço da variação selecionada já é refletido no .ob-pcard-price (via JS found_variation). */
.ob-pcard-variations .single_variation,
.ob-pcard-variations .woocommerce-variation,
.ob-pcard-variations .woocommerce-variation-price { display: none !important; }
.ob-pcard-variations .woocommerce-variation-availability { font-size: 12px; color: var(--nob-muted); margin-top: 6px; display: block; }
.ob-pcard-variations .reset_variations { font-size: 11px; color: var(--nob-muted); text-decoration: underline; margin-left: 8px; }
/* WC quantity wrapper inside variations form */
.ob-pcard-variations .woocommerce-variation-add-to-cart {
  display: flex; gap: 8px; align-items: stretch; margin-top: 12px;
}
.ob-pcard-variations .woocommerce-variation-add-to-cart .qty {
  width: 64px; text-align: center;
  border: 1px solid var(--nob-border); border-radius: 4px;
  font-family: var(--nob-mono); font-size: 14px; font-weight: 700;
  padding: 0 6px;
}

/* =============================================================
   Frete results — labels em PT (override Blocksy/WC)
   ============================================================= */
.ob-freight-results .free-shipping-label::before { content: "Frete grátis"; }
.ob-freight-results :is(*[class*="free_shipping"], .free_shipping) .label,
.ob-freight-results :is(*[class*="local_pickup"], .local_pickup) .label { font-weight: 700; }

/* =============================================================
   PATCHES PDP — divergências confirmadas vs design
   ============================================================= */
/* fomo-strip topo: herança visual antiga, substituída pelo refresh Obra Certa. */

/* =============================================================
   LC VISUAL REFRESH — roxo, verde e cinza
   ============================================================= */
body.nob-active {
  background:
    linear-gradient(180deg, #f7f5f8 0%, #f3f3f4 46%, #ffffff 100%);
  color: var(--nob-ink);
}

.nob-coupon-strip {
  background: #34263b;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
}
.nob-coupon-strip__hl { color: #68cf42; }

.nob-hdr-v2 {
  background:
    radial-gradient(circle at 18% 0%, rgba(76,166,38,.28) 0, transparent 28%),
    linear-gradient(135deg, var(--lc-primary) 0%, #7f1b9d 58%, var(--lc-ink-3) 100%);
  border-bottom: 4px solid var(--nob-accent);
  box-shadow: 0 10px 28px rgba(67,34,78,.18);
}
.nob-hdr-v2__stripes {
  opacity: .5;
  background-image: repeating-linear-gradient(
    -65deg,
    rgba(76,166,38,.95) 0 12px,
    rgba(255,255,255,.16) 12px 24px
  );
}
.nob-hdr-v2__inner {
  grid-template-columns: minmax(220px, 270px) minmax(380px, 1fr) auto auto auto auto;
}
.nob-hdr-v2__logo { min-width: 0; }
.nob-hdr-v2__logo-img {
  display: block;
  width: min(250px, 100%);
  height: auto;
  max-height: 60px;
}
.nob-hdr-v2__search {
  height: 48px;
  border: 2px solid rgba(76,166,38,.75);
  box-shadow: 0 8px 18px rgba(30,14,35,.16);
}
.nob-hdr-v2__search-btn {
  background: var(--nob-accent);
  color: #fff;
}
.nob-hdr-v2__search-btn:hover { background: var(--lc-success-700); }
.nob-hdr-v2__action {
  opacity: .96;
  transition: transform .15s ease, opacity .15s ease;
}
.nob-hdr-v2__action:hover { transform: translateY(-1px); }
.nob-hdr-v2__icon { color: #c8f0bb; }
.nob-hdr-v2__cart-count {
  background: var(--nob-accent);
  color: #fff;
  border-color: #fff;
}
.nob-hdr-v2__cart-popup-empty { color: var(--nob-primary); }
.nob-hdr-v2__cart-popup-cta,
.nob-hdr-v2__cart-popup-cta:hover {
  background: var(--nob-accent);
}

.nob-nav-v2 {
  border-bottom: 1px solid rgba(143,30,174,.18);
  box-shadow: 0 4px 14px rgba(50,38,58,.06);
}
.nob-nav-v2__cats {
  color: var(--nob-primary);
  border-right-color: rgba(143,30,174,.18);
}
.nob-nav-v2__cats svg { color: var(--nob-accent); }
.nob-nav-v2__cats:hover,
.nob-nav-v2__cats:hover svg,
.nob-nav-v2__links a:hover {
  color: var(--nob-accent);
}
.nob-nav-v2__links a { color: #3a3440; }

.nob-hero {
  max-width: 1440px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 1px 0 rgba(143,30,174,.1);
}
.nob-hero__sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #f7f5f8 100%);
}
.nob-hero__sidebar-title {
  color: var(--nob-primary);
  background: rgba(143,30,174,.06);
}
.nob-hero__cat-item:hover,
.nob-hero__cat-item.is-active {
  border-left-color: var(--nob-accent);
  color: var(--nob-primary);
  background: #fff;
}
.nob-hero__cat-item-img,
.nob-cat-card__img,
.nob-product-card__img,
.nob-flash-card__img,
.nob-arc-card__img-wrap {
  background: #f6f5f7 !important;
}
.nob-hero__panel {
  background:
    radial-gradient(circle at 78% 26%, rgba(76,166,38,.26), transparent 32%),
    linear-gradient(128deg, #4a1858 0%, var(--lc-primary) 48%, var(--lc-ink-3) 100%);
  min-height: 470px;
}
.nob-hero__stripe,
.nob-flash__stripe {
  background: repeating-linear-gradient(135deg, var(--nob-accent) 0 16px, rgba(255,255,255,.22) 16px 32px);
}
.nob-hero__badge {
  background: rgba(76,166,38,.95);
  box-shadow: 0 10px 24px rgba(76,166,38,.24);
}
.nob-hero__badge-dot { background: #fff; }
.nob-hero__title {
  letter-spacing: -1px;
  text-shadow: 0 8px 24px rgba(42,18,49,.18);
}
.nob-hero__title em { color: var(--lc-success-100); }
.nob-hero__desc,
.nob-hero__price-pix { color: rgba(255,255,255,.78); }
.nob-hero__price-main,
.nob-hero__price-cents,
.nob-hero__price-pix b {
  color: var(--lc-success-100);
}
.nob-hero__image-glow {
  background: radial-gradient(circle, rgba(76,166,38,.35) 0%, rgba(143,30,174,.18) 42%, transparent 72%);
}
.nob-hero__image-frame {
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.09);
  border-radius: 8px;
}
.nob-hero__image-badge {
  background: var(--nob-accent);
  color: #fff;
  border-radius: 999px;
}

.nob-btn-primary,
.nob-product-card__buy,
.nob-b2b-dark__btn,
.nob-cat-feature__btn,
.ob-pcard-variations .single_add_to_cart_button,
form.variations_form .single_add_to_cart_button {
  background: var(--nob-accent) !important;
  color: #fff !important;
}
.nob-btn-primary:hover,
.nob-product-card__buy:hover,
.nob-b2b-dark__btn:hover,
.nob-cat-feature__btn:hover,
.ob-pcard-variations .single_add_to_cart_button:hover,
form.variations_form .single_add_to_cart_button:hover {
  background: var(--lc-success-700) !important;
  color: #fff !important;
}
.nob-btn-ghost {
  border-color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.09);
}

.nob-trust {
  max-width: 1440px;
  margin: 0 auto;
}
.nob-trust__icon {
  background: rgba(76,166,38,.1);
  border-color: rgba(76,166,38,.34);
}
.nob-trust__title,
.nob-section-title__h,
.nob-split-section__title {
  color: #302534;
}
.nob-section-title {
  border-bottom-color: var(--nob-accent);
}
.nob-section-title__link,
.nob-split-section__link,
.nob-hero__sidebar-more {
  color: var(--nob-primary);
}
.nob-section {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.nob-cat-card {
  border-color: rgba(143,30,174,.12);
  box-shadow: 0 1px 4px rgba(48,37,52,.04);
}
.nob-cat-card:hover {
  border-color: var(--nob-accent);
  box-shadow: 0 10px 22px rgba(76,166,38,.12);
  color: var(--nob-primary);
  transform: translateY(-1px);
}

.nob-flash-wrap,
.nob-b2b-wrap,
.nob-cat-strip {
  max-width: 1376px;
  margin-left: auto;
  margin-right: auto;
}
.nob-flash {
  background: #3d2845;
  box-shadow: 0 14px 34px rgba(42,25,48,.16);
}
.nob-flash__sidebar {
  background: linear-gradient(160deg, var(--lc-primary) 0%, #6c1b82 100%);
}
.nob-flash__countdown-cell {
  background: var(--lc-ink-3);
}
.nob-flash__countdown-sep,
.nob-flash__all-btn,
.nob-flash-card__stock-pct,
.nob-flash-card__price {
  color: var(--nob-primary);
}
.nob-flash-card__badge,
.nob-product-card__badge,
.nob-arc-card__badge {
  background: var(--nob-primary);
}
.nob-flash-card__stock-fill {
  background: linear-gradient(90deg, var(--nob-primary), var(--nob-accent));
}

.nob-product-card,
.nob-arc-card {
  border-color: rgba(143,30,174,.1) !important;
  box-shadow: 0 1px 5px rgba(48,37,52,.06) !important;
}
.nob-product-card:hover,
.nob-arc-card:hover {
  box-shadow: 0 12px 26px rgba(48,37,52,.12) !important;
}
.nob-product-card__wish:hover,
.nob-arc-card__wish:hover,
.nob-arc-card__name:hover {
  color: var(--nob-primary) !important;
  border-color: var(--nob-accent) !important;
}
.nob-arc-badge--fast {
  background: var(--nob-primary);
}
.nob-arc-badge--free,
.nob-arc-card__discount,
.nob-arc-card__qty,
.nob-arc-card__btn,
button.nob-arc-card__btn,
.nob-arc-card a.nob-arc-card__btn,
.nob-arc-card button.nob-arc-card__btn {
  border-color: var(--nob-accent) !important;
}
.nob-arc-badge--free,
.nob-arc-card__discount,
.nob-arc-card__btn:hover,
button.nob-arc-card__btn:hover {
  background: var(--nob-accent) !important;
}
.nob-arc-card__pix,
.nob-arc-card__pix b,
.nob-arc-card__qty-btn,
.nob-arc-card__btn,
button.nob-arc-card__btn,
.nob-arc-card a.nob-arc-card__btn,
.nob-arc-card button.nob-arc-card__btn {
  color: var(--nob-accent) !important;
}
.nob-arc-card__btn:hover,
button.nob-arc-card__btn:hover {
  color: #fff !important;
}

.nob-b2b-dark {
  background:
    radial-gradient(circle at 85% 8%, rgba(76,166,38,.24), transparent 32%),
    linear-gradient(145deg, #302534 0%, #6d247e 58%, var(--lc-ink-3) 100%);
}
.nob-b2b-dark__eyebrow,
.nob-stat__val,
.nob-cat-feature__eyebrow,
.nob-cat-strip-banner__eyebrow,
.nob-cat-strip-banner__cta {
  color: var(--lc-success-100);
}
.nob-b2b-dark__glow {
  background: var(--nob-accent);
}
.nob-b2b-orange {
  background: linear-gradient(145deg, #4ca626 0%, var(--lc-success-700) 100%);
}
.nob-b2b-orange__stripe {
  background: repeating-linear-gradient(135deg, var(--lc-primary) 0 12px, rgba(255,255,255,.18) 12px 24px);
}
.nob-b2b-orange__desc b { color: #fff; }
.nob-cat-feature__overlay {
  background: linear-gradient(160deg, rgba(46,28,52,.96) 0%, rgba(143,30,174,.86) 52%, rgba(94,94,94,.88) 100%) !important;
}
.nob-cat-strip-banner {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 12px 22px rgba(48,37,52,.12);
}
.nob-brand-card {
  background: #fff;
  border-color: rgba(143,30,174,.12);
  color: var(--nob-muted);
}
.nob-brand-card:hover {
  color: var(--nob-primary);
  border-color: var(--nob-accent);
}

.nob-split-section .nob-product-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.nob-product-grid,
.nob-archive-grid,
ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.nob-product-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.nob-arc-card,
.nob-arc-card * {
  min-width: 0;
}
.nob-arc-card__btn,
button.nob-arc-card__btn,
.nob-arc-card a.nob-arc-card__btn,
.nob-arc-card button.nob-arc-card__btn {
  white-space: normal !important;
}

body.nob-active .ob-cart-sidebar:not(.is-open) {
  display: none !important;
}
body.nob-active .ob-cart-sidebar.is-open {
  display: flex !important;
}
.ob-cart-sidebar:not(.is-open) {
  display: none !important;
}
.ob-cart-sidebar.is-open {
  display: flex !important;
}

.nob-newsletter,
.nob-footer-wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}
.nob-newsletter {
  background: linear-gradient(135deg, var(--lc-primary) 0%, #6e207f 100%);
}
.nob-newsletter__btn {
  background: var(--nob-accent);
}
.nob-newsletter__btn:hover { background: var(--lc-success-700); }
.nob-footer-wrap {
  background: linear-gradient(180deg, #302534 0%, #252228 100%);
}
.nob-footer-brand__logo-img {
  display: block;
  width: min(230px, 100%);
  height: auto;
}
.nob-footer-social__icon:hover,
.nob-footer-col__links a:hover {
  color: #fff;
  background: var(--nob-primary);
}

body.nob-active #main-content,
body.nob-active main {
  width: 100%;
  max-width: none;
}
.nob-hdr-v2__inner,
.nob-nav-v2 {
  width: 100%;
  max-width: none;
  padding-left: clamp(16px, 2.5vw, 40px);
  padding-right: clamp(16px, 2.5vw, 40px);
}
.nob-hero,
.nob-trust,
.nob-section,
.nob-newsletter,
.nob-footer-trust,
.nob-footer-wrap {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.nob-section {
  padding-left: clamp(16px, 2.5vw, 40px);
  padding-right: clamp(16px, 2.5vw, 40px);
}
.nob-flash-wrap,
.nob-b2b-wrap {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: clamp(16px, 2.5vw, 40px);
  padding-right: clamp(16px, 2.5vw, 40px);
}
.nob-cat-strip {
  width: 100%;
  max-width: none;
  padding-left: clamp(16px, 2.5vw, 40px);
  padding-right: clamp(16px, 2.5vw, 40px);
}
.nob-hero {
  grid-template-columns: minmax(230px, 18vw) minmax(0, 1fr);
}
.nob-hero__panel {
  display: block;
  min-height: 0;
  height: 560px;
  padding: 0;
}
.nob-hero__slides {
  position: relative;
  z-index: 1;
  height: 100%;
}
.nob-hero__slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  height: 100%;
  min-height: 560px;
  padding: 54px clamp(38px, 5vw, 78px) 68px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition: opacity .42s ease, transform .42s ease;
}
.nob-hero__slide.is-active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  z-index: 2;
}
.nob-hero__content {
  position: relative;
  z-index: 2;
  align-self: center;
  max-width: 720px;
}
.nob-hero__title {
  max-width: 680px;
  font-size: clamp(30px, 2.55vw, 46px);
  line-height: 1;
  letter-spacing: 0;
  margin: 14px 0 14px;
}
.nob-hero__title em {
  display: block;
}
.nob-hero__featured {
  margin: 0 0 14px;
  padding-left: 14px;
  border-left: 4px solid var(--nob-accent);
  display: grid;
  gap: 3px;
  max-width: 560px;
}
.nob-hero__featured span {
  color: var(--lc-success-100);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.nob-hero__featured a {
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  display: -webkit-box;
  line-height: 1.24;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.nob-hero__featured a:hover {
  color: var(--lc-success-100);
}
.nob-hero__image-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.72);
}
.nob-hero__image-placeholder svg {
  width: 96px;
  height: 96px;
}

.nob-hero__desc {
  max-width: 580px;
  margin-bottom: 14px;
}
.nob-hero__price-main {
  font-size: 46px;
}
.nob-hero__price-cents {
  font-size: 18px;
}
.nob-hero__ctas {
  margin-top: 18px;
}
.nob-hero__image {
  height: 300px;
}
.nob-hero__image-frame {
  width: min(390px, 100%);
  height: 286px;
}
.nob-hero__image-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nob-hero__controls {
  position: absolute;
  left: clamp(38px, 5vw, 78px);
  right: clamp(38px, 5vw, 78px);
  bottom: 22px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.nob-hero__dots,
.nob-hero__arrows {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nob-hero__dot,
.nob-hero__arrow {
  appearance: none;
  border: 0;
  cursor: pointer;
  font-family: var(--nob-font);
}
.nob-hero__dot {
  width: 34px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.32);
  padding: 0;
}
.nob-hero__dot.is-active {
  background: var(--nob-accent);
}
.nob-hero__arrow {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  display: grid;
  place-items: center;
}
.nob-hero__arrow:hover {
  background: var(--nob-accent);
  border-color: var(--nob-accent);
}
.nob-newsletter,
.nob-footer-trust {
  padding-left: clamp(16px, 2.5vw, 40px);
  padding-right: clamp(16px, 2.5vw, 40px);
}
.nob-hero__cat-item-placeholder,
.nob-cat-card__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--nob-accent);
  background: rgba(76,166,38,.08);
}
.nob-hero__cat-item-placeholder svg {
  width: 20px;
  height: 20px;
}
.nob-cat-card__placeholder svg {
  width: 34px;
  height: 34px;
}

.nob-trust__icon,
.nob-footer-trust__icon,
.nob-newsletter__icon {
  color: var(--nob-accent);
}
.nob-trust__icon svg,
.nob-footer-trust__icon svg,
.nob-newsletter__icon svg {
  width: 24px;
  height: 24px;
}
.nob-newsletter__icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.nob-newsletter__icon svg {
  color: #fff;
}

.nob-arc-card__btn,
button.nob-arc-card__btn,
.nob-arc-card a.nob-arc-card__btn,
.nob-arc-card button.nob-arc-card__btn {
  background: var(--nob-accent) !important;
  color: #fff !important;
  border-color: var(--nob-accent) !important;
  min-height: 38px;
}
.nob-arc-card__btn:hover,
button.nob-arc-card__btn:hover,
.nob-arc-card a.nob-arc-card__btn:hover,
.nob-arc-card button.nob-arc-card__btn:hover {
  background: var(--lc-success-700) !important;
  border-color: var(--lc-success-700) !important;
}
.nob-arc-card__qty {
  border-color: var(--nob-accent) !important;
}
.nob-arc-card__qty-btn {
  color: var(--nob-accent) !important;
}

.nob-cat-strip-banner {
  isolation: isolate;
}
.nob-cat-strip-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(37,33,40,.18), rgba(37,33,40,.04));
  z-index: 0;
}
.nob-cat-strip-banner__content {
  max-width: 72%;
}
.nob-cat-strip-banner__media {
  position: absolute;
  right: 14px;
  bottom: 0;
  width: 34%;
  height: 92%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  z-index: 1;
  pointer-events: none;
}
.nob-cat-strip-banner__media img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.26));
}
.nob-brands-section {
  background: #fff;
  border-top: 1px solid var(--nob-border);
  margin-top: 20px;
  overflow: hidden;
}
.nob-brands-carousel {
  position: relative;
  overflow: hidden;
  margin-top: 22px;
  padding: 4px 0 8px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.nob-brands-track {
  display: flex;
  width: max-content;
  gap: 12px;
  animation: nobBrandMarquee 58s linear infinite;
}
.nob-brands-carousel:hover .nob-brands-track {
  animation-play-state: paused;
}
.nob-brand-card {
  flex: 0 0 178px;
  width: 178px;
  min-height: 104px;
  aspect-ratio: auto;
  display: grid;
  grid-template-rows: minmax(48px, 1fr) auto;
  align-items: center;
  justify-items: center;
  gap: 9px;
  padding: 16px 14px 13px;
  background: #fff;
  border: 1px solid rgba(143,30,174,.14);
  border-radius: 8px;
  color: var(--nob-muted);
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(35,25,38,.05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.nob-brand-card:hover {
  transform: translateY(-2px);
  border-color: var(--nob-accent);
  box-shadow: 0 14px 28px rgba(76,166,38,.11);
}
.nob-brand-card__media {
  width: 100%;
  height: 52px;
  display: grid;
  place-items: center;
}
.nob-brand-card__media img {
  display: block;
  max-width: 126px;
  max-height: 50px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .82;
  transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}
.nob-brand-card:hover .nob-brand-card__media img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.03);
}
.nob-brand-card__name {
  max-width: 100%;
  color: var(--nob-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .9px;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nob-brand-card:hover .nob-brand-card__name {
  color: var(--nob-primary);
}
.nob-brand-card--tander {
  background: #252525;
  border-color: rgba(76,166,38,.32);
}
.nob-brand-card--tander .nob-brand-card__name {
  color: rgba(255,255,255,.84);
}

body > noscript {
  display: none !important;
}
body:not(.admin-bar):not(.nob-body-cleaned) .nob-coupon-strip {
  margin-top: -25px !important;
}
body > .skip-link.screen-reader-text,
body > .ob-skip-link.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body > .skip-link.screen-reader-text:focus,
body > .ob-skip-link.screen-reader-text:focus {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  color: var(--nob-ink) !important;
  background: #fff !important;
  border: 2px solid var(--nob-accent) !important;
  border-radius: 6px !important;
  z-index: 100000 !important;
}
.nob-hdr-v2__inner {
  grid-template-columns: minmax(230px, 300px) minmax(620px, 760px) max-content max-content max-content max-content;
  justify-content: center;
  gap: clamp(18px, 1.6vw, 30px);
}
.nob-hdr-v2__search {
  max-width: none;
  width: 100%;
  height: 56px;
}
.nob-hdr-v2__search-input {
  font-size: 18px;
  padding-left: 20px;
}
.nob-hdr-v2__search-btn {
  width: 66px;
  padding: 0;
}

@keyframes nobBrandMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 6px)); }
}

@media (prefers-reduced-motion: reduce) {
  .nob-brands-track {
    animation: none;
  }
  .nob-brands-carousel {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (max-width: 1280px) {
  .nob-product-grid,
  .nob-archive-grid,
  ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .nob-home-carousel__item {
    flex-basis: calc((100% - 36px) / 4);
  }
  .nob-hdr-v2__inner {
    grid-template-columns: minmax(190px, 230px) minmax(440px, 1fr) auto auto auto auto;
    gap: 16px;
  }
}
@media (max-width: 1024px) {
  .nob-product-grid,
  .nob-archive-grid,
  ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .nob-home-carousel__item {
    flex-basis: calc((100% - 24px) / 3);
  }
  .nob-hdr-v2__inner {
    grid-template-columns: minmax(180px, 220px) minmax(420px, 1fr) auto auto;
  }
  .nob-hdr-v2__action:nth-of-type(3) {
    display: none;
  }
}
@media (max-width: 768px) {
  .nob-product-grid,
  .nob-archive-grid,
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .nob-home-carousel__item {
    flex-basis: calc((100% - 12px) / 2);
  }
  .nob-home-carousel__nav {
    display: none;
  }
  .nob-hdr-v2__logo-img {
    width: min(210px, 58vw);
    max-height: 52px;
  }
  .nob-hdr-v2__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "logo cart menu" "search search search";
  }
  .nob-hdr-v2__search {
    height: 50px;
  }
  .nob-hdr-v2__search-input {
    font-size: 16px;
    padding-left: 16px;
  }
  .nob-hdr-v2__search-btn {
    width: 58px;
  }
  .nob-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .nob-hero__panel {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
  }
  .nob-hero__slides {
    height: auto;
  }
  .nob-hero__slide {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    height: auto;
    padding: 38px 20px 78px;
    gap: 18px;
  }
  .nob-hero__title {
    max-width: 100%;
    font-size: 32px;
    line-height: 1.03;
    margin: 12px 0;
  }
  .nob-hero__badge {
    max-width: 100%;
    white-space: normal;
    line-height: 1.25;
  }
  .nob-hero__desc {
    max-width: 100%;
    font-size: 14px;
    margin-bottom: 12px;
  }
  .nob-hero__featured {
    max-width: 100%;
  }
  .nob-hero__price-main {
    font-size: 38px;
  }
  .nob-hero__ctas {
    margin-top: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .nob-hero__ctas a {
    justify-content: center;
    min-height: 48px;
    text-align: center;
  }
  .nob-hero__image {
    width: 100%;
    height: 220px;
    margin-top: 0;
  }
  .nob-hero__image-frame {
    width: min(310px, 86vw);
    height: 210px;
  }
  .nob-hero__controls {
    left: 20px;
    right: 20px;
    bottom: 18px;
  }
  .nob-hero__dot {
    width: 26px;
  }
  .nob-hero__arrow {
    width: 34px;
    height: 34px;
    font-size: 22px;
  }
  .nob-split-section {
    grid-template-columns: minmax(0, 1fr);
  }
  .nob-split-section .nob-product-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .nob-cat-strip {
    grid-template-columns: minmax(0, 1fr);
  }
  .nob-cat-strip-banner__content {
    max-width: 68%;
  }
  .nob-brands-track {
    gap: 10px;
    animation-duration: 46s;
  }
  .nob-brand-card {
    flex-basis: 150px;
    width: 150px;
    min-width: 150px;
    min-height: 96px;
    padding: 14px 12px 12px;
  }
  .nob-footer-trust {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 16px;
    padding-right: 16px;
  }
  .nob-footer-trust__title,
  .nob-footer-trust__sub {
    white-space: normal;
  }
  .nob-b2b-dark__glow {
    right: -70px;
  }
}

body.nob-active .nob-archive-breadcrumb,
body.nob-active .nob-archive-hero__content,
body.nob-active .nob-archive-body {
  padding-left: clamp(22px, 2.4vw, 52px);
  padding-right: clamp(22px, 2.4vw, 52px);
}
body.nob-active .woocommerce-page .nob-archive-body,
body.nob-active .woocommerce-archive .nob-archive-body,
body.nob-active .nob-archive-body {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  grid-template-columns: minmax(260px, 312px) minmax(0, 1fr);
  gap: clamp(20px, 1.7vw, 34px);
}
body.nob-active .nob-archive-grid {
  grid-template-columns: repeat(auto-fill, minmax(214px, 1fr)) !important;
  gap: 14px !important;
}
body.nob-active .nob-arc-card__stars {
  min-height: 18px;
}
body.nob-active .nob-arc-card__name {
  min-height: 38px !important;
  font-size: 13.5px !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  color: #252128 !important;
}
body.nob-active .nob-arc-card__price {
  margin-top: 7px !important;
  color: var(--nob-dark);
}
body.nob-active .nob-arc-card__price-curr {
  font-size: 13px !important;
  font-weight: 850 !important;
  margin-right: 3px;
}
body.nob-active .nob-arc-card__price-int {
  font-size: 26px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
body.nob-active .nob-arc-card__price-cents {
  font-size: 14px !important;
  font-weight: 900 !important;
}
body.nob-active .nob-arc-card__installments {
  margin-top: 5px !important;
  color: var(--lc-ink-3) !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}
body.nob-active .nob-arc-card__installments b {
  color: var(--nob-dark) !important;
  font-weight: 850 !important;
}
body.nob-active .nob-arc-card__pix {
  margin-top: 4px;
  color: var(--nob-accent) !important;
  font-size: 12px;
  font-weight: 650;
}
body.nob-active .nob-arc-card__pix b {
  color: var(--nob-accent) !important;
  font-weight: 900;
}
body.nob-active .nob-arc-card__btn,
body.nob-active button.nob-arc-card__btn,
body.nob-active .nob-arc-card a.nob-arc-card__btn,
body.nob-active .nob-arc-card button.nob-arc-card__btn {
  font-size: 13px !important;
  font-weight: 900 !important;
  min-height: 40px;
}

@media (max-width: 1024px) {
  body.nob-active .woocommerce-page .nob-archive-body,
  body.nob-active .woocommerce-archive .nob-archive-body,
  body.nob-active .nob-archive-body {
    grid-template-columns: minmax(0, 1fr);
    padding: 20px clamp(16px, 4vw, 28px);
  }
  body.nob-active .nob-archive-grid {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.nob-active .nob-archive-breadcrumb,
  body.nob-active .nob-archive-hero__content,
  body.nob-active .nob-archive-body {
    padding-left: 16px;
    padding-right: 16px;
  }
  body.nob-active .nob-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* PDP Obra Certa handoff */
body.nob-active.single-product {
  --pdp-purple: var(--lc-primary);
  --pdp-purple-2: var(--lc-primary-deep);
  --pdp-purple-soft: var(--lc-primary-50);
  --pdp-green: var(--lc-success);
  --pdp-green-2: var(--lc-success-700);
  --pdp-green-soft: var(--lc-success-50);
  --pdp-ink: var(--lc-ink);
  --pdp-muted: var(--lc-ink-3);
  --pdp-line: var(--lc-line);
  --pdp-paper: var(--lc-paper-2);
  background: var(--pdp-paper);
}
body.nob-active.single-product #main-content,
body.nob-active.single-product .site-main {
  background: var(--pdp-paper);
}
body.nob-active.single-product .ob-container {
  max-width: 1320px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
body.nob-active.single-product .ob-single-product {
  padding-bottom: 52px;
}
body.nob-active.single-product .ob-breadcrumb {
  margin: 0 0 14px;
  padding: 18px 0 6px;
  border-bottom: 0;
}
body.nob-active.single-product .ob-breadcrumb__item a:hover,
body.nob-active.single-product .ob-breadcrumb__item--current {
  color: var(--pdp-purple);
}
body.nob-active.single-product .ob-single-product__layout {
  grid-template-columns: minmax(0, 1.45fr) minmax(420px, 1fr) !important;
  gap: 32px !important;
  margin-bottom: 28px !important;
}
body.nob-active.single-product .ob-gallery {
  position: sticky !important;
  top: 24px !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px !important;
  align-items: start;
}
body.nob-active.single-product .ob-gallery__main {
  grid-column: 2;
  min-height: 540px;
  aspect-ratio: auto;
  border-radius: 16px;
  border: 1px solid var(--pdp-line);
  background: #fff;
  box-shadow: none;
}
body.nob-active.single-product .ob-gallery__main img {
  max-height: 540px;
  padding: 24px;
}
body.nob-active.single-product .ob-gallery__thumbs {
  grid-column: 1;
  grid-row: 1;
  flex-direction: column !important;
  gap: 8px !important;
  max-height: 540px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 2px 2px 0;
}
body.nob-active.single-product .ob-gallery__thumb {
  width: 72px;
  height: 72px;
  border-width: 2px;
  border-radius: 10px;
  box-shadow: none;
}
body.nob-active.single-product .ob-gallery__thumb.is-active {
  border-color: var(--pdp-purple) !important;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(20,58,123,.11) !important;
}
body.nob-active.single-product .ob-gallery__discount-badge {
  top: 18px;
  left: 18px;
  background: var(--pdp-purple);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12px;
}
body.nob-active.single-product .ob-gallery__bestseller-badge {
  top: 18px;
  left: 116px;
  right: auto;
  background: #fff;
  border: 1.5px solid var(--pdp-green);
  color: var(--pdp-green-2);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 11px;
}
body.nob-active.single-product .nob-pdp-viewers {
  left: 18px;
  bottom: 18px;
  border-radius: 24px;
  border-color: var(--pdp-line);
  background: #fff;
  color: var(--pdp-ink);
  box-shadow: none;
}
body.nob-active.single-product .ob-gallery__actions {
  top: 18px;
  right: 18px;
  bottom: auto;
}
body.nob-active.single-product .ob-gallery__action-btn {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  box-shadow: none;
  color: var(--pdp-ink);
}
body.nob-active.single-product .ob-purchase-card {
  border-radius: 16px;
  border-color: var(--pdp-line);
  box-shadow: none;
  background: #fff;
}
body.nob-active.single-product .ob-countdown-bar {
  margin: 24px 24px 0;
  padding: 10px 14px;
  background: #fcfcf8 !important;
  color: var(--pdp-ink) !important;
  border: 1.5px dashed var(--pdp-green);
  border-radius: 12px !important;
  justify-content: flex-start;
}
body.nob-active.single-product .ob-countdown-bar__progress {
  display: none;
}
body.nob-active.single-product .ob-countdown-bar__text {
  width: 100%;
  justify-content: space-between;
  gap: 10px;
}
body.nob-active.single-product .ob-countdown-bar__text svg {
  color: var(--pdp-green-2);
}
body.nob-active.single-product .ob-countdown-bar__time {
  color: var(--pdp-green-2);
  font-family: var(--nob-display);
  letter-spacing: 1px;
}
body.nob-active.single-product .ob-purchase-card__body {
  padding: 18px 24px 24px;
  gap: 18px;
}
body.nob-active.single-product .ob-pcard-meta .ob-meta-chip {
  border-radius: 5px !important;
  background: var(--pdp-purple-soft) !important;
  color: var(--pdp-purple) !important;
  border: 0 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .6px;
}
body.nob-active.single-product .ob-pcard-title {
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  color: var(--pdp-ink) !important;
  letter-spacing: -.6px !important;
}
body.nob-active.single-product .ob-pcard-rating {
  gap: 12px;
  color: var(--pdp-muted);
}
body.nob-active.single-product .ob-pcard-rating .star-rating,
body.nob-active.single-product .ob-pcard-rating .star-rating::before,
body.nob-active.single-product .ob-pcard-rating .star-rating span::before {
  color: var(--lc-warn) !important;
}
body.nob-active.single-product .nob-pdp-fomo-sold {
  margin: 0;
  border-radius: 12px;
  padding: 12px 14px;
  background: var(--lc-danger-50);
  border-color: var(--lc-danger-50);
  color: var(--pdp-ink);
}
body.nob-active.single-product .nob-pdp-fomo-sold strong {
  color: var(--lc-danger);
}
body.nob-active.single-product .nob-pdp-fomo-sold__fire {
  color: var(--lc-danger);
  display: inline-flex;
  flex: 0 0 auto;
}
body.nob-active.single-product .nob-pdp-countdown {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--lc-danger-50);
  border-radius: 12px;
  background: var(--lc-danger-50);
}
body.nob-active.single-product .nob-pdp-countdown__label {
  color: var(--lc-danger);
}
body.nob-active.single-product .nob-pdp-countdown__num {
  background: var(--pdp-ink);
  border-radius: 5px;
  color: #fff;
}
body.nob-active.single-product .nob-pdp-countdown__sep {
  color: var(--pdp-ink);
}
body.nob-active.single-product .ob-pcard-price__was del,
body.nob-active.single-product .ob-pcard-price__was-label,
body.nob-active.single-product .ob-pcard-price__por-apenas {
  color: var(--pdp-muted);
}
body.nob-active.single-product .ob-pcard-price__main {
  color: var(--pdp-purple) !important;
  font-size: 48px !important;
  font-weight: 900 !important;
  letter-spacing: -1.4px !important;
}
body.nob-active.single-product .ob-pcard-installment {
  color: var(--pdp-muted);
  font-size: 13px;
}
body.nob-active.single-product .ob-pcard-installment strong {
  color: var(--pdp-ink);
  font-weight: 900;
}
body.nob-active.single-product .ob-pcard-pix-row {
  margin-top: 8px;
  background: #0f3a14;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  color: #fff;
}
body.nob-active.single-product .ob-pcard-pix-row__label {
  background: var(--pdp-green);
  color: #fff;
  border-radius: 5px;
  padding: 3px 8px;
}
body.nob-active.single-product .ob-pcard-pix-row__val {
  margin-left: auto;
  color: #fff;
  font-size: 18px;
}
body.nob-active.single-product .ob-pcard-actions {
  gap: 10px;
}
body.nob-active.single-product .ob-pcard-qty {
  border: 2px solid var(--pdp-line);
  border-radius: 10px;
  padding: 4px;
}
body.nob-active.single-product .ob-pcard-qty__btn {
  color: var(--pdp-purple);
  border-radius: 8px;
}
body.nob-active.single-product .ob-pcard-add-btn {
  background: var(--pdp-purple) !important;
  border-radius: 10px !important;
  min-height: 50px;
  font-size: 15px;
  letter-spacing: .5px;
}
body.nob-active.single-product .ob-pcard-add-btn:hover {
  background: var(--pdp-purple-2) !important;
}
html body.nob-active.single-product .ob-purchase-card .ob-pcard-add-btn,
html body.nob-active.single-product .ob-purchase-card button.single_add_to_cart_button {
  background: var(--pdp-purple) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
html body.nob-active.single-product .ob-purchase-card .ob-pcard-add-btn:hover,
html body.nob-active.single-product .ob-purchase-card button.single_add_to_cart_button:hover {
  background: var(--pdp-purple-2) !important;
}
body.nob-active.single-product .ob-pcard-whatsapp-btn {
  background: #fff;
  border: 2px solid var(--pdp-green);
  border-radius: 10px;
  color: var(--pdp-green-2) !important;
  min-height: 48px;
}
body.nob-active.single-product .ob-pcard-freight {
  border-top-color: var(--pdp-line);
}
body.nob-active.single-product .ob-pcard-freight__label,
body.nob-active.single-product .ob-pcard-freight__label svg {
  color: var(--pdp-ink);
}
body.nob-active.single-product .ob-pcard-freight__free-badge {
  background: var(--pdp-green-soft);
  color: var(--pdp-green-2);
}
body.nob-active.single-product .ob-freight-btn {
  background: var(--pdp-ink) !important;
  border-radius: 10px;
}
body.nob-active.single-product .ob-pcard-guarantee {
  gap: 10px;
}
body.nob-active.single-product .ob-pcard-guarantee__item {
  border: 0 !important;
  background: var(--pdp-purple-soft);
  border-radius: 10px;
  padding: 10px;
  gap: 10px;
}
body.nob-active.single-product .ob-pcard-guarantee__icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #fff;
  color: var(--pdp-purple);
  display: inline-grid;
  place-items: center;
}
body.nob-active.single-product .ob-pcard-guarantee__item strong {
  color: var(--pdp-ink);
  font-weight: 900;
  font-size: 12px;
}
body.nob-active.single-product .ob-pcard-guarantee__item span:not(.ob-pcard-guarantee__icon) {
  color: var(--pdp-muted);
  font-size: 10px;
}
body.nob-active.single-product .nob-pdp-quick-summary {
  background: #fff;
  color: var(--pdp-ink);
  border: 1px solid var(--pdp-line);
  border-radius: 16px;
  padding: 18px 24px;
  gap: 0;
  margin: 0;
}
body.nob-active.single-product .nob-pdp-quick-summary__item {
  border-left-color: var(--pdp-line);
}
body.nob-active.single-product .nob-pdp-quick-summary__label {
  color: var(--pdp-muted);
  font-family: var(--nob-display);
}
body.nob-active.single-product .nob-pdp-quick-summary__value {
  color: var(--pdp-ink);
  font-family: var(--nob-display);
  font-size: 15px;
}
body.nob-active.single-product .nob-pdp-promo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  margin: 24px 0 0;
}
body.nob-active.single-product .nob-pdp-mid-banner {
  margin: 0;
  min-height: 185px;
  border-radius: 16px;
  padding: 24px 28px;
  background: linear-gradient(135deg, var(--pdp-purple) 0%, var(--pdp-purple-2) 100%);
}
body.nob-active.single-product .nob-pdp-mid-banner__icon {
  display: inline-flex;
  color: var(--pdp-green);
}
body.nob-active.single-product .nob-pdp-mid-banner__eyebrow {
  color: var(--pdp-green);
}
body.nob-active.single-product .nob-pdp-mid-banner__title {
  font-size: 22px;
}
body.nob-active.single-product .nob-pdp-mid-banner__cta {
  border-radius: 9px;
  background: var(--pdp-green);
  color: #fff;
}
body.nob-active.single-product .nob-pdp-b2b-card {
  min-height: 185px;
  border: 1px solid var(--pdp-line);
  border-radius: 16px;
  background: #fff;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  overflow: hidden;
}
body.nob-active.single-product .nob-pdp-b2b-card::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 180px;
  background: linear-gradient(135deg, transparent 0%, rgba(30,158,90,.08) 62%, rgba(30,158,90,.16) 100%);
  pointer-events: none;
}
body.nob-active.single-product .nob-pdp-b2b-card__eyebrow {
  color: var(--pdp-green-2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
body.nob-active.single-product .nob-pdp-b2b-card__title {
  color: var(--pdp-ink);
  font-family: var(--nob-display);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.1;
}
body.nob-active.single-product .nob-pdp-b2b-card__title span {
  color: var(--pdp-purple);
}
body.nob-active.single-product .nob-pdp-b2b-card__sub {
  margin-top: 8px;
  color: var(--pdp-muted);
  font-size: 13px;
  font-weight: 650;
}
body.nob-active.single-product .nob-pdp-b2b-card__bottom {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 12px;
  align-items: center;
}
body.nob-active.single-product .nob-pdp-b2b-card__bottom span {
  min-width: 90px;
  padding: 6px 12px;
  border-radius: 9px;
  background: var(--pdp-purple-soft);
  border: 1px solid var(--lc-primary-100);
}
body.nob-active.single-product .nob-pdp-b2b-card__bottom small {
  display: block;
  color: var(--pdp-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.2px;
}
body.nob-active.single-product .nob-pdp-b2b-card__bottom strong {
  display: block;
  color: var(--pdp-purple);
  font-size: 14px;
  font-weight: 900;
}
body.nob-active.single-product .nob-pdp-b2b-card__bottom a {
  margin-left: auto;
  padding: 10px 16px;
  border-radius: 9px;
  background: var(--pdp-purple);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .5px;
  text-decoration: none;
}
body.nob-active.single-product .ob-guarantee-strip {
  margin-top: 24px;
  border-radius: 16px;
  border: 1px solid var(--pdp-line);
  background: #fff;
}
body.nob-active.single-product .ob-tabs {
  margin-top: 24px;
  border-radius: 16px !important;
  border-color: var(--pdp-line) !important;
  overflow: hidden;
}
body.nob-active.single-product .ob-tabs__nav {
  padding-left: 24px !important;
}
body.nob-active.single-product .ob-tabs__nav button,
body.nob-active.single-product .ob-tabs__nav .ob-tab {
  padding: 18px 22px !important;
  color: var(--pdp-muted) !important;
  font-weight: 850 !important;
}
body.nob-active.single-product .ob-tabs__nav button.is-active,
body.nob-active.single-product .ob-tabs__nav .ob-tab.is-active {
  color: var(--pdp-purple) !important;
  border-bottom-color: var(--pdp-green) !important;
}
body.nob-active.single-product .ob-tab-panel {
  padding: 28px 32px !important;
}
body.nob-active.single-product .ob-section {
  padding: 34px 0 0;
}
body.nob-active.single-product .ob-section-eyebrow {
  color: var(--pdp-green-2);
}
body.nob-active.single-product .ob-section-title {
  color: var(--pdp-ink);
  font-size: 26px;
}
body.nob-active.single-product .nob-pdp-related-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch;
}
body.nob-active.single-product .nob-pdp-related-grid .nob-arc-card {
  width: 100%;
  min-width: 0;
}
body.nob-active.single-product .ob-sticky-bar__price-main {
  color: var(--pdp-purple);
}
body.nob-active.single-product .ob-sticky-bar__btn.ob-btn--primary {
  background: var(--pdp-purple) !important;
}

@media (max-width: 1180px) {
  body.nob-active.single-product .ob-single-product__layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.nob-active.single-product .ob-gallery {
    position: relative !important;
    top: auto !important;
  }
  body.nob-active.single-product .nob-pdp-related-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.nob-active.single-product .ob-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.nob-active.single-product .ob-gallery {
    grid-template-columns: minmax(0, 1fr);
  }
  body.nob-active.single-product .ob-gallery__main {
    grid-column: 1;
    min-height: 360px;
  }
  body.nob-active.single-product .ob-gallery__main img {
    max-height: 360px;
  }
  body.nob-active.single-product .ob-gallery__thumbs {
    grid-column: 1;
    grid-row: 2;
    flex-direction: row !important;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 6px;
  }
  body.nob-active.single-product .ob-pcard-title {
    font-size: 22px !important;
  }
  body.nob-active.single-product .ob-pcard-price__main {
    font-size: 38px !important;
  }
  body.nob-active.single-product .nob-pdp-quick-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.nob-active.single-product .nob-pdp-quick-summary__item {
    border-left: 0;
    border-top: 1px solid var(--pdp-line);
    padding: 14px 0 0;
  }
  body.nob-active.single-product .nob-pdp-quick-summary__item:nth-child(-n+2) {
    border-top: 0;
    padding-top: 0;
  }
  body.nob-active.single-product .nob-pdp-promo-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.nob-active.single-product .nob-pdp-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.nob-active.single-product .ob-countdown-bar,
  body.nob-active.single-product .ob-purchase-card__body {
    margin-left: 16px;
    margin-right: 16px;
  }
  body.nob-active.single-product .ob-purchase-card__body {
    padding-left: 0;
    padding-right: 0;
  }
  body.nob-active.single-product .ob-pcard-actions {
    flex-direction: column;
  }
  body.nob-active.single-product .ob-pcard-qty {
    width: 100%;
    justify-content: space-between;
  }
  body.nob-active.single-product .nob-pdp-quick-summary {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.nob-active.single-product .nob-pdp-quick-summary__item,
  body.nob-active.single-product .nob-pdp-quick-summary__item:nth-child(-n+2) {
    border-top: 1px solid var(--pdp-line);
    padding-top: 12px;
  }
  body.nob-active.single-product .nob-pdp-quick-summary__item:first-child {
    border-top: 0;
    padding-top: 0;
  }
  body.nob-active.single-product .nob-pdp-b2b-card__bottom {
    flex-wrap: wrap;
  }
  body.nob-active.single-product .nob-pdp-b2b-card__bottom a {
    width: 100%;
    text-align: center;
    margin-left: 0;
  }
}
