
/* ==========================================================
   PROMOSIM — PADRONIZAÇÃO VISUAL GLOBAL
   Somente apresentação. Não altera funções, SEO ou estrutura.
   ========================================================== */

:root{
  --promosim-purple:var(--brand-primary,#2563EB);
  --promosim-ink:#171219;
  --promosim-muted:#716976;
  --promosim-line:color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 4%, white);
  --promosim-soft:#fbf9fc;
  --promosim-max:1220px;
  --promosim-radius:14px;
  --promosim-font:"Segoe UI Variable","Segoe UI",Arial,sans-serif;
}

/* ---------- 1. FONTE GLOBAL ---------- */
html,
body,
button,
input,
select,
textarea,
option,
a,
p,
span,
div,
label,
small,
strong,
b,
h1,h2,h3,h4,h5,h6{
  font-family:var(--promosim-font) !important;
}

body{
  color:var(--promosim-ink);
  font-weight:400 !important;
  letter-spacing:-.01em;
}

p,span,div,label,small,a,
input,select,textarea,button{
  font-weight:400;
}

/* ---------- 2. TÍTULOS E CABEÇALHOS ---------- */
h1,h2,h3,h4,h5,h6,
.page-title,
.section-title,
.section-heading,
.block-title,
.home-title,
.hero-title,
.all-title h2,
.section-head h1,
.section-head h2,
.section-head h3{
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  color:var(--promosim-ink);
}

h1,.page-title,.hero-title{
  line-height:1.12 !important;
}

h2,.section-title,.section-heading,.block-title{
  line-height:1.18 !important;
}

/* palavras coloridas dentro dos títulos continuam em negrito */
h1 span,h2 span,h3 span,
.page-title span,
.section-title span,
.section-heading span,
.block-title span,
.hero-title span{
  font-weight:700 !important;
}

/* ---------- 3. CARD DE PRODUTO: TÍTULO NORMAL ---------- */
.product-title,
.product-name,
.product-name-v2,
.offer-title,
.all-deal-title,
.achado-title,
.ss-title,
.similar-title,
.explore-title,
.pc-title,
.card-title,
.deal-title,
.trending-name,
.card .title,
.body .title,
.product-card h3,
.offer-card h3{
  font-weight:400 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  line-height:1.32 !important;
  height:2.64em !important;
  min-height:2.64em !important;
  max-height:2.64em !important;
}

/* descendentes não voltam a ficar em negrito */
.product-title *,
.product-name *,
.product-name-v2 *,
.offer-title *,
.all-deal-title *,
.achado-title *,
.ss-title *,
.similar-title *,
.explore-title *,
.pc-title *,
.card-title *,
.deal-title *,
.trending-name *,
.card .title *,
.body .title *{
  font-weight:400 !important;
}

/* ---------- 4. PREÇO EM NEGRITO ---------- */
.price,
.current-price,
.final-price,
.product-price,
.product-price-v2,
.offer-price,
.all-deal-price,
.achado-price,
.ss-price,
.similar-price,
.explore-price,
.pc-price,
.deal-price,
[class*="current-price"],
[class*="final-price"]{
  font-weight:700 !important;
  letter-spacing:-.02em !important;
}

/* preço anterior não fica em negrito */
.old-price,
.previous-price,
.price-old,
.product-old,
.product-old-v2,
.all-deal-old,
.achado-old{
  font-weight:400 !important;
}

/* ---------- 5. TEXTOS AUXILIARES ---------- */
.subtitle,
.description,
.crumb,
.breadcrumb,
.product-store,
.product-store-v2,
.offer-store,
.all-deal-store,
.achado-store,
.cat-count,
small{
  font-weight:400 !important;
}

