/* App do Chefe v1.5.12 — cabeçalho público sem camada de fundo própria.
   Toda a faixa da navegação é transparente para revelar exatamente o mesmo
   background (cor, gradiente ou imagem) que já está desenhado atrás dela. */
html[data-theme="light"] {
  --public-nav-ink: var(--ink, #16161a);
  --public-nav-muted: var(--muted, #74747c);
  --public-nav-line: var(--line, #e7e6e1);
  --public-nav-paper: var(--paper, #faf9f6);
  --public-nav-card: var(--card-bg, #fff);
  --public-nav-toggle: var(--toggle-bg, #ebebea);
  --public-nav-toggle-border: var(--toggle-border, #dededb);
  --public-nav-active: var(--active-toggle-bg, #fff);
}

html[data-theme="dark"] {
  --public-nav-ink: var(--ink, #eae9e4);
  --public-nav-muted: var(--muted, #9b9a93);
  --public-nav-line: var(--line, #2c2c2e);
  --public-nav-paper: var(--paper, #111113);
  --public-nav-card: var(--card-bg, #1a1a1d);
  --public-nav-toggle: var(--toggle-bg, #1f1f22);
  --public-nav-toggle-border: var(--toggle-border, #2c2c2e);
  --public-nav-active: var(--active-toggle-bg, #2a2a2d);
}

.public-top-nav.public-top-nav {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  width: min(1680px, 100%);
  height: 60px;
  margin-inline: auto;
  padding: 0 clamp(16px, 3.6vw, 60px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--public-nav-ink);
  /* Não pinte a faixa do cabeçalho. A transparência deixa visível o mesmo
     background do body, inclusive gradientes e imagens — não apenas sua cor. */
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  animation: none;
  isolation: isolate;
  transition: color .4s ease;
}

.public-top-nav.public-top-nav .brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--public-nav-ink);
  text-decoration: none;
  flex-shrink: 0;
}

.public-top-nav.public-top-nav .brand-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--public-nav-paper);
  background: var(--public-nav-ink);
  flex: 0 0 auto;
  transition: background .3s ease, color .3s ease, transform .22s ease;
}

.public-top-nav.public-top-nav .brand:hover .brand-icon {
  transform: translateY(-1px);
}

.public-top-nav.public-top-nav .brand-icon svg {
  color: currentColor;
}

.public-top-nav.public-top-nav .brand-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.02em;
}

.public-top-nav.public-top-nav .toggle {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border: 1px solid var(--public-nav-toggle-border);
  border-radius: 13px;
  background: var(--public-nav-toggle);
  animation: none;
  transition: background .3s ease, border-color .3s ease;
}

.public-top-nav.public-top-nav .toggle-btn {
  position: relative;
  z-index: 2;
  min-width: 0;
  height: 38px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 9px;
  color: var(--public-nav-muted);
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.public-top-nav.public-top-nav .toggle-btn svg {
  flex: 0 0 auto;
}

.public-top-nav.public-top-nav .toggle-btn.active,
.public-top-nav.public-top-nav .toggle-btn[aria-current="page"] {
  color: var(--btn-fg, var(--public-nav-ink));
  background: var(--btn-bg, var(--public-nav-active));
  box-shadow: 0 2px 8px color-mix(in srgb, var(--btn-bg, #8b5cf6) 35%, transparent);
}

.public-top-nav.public-top-nav .toggle-btn:hover:not(.active):not([aria-current="page"]) {
  color: var(--btn-bg, var(--public-nav-ink));
  background: color-mix(in srgb, var(--btn-bg, #8b5cf6) 12%, transparent);
}

.public-top-nav.public-top-nav .toggle-btn:active {
  transform: scale(.98);
}

.public-top-nav.public-top-nav .toggle-btn:focus-visible,
.public-top-nav.public-top-nav .brand:focus-visible,
.public-top-nav.public-top-nav .social-icon:focus-visible,
.public-top-nav.public-top-nav .cart-btn:focus-visible,
.public-top-nav.public-top-nav .theme-btn:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--primary, #8b5cf6) 34%, transparent);
  outline-offset: 2px;
}

.public-top-nav.public-top-nav .login-tip {
  position: absolute;
  top: calc(100% + 16px);
  right: 4px;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 9px;
  color: #fff;
  background: #16a37b;
  box-shadow: 0 4px 14px rgba(22, 163, 123, .35);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  animation: publicNavTipBounce 1.8s infinite ease-in-out;
}

.public-top-nav.public-top-nav .login-tip::before {
  content: "";
  position: absolute;
  right: 28px;
  bottom: 100%;
  border: 5px solid transparent;
  border-bottom-color: #16a37b;
}

.public-top-nav.public-top-nav .tip-arrow-icon {
  display: inline-flex;
  animation: publicNavArrowPulse 1s infinite ease-in-out;
}

@keyframes publicNavTipBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

@keyframes publicNavArrowPulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

.public-top-nav.public-top-nav .nav-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.public-top-nav.public-top-nav .socials {
  display: flex;
  align-items: center;
  gap: 6px;
}

.public-top-nav.public-top-nav .social-icon {
  width: 36px;
  height: 36px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid var(--public-nav-line);
  border-radius: 10px;
  color: var(--public-nav-muted);
  background: var(--public-nav-card);
  text-decoration: none;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.public-top-nav.public-top-nav .social-icon:hover {
  color: #fff;
  background: var(--sc, var(--primary, #8b5cf6));
  border-color: var(--sc, var(--primary, #8b5cf6));
  transform: translateY(-2px);
}

.public-top-nav.public-top-nav .cart-btn,
.public-top-nav.public-top-nav .theme-btn {
  position: relative;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid var(--public-nav-line);
  border-radius: 11px;
  background: var(--public-nav-toggle);
  box-shadow: none;
  cursor: pointer;
  text-decoration: none;
  flex-shrink: 0;
  transition: color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.public-top-nav.public-top-nav .cart-btn {
  color: #8b5cf6;
}

.public-top-nav.public-top-nav .theme-btn {
  color: #f59e0b;
}

html[data-theme="dark"] .public-top-nav.public-top-nav .theme-btn {
  color: #38bdf8;
}

.public-top-nav.public-top-nav .cart-btn:hover,
.public-top-nav.public-top-nav .theme-btn:hover {
  color: currentColor;
  background: color-mix(in srgb, currentColor 12%, transparent);
  border-color: currentColor;
  box-shadow: 0 0 14px color-mix(in srgb, currentColor 28%, transparent);
  transform: scale(1.06);
}

.public-top-nav.public-top-nav .theme-btn .icon-sun,
.public-top-nav.public-top-nav .theme-btn .icon-moon {
  position: absolute;
  display: grid;
  place-items: center;
  transition: opacity .25s ease, transform .35s ease;
}

.public-top-nav.public-top-nav .theme-btn .icon-moon {
  opacity: 0;
  transform: rotate(-90deg) scale(.5);
}

html[data-theme="dark"] .public-top-nav.public-top-nav .theme-btn .icon-sun {
  opacity: 0;
  transform: rotate(90deg) scale(.5);
}

html[data-theme="dark"] .public-top-nav.public-top-nav .theme-btn .icon-moon {
  opacity: 1;
  transform: none;
}

.public-top-nav.public-top-nav .cart-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  border: 2px solid var(--public-nav-paper);
  border-radius: 999px;
  color: #fff;
  background: #ef4444;
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1;
}

.public-top-nav.public-top-nav .cart-badge[hidden] {
  display: none;
}

@media (max-width: 900px) {
  .public-top-nav.public-top-nav {
    gap: 10px;
  }

  .public-top-nav.public-top-nav .brand-name,
  .public-top-nav.public-top-nav .socials {
    display: none;
  }
}

@media (max-width: 600px) {
  .public-top-nav.public-top-nav {
    height: 58px;
    padding: 0 12px;
  }

  .public-top-nav.public-top-nav .brand-icon {
    width: 30px;
    height: 30px;
  }

  .public-top-nav.public-top-nav .toggle-btn {
    height: 36px;
    padding: 0 11px;
    gap: 5px;
    font-size: 11.5px;
  }

  .public-top-nav.public-top-nav .cart-btn,
  .public-top-nav.public-top-nav .theme-btn {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    border-radius: 10px;
  }

  .public-top-nav.public-top-nav .login-tip {
    display: none;
  }
}

@media (max-width: 390px) {
  .public-top-nav.public-top-nav {
    gap: 6px;
  }

 .public-top-nav.public-top-nav .nav-actions {
    gap: 5px;
  }

  .public-top-nav.public-top-nav .toggle-btn {
    padding: 0 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-top-nav.public-top-nav,
  .public-top-nav.public-top-nav * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* v1.5.7 — landing pages sem faixa superior independente.
   A navegação continua disponível no topo, porém deixa de reservar uma linha
   visual antes da primeira seção. A margem negativa faz a landing page começar
   atrás do menu; por isso, o background da própria seção ocupa toda a área. */
body.public-landing-page > .public-top-nav.public-top-nav {
  margin-block-end: -60px;
}

/* As landing pages padrão já possuem respiro próprio no hero. No mobile,
   garantimos espaço mínimo para os controles sem recriar uma barra de fundo. */
@media (max-width: 700px) {
  body.public-landing-page > .public-top-nav.public-top-nav {
    margin-block-end: -58px;
  }

  body.public-landing-page .lp-builder-page .hc-hero {
    padding-top: 76px !important;
  }
}

/* v1.5.8 — navegação preparada para telas mobile estreitas e áreas seguras. */
@media (max-width: 700px) {
  .public-top-nav.public-top-nav {
    min-height: calc(58px + env(safe-area-inset-top));
    height: calc(58px + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    padding-right: max(10px, env(safe-area-inset-right));
    padding-left: max(10px, env(safe-area-inset-left));
    gap: 7px;
  }

  .public-top-nav.public-top-nav .brand-icon {
    width: 32px;
    height: 32px;
  }

  .public-top-nav.public-top-nav .toggle {
    flex: 1 1 auto;
    justify-content: center;
    max-width: 220px;
    padding: 3px;
  }

  .public-top-nav.public-top-nav .toggle-btn {
    flex: 1 1 0;
    min-width: 42px;
    min-height: 42px;
    height: 42px;
    padding-inline: clamp(8px, 2.6vw, 12px);
  }

  .public-top-nav.public-top-nav .cart-btn,
  .public-top-nav.public-top-nav .theme-btn {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
  }
}

@media (max-width: 430px) {
  .public-top-nav.public-top-nav .toggle-btn {
    gap: 4px;
    font-size: 11px;
  }

  .public-top-nav.public-top-nav .toggle-btn svg {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 360px) {
  .public-top-nav.public-top-nav .brand {
    display: none;
  }

  .public-top-nav.public-top-nav .toggle {
    max-width: none;
  }

  .public-top-nav.public-top-nav .toggle-btn > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

/* A compensação considera também a área segura superior do aparelho. */
@media (max-width: 700px) {
  body.public-landing-page > .public-top-nav.public-top-nav {
    margin-block-end: calc(-58px - env(safe-area-inset-top));
  }

  body.public-landing-page .lp-builder-page .hc-hero {
    padding-top: calc(76px + env(safe-area-inset-top)) !important;
  }
}

/* v1.5.12 — carrinho em roxo e indicador persistente quando há itens. */
.public-top-nav.public-top-nav .nav-actions{position:relative}
.public-top-nav.public-top-nav .cart-btn{color:var(--primary,#8b5cf6)!important}
.public-top-nav.public-top-nav .cart-btn.has-items{border-color:color-mix(in srgb,var(--primary,#8b5cf6) 55%,var(--public-nav-line));background:color-mix(in srgb,var(--primary,#8b5cf6) 13%,var(--public-nav-toggle));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#8b5cf6) 11%,transparent)}
.public-top-nav.public-top-nav .cart-badge{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-color:var(--public-nav-paper);box-shadow:0 3px 9px rgba(109,40,217,.35)}
.public-top-nav.public-top-nav .cart-tip{position:absolute;top:calc(100% + 16px);right:0;z-index:51;display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:9px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:10.5px;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 5px 16px rgba(109,40,217,.35);pointer-events:none;animation:publicNavTipBounce 1.8s infinite ease-in-out}
.public-top-nav.public-top-nav .cart-tip:before{content:"";position:absolute;right:14px;bottom:100%;border:5px solid transparent;border-bottom-color:#7c3aed}.public-top-nav.public-top-nav .cart-tip[hidden]{display:none}
@media(max-width:600px){.public-top-nav.public-top-nav .cart-tip{top:calc(100% + 9px);right:0;padding:5px 8px;font-size:9px}.public-top-nav.public-top-nav .cart-tip:before{right:12px}.public-top-nav.public-top-nav .cart-tip .tip-arrow-icon{display:none}}

/* v2.3.86 — menu público mobile em modo hambúrguer.
   Logotipo, ação de acesso e carrinho permanecem sempre visíveis; os demais
   itens da navegação passam para um painel compacto abaixo da barra. */
.public-top-nav.public-top-nav .public-nav-menu-toggle {
  display: none;
  position: relative;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--public-nav-line);
  border-radius: 11px;
  color: var(--public-nav-ink);
  background: var(--public-nav-toggle);
  box-shadow: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.public-top-nav.public-top-nav .public-nav-menu-toggle:hover {
  color: var(--primary, #8b5cf6);
  border-color: color-mix(in srgb, var(--primary, #8b5cf6) 45%, var(--public-nav-line));
  background: color-mix(in srgb, var(--primary, #8b5cf6) 10%, var(--public-nav-toggle));
}
.public-top-nav.public-top-nav .public-nav-menu-toggle:active { transform: scale(.97); }
.public-top-nav.public-top-nav .public-nav-menu-toggle:focus-visible,
.public-top-nav.public-top-nav .public-nav-mobile-item:focus-visible,
.public-top-nav.public-top-nav .public-nav-mobile-social:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--primary, #8b5cf6) 34%, transparent);
  outline-offset: 2px;
}
.public-top-nav.public-top-nav .public-nav-menu-icon {
  width: 18px;
  height: 14px;
  display: grid;
  align-content: space-between;
}
.public-top-nav.public-top-nav .public-nav-menu-icon span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform .2s ease, opacity .2s ease;
}
.public-top-nav.public-top-nav.is-mobile-menu-open .public-nav-menu-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.public-top-nav.public-top-nav.is-mobile-menu-open .public-nav-menu-icon span:nth-child(2) { opacity: 0; }
.public-top-nav.public-top-nav.is-mobile-menu-open .public-nav-menu-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.public-top-nav.public-top-nav .public-nav-mobile-menu {
  display: none;
}
.public-top-nav.public-top-nav .public-nav-mobile-menu[hidden] { display: none !important; }

@media (max-width: 700px) {
  .public-top-nav.public-top-nav {
    justify-content: flex-start;
    gap: 7px;
  }

  .public-top-nav.public-top-nav .brand {
    display: flex;
    flex: 0 0 auto;
    margin-right: auto;
  }

  .public-top-nav.public-top-nav .toggle {
    flex: 0 0 auto;
    max-width: none;
    justify-content: flex-end;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .public-top-nav.public-top-nav .toggle > .nav-solutions-action,
  .public-top-nav.public-top-nav .toggle > .nav-content-action {
    display: none;
  }

  .public-top-nav.public-top-nav .toggle > .nav-account-action {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 0;
    min-height: 42px;
    height: 42px;
    padding-inline: 13px;
    border: 1px solid color-mix(in srgb, var(--btn-bg, #16a37b) 45%, var(--public-nav-line));
    background: color-mix(in srgb, var(--btn-bg, #16a37b) 10%, var(--public-nav-card));
    color: var(--btn-bg, #16a37b);
    box-shadow: none;
  }

  .public-top-nav.public-top-nav .toggle > .nav-account-action.active,
  .public-top-nav.public-top-nav .toggle > .nav-account-action[aria-current="page"] {
    color: var(--btn-fg, #fff);
    background: var(--btn-bg, #16a37b);
    border-color: var(--btn-bg, #16a37b);
  }

  .public-top-nav.public-top-nav .nav-actions {
    gap: 7px;
  }

  .public-top-nav.public-top-nav .nav-actions > .socials {
    display: none;
  }

  .public-top-nav.public-top-nav .cart-btn,
  .public-top-nav.public-top-nav .public-nav-menu-toggle {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
  }

  .public-top-nav.public-top-nav .public-nav-menu-toggle {
    display: grid;
  }

  .public-top-nav.public-top-nav .public-nav-mobile-menu {
    position: absolute;
    inset-inline: max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right));
    top: calc(100% + 8px);
    z-index: 120;
    display: grid;
    gap: 12px;
    padding: 10px;
    border: 1px solid var(--public-nav-line);
    border-radius: 16px;
    color: var(--public-nav-ink);
    background: color-mix(in srgb, var(--public-nav-card) 96%, transparent);
    box-shadow: 0 18px 48px rgba(22, 22, 26, .16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .public-top-nav.public-top-nav .public-nav-mobile-list {
    display: grid;
    gap: 6px;
  }

  .public-top-nav.public-top-nav .public-nav-mobile-item {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 0;
    border-radius: 11px;
    color: var(--public-nav-ink);
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: color .18s ease, background .18s ease;
  }

  .public-top-nav.public-top-nav .public-nav-mobile-item svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: var(--primary, #8b5cf6);
  }

  .public-top-nav.public-top-nav .public-nav-mobile-item:hover,
  .public-top-nav.public-top-nav .public-nav-mobile-item.active,
  .public-top-nav.public-top-nav .public-nav-mobile-item[aria-current="page"] {
    color: var(--primary, #8b5cf6);
    background: color-mix(in srgb, var(--primary, #8b5cf6) 10%, transparent);
  }

  .public-top-nav.public-top-nav .public-nav-mobile-socials {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 3px 2px;
    border-top: 1px solid var(--public-nav-line);
  }

  .public-top-nav.public-top-nav .public-nav-mobile-social-label {
    margin-right: auto;
    color: var(--public-nav-muted);
    font-size: 11px;
    font-weight: 600;
  }

  .public-top-nav.public-top-nav .public-nav-mobile-social {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--public-nav-line);
    border-radius: 10px;
    color: var(--public-nav-muted);
    background: var(--public-nav-card);
    text-decoration: none;
  }

  .public-top-nav.public-top-nav .public-nav-mobile-social:hover {
    color: #fff;
    background: var(--sc, var(--primary, #8b5cf6));
    border-color: var(--sc, var(--primary, #8b5cf6));
  }
}

@media (max-width: 390px) {
  .public-top-nav.public-top-nav { gap: 5px; }
  .public-top-nav.public-top-nav .nav-actions { gap: 5px; }
  .public-top-nav.public-top-nav .toggle > .nav-account-action {
    min-height: 40px;
    height: 40px;
    padding-inline: 10px;
    gap: 5px;
    font-size: 11px;
  }
  .public-top-nav.public-top-nav .cart-btn,
  .public-top-nav.public-top-nav .public-nav-menu-toggle {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }
}

@media (max-width: 360px) {
  /* A versão anterior ocultava a marca e os rótulos abaixo de 360px.
     Nesta versão o logotipo e a ação Entrar/Meu painel são exceções explícitas. */
  .public-top-nav.public-top-nav .brand { display: flex; }
  .public-top-nav.public-top-nav .toggle > .nav-account-action > span:not(.login-tip) {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
    border: 0;
  }
}

/* v2.3.86 — ação manual de instalação no menu hambúrguer. */
.public-top-nav.public-top-nav .public-nav-install-item{border-top:1px solid color-mix(in srgb,var(--public-nav-line) 72%,transparent);margin-top:2px}
.public-top-nav.public-top-nav .public-nav-install-item svg{color:#157347}


/* v2.3.96 — o Logo do site é uma marca completa, não um ícone quadrado. */
.public-top-nav.public-top-nav .brand.has-site-logo{gap:0;max-width:min(190px,28vw)}
.public-top-nav.public-top-nav .brand-logo{display:block;width:auto;height:auto;max-width:100%;max-height:38px;object-fit:contain;object-position:left center}
@media(max-width:900px){
  .public-top-nav.public-top-nav .brand.has-site-logo{max-width:150px}
  .public-top-nav.public-top-nav .brand-logo{max-height:34px}
}
@media(max-width:700px){
  .public-top-nav.public-top-nav .brand.has-site-logo{max-width:min(132px,32vw)}
  .public-top-nav.public-top-nav .brand-logo{max-height:32px}
}
@media(max-width:420px){
  .public-top-nav.public-top-nav .brand.has-site-logo{max-width:min(108px,29vw)}
  .public-top-nav.public-top-nav .brand-logo{max-height:29px}
}

/* v2.3.97 — identidade também dentro do menu hambúrguer mobile. */
@media (max-width:700px){
  .public-top-nav.public-top-nav .public-nav-mobile-brand{display:flex;align-items:center;min-height:48px;padding:5px 9px 11px;border-bottom:1px solid var(--public-nav-line);color:var(--public-nav-ink);text-decoration:none;gap:10px}
  .public-top-nav.public-top-nav .public-nav-mobile-brand.has-site-logo{justify-content:flex-start}
  .public-top-nav.public-top-nav .public-nav-mobile-brand img{display:block;width:auto;height:auto;max-width:min(178px,62vw);max-height:40px;object-fit:contain;object-position:left center}
  .public-top-nav.public-top-nav .public-nav-mobile-brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--primary,#8b5cf6);color:#fff}
  .public-top-nav.public-top-nav .public-nav-mobile-brand strong{font-size:15px;line-height:1.15}
}

/* v2.3.111 — barra pública em superfície branca, compacta e arredondada.
   Mantém as ações e ícones existentes, mas deixa de parecer um conjunto de
   controles soltos sobre o fundo da página. */
.public-top-nav.public-top-nav{
  box-sizing:border-box;
  inset-block-start:10px;
  width:min(1180px,calc(100% - 24px));
  min-height:60px;
  height:auto;
  margin:10px auto 0;
  padding:7px 12px;
  border:1px solid rgba(24,28,26,.08);
  border-radius:22px;
  color:#202421;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  box-shadow:0 12px 34px rgba(22,34,27,.12),0 2px 8px rgba(22,34,27,.06);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.public-top-nav.public-top-nav .brand,
.public-top-nav.public-top-nav .nav-actions,
.public-top-nav.public-top-nav .toggle{
  align-items:center;
}
.public-top-nav.public-top-nav .toggle{
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  background:transparent;
}
.public-top-nav.public-top-nav .toggle-btn{
  min-height:42px;
  height:42px;
  border-radius:14px;
  color:#333835;
}
.public-top-nav.public-top-nav .toggle-btn.active,
.public-top-nav.public-top-nav .toggle-btn[aria-current="page"]{
  color:#fff!important;
  background:#242725!important;
  box-shadow:none!important;
}
.public-top-nav.public-top-nav .toggle-btn:hover:not(.active):not([aria-current="page"]){
  color:#202421;
  background:#f2f4f2;
}
.public-top-nav.public-top-nav .social-icon,
.public-top-nav.public-top-nav .cart-btn,
.public-top-nav.public-top-nav .theme-btn,
.public-top-nav.public-top-nav .public-nav-menu-toggle{
  border-color:transparent;
  color:#303532;
  background:transparent;
  box-shadow:none;
}
.public-top-nav.public-top-nav .social-icon:hover,
.public-top-nav.public-top-nav .cart-btn:hover,
.public-top-nav.public-top-nav .theme-btn:hover,
.public-top-nav.public-top-nav .public-nav-menu-toggle:hover{
  color:#202421;
  border-color:transparent;
  background:#f2f4f2;
  box-shadow:none;
  transform:none;
}
.public-top-nav.public-top-nav .brand-icon{
  background:#242725;
  color:#fff;
  border-radius:13px;
}
.public-top-nav.public-top-nav .cart-badge{
  border-color:#fff;
}
.public-top-nav.public-top-nav .public-nav-mobile-menu{
  background:#fff;
  border-color:rgba(24,28,26,.09);
  box-shadow:0 18px 48px rgba(22,34,27,.16);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-theme="dark"] .public-top-nav.public-top-nav{
  --public-nav-ink:#202421;
  --public-nav-muted:#666d68;
  --public-nav-line:#e7eae7;
  --public-nav-paper:#fff;
  --public-nav-card:#fff;
  --public-nav-toggle:#f3f5f3;
  --public-nav-toggle-border:#e6e9e6;
  --public-nav-active:#242725;
  color:#202421;
  background:#fff!important;
}
@media(max-width:700px){
  .public-top-nav.public-top-nav{
    inset-block-start:max(8px,env(safe-area-inset-top));
    width:calc(100% - 20px);
    min-height:58px;
    margin:8px 10px 0;
    padding:7px 9px;
    border-radius:20px;
    justify-content:space-between;
    gap:6px;
  }
  .public-top-nav.public-top-nav .toggle>.nav-account-action{
    min-height:42px;
    height:42px;
    border-color:transparent;
    color:#303532;
    background:transparent;
  }
  .public-top-nav.public-top-nav .toggle>.nav-account-action.active,
  .public-top-nav.public-top-nav .toggle>.nav-account-action[aria-current="page"]{
    color:#fff!important;
    border-color:#242725!important;
    background:#242725!important;
  }
  .public-top-nav.public-top-nav .cart-btn,
  .public-top-nav.public-top-nav .public-nav-menu-toggle{
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    border-radius:13px;
  }
  .public-top-nav.public-top-nav .brand-icon{
    width:38px;
    height:38px;
  }
  .public-top-nav.public-top-nav .public-nav-mobile-menu{
    top:calc(100% + 8px);
    inset-inline:0;
    border-radius:18px;
  }
}
@media(max-width:390px){
  .public-top-nav.public-top-nav{
    width:calc(100% - 16px);
    margin-inline:8px;
    padding-inline:7px;
    border-radius:18px;
  }
}


/* v2.3.113 — correções da navegação pública mobile.
   O tooltip do carrinho fica ancorado ao próprio ícone; o convite de login é
   global para visitantes e a ação Entrar/Meu painel ganha leitura melhor. */
.public-top-nav.public-top-nav .cart-btn > .cart-tip{
  top:calc(100% + 16px);
  right:0;
}
.public-top-nav.public-top-nav .nav-account-action > .login-tip{
  top:calc(100% + 12px);
  right:0;
  z-index:130;
}
@media(max-width:700px){
  .public-top-nav.public-top-nav .toggle > .nav-account-action{
    font-size:13.5px;
    font-weight:600;
  }
  .public-top-nav.public-top-nav .nav-account-action > .login-tip{
    display:flex!important;
    position:absolute;
    top:calc(100% + 10px);
    right:-3px;
    width:auto;
    height:auto;
    margin:0;
    padding:5px 9px;
    overflow:visible;
    clip:auto;
    border:0;
    border-radius:9px;
    color:#fff;
    background:#16a37b;
    font-size:10px;
    font-weight:650;
    line-height:1.2;
    white-space:nowrap;
    pointer-events:none;
  }
  .public-top-nav.public-top-nav .nav-account-action > .login-tip::before{
    right:20px;
  }
  .public-top-nav.public-top-nav .cart-btn > .cart-tip{
    top:calc(100% + 9px);
    right:0;
  }
}
@media(max-width:390px){
  .public-top-nav.public-top-nav .toggle > .nav-account-action{
    font-size:12.5px;
    font-weight:600;
  }
}
.public-top-nav.public-top-nav .nav-account-action > .login-tip[hidden]{display:none!important}

/* v2.3.114 — o convite de acesso não é necessário quando a própria tela de
   login já está ativa. As mensagens públicas também ficam abaixo da barra
   sticky, inclusive nas landings que começam visualmente atrás do menu. */
.public-top-nav.public-top-nav .nav-account-action.active > .login-tip,
.public-top-nav.public-top-nav .nav-account-action[aria-current="page"] > .login-tip{display:none!important}
body.public-landing-page > .public-top-nav.public-top-nav + .public-flash{position:relative;z-index:140;margin-top:86px;margin-bottom:18px}
body:not(.public-landing-page) > .public-top-nav.public-top-nav + .public-flash{position:relative;z-index:140;margin-top:24px}
@media(max-width:700px){body.public-landing-page > .public-top-nav.public-top-nav + .public-flash{margin-top:calc(82px + env(safe-area-inset-top));margin-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));width:auto}}
