/* NetStore UI: ícone do carrinho no topo, contagem ao vivo e aviso de adição (class-ns-ui-cart.php) */

.ns-sr-only{
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
  overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}
[data-ns-cart-count][hidden]{ display:none!important; }
html.ns-lock{ overflow:hidden!important; }

/* o link "View cart" que o Woo põe ao lado do botão: o aviso faz esse papel (sem JS ele continua) */
html.ns-atc-on a.added_to_cart.wc-forward{ display:none!important; }

/* ícone do topo, no lugar do Custom Code 3403 (o antigo some se ainda estiver ativo) */
#ast-desktop-header .sv-header-cart{ display:none!important; }
.ns-header-cart, .ns-header-account{
  position:relative; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  padding:8px; margin:0 -8px 0 10px; border-radius:10px;
  color:#1B2430!important; text-decoration:none!important; line-height:0;
}
.ns-header-account{ margin:0 0 0 14px; }
.ns-header-account + .ns-header-cart{ margin-left:4px; }
.ns-header-cart svg, .ns-header-account svg{ width:24px; height:24px; display:block; }
.ns-header-cart:hover, .ns-header-cart:focus-visible,
.ns-header-account:hover, .ns-header-account:focus-visible,
.ns-header-account[aria-current="page"], .ns-header-cart[aria-current="page"]{ color:#0B7A6F!important; }
.ns-header-cart:focus-visible, .ns-header-account:focus-visible{ outline:3px solid #0B7A6F; outline-offset:0; }
.ns-cart-badge{
  position:absolute; top:1px; right:-1px; box-sizing:border-box;
  min-width:18px; height:18px; padding:0 5px; border-radius:9px;
  background:#0B7A6F; color:#fff; box-shadow:0 0 0 2px #fff;
  font:700 11px/18px 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-variant-numeric:tabular-nums; text-align:center; letter-spacing:0; pointer-events:none;
}

@keyframes ns-cart-bump{ 0%{ transform:scale(1); } 40%{ transform:scale(1.2); } 100%{ transform:scale(1); } }
[data-ns-cart-count].ns-bump{ animation:ns-cart-bump .3s ease-out; }

/* ---------- aviso: computador (>= 922 px), caixa centrada ---------- */

.ns-atc{
  position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:16px;
  pointer-events:none; font-family:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color:#1B2430; -webkit-tap-highlight-color:transparent;
}
.ns-atc[hidden], .ns-atc [hidden]{ display:none!important; }
.ns-atc-backdrop{
  position:fixed; inset:0; background:rgba(15,23,42,.45); pointer-events:auto;
  opacity:0; transition:opacity .16s ease;
}
.ns-atc-panel{
  position:relative; box-sizing:border-box; pointer-events:auto;
  width:min(440px, calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow-y:auto; overscroll-behavior:contain;
  padding:20px 24px 24px; background:#fff; border-radius:16px;
  box-shadow:0 24px 48px -12px rgba(15,23,42,.35);
  opacity:0; transform:scale(.96); transition:opacity .16s ease, transform .16s ease;
}
.ns-atc.is-open .ns-atc-backdrop, .ns-atc.is-open .ns-atc-panel{ opacity:1; }
.ns-atc.is-open .ns-atc-panel{ transform:none; }
.ns-atc-handle{ display:none; }

.ns-atc-head{ display:flex; align-items:center; gap:10px; margin:0 0 16px; }
.ns-atc-ok{
  flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:#E7F6F4; color:#0B7A6F;
  display:inline-flex; align-items:center; justify-content:center;
}
.ns-atc .ns-atc-title{
  flex:1 1 auto; min-width:0; margin:0!important; padding:0!important;
  font:800 17px/1.3 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif!important;
  letter-spacing:-.01em!important; color:#1B2430!important; text-transform:none!important;
}
.ns-atc .ns-atc-title:focus{ outline:none; }

.ns-atc-item{ display:flex; align-items:center; gap:12px; }
.ns-atc .ns-atc-img{
  flex:0 0 64px; width:64px; height:64px; max-width:none; display:block; box-sizing:border-box;
  object-fit:cover; border-radius:12px; border:1px solid #E3E8E8; background:#0F172A;
}
.ns-atc-info{ min-width:0; flex:1 1 auto; }
.ns-atc .ns-atc-name{
  margin:0!important; font-size:15px; font-weight:600; line-height:1.35; color:#1B2430;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere;
}
.ns-atc .ns-atc-qty{ margin:2px 0 0!important; font-size:13px; line-height:1.4; color:#5B6672; }
.ns-atc .ns-atc-sum{
  margin:16px 0!important; padding-top:12px; border-top:1px solid #EEF1F1;
  font-size:13px; line-height:1.45; color:#5B6672;
}
.ns-atc-actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }

/* botões: zera a regra global (todo botão teal, sombra, translateY no hover) */
.ns-atc .ns-atc-x, .ns-atc .ns-atc-btn{
  -webkit-appearance:none; appearance:none; box-sizing:border-box; margin:0!important;
  box-shadow:none!important; transform:none!important; text-transform:none!important; text-decoration:none!important;
  letter-spacing:normal!important; font-family:inherit!important; cursor:pointer; transition:background-color .15s ease, border-color .15s ease;
}
.ns-atc .ns-atc-x{
  flex:0 0 40px; width:40px!important; height:40px!important; min-width:0!important; min-height:0!important;
  margin:-8px -10px -8px 0!important; padding:0!important; border:0!important; border-radius:10px!important;
  background:transparent!important; color:#1B2430!important; display:inline-flex!important; align-items:center; justify-content:center;
}
.ns-atc .ns-atc-x:hover{ background:#F6F8F8!important; color:#1B2430!important; }
.ns-atc .ns-atc-btn{
  display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:6px;
  width:100%!important; min-width:0!important; height:auto!important; min-height:48px!important; padding:6px 12px!important;
  border-radius:10px!important; font-size:15px!important; font-weight:700!important; line-height:1.2!important; text-align:center;
}
.ns-atc .ns-atc-btn--ghost{ background:#fff!important; border:1.5px solid #E3E8E8!important; color:#1B2430!important; }
.ns-atc .ns-atc-btn--ghost:hover{ background:#F6F8F8!important; border-color:#D1D5DB!important; color:#1B2430!important; }
.ns-atc .ns-atc-btn--primary,
.ns-atc .ns-atc-btn--primary:visited{ background:#0B7A6F!important; border:1.5px solid #0B7A6F!important; color:#fff!important; }
.ns-atc .ns-atc-btn--primary:hover,
.ns-atc .ns-atc-btn--primary:active{ background:#097064!important; border-color:#097064!important; color:#fff!important; }
.ns-atc .ns-atc-btn svg{ flex:0 0 auto; margin-right:-4px; }
.ns-atc .ns-atc-x:focus-visible, .ns-atc .ns-atc-btn:focus-visible{ outline:3px solid #0B7A6F!important; outline-offset:2px!important; }

/* ---------- celular e tablet (<= 921 px): folha de baixo, acima da barra do app ---------- */

@media (max-width:921px){
  .ns-atc{ display:block; padding:0; }
  .ns-atc-backdrop{ inset:0 0 var(--ns-appnav-h, 0px) 0; }
  .ns-atc-panel{
    position:fixed; left:0; right:0; bottom:var(--ns-appnav-h, 0px); margin:0 auto;
    width:auto; max-width:560px; max-height:calc(100dvh - var(--ns-appnav-h, 0px) - 24px);
    padding:8px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    border-radius:20px 20px 0 0; box-shadow:0 -12px 32px -12px rgba(15,23,42,.3);
    opacity:1; transform:translateY(calc(100% + var(--ns-appnav-h, 0px))); transition:transform .16s ease-in;
  }
  body.ns-has-appnav .ns-atc-panel{ padding-bottom:16px; }
  .ns-atc.is-open .ns-atc-panel{ transform:none; transition:transform .22s ease-out; }
  .ns-atc.is-drag .ns-atc-panel{ transition:none; }
  .ns-atc-handle{ display:block; width:36px; height:4px; margin:0 auto 10px; border-radius:2px; background:#D1D5DB; }
  .ns-atc-handle, .ns-atc-head{ touch-action:none; }
  .ns-atc-head{ margin-bottom:14px; }
}

@media (max-width:359px){
  .ns-atc-actions{ grid-template-columns:1fr; }
  .ns-atc-btn--primary{ order:-1; }
}

@media (prefers-reduced-motion:reduce){
  [data-ns-cart-count].ns-bump{ animation:none; }
  .ns-atc-panel, .ns-atc.is-open .ns-atc-panel{ transform:none; transition:opacity .16s ease; }
}
@media (prefers-reduced-motion:reduce) and (max-width:921px){
  .ns-atc-panel{ opacity:0; }
  .ns-atc.is-open .ns-atc-panel{ opacity:1; }
}

@media print{
  .ns-atc, #ns-atc-live{ display:none!important; }
}