/* ---------- 6. LARGURA / LINHA GLOBAL ---------- */
/* Classes de container usadas no portal */
.wrap,
.container,
.site-container,
.page-container,
.page-wrap,
.content-wrap{
  width:min(calc(100% - 48px), var(--promosim-max)) !important;
  max-width:var(--promosim-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* evita container duplo reduzir a largura */
.wrap .container,
.container .wrap,
.page-wrap .container,
.page-container .container{
  width:100% !important;
  max-width:100% !important;
}

/* ---------- 7. MENU GLOBAL ---------- */
.nav{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  white-space:nowrap;
}

.nav > a{
  font-weight:400 !important;
}

/* ---------- 8. FAVORITOS / ALERTAS / CONTA ---------- */
.actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

.actions > a,
.actions > .action{
  box-sizing:border-box;
}

/* mantém o padrão moderno já existente */
.actions a b,
.actions .action b,
.action-ico{
  color:var(--promosim-purple) !important;
}

/* ---------- 9. CARDS: RITMO VISUAL ---------- */
.product-card,
.offer-card,
.all-deal-card,
.achado-card,
.similar-card,
.explore-card,
.ss-card,
.pc-card{
  box-sizing:border-box !important;
}

/* reduz diferenças causadas por margens locais em conteúdo de card */
.product-card p,
.offer-card p,
.all-deal-card p,
.achado-card p,
.similar-card p,
.explore-card p{
  margin-top:0;
}

/* ---------- 10. BOTÕES E FILTROS ---------- */
button,
.btn,
[class*="btn"],
select,
input,
textarea{
  font-family:var(--promosim-font) !important;
}

button,
.btn,
[class*="btn"]{
  font-weight:600;
}

/* ---------- 11. MOBILE ---------- */
@media(max-width:760px){
  .wrap,
  .container,
  .site-container,
  .page-container,
  .page-wrap,
  .content-wrap{
    width:calc(100% - 24px) !important;
  }

  .nav{
    gap:22px !important;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .nav::-webkit-scrollbar{
    display:none;
  }

  h1,.page-title,.hero-title{
    letter-spacing:-.02em !important;
  }
}


/* PROMOSIM_GLOBAL_NAV_STANDARD_V2
   Controle único do menu principal em todas as páginas públicas.
   O item ativo muda SOMENTE de cor e recebe a linha inferior.
*/
.nav{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  height:42px !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

.nav > a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;

  height:42px !important;
  padding:0 !important;
  margin:0 !important;

  font-family:var(--promosim-font) !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;

  color:var(--promosim-ink) !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  background:none !important;

  transition:color .18s ease !important;
}

/* Todos os ícones do menu seguem exatamente o mesmo tamanho */
.nav > a svg,
.nav > a .promosim-nav-v2-icon,
.nav > a .promosim-home-nav-icon,
.nav > a [class*="nav-icon"]{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  flex:0 0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  color:var(--promosim-purple) !important;
}

/* SVGs ficam visualmente idênticos */
.nav > a svg{
  display:block !important;
  width:18px !important;
  height:18px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Hover: só muda a cor */
.nav > a:hover{
  color:var(--promosim-purple) !important;
}

/* Ativo: mesma fonte/tamanho/peso dos demais */
.nav > a.active,
.nav > a.is-active,
.nav > a.current,
.nav > a.selected,
.nav > a.promosim-menu-active-v6{
  color:var(--promosim-purple) !important;
  font-size:12px !important;
  font-weight:400 !important;
}

/* Remove indicadores locais/antigos para evitar duplicações e larguras diferentes */
.nav > a.active::before,
.nav > a.is-active::before,
.nav > a.current::before,
.nav > a.selected::before,
.nav > a.promosim-menu-active-v6::before,
.nav > a.active::after,
.nav > a.is-active::after,
.nav > a.current::after,
.nav > a.selected::after,
.nav > a.promosim-menu-active-v6::after{
  content:none !important;
  display:none !important;
}

/* Indicador global único: exatamente sob ícone + texto */
.nav > a.active::after,
.nav > a.is-active::after,
.nav > a.current::after,
.nav > a.selected::after,
.nav > a.promosim-menu-active-v6::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;

  left:0 !important;
  right:0 !important;
  bottom:0 !important;

  width:100% !important;
  height:2px !important;
  margin:0 auto !important;

  border-radius:999px !important;
  background:var(--promosim-purple) !important;
}

/* Garante que wrappers internos não alterem peso/tamanho do ativo */
.nav > a span,
.nav > a b,
.nav > a strong{
  font-family:var(--promosim-font) !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1 !important;
}

/* Distância consistente entre menu e linha divisória do header */
header .nav{
  padding-bottom:0 !important;
}

header{
  border-bottom:1px solid var(--promosim-line) !important;
}

/* Mobile: mesma lógica, apenas menor espaçamento horizontal */
@media(max-width:760px){
  .nav{
    gap:22px !important;
    height:42px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }

  .nav::-webkit-scrollbar{
    display:none !important;
  }

  .nav > a,
  .nav > a.active,
  .nav > a.is-active,
  .nav > a.current,
  .nav > a.selected,
  .nav > a.promosim-menu-active-v6{
    height:42px !important;
    font-size:12px !important;
    font-weight:400 !important;
  }
}


/* PROMOSIM_GLOBAL_CAMPAIGN_BANNER_COMPONENT_V1
   Componente global único, sem ícones. Só existe quando o backend o injeta.
*/
.promosim-global-campaign{
  display:block !important;
  width:min(calc(100% - 32px), 1460px) !important;
  margin:10px auto 0 !important;
  border-radius:14px !important;
  background:linear-gradient(110deg,var(--pgb-from,var(--brand-secondary,#1E40AF)),var(--pgb-to,var(--brand-primary,var(--p,#2563EB)))) !important;
  color:var(--pgb-text,#fff) !important;
  text-decoration:none !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  box-shadow:0 8px 22px color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 8%, transparent) !important;
}

.promosim-global-campaign__inner{
  min-height:52px !important;
  padding:9px 16px 9px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  box-sizing:border-box !important;
}

.promosim-global-campaign__copy{
  min-width:0 !important;
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:5px 8px !important;
  color:inherit !important;
  font-weight:400 !important;
  line-height:1.25 !important;
}

.promosim-global-campaign__main,
.promosim-global-campaign__extra{
  color:inherit !important;
  font-size:13px !important;
  font-weight:400 !important;
}

.promosim-global-campaign__highlight{
  color:inherit !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.promosim-global-campaign__cta{
  flex:0 0 auto !important;
  min-height:34px !important;
  padding:0 15px !important;
  border-radius:10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  background:var(--pgb-button,#fff) !important;
  color:var(--pgb-from,var(--brand-secondary,#1E40AF)) !important;
  font-size:11px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  transition:transform .18s ease,opacity .18s ease !important;
}

.promosim-global-campaign:hover .promosim-global-campaign__cta{
  transform:translateX(2px) !important;
}

@media(max-width:760px){
  .promosim-global-campaign{
    width:calc(100% - 20px) !important;
    margin-top:7px !important;
    border-radius:12px !important;
  }

  .promosim-global-campaign__inner{
    min-height:auto !important;
    padding:10px 12px !important;
    gap:10px !important;
    align-items:center !important;
  }

  .promosim-global-campaign__copy{
    display:block !important;
    line-height:1.18 !important;
  }

  .promosim-global-campaign__main,
  .promosim-global-campaign__highlight,
  .promosim-global-campaign__extra{
    font-size:11px !important;
  }

  .promosim-global-campaign__highlight{
    margin-left:4px !important;
  }

  .promosim-global-campaign__extra{
    display:block !important;
    margin-top:3px !important;
    opacity:.9 !important;
  }

  .promosim-global-campaign__cta{
    min-height:32px !important;
    padding:0 10px !important;
    border-radius:9px !important;
    font-size:10px !important;
  }
}

@media(max-width:430px){
  .promosim-global-campaign__inner{
    align-items:flex-start !important;
  }

  .promosim-global-campaign__cta{
    max-width:112px !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

.promosim-global-campaign--image{background:none!important;box-shadow:none!important}
.promosim-global-campaign--image img{display:block!important;width:100%!important;height:auto!important;max-height:120px!important;object-fit:cover!important;border-radius:14px!important}
@media(max-width:760px){.promosim-global-campaign--image img{max-height:none!important;object-fit:contain!important}}


/* PROMOSIM_GLOBAL_CAMPAIGN_POSITION_V3
   Substitui a antiga topbar; não empilha banners.
   Modelo: faixa ampla e baixa imediatamente acima do cabeçalho.
*/
.promosim-global-campaign{
  width:min(calc(100% - 32px),1760px) !important;
  margin:8px auto !important;
  border-radius:12px !important;
}

.promosim-global-campaign__inner{
  min-height:44px !important;
  padding:7px 16px 7px 18px !important;
}

.promosim-global-campaign--image{
  height:52px !important;
  margin:8px auto !important;
}

.promosim-global-campaign--image img{
  width:100% !important;
  height:52px !important;
  max-height:52px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:12px !important;
}

@media(max-width:760px){
  .promosim-global-campaign{
    width:calc(100% - 20px) !important;
    margin:6px auto !important;
    border-radius:10px !important;
  }

  .promosim-global-campaign--image{
    height:auto !important;
  }

  .promosim-global-campaign--image img{
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:10px !important;
  }
}


/* PROMOSIM_GLOBAL_BANNER_EXACT_STATIC_SIZE_V4
   Mantém o banner no formato fino do banner estático / modelo Promobit.
   Não altera header, menu, cards ou conteúdo da página.
*/
.promosim-global-campaign,
.promosim-global-campaign--image{
  display:block !important;
  width:min(calc(100% - 48px), 1728px) !important;
  height:auto !important;
  min-height:0 !important;
  margin:8px auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:10px !important;
  overflow:hidden !important;
  line-height:0 !important;
  box-sizing:border-box !important;
  background:transparent !important;
  box-shadow:none !important;
}

.promosim-global-campaign--image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:43.2 / 1 !important; /* 1728 x 40 */
  max-height:none !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:10px !important;
}

/* O banner montado pelo painel usa a mesma altura visual */
.promosim-global-campaign:not(.promosim-global-campaign--image) .promosim-global-campaign__inner{
  min-height:40px !important;
  height:40px !important;
  padding:0 14px 0 18px !important;
  box-sizing:border-box !important;
}

/* Mobile: mantém proporção, sem esticar nem gerar rolagem horizontal */
@media(max-width:760px){
  .promosim-global-campaign,
  .promosim-global-campaign--image{
    width:calc(100% - 20px) !important;
    margin:6px auto !important;
    border-radius:8px !important;
  }

  .promosim-global-campaign--image img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:12 / 1 !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:8px !important;
  }
}

/* PROMOSIM GLOBAL BANNER PANEL ADJUST V5 */
.promosim-global-campaign--image{height:var(--pgb-height,40px)!important;min-height:0!important;}
.promosim-global-campaign--image img{width:100%!important;height:100%!important;aspect-ratio:auto!important;max-height:none!important;object-fit:var(--pgb-fit,cover)!important;object-position:var(--pgb-pos-x,50%) var(--pgb-pos-y,50%)!important;}
@media(max-width:760px){.promosim-global-campaign--image{height:var(--pgb-height,40px)!important}.promosim-global-campaign--image img{height:100%!important;aspect-ratio:auto!important;object-fit:var(--pgb-fit,cover)!important;object-position:var(--pgb-pos-x,50%) var(--pgb-pos-y,50%)!important}}


/* PROMOSIM_HEADER_FOOTER_FULL_WIDTH_V1
   Exclusivo para cabeçalho e rodapé públicos.
   Não altera o .wrap do conteúdo, cards, produto ou painel.
*/
header,
.site-header{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  background:#fff!important;
  border-bottom:1px solid #eee9f0!important;
  box-shadow:0 3px 14px color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 4.5%, transparent)!important;
}
header > .wrap,
.site-header > .wrap{
  width:min(calc(100% - 48px),1728px)!important;
  max-width:1728px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
header .head,
.site-header .head{
  width:100%!important;
}

footer{
  width:100%!important;
  max-width:none!important;
  margin:42px 0 0!important;
  padding:0!important;
  background:#fbfafc!important;
  border-top:2px solid var(--promosim-purple,#2563EB)!important;
  color:#29232b!important;
}
footer > .wrap{
  width:min(calc(100% - 48px),1728px)!important;
  max-width:1728px!important;
  margin:0 auto!important;
  padding:38px 0 20px!important;
}
footer .footergrid,
footer .footer-grid,
footer .cols{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1.45fr) repeat(3,minmax(170px,1fr))!important;
  gap:54px!important;
  align-items:start!important;
}
footer .footergrid > div,
footer .footer-grid > div,
footer .cols > div{min-width:0!important}
footer .logo{margin:0 0 12px!important}
footer .logo img{
  display:block!important;
  width:190px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
footer p{
  max-width:390px!important;
  margin:0!important;
  color:#655e68!important;
  font-size:11px!important;
  line-height:1.65!important;
  font-weight:400!important;
}
footer h4{
  margin:0 0 14px!important;
  color:#29232b!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
footer .footergrid a,
footer .footer-grid a,
footer .cols a{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:5px 0!important;
  color:#5f5862!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  font-weight:400!important;
  text-decoration:none!important;
  transition:color .18s ease!important;
}
footer .footergrid a:hover,
footer .footer-grid a:hover,
footer .cols a:hover{color:var(--promosim-purple,#2563EB)!important}
footer .bottom{
  width:100%!important;
  margin-top:30px!important;
  padding-top:18px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:28px!important;
  border-top:1px solid #e7e1e8!important;
  color:#746c77!important;
  font-size:9.5px!important;
  line-height:1.5!important;
}
footer .bottom > span:first-child{
  color:#3c3540!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
footer .bottom > span:last-child{
  max-width:800px!important;
  text-align:right!important;
}
.promosim-footer-social{margin-top:20px!important}
.promosim-footer-social > strong{
  display:block!important;
  margin-bottom:9px!important;
  color:#29232b!important;
  font-size:10px!important;
  font-weight:800!important;
}
.promosim-footer-social-links{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.promosim-footer-social-links a{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 5%, white)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--promosim-purple,#2563EB)!important;
  font-size:9px!important;
  font-weight:800!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.promosim-footer-social-links a:hover{
  transform:translateY(-2px)!important;
  background:color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 4%, white)!important;
  border-color:color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 23%, white)!important;
}
@media(max-width:980px){
  footer .footergrid,
  footer .footer-grid,
  footer .cols{grid-template-columns:1.25fr 1fr 1fr!important;gap:34px!important}
  footer .footergrid > div:last-child,
  footer .footer-grid > div:last-child,
  footer .cols > div:last-child{grid-column:2/-1!important}
}
@media(max-width:760px){
  header > .wrap,
  .site-header > .wrap,
  footer > .wrap{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
  footer{margin-top:30px!important}
  footer > .wrap{padding:28px 0 18px!important}
  footer .footergrid,
  footer .footer-grid,
  footer .cols{grid-template-columns:1fr 1fr!important;gap:28px 22px!important}
  footer .footergrid > div:first-child,
  footer .footer-grid > div:first-child,
  footer .cols > div:first-child{grid-column:1/-1!important}
  footer .footergrid > div:last-child,
  footer .footer-grid > div:last-child,
  footer .cols > div:last-child{grid-column:auto!important}
  footer .bottom{flex-direction:column!important;gap:8px!important}
  footer .bottom > span:first-child{white-space:normal!important}
  footer .bottom > span:last-child{text-align:left!important}
}
@media(max-width:460px){
  footer .footergrid,
  footer .footer-grid,
  footer .cols{grid-template-columns:1fr!important}
  footer .footergrid > div:first-child,
  footer .footer-grid > div:first-child,
  footer .cols > div:first-child{grid-column:auto!important}
}




/* PROMOSIM_HEADER_V3 — remove SOMENTE a linha acima do cabeçalho.
   A linha abaixo do menu permanece conforme o padrão original do site. */
html,
body{
  border-top:none !important;
}

.promosim-global-header,
.promosim-public-header,
header{
  border-top:none !important;
}


/* PROMOSIM_HEADER_CONTADORES_V4
   Corrige somente os contadores de Favoritos e Alertas.
   Quando estiverem vazios, não exibe a bolinha roxa.
   Quando houver quantidade, mantém o número centralizado.
*/
.promosim-global-header .fav-nav,
.promosim-global-header .alert-nav{
  position:relative !important;
}

.promosim-global-header .fav-count,
.promosim-global-header .alert-count{
  position:absolute !important;
  top:-6px !important;
  right:-7px !important;
  min-width:19px !important;
  height:19px !important;
  padding:0 5px !important;
  border:2px solid #fff !important;
  border-radius:999px !important;
  background:var(--promosim-purple,#2563EB) !important;
  color:#fff !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  z-index:4 !important;
}

.promosim-global-header .fav-count:empty,
.promosim-global-header .alert-count:empty{
  display:none !important;
}

.promosim-global-header .fav-count:not(:empty),
.promosim-global-header .alert-count:not(:empty){
  display:flex !important;
}


/* PROMOSIM_HEADER_ROXO_ESTAVEL_V4
   Somente visual: preserva integralmente a estrutura do header estável. */
.promosim-global-header{
  background:linear-gradient(110deg,var(--brand-secondary,#1E40AF) 0%,var(--brand-primary,#2563EB) 55%,var(--brand-accent,#0EA5E9) 100%) !important;
  color:#fff !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 5px 18px color-mix(in srgb, var(--brand-primary,var(--p,#2563EB)) 12%, transparent) !important;
}
.promosim-global-header .logo img{filter:brightness(0) invert(1) !important;}
.promosim-global-header .search{
  background:#fff !important;
  border-color:rgba(255,255,255,.42) !important;
  box-shadow:none !important;
}
.promosim-global-header .search input{
  background:#fff !important;color:#302733 !important;
}
.promosim-global-header .search input::placeholder{
  color:#777078 !important;opacity:1 !important;
}
.promosim-global-header .search button{
  background:var(--brand-primary,#2563EB) !important;color:#fff !important;border-color:var(--brand-primary,#2563EB) !important;
}
.promosim-global-header .nav a,
.promosim-global-header .nav a:visited{color:rgba(255,255,255,.92) !important;}
.promosim-global-header .nav a:hover{color:#fff !important;}
.promosim-global-header .nav a svg,
.promosim-global-header .nav a i{color:#fff !important;stroke:#fff !important;}
.promosim-global-header .nav a.active,
.promosim-global-header .nav a[aria-current="page"]{
  color:#fff !important;border-bottom-color:#fff !important;
}
.promosim-global-header .actions .action{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.promosim-global-header .actions .action:hover{background:rgba(255,255,255,.17) !important;}
.promosim-global-header .actions .action,
.promosim-global-header .actions .action span,
.promosim-global-header .actions .action b,
.promosim-global-header .actions .action svg,
.promosim-global-header .actions .action i{
  color:#fff !important;stroke:#fff !important;
}
.promosim-global-header .fav-count,
.promosim-global-header .alert-count{
  background:#fff !important;color:var(--promosim-purple,#2563EB) !important;border-color:var(--promosim-purple,#2563EB) !important;
}
/* Remove somente a faixa extra criada nas versões roxas anteriores. */
.promosim-global-header .header-trust{display:none !important;}


/* ==========================================================
   PROMOSIM_MENU_GLOBAL_PADRONIZADO_V7
   Padroniza globalmente o menu do cabeçalho roxo.
   - Todos os itens sempre brancos no fundo roxo.
   - Item ativo: texto + ícone brancos e linha branca.
   - Hover: branco.
   - Não altera outras áreas do site.
   ========================================================== */
.promosim-global-header .nav,
.promosim-global-header nav.nav{
  display:flex !important;
  align-items:center !important;
}

.promosim-global-header .nav a,
.promosim-global-header .nav a:link,
.promosim-global-header .nav a:visited,
.promosim-global-header .nav a:hover,
.promosim-global-header .nav a:focus,
.promosim-global-header .nav a:active,
.promosim-global-header .nav a.active,
.promosim-global-header .nav a[aria-current="page"],
.promosim-global-header .nav a.promosim-menu-active-v6{
  color:#FFFFFF !important;
  opacity:1 !important;
  text-decoration:none !important;
}

.promosim-global-header .nav a svg,
.promosim-global-header .nav a:hover svg,
.promosim-global-header .nav a:focus svg,
.promosim-global-header .nav a:active svg,
.promosim-global-header .nav a.active svg,
.promosim-global-header .nav a[aria-current="page"] svg,
.promosim-global-header .nav a.promosim-menu-active-v6 svg{
  color:#FFFFFF !important;
  stroke:#FFFFFF !important;
  fill:none !important;
  opacity:1 !important;
}

/* Linha ativa branca e limpa */
.promosim-global-header .nav a.active,
.promosim-global-header .nav a[aria-current="page"],
.promosim-global-header .nav a.promosim-menu-active-v6{
  border-bottom-color:#FFFFFF !important;
  box-shadow:none !important;
}

.promosim-global-header .nav a.active::after,
.promosim-global-header .nav a[aria-current="page"]::after,
.promosim-global-header .nav a.promosim-menu-active-v6::after{
  background:#FFFFFF !important;
}

/* Corrige também qualquer regra específica antiga de Categorias */
.promosim-global-header .nav a[href="/categorias"],
.promosim-global-header .nav a[href="/categorias"]:hover,
.promosim-global-header .nav a[href="/categorias"]:focus,
.promosim-global-header .nav a[href="/categorias"]:active{
  color:#FFFFFF !important;
}
.promosim-global-header .nav a[href="/categorias"] svg{
  stroke:#FFFFFF !important;
  color:#FFFFFF !important;
}


/* ==========================================================
   PROMOSIM_MENU_HEADER_PROFISSIONAL_V8
   Padronização definitiva do menu no cabeçalho roxo.
   Todos os itens, inclusive LOJAS e o item ativo, ficam brancos.
   ========================================================== */

.promosim-global-header .nav{
  display:flex !important;
  align-items:center !important;
  gap:30px !important;
}

.promosim-global-header .nav > a,
.promosim-global-header .nav > a:link,
.promosim-global-header .nav > a:visited,
.promosim-global-header .nav > a:hover,
.promosim-global-header .nav > a:focus,
.promosim-global-header .nav > a:active,
.promosim-global-header .nav > a.active,
.promosim-global-header .nav > a[aria-current="page"],
.promosim-global-header .nav > a.promosim-menu-active-v6{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  color:#FFFFFF !important;
  opacity:1 !important;
  text-decoration:none !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}

/* Força também qualquer texto interno antigo a permanecer branco */
.promosim-global-header .nav > a *,
.promosim-global-header .nav > a:hover *,
.promosim-global-header .nav > a:focus *,
.promosim-global-header .nav > a:active *,
.promosim-global-header .nav > a.active *,
.promosim-global-header .nav > a[aria-current="page"] *,
.promosim-global-header .nav > a.promosim-menu-active-v6 *{
  color:#FFFFFF !important;
  opacity:1 !important;
}

/* Ícones SVG ou caracteres antigos */
.promosim-global-header .nav > a svg,
.promosim-global-header .nav > a:hover svg,
.promosim-global-header .nav > a:focus svg,
.promosim-global-header .nav > a:active svg,
.promosim-global-header .nav > a.active svg,
.promosim-global-header .nav > a[aria-current="page"] svg,
.promosim-global-header .nav > a.promosim-menu-active-v6 svg{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#FFFFFF !important;
  stroke:#FFFFFF !important;
  fill:none !important;
}

/* Corrige explicitamente LOJAS, que ainda herdava uma regra antiga */
.promosim-global-header .nav > a[href="/lojas"],
.promosim-global-header .nav > a[href="/lojas"] *,
.promosim-global-header .nav > a[href="/lojas"] svg{
  color:#FFFFFF !important;
  stroke:#FFFFFF !important;
  opacity:1 !important;
}

/* Item selecionado: somente uma linha branca elegante */
.promosim-global-header .nav > a.active,
.promosim-global-header .nav > a[aria-current="page"],
.promosim-global-header .nav > a.promosim-menu-active-v6{
  color:#FFFFFF !important;
  border-bottom:2px solid #FFFFFF !important;
}

.promosim-global-header .nav > a.active::before,
.promosim-global-header .nav > a[aria-current="page"]::before,
.promosim-global-header .nav > a.promosim-menu-active-v6::before{
  display:none !important;
}

.promosim-global-header .nav > a.active::after,
.promosim-global-header .nav > a[aria-current="page"]::after,
.promosim-global-header .nav > a.promosim-menu-active-v6::after{
  display:none !important;
}

/* Hover discreto, sem trocar para roxo */
.promosim-global-header .nav > a:hover{
  color:#FFFFFF !important;
  opacity:.88 !important;
}

/* Mantém Categorias branca caso exista o fix legado */
.promosim-global-header .nav > a[href="/categorias"],
.promosim-global-header .nav > a[href="/categorias"] *,
.promosim-global-header .nav > a[href="/categorias"] svg{
  color:#FFFFFF !important;
  stroke:#FFFFFF !important;
}

/* Tamanho e hierarquia consistentes */
.promosim-global-header .nav > a{
  font-size:10px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}


/* ==========================================================
   PROMOSIM_HEADER_LOJAS_SPACING_V9
   Correção pontual:
   1. LOJAS 100% branco como os demais menus.
   2. Espaçamento uniforme entre logo e linha de menus.
   Não altera conteúdo, cards, páginas ou funcionalidades.
   ========================================================== */

/* LOJAS: neutraliza qualquer regra antiga que deixe texto/ícone apagado */
.promosim-global-header .nav > a[href="/lojas"],
.promosim-global-header .nav > a[href="/lojas"]:link,
.promosim-global-header .nav > a[href="/lojas"]:visited,
.promosim-global-header .nav > a[href="/lojas"]:hover,
.promosim-global-header .nav > a[href="/lojas"]:focus,
.promosim-global-header .nav > a[href="/lojas"]:active,
.promosim-global-header .nav > a[href="/lojas"].active,
.promosim-global-header .nav > a[href="/lojas"][aria-current="page"],
.promosim-global-header .nav > a[href="/lojas"].promosim-menu-active-v6,
.promosim-global-header .nav > a[href="/lojas"] *,
.promosim-global-header .nav > a[href="/lojas"] b,
.promosim-global-header .nav > a[href="/lojas"] span,
.promosim-global-header .nav > a[href="/lojas"] i{
  color:#FFFFFF !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
}

/* Se o ícone de Lojas for SVG */
.promosim-global-header .nav > a[href="/lojas"] svg,
.promosim-global-header .nav > a[href="/lojas"] svg *{
  color:#FFFFFF !important;
  stroke:#FFFFFF !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Padronização da linha dos menus:
   todos começam exatamente no mesmo eixo esquerdo da logo */
.promosim-global-header .nav{
  margin-top:10px !important;
  padding-top:0 !important;
  gap:30px !important;
  justify-content:flex-start !important;
}

/* Mantém o espaçamento interno idêntico em todos os links */
.promosim-global-header .nav > a{
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  min-width:0 !important;
  white-space:nowrap !important;
}

/* Espaçamento visual consistente entre ícone e texto */
.promosim-global-header .nav > a{
  column-gap:8px !important;
}

/* Item ativo continua branco com linha branca */
.promosim-global-header .nav > a.active,
.promosim-global-header .nav > a[aria-current="page"],
.promosim-global-header .nav > a.promosim-menu-active-v6{
  color:#FFFFFF !important;
  border-bottom-color:#FFFFFF !important;
}


/* ==========================================================
   PROMOSIM_HEADER_IMAGEM_2_V10
   Replica o padrão visual aprovado da imagem 2.
   - LOJAS com ícone de sacolinha.
   - Todos os menus brancos.
   - Item ativo branco com sublinhado branco.
   - Mais respiro entre logo e linha de menus.
   ========================================================== */

.promosim-global-header .head{
  margin-bottom:10px !important;
}

.promosim-global-header .nav{
  margin-top:14px !important;
  padding-top:0 !important;
  gap:34px !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.promosim-global-header .nav > a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 0 12px 0 !important;
  color:#FFFFFF !important;
  opacity:1 !important;
  text-decoration:none !important;
  font-size:10px !important;
  font-weight:700 !important;
  line-height:1 !important;
  border-bottom:2px solid transparent !important;
  background:transparent !important;
  box-shadow:none !important;
}

.promosim-global-header .nav > a *,
.promosim-global-header .nav > a svg{
  color:#FFFFFF !important;
  opacity:1 !important;
}

.promosim-global-header .nav > a svg{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
  fill:none !important;
  stroke:#FFFFFF !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.promosim-global-header .nav > a:hover{
  color:#FFFFFF !important;
  opacity:.92 !important;
}

/* Estado ativo no padrão da imagem 2 */
.promosim-global-header .nav > a.active,
.promosim-global-header .nav > a[aria-current="page"],
.promosim-global-header .nav > a.promosim-menu-active-v6{
  color:#FFFFFF !important;
  border-bottom-color:#FFFFFF !important;
}

.promosim-global-header .nav > a.active::before,
.promosim-global-header .nav > a.active::after,
.promosim-global-header .nav > a[aria-current="page"]::before,
.promosim-global-header .nav > a[aria-current="page"]::after,
.promosim-global-header .nav > a.promosim-menu-active-v6::before,
.promosim-global-header .nav > a.promosim-menu-active-v6::after{
  display:none !important;
}

/* LOJAS: mesmo padrão dos demais */
.promosim-global-header .nav > a[href="/lojas"],
.promosim-global-header .nav > a[href="/lojas"] *,
.promosim-global-header .nav > a[href="/lojas"] svg{
  color:#FFFFFF !important;
  opacity:1 !important;
  stroke:#FFFFFF !important;
}

@media(max-width:900px){
  .promosim-global-header .head{
    margin-bottom:8px !important;
  }
  .promosim-global-header .nav{
    margin-top:10px !important;
    gap:22px !important;
  }
}


/* ==========================================================
   PROMOSIM_CATEGORIAS_SPACING_V11
   Corrige SOMENTE o espaçamento do item CATEGORIAS,
   fazendo-o seguir exatamente o mesmo padrão dos demais menus.
   ========================================================== */

.promosim-global-header .nav > a[href="/categorias"]{
  margin:0 !important;
  padding:0 0 12px 0 !important;
  gap:8px !important;
  column-gap:8px !important;
  min-width:0 !important;
  width:auto !important;
  height:auto !important;
  justify-content:flex-start !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
}

.promosim-global-header .nav > a[href="/categorias"] svg{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
  margin:0 !important;
}

.promosim-global-header .nav > a[href="/categorias"] span{
  margin:0 !important;
  padding:0 !important;
}

/* Neutraliza pseudo-elementos antigos específicos de Categorias */
.promosim-global-header .nav > a[href="/categorias"]::before,
.promosim-global-header .nav > a[href="/categorias"]::after{
  display:none !important;
}

/* Se Categorias estiver ativa, usa somente a borda padrão */
.promosim-global-header .nav > a[href="/categorias"].active,
.promosim-global-header .nav > a[href="/categorias"][aria-current="page"],
.promosim-global-header .nav > a[href="/categorias"].promosim-menu-active-v6{
  border-bottom:2px solid #FFFFFF !important;
}


/* ==========================================================
   PROMOSIM_HEADER_HOME_GLOBAL_V12
   HOME = padrão único do cabeçalho em TODAS as páginas.
   Normaliza a altura das duas linhas e impede Categorias/Lojas
   ou o item ativo de alterar a posição vertical do menu.
   ========================================================== */
@media (min-width:901px){
  .promosim-global-header{
    box-sizing:border-box !important;
    padding:0 !important;
  }

  .promosim-global-header > .wrap{
    box-sizing:border-box !important;
    display:block !important;
    padding-top:14px !important;
    padding-bottom:0 !important;
  }

  /* Primeira linha: logo + busca + ações */
  .promosim-global-header .head{
    display:flex !important;
    align-items:center !important;
    min-height:66px !important;
    height:66px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  /* Segunda linha: menu — mesma altura em qualquer rota */
  .promosim-global-header .nav,
  .promosim-global-header nav.nav{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-start !important;
    gap:34px !important;
    min-height:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  /* TODOS os itens ocupam exatamente a mesma caixa vertical */
  .promosim-global-header .nav > a,
  .promosim-global-header .nav > a:link,
  .promosim-global-header .nav > a:visited,
  .promosim-global-header .nav > a:hover,
  .promosim-global-header .nav > a:focus,
  .promosim-global-header .nav > a:active,
  .promosim-global-header .nav > a.active,
  .promosim-global-header .nav > a[aria-current="page"],
  .promosim-global-header .nav > a.promosim-menu-active-v6,
  .promosim-global-header .nav > a[href="/categorias"],
  .promosim-global-header .nav > a[href="/lojas"]{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    align-self:stretch !important;
    gap:8px !important;
    column-gap:8px !important;
    width:auto !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
    opacity:1 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
  }

  /* Ícones: mesma caixa e alinhamento para os cinco menus */
  .promosim-global-header .nav > a svg{
    display:block !important;
    width:17px !important;
    height:17px !important;
    min-width:17px !important;
    flex:0 0 17px !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    stroke:#fff !important;
    opacity:1 !important;
    vertical-align:middle !important;
  }

  .promosim-global-header .nav > a span,
  .promosim-global-header .nav > a b,
  .promosim-global-header .nav > a i{
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    color:#fff !important;
    opacity:1 !important;
  }

  /* Ativo: não aumenta a altura; linha fica dentro da caixa do menu */
  .promosim-global-header .nav > a.active,
  .promosim-global-header .nav > a[aria-current="page"],
  .promosim-global-header .nav > a.promosim-menu-active-v6{
    border:0 !important;
    color:#fff !important;
  }

  .promosim-global-header .nav > a.active::before,
  .promosim-global-header .nav > a[aria-current="page"]::before,
  .promosim-global-header .nav > a.promosim-menu-active-v6::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:2px !important;
    background:#fff !important;
    border:0 !important;
    border-radius:2px 2px 0 0 !important;
  }

  .promosim-global-header .nav > a.active::after,
  .promosim-global-header .nav > a[aria-current="page"]::after,
  .promosim-global-header .nav > a.promosim-menu-active-v6::after{
    display:none !important;
  }
}


/* ==========================================================
   PROMOSIM_HEADER_RESPIRO_PROFISSIONAL_V13
   Mantém o padrão global V12 e melhora somente o respiro
   vertical entre logo/busca e a linha de navegação.
   ========================================================== */

.promosim-global-header .head{
  margin-bottom:16px !important;
}

.promosim-global-header .nav{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Mantém todos os itens exatamente na mesma linha/base */
.promosim-global-header .nav > a{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:12px !important;
  align-self:center !important;
}

/* Mantém a linha ativa alinhada à base do menu */
.promosim-global-header .nav > a.active,
.promosim-global-header .nav > a[aria-current="page"],
.promosim-global-header .nav > a.promosim-menu-active-v6{
  border-bottom:2px solid #fff !important;
}

@media(max-width:900px){
  .promosim-global-header .head{
    margin-bottom:12px !important;
  }
}
