/* ============================================================
   Relojoaria Taquaral — CAMADA MODERNA (override)
   Carregada por ÚLTIMO em todas as páginas. Paleta de relojoaria
   de tradição: charcoal quente + bronze/ouro + marfim.
   Não altera nenhum hook de JS (loja.js / header.js / footer.js).
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Cinzel:wght@500;600;700&family=Lato:wght@400;700;800;900&family=Jost:wght@400;500;600;700&display=swap');

:root{
  --ns-red:#7a5c24;
  --ns-red-dark:#5b441a;
  --ns-ink:#1c1a16;
  --ns-ink-2:#2b2822;
  --ns-body:#4f4a42;
  --ns-muted:#8a8478;
  --ns-line:#e8e3d8;
  --ns-bg:#ffffff;
  --ns-soft:#f7f4ee;
  --ns-soft-2:#efeae0;
  --ns-gold:#b08d57;
  --ns-whats:#25d366;
  --ns-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --ns-radius:10px;
  --ns-radius-sm:7px;
  --ns-shadow-sm:0 1px 2px rgba(16,24,40,.05), 0 1px 3px rgba(16,24,40,.07);
  --ns-shadow:0 8px 30px rgba(16,24,40,.09);
  --ns-shadow-lg:0 24px 60px rgba(16,24,40,.16);
  --ns-container:1200px;
}

/* ---------- base ---------- */
html{ scroll-behavior:smooth; }
body{
  background:var(--ns-bg);
  color:var(--ns-body);
  font-family:'Jost','Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{ color:var(--ns-ink); letter-spacing:-.01em; }
a{ transition:color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
img{ max-width:100%; }
::selection{ background:var(--ns-red); color:#fff; }

@media (min-width:1200px){
  .container{ width:var(--ns-container); }
}
/* telas grandes (24"+): o conteúdo abre mais, em vez de travar em 1200px */
@media (min-width:1500px){ :root{ --ns-container:1400px; } }
@media (min-width:1800px){ :root{ --ns-container:1620px; } }
@media (min-width:2100px){ :root{ --ns-container:1820px; } }

/* tira o overflow-x:hidden que quebra position:sticky no mobile/tablet */
@media (max-width:991px){
  html, body{ overflow-x:clip !important; }
}

/* utilidades de seção */
.section-padding{ padding:84px 0; }
@media (max-width:767px){ .section-padding{ padding:52px 0; } }

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.section-heading{ margin-bottom:14px; }
.section-heading h2{
  font-family:'Lato',sans-serif;
  font-weight:900;
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.02em;
  text-transform:none;
  margin:0 0 18px;
  padding-bottom:18px;
  color:var(--ns-ink);
}
.section-heading h2 span{ color:var(--ns-red); }
.section-heading h2::after,
.section-heading h2:after{
  width:54px; height:4px; border-radius:4px;
  background-image:linear-gradient(90deg,var(--ns-red),var(--ns-gold)) !important;
}
.section-heading.light h2{ color:#fff; }
.section-heading.text-center h2::after{ left:0; right:0; margin:0 auto; }
.ns-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Lato',sans-serif; font-weight:800; font-size:12px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ns-red);
  margin-bottom:10px;
}
.ns-eyebrow::before{ content:""; width:22px; height:2px; background:var(--ns-red); display:inline-block; }
.text-center .ns-eyebrow{ justify-content:center; }
@media (max-width:767px){ .section-heading h2{ font-size:26px; } }

/* ============================================================
   BUTTONS
   ============================================================ */
.default-button,
.ns-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:var(--ns-red); border:1.5px solid var(--ns-red); color:#fff;
  font-family:'Lato',sans-serif; font-weight:800; font-size:14.5px;
  letter-spacing:.01em; text-transform:none;
  padding:13px 26px; border-radius:999px; cursor:pointer;
  box-shadow:0 8px 20px -8px rgba(122,92,36,.6);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.default-button:hover,
.ns-btn:hover{
  background:var(--ns-red-dark); border-color:var(--ns-red-dark); color:#fff;
  transform:translateY(-2px); box-shadow:0 14px 28px -10px rgba(122,92,36,.7); opacity:1;
}
.ns-btn-ghost{
  background:transparent; color:var(--ns-ink); border-color:var(--ns-line);
  box-shadow:none;
}
.ns-btn-ghost:hover{ background:var(--ns-ink); border-color:var(--ns-ink); color:#fff; transform:translateY(-2px); }
.ns-btn-dark{ background:var(--ns-ink); border-color:var(--ns-ink); box-shadow:0 8px 20px -10px rgba(0,0,0,.6); }
.ns-btn-dark:hover{ background:#000; border-color:#000; color:#fff; }
.ns-btn-whats,
.default-button.ns-btn-whats{
  background:var(--ns-whats); border-color:var(--ns-whats);
  box-shadow:0 10px 22px -10px rgba(37,211,102,.8);
}
.ns-btn-whats:hover,
.default-button.ns-btn-whats:hover{ background:#1ebe5b; border-color:#1ebe5b; color:#fff; }
.ns-btn-lg{ padding:16px 34px; font-size:16px; }

/* ============================================================
   HEADER — anúncio + topo + nav (sticky)
   ============================================================ */
#sticker.ns-header,
#sticker.ns-header.stick{
  position:sticky;
  top:-86px;                     /* esconde anúncio + topbar ao rolar; menu fica */
  width:100%;
  z-index:9999;
  background:#fff;
  box-shadow:0 1px 0 var(--ns-line);
}
#sticker.ns-header.stick{ box-shadow:0 10px 30px -16px rgba(16,24,40,.35); }

/* faixa de anúncio (vermelha): Disque Bateria */
.ns-announce{
  background:linear-gradient(90deg,var(--ns-red),var(--ns-red-dark));
  color:#fff;
  font-size:13px;
}
.ns-announce__row{
  display:flex; align-items:center; justify-content:center; gap:18px;
  min-height:40px; padding:6px 0; text-align:center;
}
.ns-announce__msg{ margin:0; font-weight:500; letter-spacing:.01em; }
.ns-announce__msg i{ color:var(--ns-gold); margin-right:6px; }
.ns-announce__msg strong{ font-weight:800; }
.ns-announce__dot{ opacity:.55; margin:0 4px; }
.ns-announce__wa{ color:#fff; font-weight:800; white-space:nowrap; }
.ns-announce__wa:hover{ color:var(--ns-gold); }
.ns-announce__cta{
  color:#fff; font-weight:800; white-space:nowrap;
  border:1px solid rgba(255,255,255,.5); border-radius:999px; padding:3px 14px;
}
.ns-announce__cta:hover{ background:#fff; color:var(--ns-red); }

/* topbar (preta): horário + telefones */
.ns-header .header-top.ns-topbar{ background:var(--ns-ink); }
.ns-topbar__row{
  display:flex; align-items:center; justify-content:space-between;
  min-height:46px; gap:16px;
}
.ns-topbar__hours{ display:flex; align-items:center; gap:9px; font-family:'Lato',sans-serif; color:#c7cbd3; font-size:12.5px; white-space:nowrap; }
.ns-topbar__hours > i{ color:var(--ns-gold); font-size:18px; }
.ns-topbar__hours-tx strong{ color:#fff; font-weight:800; letter-spacing:.02em; }
.ns-topbar__left{ color:#c7cbd3; font-size:13px; font-family:'Lato',sans-serif; font-weight:600; }
.ns-topbar__left i{ color:var(--ns-gold); margin-right:7px; }

/* ---- ações da faixa preta: busca + Carrinho (Atendimento foi p/ a esquerda) ---- */
.ns-topbar__actions{ display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.ns-topbar__actions .ns-search{ width:280px; max-width:38vw; }
/* carrinho subiu para a faixa preta (fundo escuro) */
.ns-topbar .ns-nav__cart li.menu-cart > a{ width:auto; height:auto; border-radius:0; background:transparent; color:#fff; font-size:22px; padding:4px; }
.ns-topbar .ns-nav__cart li.menu-cart > a:hover{ background:transparent; color:var(--ns-gold); }
.ns-topbar .ns-nav__cart .menu-cart-count{ box-shadow:0 0 0 2px var(--ns-ink); }

/* ---- Atendimento (dropdown no topo, hover/clique — padrão autopec) ---- */
.ns-atend{ position:relative; flex:0 0 auto; }
.ns-atend__btn{ display:inline-flex; align-items:center; gap:8px; background:transparent; border:0; color:#fff; font-family:'Lato',sans-serif; font-weight:700; font-size:13.5px; cursor:pointer; padding:8px 4px; }
.ns-atend__btn .fa-headphones{ color:var(--ns-gold); font-size:17px; }
.ns-atend__caret{ font-size:12px; opacity:.8; transition:transform .2s ease; }
.ns-atend:hover .ns-atend__caret, .ns-atend.open .ns-atend__caret{ transform:rotate(180deg); }
.ns-atend__menu{
  position:absolute; top:calc(100% + 6px); left:0; min-width:300px;
  background:#fff; border-radius:14px; box-shadow:var(--ns-shadow-lg);
  padding:6px; opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s; z-index:3000;
}
.ns-atend:hover .ns-atend__menu, .ns-atend.open .ns-atend__menu{
  opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity .2s ease, transform .2s ease;
}
.ns-atend__menu::before{ content:""; position:absolute; left:0; right:0; top:-8px; height:8px; } /* ponte p/ o hover não cair no gap */
.ns-atend__item{ padding:11px 14px; border-bottom:1px solid var(--ns-line); display:flex; flex-direction:column; gap:3px; }
.ns-atend__item:last-child{ border-bottom:0; }
.ns-atend__lbl{ display:flex; align-items:center; gap:8px; font-family:'Lato',sans-serif; font-weight:800; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ns-muted); }
.ns-atend__lbl i{ color:var(--ns-red); width:16px; text-align:center; font-size:13px; }
.ns-atend__item a{ color:var(--ns-ink); font-size:15.5px; font-weight:800; text-decoration:none; line-height:1.35; }
.ns-atend__item a:hover{ color:var(--ns-red); }
.ns-atend__item small{ color:var(--ns-body); font-size:13.5px; line-height:1.55; }

/* Atendimento dentro do menu branco (ao lado de Contato) */
.ns-nav__menu .ns-atend{ flex:0 0 auto; list-style:none; }
.ns-nav__menu .ns-atend__btn{ font-family:'Lato',sans-serif; font-weight:800; font-size:15px; color:var(--ns-ink-2); padding:12px 16px; gap:6px; border-radius:10px; }
.ns-nav__menu .ns-atend__btn .fa-headphones{ color:var(--ns-red); font-size:15px; }
.ns-nav__menu .ns-atend:hover .ns-atend__btn{ color:var(--ns-red); }
.ns-nav__menu .ns-atend__menu{ left:auto; right:0; }

/* Carrinho dentro do menu branco (ao lado do Atendimento) */
.ns-nav__menu .ns-menu-cart{ position:relative; flex:0 0 auto; list-style:none; }
.ns-nav__menu .ns-menu-cart > a{ display:inline-flex; align-items:center; gap:8px; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; color:var(--ns-ink-2); padding:12px 14px; border-radius:10px; }
.ns-nav__menu .ns-menu-cart > a i.fa-shopping-cart{ color:var(--ns-red); font-size:29px; }
.ns-nav__menu .ns-menu-cart:hover > a{ color:var(--ns-red); }
.ns-nav__menu .ns-menu-cart__ic{ position:relative; display:inline-flex; }
.ns-nav__menu .ns-menu-cart .menu-cart-count{ position:absolute; top:-7px; right:-9px; min-width:16px; height:16px; line-height:16px; padding:0 4px; background:var(--ns-red); color:#fff; font-family:'Lato',sans-serif; font-weight:800; font-size:10px; border-radius:999px; text-align:center; box-shadow:0 0 0 2px #fff; }
.ns-nav__menu .ns-menu-cart__txt{ display:inline-flex; align-items:center; gap:7px; }
.ns-nav__menu .ns-menu-cart__caret{ font-size:12px; opacity:.8; transition:transform .2s ease; }
.ns-nav__menu .ns-menu-cart:hover .ns-menu-cart__caret{ transform:rotate(180deg); }
.ns-nav__menu .ns-menu-cart .ns-minicart{ position:absolute; top:calc(100% + 6px); right:0; width:340px; max-width:92vw; background:#fff; color:var(--ns-ink); border:1px solid var(--ns-line); border-top:3px solid var(--ns-red); border-radius:14px; box-shadow:var(--ns-shadow-lg); text-align:left; z-index:3000; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s; }
.ns-nav__menu .ns-menu-cart:hover .ns-minicart{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .22s ease, transform .22s ease; }
.ns-contacts{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.ns-contacts a{
  color:#e6e8ec; font-size:13px; font-weight:600; padding:5px 11px; border-radius:999px;
  display:inline-flex; align-items:center; gap:7px; border:1px solid #fff;
}
.ns-contacts a i{ color:var(--ns-gold); }
.ns-contacts a:hover{ color:#fff; background:rgba(255,255,255,.08); }

/* nav principal */
.ns-header .main-menu-area.ns-nav{ background:#fff; }
.ns-nav__row{
  display:flex; align-items:center; gap:22px;
  min-height:92px;
}
.ns-nav__logo{ flex:0 0 auto; }
.ns-nav__logo a{
  display:flex; align-items:center; gap:13px; line-height:1; padding:8px 0;
}
.ns-nav__logo img{ height:62px; width:auto; }
.ns-nav__brand{ display:flex; flex-direction:column; line-height:1.05; }
.ns-nav__brand strong{
  font-family:'Lato',sans-serif; font-weight:900; font-size:21px;
  color:var(--ns-ink); letter-spacing:-.01em; text-transform:uppercase;
}
.ns-nav__brand strong em{ color:var(--ns-red); font-style:normal; }
.ns-nav__brand small{ font-size:11px; color:var(--ns-muted); letter-spacing:.04em; text-transform:uppercase; font-weight:600; }

.ns-nav__menu{ margin-left:auto; }
.ns-header .main-menu nav ul{ display:flex; align-items:center; gap:2px; margin:0; text-align:left; }
.ns-header .main-menu nav ul li{ display:block; overflow:visible; position:relative; }
.ns-header .main-menu nav ul li a{
  display:block; position:relative; z-index:1;
  font-family:'Lato',sans-serif; font-weight:800; font-size:15px;
  text-transform:none; letter-spacing:0; white-space:nowrap;
  color:var(--ns-ink-2); padding:12px 16px; border-radius:10px;
  transition:color .2s ease, background .2s ease;
}
.ns-header .main-menu nav ul li a::after{ display:none !important; }   /* mata o hover torto antigo */
.ns-header .main-menu nav ul li a::before{
  content:""; position:absolute; left:16px; right:16px; bottom:6px; height:2px;
  background:var(--ns-red); border-radius:2px;
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.ns-header .main-menu nav ul li a:hover{ color:var(--ns-red); background:transparent; }
.ns-header .main-menu nav ul li a:hover::before{ transform:scaleX(1); }
.ns-header .main-menu nav ul li a.active{ color:var(--ns-red) !important; }
.ns-header .main-menu nav ul li a.active::before{ transform:scaleX(1); }
.ns-header .main-menu nav ul li:hover > a{ color:var(--ns-red) !important; }

/* ações à direita (CTA + carrinho) */
.ns-nav__actions{ display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.ns-cta-whats{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--ns-whats); color:#06311a; font-family:'Lato',sans-serif; font-weight:800;
  font-size:14px; padding:10px 18px; border-radius:999px; white-space:nowrap;
  box-shadow:0 10px 22px -12px rgba(37,211,102,.9);
}
.ns-cta-whats i{ font-size:17px; }
.ns-cta-whats:hover{ background:#1ebe5b; color:#04240f; transform:translateY(-2px); }

.ns-nav__cart{ display:flex; align-items:center; margin:0; }
.ns-nav__cart li.menu-cart{ position:relative; list-style:none; overflow:visible; }
.ns-nav__cart li.menu-cart > a{
  display:inline-flex; align-items:center; justify-content:center; position:relative;
  width:46px; height:46px; border-radius:12px; background:var(--ns-soft);
  color:var(--ns-ink); font-size:19px;
}
.ns-nav__cart li.menu-cart > a:hover{ background:var(--ns-ink); color:#fff; }
.ns-nav__cart .menu-cart-count{
  position:absolute; top:-6px; right:-6px;
  min-width:20px; height:20px; line-height:20px; padding:0 5px;
  background:var(--ns-red); color:#fff; font-family:'Lato',sans-serif; font-weight:800;
  font-size:11px; border-radius:999px; text-align:center; box-shadow:0 0 0 2px #fff;
}

/* mini-carrinho (mantém ids/classes do loja.js) */
.ns-nav__cart .ns-minicart{
  position:absolute; top:calc(100% + 12px); right:0; width:340px; max-width:92vw;
  background:#fff; color:var(--ns-ink); border:1px solid var(--ns-line);
  border-top:3px solid var(--ns-red); border-radius:14px;
  box-shadow:var(--ns-shadow-lg); text-align:left; z-index:9999;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.ns-nav__cart li.menu-cart:hover .ns-minicart{
  opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity .22s ease, transform .22s ease, visibility 0s;
}

/* ============================================================
   MOBILE HEADER / MEANMENU
   ============================================================ */
@media (max-width:991px){
  #sticker.ns-header,
  #sticker.ns-header.stick{ top:0; }       /* sticky simples no mobile/tablet */
  .ns-announce{ display:none !important; }              /* Disque Bateria some no mobile */
  .ns-header .header-top.ns-topbar{ display:none !important; }  /* horário/telefones ficam no menu */

  /* ====== BARRA MOBILE — VER BLOCO AUTORITATIVO NO FIM DO ARQUIVO (MOBILE HEADER v2) ====== */
  /* As regras de posicionamento da barra/logo/hambúrguer/dropdown foram
     consolidadas no bloco ".mobile-menu-area.ns-mobile" no FINAL deste arquivo. */
  .mean-container .mean-nav ul{ margin:0; }
  .mean-container .mean-nav ul li a{
    font-family:'Lato',sans-serif; font-weight:700; font-size:15px;
    color:var(--ns-ink) !important; background:#fff;
    border-top:1px solid var(--ns-line); padding:13px 6%; text-transform:none; width:100%;
  }
  .mean-container .mean-nav ul li a:hover{ background:var(--ns-soft); color:var(--ns-red) !important; }
  .mean-container .mean-nav ul li a.active{ color:#fff !important; background:var(--ns-red); }
  .mean-container .mean-nav ul li li a{ padding-left:10%; opacity:1; }
  .mean-nav ul li.ns-mob-contato a{ font-weight:600; }
  .mean-nav ul li.ns-mob-contato a i{ margin-right:9px; color:var(--ns-whats); }

  /* busca do mobile: linha branca, limpa, abaixo do hambúrguer */
  .ns-search--mobile{
    clear:both; display:flex; width:100%; margin:8px 0 2px;
    background:var(--ns-soft); border:1px solid var(--ns-line);
  }
  .ns-search--mobile .ns-search__input{ color:var(--ns-ink); padding:9px 14px; }
  .ns-search--mobile .ns-search__input::placeholder{ color:#9aa0aa; }
  .ns-search--mobile .ns-search__btn{ padding:9px 18px; }
}

/* ============================================================
   HERO CARROSSEL (.ns-hero) — full-bleed, fade + Ken Burns
   ============================================================ */
.ns-hero{
  position:relative; width:100%; overflow:hidden; background:#0b0c0f;
  aspect-ratio:1774 / 887;
}
.ns-hero__track{ position:absolute; inset:0; }
.ns-hero__slide{
  position:absolute; inset:0; z-index:1;
  clip-path:inset(0 0 0 100%);
  transition:clip-path .9s cubic-bezier(.66,0,.2,1);
  will-change:clip-path;
}
.ns-hero__slide.is-active{ clip-path:inset(0); z-index:2; }
.ns-hero__slide img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
@media (prefers-reduced-motion:reduce){
  .ns-hero__slide{ transition:clip-path .3s ease; }
}
/* vinheta sutil só nas bordas, p/ os controles aparecerem */
.ns-hero::after{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.22),transparent 14%,transparent 86%,rgba(0,0,0,.22)),
             linear-gradient(0deg,rgba(0,0,0,.28),transparent 22%);
}
.ns-hero__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:52px; height:52px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.16); color:#fff; font-size:20px;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease, transform .2s ease; opacity:0;
}
.ns-hero:hover .ns-hero__arrow{ opacity:1; }
.ns-hero__arrow:hover{ background:var(--ns-red); }
.ns-hero__arrow--prev{ left:20px; }
.ns-hero__arrow--next{ right:20px; }
.ns-hero__dots{
  position:absolute; left:0; right:0; bottom:18px; z-index:5;
  display:flex; align-items:center; justify-content:center; gap:9px;
}
.ns-hero__dots button{
  width:9px; height:9px; border-radius:999px; border:0; cursor:pointer; padding:0;
  background:rgba(255,255,255,.5); transition:all .25s ease;
}
.ns-hero__dots button.is-active{ width:30px; background:#fff; }
/* barra de progresso (tempo até a próxima troca) */
.ns-hero__progress{
  position:absolute; left:0; right:0; top:0; bottom:auto; height:4px; z-index:5;
  background:rgba(255,255,255,.18);
}
.ns-hero__progress span{
  display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--ns-red),var(--ns-gold));
  box-shadow:0 0 10px rgba(122,92,36,.55);
}
@keyframes ns-hero-prog{ from{ width:0; } to{ width:100%; } }
@media (prefers-reduced-motion:reduce){
  .ns-hero__progress span{ animation:none !important; width:100%; }
}
@media (max-width:767px){
  .ns-hero__arrow{ display:none; }
  .ns-hero__dots{ bottom:10px; }
}

/* ============================================================
   TRUST SEALS (faixa que sobrepõe o hero)
   ============================================================ */
.ns-trust{ position:relative; z-index:6; margin-top:28px; }
.ns-trust__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  background:#fff; border:1px solid var(--ns-line); border-radius:var(--ns-radius);
  box-shadow:var(--ns-shadow); padding:22px;
}
.ns-trust__item{ display:flex; align-items:center; gap:14px; padding:6px 8px; }
.ns-trust__item + .ns-trust__item{ border-left:1px solid var(--ns-line); }
.ns-trust__ico{
  flex:0 0 auto; width:50px; height:50px; border-radius:13px;
  display:flex; align-items:center; justify-content:center; font-size:22px;
  background:linear-gradient(135deg,rgba(122,92,36,.1),rgba(176,141,87,.14)); color:var(--ns-red);
}
.ns-trust__tx{ min-width:0; }
.ns-trust__tx strong{ display:block; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; color:var(--ns-ink); line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ns-trust__tx span{ display:block; font-size:12.5px; color:var(--ns-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:991px){
  .ns-trust__grid{ grid-template-columns:repeat(2,1fr); }
  .ns-trust__item:nth-child(odd){ border-left:0; }
  .ns-trust__item:nth-child(n+3){ border-top:1px solid var(--ns-line); padding-top:18px; }
}
@media (max-width:767px){
  .ns-trust{ margin-top:18px; }
  .ns-trust__grid{ grid-template-columns:1fr; gap:10px; padding:16px; }
  .ns-trust__item + .ns-trust__item{ border-left:0; border-top:1px solid var(--ns-line); padding-top:14px; }
}

/* ============================================================
   HOME: PEÇAS ficam claras (loja). SERVIÇOS ganham a imagem da
   oficina + efeito vidro nos cards (como na página de baterias).
   ============================================================ */
.shop-area.ns-glass{ background:var(--ns-soft) !important; background-attachment:scroll !important; }
.shop-area.ns-glass::after{ display:none !important; }
.shop-area.ns-glass .section-heading h2{ color:var(--ns-ink); }
.shop-area.ns-glass .single-product .product-name a{ color:var(--ns-ink); }
.shop-area.ns-glass .single-product .product-name a:hover{ color:var(--ns-red); }

/* serviços (home): imagem da oficina (service-bg.png via .ns-glass) + camada escura */
.service-area.ns-glass{ background-color:#0f1012; }
.service-area.ns-glass::after{
  background:linear-gradient(rgba(13,14,16,.72),rgba(13,14,16,.82)) !important;
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.service-area.ns-glass .ns-eyebrow{ color:var(--ns-gold); }
.service-area.ns-glass .ns-eyebrow::before{ background:var(--ns-gold); }

/* selos de confiança (vidro) dentro da seção de serviços */
.service-area .ns-trust{ position:static; margin:0 0 46px; z-index:auto; }
.service-area .ns-trust__grid{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(10px) saturate(120%); backdrop-filter:blur(10px) saturate(120%);
  box-shadow:0 22px 46px -26px rgba(0,0,0,.75);
}
.service-area .ns-trust__item + .ns-trust__item{ border-left-color:rgba(255,255,255,.14); }
.service-area .ns-trust__ico{ background:rgba(255,255,255,.1); color:var(--ns-gold); }
.service-area .ns-trust__tx strong{ color:#fff; }
.service-area .ns-trust__tx span{ color:#aab0ba; }
@media (max-width:991px){
  .service-area .ns-trust__item:nth-child(n+3){ border-top-color:rgba(255,255,255,.14); }
}

/* cards de serviço (home) com efeito vidro */
.service-area.ns-glass .single-service{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(10px) saturate(120%); backdrop-filter:blur(10px) saturate(120%);
  box-shadow:0 22px 46px -26px rgba(0,0,0,.75);
}
.service-area.ns-glass .single-service:hover{
  background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.24);
  box-shadow:0 30px 56px -26px rgba(0,0,0,.85);
}
.service-area.ns-glass .single-service .icon-title i{
  background:linear-gradient(135deg,rgba(176,141,87,.3),rgba(122,92,36,.3)); color:#fff;
}
.service-area.ns-glass .single-service:hover .icon-title i{ background:var(--ns-red); color:#fff; }
.service-area.ns-glass .single-service .icon-title h3{ color:#fff; }
.service-area.ns-glass .single-service p{ color:#cdd2da; }

/* ============================================================
   SERVICE CARDS (home + páginas)
   ============================================================ */
.service-area .row{ display:flex; flex-wrap:wrap; }
.service-area .row:first-of-type{ display:block; }
.service-area .single-service{
  width:100%; height:100%; margin:0 0 0 0 !important;
  background:#fff; border:1px solid var(--ns-line); border-radius:var(--ns-radius);
  box-shadow:var(--ns-shadow-sm); padding:30px 26px; text-align:left;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-area .row > [class*="col-"]{ margin-bottom:26px; display:flex; }
.service-area .single-service:hover{
  transform:translateY(-6px); box-shadow:var(--ns-shadow); border-color:transparent;
}
.service-area .single-service .icon-title{ margin-bottom:14px; overflow:visible; }
.service-area .single-service .icon-title i{
  float:none; display:flex; align-items:center; justify-content:center;
  width:58px; height:58px; margin:0 0 14px; border-radius:15px;
  background:linear-gradient(135deg,rgba(122,92,36,.1),rgba(176,141,87,.14));
  color:var(--ns-red); font-size:25px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.service-area .single-service:hover .icon-title i{ background:var(--ns-red); color:#fff; transform:rotate(-6deg); }
.service-area .single-service .icon-title h3{
  float:none; padding-left:0; margin:0;
  color:var(--ns-ink); font-family:'Lato',sans-serif; font-weight:800; font-size:18px; text-transform:none;
}
.service-area .single-service p{ color:var(--ns-body); margin:0; font-size:14px; line-height:1.65; }
/* override nth-child margins antigos */
@media (min-width:768px){
  .service-area .row > [class*="col-"]:nth-child(-n+3) .single-service,
  .service-area .row > [class*="col-"]:nth-child(n+4) .single-service{ margin-top:0 !important; }
}
.service-area.pages .section-heading{ margin-bottom:8px; }

/* ============================================================
   PRODUCT CARDS (saída do loja.js — classes fixas)
   ============================================================ */
#ns-home-grid, #ns-grid{ display:flex; flex-wrap:wrap; }
#ns-home-grid > [class*="col-"], #ns-grid > [class*="col-"]{ margin-bottom:28px; display:flex; }
.single-product.hover-style{
  width:100%; display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--ns-line); border-radius:var(--ns-radius); overflow:hidden;
  box-shadow:var(--ns-shadow-sm); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.single-product.hover-style:hover{ transform:translateY(-6px); box-shadow:var(--ns-shadow); border-color:transparent; }
.single-product.hover-style .product-img{ position:relative; background:#fff; overflow:hidden; }
.single-product.hover-style .product-img a.main-img{ display:block; }
.single-product.hover-style .product-img a.main-img img{
  width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  transition:transform .4s ease;
}
.single-product.hover-style:hover .product-img a.main-img img{ transform:scale(1.06); }
/* mata o escurecer antigo */
.single-product.hover-style .product-img a.main-img::after{ display:none !important; }

/* barra de ação que sobe no hover */
.single-product.hover-style .product-action{
  position:absolute; left:12px; right:12px; bottom:12px; top:auto; margin:0; width:auto;
  opacity:0; transform:translateY(14px); visibility:visible;
  transition:opacity .25s ease, transform .25s ease;
}
.single-product.hover-style:hover .product-action{ opacity:1; transform:translateY(0); top:auto; }
.single-product .product-action .action-btn{ display:flex; gap:8px; }
.single-product .product-action .action-single-btn{
  height:44px; border-radius:12px; font-family:'Lato',sans-serif;
  font-weight:800; font-size:16px; text-transform:none; padding:0; flex:1;
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  box-shadow:0 8px 18px -8px rgba(0,0,0,.45);
}
.single-product .product-action .icon-button.action-single-btn{
  flex:1; padding:0; color:var(--ns-ink); background:#fff; border-color:#fff;
}
.single-product .product-action .icon-button.action-single-btn:hover{ background:var(--ns-ink); border-color:var(--ns-ink); color:#fff; }
.single-product .product-action .text-button.action-single-btn{ background:var(--ns-red); border-color:var(--ns-red); color:#fff; }
.single-product .product-action .text-button.action-single-btn:hover{ background:var(--ns-ink); border-color:var(--ns-ink); color:#fff; }
.single-product .product-action .action-single-btn[disabled]{ background:#e7e9ee; border-color:#e7e9ee; color:#9aa0aa; box-shadow:none; cursor:not-allowed; }

.single-product.hover-style .product-info{ padding:16px 16px 18px; text-align:left; }
.single-product .product-info .product-name{ margin:0 0 6px; }
.single-product .product-info .product-name a{
  font-family:'Lato',sans-serif; font-weight:700; font-size:15px; color:var(--ns-ink);
  line-height:1.35; display:block;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.single-product .product-info .product-name a:hover{ color:var(--ns-red); }
.single-product .product-info .product-price p,
.single-product .product-price p{
  margin:0; color:var(--ns-red); font-family:'Lato',sans-serif; font-weight:900; font-size:19px;
}

/* lista (shop list view) */
.single-list-shop{
  display:flex; gap:22px; align-items:flex-start; background:#fff;
  border:1px solid var(--ns-line); border-radius:var(--ns-radius); padding:18px;
  margin-bottom:20px; box-shadow:var(--ns-shadow-sm); transition:box-shadow .2s ease, transform .2s ease;
}
.single-list-shop:hover{ box-shadow:var(--ns-shadow); transform:translateY(-3px); }
.single-list-shop .product-img img{ border-radius:12px; }
.single-list-shop .single-product{ overflow:visible; }
.single-list-shop .product-text p{ color:var(--ns-body); }
.single-list-shop .product-action{ position:static; opacity:1; transform:none; margin-top:14px; }
.single-list-shop .product-action .action-btn{ display:flex; gap:10px; align-items:center; }
.single-list-shop .product-action .action-single-btn{
  height:44px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center;
  gap:8px; font-family:'Lato',sans-serif; font-weight:800; font-size:14px; cursor:pointer;
  border:1.5px solid transparent;
}
.single-list-shop .product-action .text-button.action-single-btn{ flex:0 0 auto; padding:0 22px; background:var(--ns-red); color:#fff; border-color:var(--ns-red); }
.single-list-shop .product-action .text-button.action-single-btn:hover{ background:var(--ns-ink); border-color:var(--ns-ink); color:#fff; }
.single-list-shop .product-action .icon-button.action-single-btn{ flex:0 0 44px; width:44px; padding:0; font-size:16px; background:var(--ns-soft); color:var(--ns-ink); border-color:var(--ns-line); }
.single-list-shop .product-action .icon-button.action-single-btn:hover{ background:var(--ns-ink); border-color:var(--ns-ink); color:#fff; }

/* status do catálogo */
#ns-shop-status{ color:var(--ns-muted); font-weight:500; }

/* ============================================================
   PAGE TITLE / BREADCRUMB
   ============================================================ */
.page-title-area{
  margin-top:0 !important; padding:72px 0 !important;
  position:relative; overflow:hidden; background-color:#13151a;
  --pt-img: url(../img/bg/service-bg.png?v=09);
}
/* imagem de fundo por página (faixa de título) */
.page-title-area.pt-servicos{ --pt-img: url(../img/slider/3.jpg); }
.page-title-area.pt-baterias{ --pt-img: url(../img/about/2.png); }
.page-title-area.pt-loja{ --pt-img: url(../img/slider/1.jpg); }
.page-title-area.pt-historia{ --pt-img: url(../img/about/3.png); }
.page-title-area.pt-contato{ --pt-img: url(../img/bg/testimonial-bg.jpg); }
.page-title-area::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(90deg, rgba(13,15,19,.72) 0%, rgba(13,15,19,.48) 52%, rgba(13,15,19,.36) 100%),
    radial-gradient(120% 140% at 88% -30%, rgba(122,92,36,.26), transparent 55%),
    var(--pt-img);
  background-repeat:no-repeat;
  background-size:cover, cover, cover;
  background-position:center, center, 50% 28%;
}
.page-title-area::after{ content:none; display:none; }
.page-title-area .container{ position:relative; z-index:1; }
.page-title h2{
  color:#fff; font-family:'Lato',sans-serif; font-weight:900; font-size:38px;
  text-transform:none; letter-spacing:-.02em; margin:0 0 10px;
}
.page-title-menu ul{ display:flex; flex-wrap:wrap; gap:6px; }
.page-title-menu ul li{ display:inline-flex; align-items:center; }
.page-title-menu ul li a{ color:#c7cbd3; font-size:13.5px; font-weight:600; }
.page-title-menu ul li a:hover{ color:#fff; }
.page-title-menu ul li:last-child a{ color:var(--ns-gold); }
.page-title-menu ul li span{ color:#6b7280; margin:0 2px; }
@media (max-width:767px){
  .page-title-area{ padding:40px 0 !important; }
  .page-title h2{ font-size:26px; }
  /* no celular o recorte foca o mecânico e o escurecido vira vertical p/ legibilidade */
  .page-title-area::before{
    background-image:
      linear-gradient(180deg, rgba(13,15,19,.55) 0%, rgba(13,15,19,.72) 100%),
      radial-gradient(120% 120% at 50% -20%, rgba(122,92,36,.24), transparent 60%),
      var(--pt-img);
    background-position:center, center, 44% 32%;
  }
}

/* ============================================================
   QUICK BOOK / CTA BAND (escuro)
   ============================================================ */
.quick-book-area{
  background:#15181C !important;
  position:relative; overflow:hidden; padding:0 !important;
}
.quick-book-area.ns-glass::after{ display:none !important; }
/* faixa vermelha RETA (o rotate(10deg) original ficava torto em telas grandes) */
.quick-book-area .book-now::after{
  transform:none !important; top:0 !important; left:0 !important;
  width:100% !important; height:100% !important;
}
.quick-book-area .book-now{ padding:54px 0; }
.quick-book-area .display-table, .quick-book-area .display-table-cell{ width:100%; }
.book-now-title{ text-align:center; }
.book-now-title h2{
  color:#fff; font-family:'Lato',sans-serif; font-weight:900; font-size:30px;
  text-transform:none; letter-spacing:-.01em; margin:0 0 22px; line-height:1.2;
}
.quick-book-area .book-now-btn{
  display:inline-flex; align-items:center; gap:9px; position:relative;
  background:var(--ns-whats); color:#fff !important; border:0; font-family:'Lato',sans-serif; font-weight:700;
  font-size:13.5px; padding:11px 26px; border-radius:999px; text-transform:none;
  box-shadow:0 14px 30px -12px rgba(37,211,102,.7); transition:transform .2s ease, background .2s ease;
}
.quick-book-area a.book-now-btn:hover{ background:#1ebe5b !important; color:#fff !important; transform:translateY(-2px); border-color:#1ebe5b; }
@media (max-width:767px){ .book-now-title h2{ font-size:19px; line-height:1.32; padding:0 14px; letter-spacing:0; } .quick-book-area .book-now{ padding:38px 0; } .quick-book-area .book-now-btn{ right:0; bottom:0; font-size:13px; } }

/* ============================================================
   DISQUE BATERIA / MOURA — banner com imagem de fundo responsiva
   ============================================================ */
.ns-moura-area{
  position:relative; overflow:hidden; padding:0;
  background-color:#0c0d10;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
/* escurece a esquerda (some o texto "cravado" na arte) e deixa os produtos à direita */
.ns-moura-area::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(8,9,12,.95) 0%, rgba(8,9,12,.85) 34%, rgba(8,9,12,.5) 66%, rgba(8,9,12,.25) 100%);
}
.ns-moura-area .container{ position:relative; z-index:2; }
.ns-moura-content{ max-width:540px; padding:62px 0; text-align:left; }
.ns-moura-tag{
  display:inline-flex; align-items:center; gap:7px; margin-bottom:16px;
  background:rgba(176,141,87,.16); border:1px solid rgba(176,141,87,.4); color:var(--ns-gold);
  font-family:'Lato',sans-serif; font-weight:800; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; padding:6px 13px; border-radius:999px;
}
.ns-moura-content h2{
  color:#fff; font-family:'Lato',sans-serif; font-weight:900; font-size:36px; line-height:1.12;
  letter-spacing:-.02em; text-transform:none; margin:0 0 14px; text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.ns-moura-content h2 span{ color:var(--ns-gold); }
.ns-moura-content .ns-disk-lead{
  color:#dfe3ea; font-size:16px; line-height:1.65; margin:0 0 24px; max-width:480px;
  text-shadow:0 1px 10px rgba(0,0,0,.5);
}
.ns-moura-content .ns-disk-lead strong{ color:#fff; }
@media (max-width:991px){
  .ns-moura-area{ background-position:72% center; }
  .ns-moura-area::before{ background:linear-gradient(90deg, rgba(8,9,12,.95) 0%, rgba(8,9,12,.8) 50%, rgba(8,9,12,.55) 100%); }
}
@media (max-width:767px){
  .ns-moura-content{ padding:46px 0; max-width:100%; text-align:center; }
  .ns-moura-content h2{ font-size:27px; }
  .ns-moura-area::before{ background:linear-gradient(180deg, rgba(8,9,12,.55) 0%, rgba(8,9,12,.85) 100%); }
}

/* ============================================================
   FEATURES (baterias / diferenciais)
   ============================================================ */
.features-area{ position:relative; }
.features-area.ns-parallax{
  background-attachment:scroll !important;
  background-size:cover !important;
  background-position:center center !important;
}
.features-area.overlay::after{ background-color:#101216; opacity:.82; }

/* ============================================================
   Fundo testimonial-bg: responsivo e cobrindo TODA a section
   (banner DISQUE Bateria na home + diferenciais na página Baterias)
   ============================================================ */
#disk-baterias.ns-moura-area{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  min-height:clamp(340px, 42vw, 560px);
  display:flex; align-items:center;
  padding:48px 0;
}
.features-area.ns-parallax{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  min-height:clamp(300px, 34vw, 460px);
  display:flex; align-items:center;
}
#disk-baterias.ns-moura-area > .container,
.features-area.ns-parallax > .container{ width:100%; max-width:var(--ns-container); margin-left:auto; margin-right:auto; }
@media (max-width:767px){
  #disk-baterias.ns-moura-area{ min-height:360px; padding:40px 0; }
  .features-area.ns-parallax{ min-height:340px; }
}

.single-feature{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--ns-radius); padding:34px 22px; backdrop-filter:blur(2px);
  transition:transform .2s ease, background .2s ease;
}
.single-feature:hover{ transform:translateY(-6px); background:rgba(255,255,255,.09); }
.single-feature .feature-icon i{
  display:inline-flex; align-items:center; justify-content:center;
  width:66px; height:66px; border-radius:50%; margin-bottom:16px;
  background:linear-gradient(135deg,var(--ns-red),var(--ns-red-dark)); color:#fff; font-size:27px;
}
.single-feature .feature-content h3{ color:#fff; font-family:'Lato',sans-serif; font-weight:800; font-size:19px; text-transform:none; margin:0 0 6px; }
.single-feature .feature-content p{ color:#c7cbd3; margin:0; }
@media (max-width:767px){ .single-feature{ margin-bottom:16px; } }

/* ============================================================
   ABOUT / MISSION / TEAM
   ============================================================ */
.about-us-info p{ color:var(--ns-body); margin-bottom:18px; }
.about-us-img{ border-radius:var(--ns-radius); box-shadow:0 16px 42px rgba(0,0,0,.26), 0 0 16px rgba(0,0,0,.12); overflow:hidden; }
.about-us-img::after, .about-us-img::before{ display:none; }
.about-us-img img{ border-radius:var(--ns-radius); }
.about-social ul{ display:flex; gap:12px; }
.about-social ul li a{
  display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px;
  border-radius:12px; background:var(--ns-soft); color:var(--ns-ink); font-size:20px; padding:0;
}
.about-social ul li a:hover{ background:var(--ns-red); color:#fff; transform:translateY(-3px); }
.mission-vision-area{ background:var(--ns-soft); }
.mission-area{
  background:#fff; border:1px solid var(--ns-line); border-radius:var(--ns-radius);
  box-shadow:var(--ns-shadow-sm); padding:34px 30px; height:100%;
}
.mission-area .section-heading.light h2{ color:var(--ns-ink); }
.mission-area .mission-content p, .mission-area .vision-content p{ color:var(--ns-body); }
.team-member .single-team{ border-radius:var(--ns-radius); overflow:hidden; box-shadow:var(--ns-shadow-sm); float:none !important; }
.single-team .team-img::after, .single-team .team-img::before{ display:none; }
.team-info{ background:linear-gradient(0deg,rgba(0,0,0,.85),transparent); }

/* ============================================================
   CONTATO
   ============================================================ */
.ns-contact{ background:var(--ns-soft); }
.ns-contact .container{ position:relative; z-index:2; }
.ns-contact__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:42px; align-items:start; }
.ns-contact__intro h2{
  font-family:'Lato',sans-serif; font-weight:900; font-size:34px; line-height:1.12;
  letter-spacing:-.02em; text-transform:none; color:var(--ns-ink); margin:0 0 14px;
}
.ns-contact__intro h2 span,
.ns-contact__intro h2 strong{ color:var(--ns-red); font-weight:inherit; }
.ns-contact__intro > p{ color:var(--ns-body); font-size:15.5px; margin:0 0 24px; max-width:520px; }
.ns-contact__cards{ display:flex; flex-direction:column; gap:14px; margin-bottom:24px; }
.ns-contact-card{
  display:flex; gap:15px; align-items:flex-start; background:#fff;
  border:1px solid var(--ns-line); border-radius:14px; padding:16px 18px; box-shadow:var(--ns-shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease;
}
.ns-contact-card:hover{ transform:translateY(-3px); box-shadow:var(--ns-shadow); }
.ns-cc-ico{
  flex:0 0 auto; width:46px; height:46px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; font-size:19px;
  background:linear-gradient(135deg,rgba(122,92,36,.1),rgba(176,141,87,.14)); color:var(--ns-red);
}
.ns-cc-tx strong{ display:block; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; color:var(--ns-ink); margin-bottom:2px; }
.ns-cc-tx p{ margin:0; color:var(--ns-body); font-size:14px; line-height:1.55; }
.ns-contact__actions{ display:flex; flex-wrap:wrap; gap:12px; }

.ns-contact__form{
  background:#fff; border:1px solid var(--ns-line); border-radius:18px;
  box-shadow:var(--ns-shadow); padding:34px 32px; position:sticky; top:120px;
}
.ns-form-sub{ color:var(--ns-muted); font-size:13.5px; margin:-14px 0 22px; }
.contact-title{
  font-family:'Lato',sans-serif; font-weight:900; font-size:22px; text-transform:none;
  color:var(--ns-ink); margin:0 0 22px; padding-bottom:14px; position:relative;
}
.contact-title::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--ns-red),var(--ns-gold)); }
.contact-form input, .contact-form textarea{
  width:100%; border:1.5px solid var(--ns-line); border-radius:12px; background:var(--ns-soft);
  padding:13px 16px; margin-bottom:14px; font-family:inherit; font-size:14.5px; color:var(--ns-ink);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.contact-form textarea{ min-height:140px; resize:vertical; }
.contact-form input::placeholder, .contact-form textarea::placeholder{ color:#9aa0aa; }
.contact-form input:focus, .contact-form textarea:focus{
  outline:none; border-color:var(--ns-red); background:#fff; box-shadow:0 0 0 4px rgba(122,92,36,.1);
}
.contact-form .shopping-button button{
  display:inline-flex; align-items:center; gap:9px; width:100%; justify-content:center;
  background:var(--ns-whats); color:#FFFFFF; border:0; border-radius:999px;
  font-family:'Lato',sans-serif; font-weight:800; font-size:15px; padding:15px 30px; cursor:pointer;
  box-shadow:0 12px 26px -12px rgba(37,211,102,.8); transition:transform .2s ease, background .2s ease;
}
.contact-form .shopping-button button:hover{ background:#1ebe5b; transform:translateY(-2px); }

.ns-contact__map{ margin-top:64px; width:100%; line-height:0; }
.ns-contact__map iframe{ width:100%; height:440px; border:0; display:block; filter:grayscale(.12) contrast(1.03); }
@media (max-width:991px){
  .ns-contact__grid{ grid-template-columns:1fr; gap:30px; }
  .ns-contact__form{ position:static; }
}
@media (max-width:767px){
  .ns-contact__intro h2{ font-size:26px; }
  .ns-contact__form{ padding:26px 22px; }
  .ns-contact__map{ margin-top:42px; }
  .ns-contact__map iframe{ height:340px; }
  .ns-contact__actions .ns-btn{ flex:1; }
}

/* ============================================================
   CART / DETAIL
   ============================================================ */
.cart-main-area .table{ border:1px solid var(--ns-line); border-radius:var(--ns-radius); overflow:hidden; background:#fff; }
.cart-main-area .table > thead > tr > th{
  background:var(--ns-ink); color:#fff; border:0; font-family:'Lato',sans-serif; font-weight:800;
  text-transform:none; padding:14px; font-size:13px; vertical-align:middle;
}
.cart-main-area .table > tbody > tr > td{ border-color:var(--ns-line); vertical-align:middle; padding:14px; }
.cart-main-area .cart-product-name a{ font-family:'Lato',sans-serif; font-weight:700; color:var(--ns-ink); }
.cart-main-area .cart-product-name a:hover{ color:var(--ns-red); }
.cart-main-area .item-img img{ border-radius:10px; border:1px solid var(--ns-line); }
.cart-main-area input[type="number"]{ border:1.5px solid var(--ns-line); border-radius:9px; padding:8px; text-align:center; }
.ns-cart-remove{ background:none; border:0; color:#b9bdc6; font-size:16px; cursor:pointer; transition:color .2s ease; }
.ns-cart-remove:hover{ color:var(--ns-red); }
.cart-total{
  background:#fff; border:1px solid var(--ns-line); border-radius:var(--ns-radius);
  box-shadow:var(--ns-shadow-sm); padding:26px;
}
.cart-total h3{ font-family:'Lato',sans-serif; font-weight:900; font-size:20px; text-transform:none; margin:0 0 6px; }
.cart-total h3 span{ color:var(--ns-red); }

.product-details-info .product-name{ font-family:'Lato',sans-serif; font-weight:900; font-size:26px; text-transform:none; color:var(--ns-ink); margin:0 0 12px; }
.product-details-info .product-price p{ color:var(--ns-red); font-family:'Lato',sans-serif; font-weight:900; font-size:26px; }
.shop-details-images #ns-detail-main{ border-radius:var(--ns-radius); border:1px solid var(--ns-line); }
.ns-detail-thumbs{ display:flex; gap:10px; margin-top:12px; }
.ns-detail-thumbs img{ width:74px; height:74px; object-fit:cover; border-radius:10px; border:1.5px solid var(--ns-line); cursor:pointer; }
.ns-detail-thumbs img.active{ border-color:var(--ns-red); }

/* ============================================================
   SHOP BAR (filtros/ordenar/visões)
   ============================================================ */
.shop-bar{
  display:flex; align-items:center; flex-wrap:wrap; gap:14px;
  background:#fff; border:1px solid var(--ns-line); border-radius:var(--ns-radius);
  box-shadow:var(--ns-shadow-sm); padding:14px 18px; margin-bottom:30px;
}
.shop-bar .width-33{ width:auto !important; float:none !important; }
.shop-bar .shop-nav{ margin-right:auto; }
.shop-bar .shop-navigation{ display:flex; gap:8px; margin:0; }
.shop-bar .shop-navigation li a{
  display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:10px; background:var(--ns-soft); color:var(--ns-ink); padding:0;
}
.shop-bar .shop-navigation li.active a, .shop-bar .shop-navigation li a:hover{ background:var(--ns-red); color:#fff; }
.shop-bar label{ font-family:'Lato',sans-serif; font-weight:700; font-size:13px; color:var(--ns-muted); margin:0 8px 0 0; text-transform:none; }
.shop-bar select{
  border:1.5px solid var(--ns-line); border-radius:10px; background:var(--ns-soft); color:var(--ns-ink);
  padding:9px 14px; font-size:14px; font-weight:600; cursor:pointer; outline:none;
}
.shop-bar select:focus{ border-color:var(--ns-red); }
@media (max-width:767px){
  .shop-bar{ flex-direction:column; align-items:stretch; gap:12px; padding:14px; }
  .shop-bar .shop-nav{ margin:0; }
  /* Categoria e Ordenar: rótulo + select na MESMA linha, alinhados à esquerda,
     select preenchendo o resto — fim do "torto" (text-center/text-right antigos) */
  .shop-bar .sort-by,
  .shop-bar .limit-product{
    display:flex; align-items:center; gap:10px;
    width:auto !important; float:none !important; text-align:left !important;
  }
  .shop-bar .sort-by label,
  .shop-bar .limit-product label{ margin:0; white-space:nowrap; min-width:80px; }
  .shop-bar .sort-by select,
  .shop-bar .limit-product select{ flex:1 1 auto; width:100%; min-width:0; }
}

/* ============================================================
   TESTIMONIALS (home — seção nova)
   ============================================================ */
.ns-testimonials{ position:relative; background:radial-gradient(1200px 520px at 50% -8%, rgba(66,133,244,.10), rgba(52,168,83,.05) 45%, rgba(255,255,255,0) 70%), var(--ns-soft); }

/* faixa "Nota máxima no Google" — borda em gradiente animado nas cores do Google */
.ns-grating{ max-width:790px; margin:6px auto 42px; border-radius:20px; padding:3px;
  background:linear-gradient(120deg,#4285F4,#34A853,#FBBC05,#EA4335,#4285F4);
  background-size:300% 300%; animation:nsGoogleFlow 11s ease infinite;
  box-shadow:0 20px 44px -22px rgba(66,133,244,.65); }
@keyframes nsGoogleFlow{ 0%{ background-position:0% 50% } 50%{ background-position:100% 50% } 100%{ background-position:0% 50% } }
.ns-grating__inner{ background:#fff; border-radius:17px; padding:22px 30px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:center; text-align:center; }
.ns-grating__brand{ display:flex; flex-direction:column; line-height:1.05; }
.ns-grating__logo{ font-family:'Lato',Arial,sans-serif; font-weight:800; font-size:31px; letter-spacing:-1px; }
.ns-grating__brandsub{ font-size:12px; color:#6b7280; font-weight:700; margin-top:2px; }
.ns-grating__score{ display:flex; flex-direction:column; align-items:center; gap:3px; }
.ns-grating__num{ font-family:'Lato',sans-serif; font-weight:900; font-size:42px; color:var(--ns-ink); line-height:1; }
.ns-grating__stars{ color:#FBBC05; font-size:18px; letter-spacing:3px; }
.ns-grating__label{ font-size:12.5px; color:#5b6470; font-weight:700; }
.ns-grating__btn{ display:inline-flex; align-items:center; gap:9px; background:#4285F4; color:#fff !important; font-family:'Lato',sans-serif; font-weight:800; font-size:14.5px; padding:13px 24px; border-radius:999px; text-decoration:none; transition:background .2s ease, transform .2s ease; box-shadow:0 14px 28px -12px rgba(66,133,244,.85); }
.ns-grating__btn:hover{ background:#3367d6; transform:translateY(-2px); color:#fff !important; }
@media(max-width:600px){ .ns-grating__inner{ gap:16px; padding:18px 16px; } .ns-grating__logo{ font-size:27px; } .ns-grating__num{ font-size:36px; } }
@media (prefers-reduced-motion:reduce){ .ns-grating{ animation:none; } }
.ns-tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
/* ordem da seção: título → comentários → painel do Google (embaixo) */
.ns-testimonials .container{ display:flex; flex-direction:column; }
.ns-testimonials .container > .row{ order:1; }
.ns-testimonials .ns-tst-grid{ order:2; }
.ns-testimonials .ns-grating{ order:3; margin-top:34px; margin-bottom:6px; }
.ns-tst-card{
  background:#fff; border:1px solid var(--ns-line); border-radius:var(--ns-radius);
  box-shadow:var(--ns-shadow-sm); padding:28px; display:flex; flex-direction:column; gap:16px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ns-tst-card:hover{ transform:translateY(-5px); box-shadow:var(--ns-shadow); }
.ns-tst-stars{ color:var(--ns-gold); font-size:15px; letter-spacing:2px; }
.ns-tst-quote{ color:var(--ns-ink-2); font-size:15px; line-height:1.7; margin:0; flex:1; }
.ns-tst-author{ display:flex; align-items:center; gap:13px; }
.ns-tst-author img{ width:48px; height:48px; border-radius:50%; object-fit:cover; }
.ns-tst-author strong{ display:block; font-family:'Lato',sans-serif; font-weight:800; color:var(--ns-ink); font-size:15px; }
.ns-tst-author span{ display:block; font-size:12.5px; color:var(--ns-muted); }
@media (max-width:991px){ .ns-tst-grid{ grid-template-columns:1fr; } }

/* ============================================================
   FOOTER (novo markup)
   ============================================================ */
.footer-top-area{ background:var(--ns-ink); padding:64px 0 40px; }
.ns-foot-selo{ display:inline-block; margin-top:16px; transition:opacity .2s ease, transform .2s ease; }
.ns-foot-selo img{ display:block; max-width:180px; width:100%; height:auto; border-radius:8px; }
.ns-foot-selo:hover{ opacity:.9; transform:translateY(-2px); }
.ns-foot-brand{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.ns-foot-brand img{ height:54px; }
.ns-foot-brand strong{ font-family:'Lato',sans-serif; font-weight:900; font-size:19px; color:#fff; text-transform:uppercase; line-height:1.1; }
.ns-foot-brand strong em{ color:var(--ns-red); font-style:normal; }
.ns-foot-brand small{ display:block; font-size:11px; color:#9aa0aa; letter-spacing:.04em; text-transform:uppercase; }
.footer-top-area .ns-foot-about{ color:#a9aeb8; font-size:14px; margin:0 0 18px; }
.footer-top-title h3{ color:#fff; font-family:'Lato',sans-serif; font-weight:800; font-size:16px; text-transform:uppercase; letter-spacing:.04em; margin:0 0 18px; }
.footer-top-menu ul li{ margin-bottom:9px; }
.footer-top-menu ul li a{ color:#a9aeb8; font-size:14px; }
.footer-top-menu ul li a:hover{ color:#fff; padding-left:4px; }
.footer-address p, .footer-contact-info p{ color:#a9aeb8; font-size:14px; margin:0 0 8px; }
.footer-address p span, .footer-contact-info p span{ color:#fff; font-weight:700; }
.ns-foot-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.ns-foot-badge{ display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:#dfe2e8; font-size:12px; font-weight:600; padding:7px 12px; border-radius:999px; text-decoration:none; }
.ns-foot-badge i{ color:var(--ns-gold); }
a.ns-foot-badge{ transition:background .15s ease, border-color .15s ease, color .15s ease; }
a.ns-foot-badge:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22); color:#fff; }
.ns-foot-badge--link i{ color:var(--ns-red); }
.footer-area{ background:#0f1115; padding:22px 0; border-top:1px solid rgba(255,255,255,.07); }
.footer-social ul{ display:flex; gap:10px; }
.footer-social ul li a{
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:11px; background:rgba(255,255,255,.07); color:#dfe2e8; font-size:18px; padding:0;
}
.footer-social ul li a:hover{ background:var(--ns-red); color:#fff; transform:translateY(-3px); }
.footer-copyright p{ color:#8b909a; font-size:13px; margin:0; }
.footer-payment-method{ text-align:right; }
.footer-payment-method img{ max-height:30px; opacity:.85; }
@media (max-width:767px){
  .footer-top-area .single-footer-top{ margin-bottom:30px; }
  .footer-area .footer-social ul, .footer-payment-method{ justify-content:center; text-align:center; margin-bottom:12px; }
  .footer-copyright{ text-align:center; }
}

/* ============================================================
   PROMO MODAL (home)
   ============================================================ */
.ns-promo{ position:fixed; inset:0; z-index:2147483647; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s linear .3s; }
.ns-promo.open{ opacity:1; visibility:visible; transition:opacity .3s ease; }
.ns-promo__overlay{ position:absolute; inset:0; background:rgba(10,11,14,.66); backdrop-filter:blur(4px); }
.ns-promo__box{
  position:relative; z-index:2; width:min(680px,100%); background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:var(--ns-shadow-lg); display:grid; grid-template-columns:1.05fr 1fr;
  transform:translateY(24px) scale(.97); opacity:0; transition:transform .35s cubic-bezier(.2,.7,.3,1), opacity .35s ease;
}
.ns-promo.open .ns-promo__box{ transform:none; opacity:1; }
.ns-promo__media{ position:relative; background:#0c0d10; }
.ns-promo__media picture{ display:block; width:100%; height:100%; }
.ns-promo__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ns-promo__body{ padding:34px 30px; display:flex; flex-direction:column; }
.ns-promo__tag{ display:inline-flex; align-items:center; gap:7px; align-self:flex-start; background:linear-gradient(135deg,var(--ns-red),var(--ns-red-dark)); color:#fff; font-family:'Lato',sans-serif; font-weight:800; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; padding:6px 13px; border-radius:999px; margin-bottom:16px; }
.ns-promo__title{ font-family:'Lato',sans-serif; font-weight:900; font-size:27px; line-height:1.12; color:var(--ns-ink); margin:0 0 12px; text-transform:none; }
.ns-promo__title em{ color:var(--ns-red); font-style:normal; }
.ns-promo__text{ color:var(--ns-body); font-size:14.5px; margin:0 0 22px; }
.ns-promo__list{ margin:0 0 24px; display:flex; flex-direction:column; gap:9px; }
.ns-promo__list li{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ns-ink-2); font-weight:500; }
.ns-promo__list li i{ color:var(--ns-whats); font-size:15px; }
.ns-promo__actions{ display:flex; flex-direction:column; gap:10px; margin-top:auto; }
.ns-promo__close{ position:absolute; top:14px; right:14px; z-index:5; width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.9); color:var(--ns-ink); font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:var(--ns-shadow-sm); transition:transform .2s ease, background .2s ease; }
.ns-promo__close:hover{ background:var(--ns-red); color:#fff; transform:rotate(90deg); }
@media (max-width:640px){
  .ns-promo__box{ grid-template-columns:1fr; max-width:420px; }
  .ns-promo__media{ height:160px; }
  .ns-promo__body{ padding:26px 22px; }
  .ns-promo__title{ font-size:23px; }
}
/* modal SÓ-IMAGEM (anúncio completo: horizontal no desktop, vertical no celular) */
.ns-promo--img .ns-promo__box{ display:inline-block; width:auto; max-width:min(760px,94vw); background:transparent; border-radius:0; overflow:visible; box-shadow:none; }
.ns-promo__imglink{ display:block; border-radius:16px; overflow:hidden; box-shadow:var(--ns-shadow-lg); line-height:0; }
.ns-promo__imglink img{ display:block; max-width:min(760px,94vw); max-height:86vh; width:auto; height:auto; }
@media (max-width:640px){
  .ns-promo--img .ns-promo__box{ max-width:92vw; }
  .ns-promo__imglink img{ max-width:92vw; }
}

/* ============================================================
   SCROLL UP / misc
   ============================================================ */
a#scrollUp{
  background:var(--ns-ink); border:0; border-radius:12px; width:44px; height:44px;
  line-height:44px; font-size:18px; left:auto !important; right:26px !important; bottom:96px;
  box-shadow:var(--ns-shadow);
}
a#scrollUp:hover{ background:var(--ns-red); }
@media (max-width:480px){ a#scrollUp{ right:16px !important; bottom:84px; } }

/* ============================================================
   LIGHTBOX DE IMAGEM COM LUPA
   ============================================================ */
.ns-lb{ position:fixed; inset:0; z-index:1300; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .25s ease, visibility 0s linear .25s; }
.ns-lb.open{ opacity:1; visibility:visible; transition:opacity .25s ease; }
.ns-lb__overlay{ position:absolute; inset:0; background:rgba(10,11,14,.82); backdrop-filter:blur(5px); }
.ns-lb__box{
  position:relative; z-index:2; width:min(760px,100%); background:#fff; border-radius:20px; overflow:hidden;
  box-shadow:var(--ns-shadow-lg); transform:translateY(18px) scale(.97); opacity:0;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), opacity .3s ease;
}
.ns-lb.open .ns-lb__box{ transform:none; opacity:1; }
.ns-lb__stage{ position:relative; background:#f3f5f8; display:flex; align-items:center; justify-content:center; padding:18px; min-height:240px; overflow:hidden; }
.ns-lb__img{ max-width:100%; max-height:68vh; display:block; border-radius:10px; transition:transform .2s ease; cursor:zoom-in; }
.ns-lb__img.is-zoomed{ transform:scale(2.2); cursor:zoom-out; }
.ns-lb__lens{
  position:absolute; display:none; width:190px; height:190px; border-radius:50%;
  border:3px solid #fff; box-shadow:0 6px 22px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.08);
  background-repeat:no-repeat; pointer-events:none; cursor:crosshair; z-index:3;
}
.ns-lb__cap{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:16px 20px; border-top:1px solid var(--ns-line); }
.ns-lb__name{ font-family:'Lato',sans-serif; font-weight:800; font-size:16px; color:var(--ns-ink); }
.ns-lb__hint{ font-size:12.5px; color:var(--ns-muted); display:inline-flex; align-items:center; gap:7px; }
.ns-lb__hint i{ color:var(--ns-red); }
.ns-lb__close{
  position:absolute; top:14px; right:14px; z-index:5; width:40px; height:40px; border-radius:50%; border:0;
  background:rgba(255,255,255,.92); color:var(--ns-ink); font-size:22px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--ns-shadow-sm); transition:transform .2s ease, background .2s ease;
}
.ns-lb__close:hover{ background:var(--ns-red); color:#fff; transform:rotate(90deg); }
@media (max-width:600px){ .ns-lb__img{ max-height:56vh; } .ns-lb__lens{ display:none !important; } }

/* ============================================================
   BUSCA NO SITE (faixa preta + menu mobile)
   ============================================================ */
.ns-search{
  display:flex; align-items:center; width:100%; max-width:285px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  border-radius:999px; overflow:hidden; transition:border-color .2s ease, background .2s ease;
}
.ns-search:focus-within{ border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.14); }
.ns-search__input{
  flex:1 1 auto; min-width:0; background:transparent; border:0; outline:none;
  color:#fff; font-size:13px; padding:5px 14px; font-family:inherit;
}
.ns-search__input::placeholder{ color:#aab0ba; }
.ns-search__btn {
    flex: 0 0 auto;
    background: #15181C;
    border: 0;
    color: #FFFFFF;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    transition: background .2s ease;
}
.ns-search__btn:hover{ background:var(--ns-red-dark); }
/* microfone (busca por voz) no header */
.ns-search__mic{ flex:0 0 auto; background:transparent; border:0; color:#cfd3da; cursor:pointer; padding:6px 9px; font-size:14px; display:inline-flex; align-items:center; transition:color .2s ease; }
.ns-search__mic:hover{ color:#fff; }
.ns-search__mic.is-listening{ color:#5fe08a; }

/* ---- busca na página de peças (texto + voz) ---- */
.ns-shop-search{ position:relative; display:flex; align-items:center; gap:4px; margin:0 0 18px; background:#fff; border:1px solid var(--ns-line); border-radius:12px; box-shadow:0 2px 12px -8px rgba(16,24,40,.35); transition:border-color .15s ease, box-shadow .15s ease; }
.ns-shop-search:focus-within{ border-color:var(--ns-red); box-shadow:0 0 0 3px rgba(122,92,36,.10); }
.ns-shop-search__ico{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#9aa3af; font-size:16px; pointer-events:none; }
.ns-shop-search__input{ flex:1 1 auto; min-width:0; border:0; background:transparent; outline:none; padding:15px 8px 15px 44px; font-size:16px; color:var(--ns-ink); font-family:inherit; }
.ns-shop-search__input::-webkit-search-cancel-button{ -webkit-appearance:none; display:none; }
.ns-shop-search__clear{ flex:0 0 auto; border:0; background:transparent; cursor:pointer; width:38px; height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:16px; color:#9aa3af; }
.ns-shop-search__clear:hover{ color:var(--ns-red); }
.ns-shop-search__mic{ flex:0 0 auto; border:0; cursor:pointer; width:46px; height:46px; margin:0 5px; display:inline-flex; align-items:center; justify-content:center; font-size:16px; color:#fff; background:var(--ns-red); border-radius:10px; transition:background .15s ease; }
.ns-shop-search__mic:hover{ background:var(--ns-red-dark); }
.ns-shop-search__mic.is-listening{ background:#16a34a; }
.ns-shop-search__mic.is-listening, .ns-search__mic.is-listening{ animation:nsMicPulse .9s ease-in-out infinite; }
@keyframes nsMicPulse{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.15);} }
@media (max-width:575px){ .ns-shop-search__input{ font-size:16px; padding:13px 6px 13px 40px; } .ns-shop-search__ico{ left:14px; } .ns-shop-search__mic{ width:42px; height:42px; } }

/* ---- autocomplete: dropdown de sugestões de produtos ---- */
.ns-ac{ position:fixed; z-index:100000; background:#fff; border:1px solid var(--ns-line); border-radius:12px; box-shadow:0 18px 44px -12px rgba(16,24,40,.32); overflow:hidden; max-height:72vh; overflow-y:auto; }
.ns-ac__item{ display:flex; align-items:center; gap:12px; padding:9px 12px; text-decoration:none; border-bottom:1px solid #f1f2f4; }
.ns-ac__item:hover, .ns-ac__item.is-active{ background:#f7f9fc; }
.ns-ac__img{ width:44px; height:44px; object-fit:contain; border:1px solid var(--ns-line); border-radius:8px; background:#fff; flex:0 0 auto; padding:3px; }
.ns-ac__tx{ display:flex; flex-direction:column; min-width:0; }
.ns-ac__name{ font-size:13.5px; color:var(--ns-ink); font-weight:700; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ns-ac__hl{ color:var(--ns-red); font-weight:900; }
.ns-ac__meta{ font-size:11.5px; color:#6b7280; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
.ns-ac__all{ display:flex; align-items:center; gap:8px; padding:11px 14px; font-size:13px; font-weight:800; color:var(--ns-red); text-decoration:none; background:#fff; }
.ns-ac__all.is-active, .ns-ac__all:hover{ background:#fff1f1; }
/* busca dentro do menu hambúrguer */
.mean-nav ul li.ns-mob-search{ padding:12px 5% 8px; }
.mean-nav ul li.ns-mob-search .ns-search{ max-width:100%; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.22); }

/* ============================================================
   LOADER DE TRANSIÇÃO ENTRE PÁGINAS (com o logo)
   ============================================================ */
.ns-pageloader{
  position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center;
  background:#0f1115; opacity:1; visibility:visible;
  transition:opacity .45s ease, visibility 0s linear .45s;
}
html.ns-ready .ns-pageloader{ opacity:0; visibility:hidden; }
.ns-pageloader__inner{ position:relative; width:128px; height:128px; display:flex; align-items:center; justify-content:center; }
.ns-pageloader__ring{
  position:absolute; inset:0; border-radius:50%;
  border:3px solid rgba(255,255,255,.1); border-top-color:var(--ns-red); border-right-color:var(--ns-gold);
  animation:ns-pl-spin .9s linear infinite;
}
.ns-pageloader__logo{ width:74px; height:auto; animation:ns-pl-pulse 1.4s ease-in-out infinite; }
@keyframes ns-pl-spin{ to{ transform:rotate(360deg); } }
@keyframes ns-pl-pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(.88); opacity:.72; } }
@media (prefers-reduced-motion:reduce){
  .ns-pageloader__ring,.ns-pageloader__logo{ animation:none; }
  .ns-pageloader{ transition:opacity .2s ease; }
}

/* ============================================================
   PENTE FINO RESPONSIVO (celulares e tablets)
   ============================================================ */
/* nunca deixa nada vazar horizontalmente */
html, body{ overflow-x:clip; }

/* PRODUTOS: 2 por linha no celular; 1 só em telas bem estreitas */
@media (max-width:767px){
  #ns-home-grid, #ns-grid, #ns-baterias{ display:flex; flex-wrap:wrap; }
  #ns-home-grid > [class*="col-"],
  #ns-grid > [class*="col-"],
  #ns-baterias > [class*="col-"]{
    width:50%; float:none; display:flex; margin-bottom:18px; padding-left:8px; padding-right:8px;
  }
  #ns-home-grid, #ns-grid, #ns-baterias{ margin-left:-8px; margin-right:-8px; }
}
@media (max-width:430px){
  #ns-home-grid > [class*="col-"],
  #ns-grid > [class*="col-"],
  #ns-baterias > [class*="col-"]{ width:100%; }
}
/* botão "adicionar" sempre visível no celular (sem depender de hover) */
@media (max-width:991px){
  .single-product.hover-style .product-action{ opacity:1; transform:none; position:static; margin:0; padding:12px 14px 0; }
}

/* LISTA de produtos empilha no celular */
@media (max-width:575px){
  .single-list-shop{ flex-direction:column; gap:14px; }
  .single-list-shop > [class*="col-"]{ width:100%; }
}

/* DISQUE BATERIA (moura): no celular centraliza o recorte do banner */
@media (max-width:767px){
  .ns-moura-area{ background-position:center center; }
}

/* selos de confiança: respiro melhor no celular */
@media (max-width:767px){
  .ns-trust__item{ padding:10px 6px; }
  .ns-trust__ico{ width:46px; height:46px; font-size:20px; }
}

/* títulos de página e seção não encostam nas bordas no celular */
@media (max-width:767px){
  .page-title h2{ word-break:break-word; }
  .ns-moura-content .ns-disk-lead, .about-us-info p{ font-size:15px; }
}

/* ============================================================
   MOBILE HEADER v2 — BLOCO AUTORITATIVO (fonte única de verdade)
   Vale em <=991px (tablet + celular). modern.css é o ÚLTIMO CSS
   carregado e este bloco é o último do arquivo => vence empates.
   Estratégia: barra de altura FIXA (--ns-mbar-h); logo absoluto à
   esquerda e hambúrguer absoluto à direita, ambos centralizados por
   top:50% + translateY(-50%); mean-nav como dropdown absoluto
   top:100% para NÃO expandir a barra.
   Para mudar o tamanho do logo: troque a altura em ".logo a img".
   Se passar de ~46px, aumente também --ns-mbar-h proporcionalmente
   (a barra é sticky; com overflow:visible a imagem não corta, mas
   poderia sobrepor o conteúdo abaixo se ficar maior que a barra).
   ============================================================ */
@media (max-width:991px){

  .mobile-menu-area.ns-mobile{
    --ns-mbar-h:54px;
    position:relative;
    display:block;
    background:#fff !important;
    border-bottom:1px solid var(--ns-line);
    padding:0 !important;
    overflow:visible;            /* NUNCA cortar o logo */
    z-index:1000;
  }

  /* container/estrutura: largura total e altura fixa (.container é o
     referencial de posicionamento absoluto do logo e do hambúrguer) */
  .mobile-menu-area.ns-mobile .container,
  .mobile-menu-area.ns-mobile .row,
  .mobile-menu-area.ns-mobile .col-xs-12{
    position:static;
    width:100% !important;
    max-width:100%;
    margin:0;
    padding:0;
    float:none;
  }
  .mobile-menu-area.ns-mobile .container{
    position:relative;
    height:var(--ns-mbar-h);
    min-height:var(--ns-mbar-h);
    box-sizing:border-box;
    padding:0 14px;
  }

  /* ---- LOGO: canto esquerdo, centralizado verticalmente ---- */
  .mobile-menu-area.ns-mobile .logo{
    position:absolute;
    top:50%;
    left:14px;
    transform:translateY(-50%);
    margin:0;
    padding:0;
    z-index:2;
    max-width:70%;               /* deixa espaço pro hambúrguer */
  }
  .mobile-menu-area.ns-mobile .logo a{
    display:flex;
    align-items:center;
    gap:8px;
    height:auto;
    line-height:1;
  }
  /* imagem ESCALÁVEL: troque o 46px para mudar o tamanho do logo */
  .mobile-menu-area.ns-mobile .logo a img{
    display:block;
    height:46px !important;
    max-height:46px !important;
    width:auto !important;
  }
  .mobile-menu-area.ns-mobile .ns-mobrand{
    display:flex; flex-direction:column; line-height:1.05;
  }
  .mobile-menu-area.ns-mobile .ns-mobrand strong{
    font-family:'Lato',sans-serif; font-weight:900; font-size:14.4px;
    color:var(--ns-ink); text-transform:uppercase; letter-spacing:.01em;
  }
  .mobile-menu-area.ns-mobile .ns-mobrand small{
    font-size:9.6px; color:var(--ns-muted);
    text-transform:uppercase; letter-spacing:.04em;
  }

  /* ---- .mean-container/.mean-bar não ocupam a barra (altura vem do .container) ---- */
  .mobile-menu-area.ns-mobile .mobile-menu,
  .mobile-menu-area.ns-mobile .mean-container{
    position:static;
    float:none;
    width:auto;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-bar{
    position:static;
    float:none;
    width:100%;
    min-height:0;
    height:0;
    padding:0;
    margin:0;
    background:transparent;
    z-index:auto;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-bar::after{ content:none !important; }
  .mobile-menu-area.ns-mobile .mean-container .mean-bar,
  .mobile-menu-area.ns-mobile .mean-container .mean-bar *{
    box-sizing:border-box;
  }

  /* ---- HAMBÚRGUER: canto direito, centralizado verticalmente ----
     right/left com !important p/ vencer o style INLINE que o plugin
     injeta (meanRevealPosition default "right" => right:0;left:auto) */
  .mobile-menu-area.ns-mobile .mean-container a.meanmenu-reveal{
    position:absolute;
    top:50% !important;
    right:14px !important;
    left:auto !important;
    transform:translateY(-50%);
    float:none !important;
    margin:0 !important;
    padding:6px !important;
    width:auto !important;
    height:auto !important;
    line-height:0;
    color:var(--ns-ink);
    text-indent:0 !important;
    background:transparent;
    z-index:3;
  }
  .mobile-menu-area.ns-mobile .mean-container a.meanmenu-reveal span{
    display:block;
    width:26px; height:3px;
    margin:5px 0;
    background:var(--ns-ink) !important;
    border-radius:2px;
    transition:.2s ease;
  }

  /* ---- DROPDOWN (mean-nav): absoluto ABAIXO da barra (top:100%) ----
     A "cromagem" (fundo/borda/sombra) fica no UL (que é o elemento
     que o meanmenu realmente esconde/mostra), p/ não deixar sombra
     fantasma quando o menu está fechado. */
  .mobile-menu-area.ns-mobile .mean-container .mean-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    float:none;
    margin:0;
    background:transparent;
    z-index:1200;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul{
    margin:0; padding:0; width:100%; list-style:none; float:none;
    background:#fff;
    border-top:1px solid var(--ns-line);
    box-shadow:0 16px 34px rgba(16,24,40,.16);
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li{
    float:none; width:100%; background:#fff;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li a{
    display:block; float:none;
    font-family:'Lato',sans-serif; font-weight:700; font-size:15px;
    color:var(--ns-ink) !important; background:#fff;
    border-top:1px solid var(--ns-line);
    padding:13px 6%; width:100%;
    text-transform:none; text-align:left;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li:first-child a{ border-top:0; }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li a:hover{
    background:var(--ns-soft); color:var(--ns-red) !important;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li a.active{
    color:#fff !important; background:var(--ns-red);
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li li a{
    padding-left:10%; opacity:1; width:100%;
  }
  .mobile-menu-area.ns-mobile .mean-container .mean-nav ul li a.mean-expand{
    width:auto; padding:14px 18px !important; background:transparent; border:0 !important;
  }
  .mobile-menu-area.ns-mobile .mean-nav ul li.ns-mob-contato a{ font-weight:600; }
  .mobile-menu-area.ns-mobile .mean-nav ul li.ns-mob-contato a i{ margin-right:9px; color:var(--ns-whats); }
}

/* ============================================================
   PÁGINA DE SERVIÇOS — seção "Prestamos serviços" no MOBILE
   - imagem entre o título e o parágrafo (via display:contents + order)
   - botão "Agendar pelo WhatsApp" centralizado
   - respiro lateral (o .container fica sem padding no mobile)
   ============================================================ */
@media (max-width:767px){
  /* respiro lateral: reapõe padding nos containers destas seções (vence .container{padding:0}) */
  .page-title-area .container,
  .about-us-area .container,
  .service-area .container,
  .features-area .container,
  .shop-area .container,
  .quick-book-area .container,
  .mission-vision-area .container,
  .team-member .container,
  .ns-contact .container,
  .footer-top-area .container,
  .footer-area .container{ padding-left:18px; padding-right:18px; }

  /* empilha em coluna e zera as margens negativas do .row do Bootstrap */
  .ns-about-row{ display:flex; flex-direction:column; margin-left:0; margin-right:0; }
  .ns-about-row > [class*="col-"]{ width:100%; padding-left:0; padding-right:0; float:none; }

  /* o col de texto "some" (display:contents) p/ que título e parágrafo
     virem itens diretos da coluna flex e possam ser intercalados com a imagem */
  .ns-about-text{ display:contents; }
  .ns-about-heading{ order:1; margin-bottom:14px; }   /* título "Prestamos serviços" */
  .ns-about-imgcol{ order:2; margin-bottom:18px; }     /* imagem no meio */
  .about-us-info{ order:3; }                            /* "Cuidamos de toda a parte..." + botão */

  .about-us-img{ margin-top:0; }                        /* anula o margin-top:40px do tema */

  /* botão "Agendar pelo WhatsApp" centralizado */
  .about-us-info .default-button{
    display:flex; width:-moz-fit-content; width:fit-content;
    margin-left:auto; margin-right:auto;
  }
}

/* ============================================================
   CARROSSEL DE PRODUTOS (home "Nossas Peças") — estilo melhores ofertas
   4 por vez no desktop, com setas e bolinhas (etapas). Owl 1.x.
   ============================================================ */
.ns-prod-carousel{ position:relative; }
.ns-prod-carousel .item{ box-sizing:border-box; padding:6px 8px; }
.ns-card{
  position:relative;
  background:#fff; border:1px solid var(--ns-line); border-radius:14px; overflow:hidden;
  display:flex; flex-direction:column; height:100%;
  box-shadow:0 8px 24px -18px rgba(16,24,40,.55);
  transition:box-shadow .2s ease, transform .2s ease;
}
/* botões de compartilhar no canto da imagem (WhatsApp + copiar link) */
.ns-card__share{ position:absolute; top:10px; right:10px; z-index:3; display:flex; flex-direction:column; gap:6px; }
.ns-card__sh{ width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ns-line); background:rgba(255,255,255,.96); color:var(--ns-ink); font-size:15px; line-height:1; cursor:pointer; text-decoration:none; box-shadow:0 2px 8px -3px rgba(16,24,40,.45); transition:background .15s ease,color .15s ease,border-color .15s ease; }
.ns-card__sh--wa:hover{ background:#25d366; border-color:#25d366; color:#fff; }
.ns-card__sh--copy:hover{ background:var(--ns-red); border-color:var(--ns-red); color:#fff; }
/* referência curta (texto bem pequeno) */
.ns-card__ref{ font-size:10.5px; color:#9aa3af; font-weight:700; letter-spacing:.02em; margin-top:-4px; }
.ns-card:hover{ box-shadow:var(--ns-shadow-lg); transform:translateY(-3px); }
.ns-card__img{ display:block; padding:18px; background:#fff; }
.ns-card__img img{ width:100%; height:170px; object-fit:contain; display:block; }
.ns-card__body{ padding:0 16px 16px; display:flex; flex-direction:column; gap:10px; flex:1; text-align:center; }
.ns-card__cat{
  align-self:center; display:inline-block; max-width:100%;
  background:#fdecee; color:var(--ns-red);
  font-family:'Lato',sans-serif; font-weight:800; font-size:10.5px;
  text-transform:uppercase; letter-spacing:.04em;
  padding:3px 11px; border-radius:999px; line-height:1.5;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ns-card__name{
  color:var(--ns-ink); font-family:'Lato',sans-serif; font-weight:700; font-size:14.5px; line-height:1.32;
  min-height:38px; text-decoration:none;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ns-card__name:hover{ color:var(--ns-red); }
.ns-card__price{ color:var(--ns-red); font-family:'Lato',sans-serif; font-weight:900; font-size:21px; margin-top:auto; }
.ns-card__cond{ font-size:11px; line-height:1.35; color:#6b7280; margin-top:-5px; }
.ns-card__buy{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
  background:var(--ns-red); color:#fff; border:0; border-radius:9px; padding:11px 12px;
  font-family:'Lato',sans-serif; font-weight:800; font-size:14px; cursor:pointer; text-decoration:none;
  transition:background .2s ease;
}
.ns-card__buy:hover{ background:var(--ns-red-dark); color:#fff; }
.ns-card__buy[disabled]{ background:#c7cbd3; color:#fff; cursor:not-allowed; }
/* link "Ver produto" (vai para a página do produto) */
.ns-card__view{
  align-self:center; display:inline-flex; align-items:center; gap:5px; margin-top:2px;
  color:var(--ns-ink); font-family:'Lato',sans-serif; font-weight:700; font-size:12.5px;
  text-decoration:none; transition:color .2s ease;
}
.ns-card__view:hover{ color:var(--ns-red); }
.ns-card__view i{ transition:transform .2s ease; }
.ns-card__view:hover i{ transform:translateX(3px); }
/* seletor de unidades (− 1 +) + botão comprar lado a lado */
.ns-card__actions{ display:flex; align-items:stretch; gap:8px; }
.ns-card__actions .ns-card__buy{ flex:1; }
.ns-card__qty{ display:flex; align-items:stretch; flex:0 0 auto; border:1px solid var(--ns-line); border-radius:9px; overflow:hidden; }
.ns-qty-btn{ width:32px; border:0; background:#f4f5f7; color:var(--ns-ink); font-size:18px; font-weight:800; line-height:1; cursor:pointer; transition:background .15s ease, color .15s ease; }
.ns-qty-btn:hover:not([disabled]){ background:#e7e9ee; color:var(--ns-red); }
.ns-qty-btn[disabled]{ opacity:.4; cursor:not-allowed; }
.ns-qty-input{ width:34px; border:0; text-align:center; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; color:var(--ns-ink); background:#fff; padding:0; }

/* ---- /shop/ : grade de peças (mesmo card da home) — 4 por linha, responsiva ---- */
/* grade da /shop/: 4 por linha (2 fileiras de 4 = 8 por página). Usa #ns-grid para
   vencer a regra de fallback `#ns-grid{display:flex}` (especificidade de ID). */
#ns-grid.ns-shop-grid{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch; margin-left:0; margin-right:0; }
#ns-grid.ns-shop-grid::before, #ns-grid.ns-shop-grid::after{ content:none; display:none; }   /* anula o clearfix do tema */
#ns-grid.ns-shop-grid > .ns-card{ height:100%; width:auto; margin:0; float:none; }
@media(max-width:1199px){ #ns-grid.ns-shop-grid{ grid-template-columns:repeat(4,1fr); gap:18px; } }
@media(max-width:991px){ #ns-grid.ns-shop-grid{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media(max-width:575px){ #ns-grid.ns-shop-grid{ grid-template-columns:1fr; } }

/* ---- paginação ---- */
.ns-pagination{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin:30px 0 4px; }
.ns-pagination .ns-pg{ min-width:42px; height:42px; padding:0 13px; border:1px solid var(--ns-line); background:#fff; color:var(--ns-ink); border-radius:10px; font-family:'Lato',sans-serif; font-size:15px; font-weight:800; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:border-color .15s ease, color .15s ease, background .15s ease; }
.ns-pagination .ns-pg:hover:not(:disabled):not(.is-active){ border-color:var(--ns-red); color:var(--ns-red); }
.ns-pagination .ns-pg.is-active{ background:var(--ns-red); border-color:var(--ns-red); color:#fff; cursor:default; }
.ns-pagination .ns-pg:disabled{ opacity:.4; cursor:not-allowed; }
.ns-pagination .ns-pg-gap{ padding:0 2px; color:#9aa3af; font-weight:800; }
/* setas nas LATERAIS (ao lado do 1º e do último card), não embaixo */
.ns-prod-carousel .owl-controls{ position:static; }
.ns-prod-carousel .owl-buttons{ position:static; margin:0; }
.ns-prod-carousel .owl-buttons .owl-prev,
.ns-prod-carousel .owl-buttons .owl-next{
  position:absolute !important; top:170px; transform:translateY(-50%); margin:0 !important; padding:0;
  width:44px; height:44px; border-radius:50%; background:#fff; color:var(--ns-ink);
  box-shadow:var(--ns-shadow); display:flex; align-items:center; justify-content:center;
  font-size:20px; line-height:1; cursor:pointer; opacity:1; z-index:10; transition:background .2s ease, color .2s ease;
}
.ns-prod-carousel .owl-buttons .owl-prev{ left:-8px; right:auto; }
.ns-prod-carousel .owl-buttons .owl-next{ right:-8px; left:auto; }
.ns-prod-carousel .owl-buttons div:hover{ background:var(--ns-red); color:#fff; }
/* bolinhas (etapas) */
.ns-prod-carousel .owl-pagination{ text-align:center; margin-top:16px; }
.ns-prod-carousel .owl-pagination .owl-page{ display:inline-block; }
.ns-prod-carousel .owl-pagination .owl-page span{
  display:block; width:9px; height:9px; margin:5px; background:#c7cbd3; opacity:1;
  border-radius:50%; transition:background .2s ease, width .2s ease;
}
.ns-prod-carousel .owl-pagination .owl-page.active span{ background:var(--ns-red); width:24px; border-radius:5px; }

/* =====================================================================
   PÁGINA DO PRODUTO (.nsd) — estilo autopec (galeria + abas + frete...)
   ===================================================================== */
.nsd{ color:var(--ns-ink); }
.nsd__top{ display:flex; gap:38px; align-items:flex-start; }
.nsd__gallery{ flex:0 0 42%; max-width:42%; }
.nsd__main{ position:relative; border:1px solid var(--ns-line); border-radius:14px; background:#fff; padding:22px; text-align:center; }
.nsd__main img{ width:100%; height:360px; object-fit:contain; display:block; cursor:zoom-in; }
.nsd__zoom{ position:absolute; right:12px; bottom:12px; width:44px; height:44px; border-radius:50%; border:0; background:rgba(20,24,28,.82); color:#fff; font-size:17px; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px -8px rgba(0,0,0,.55); transition:background .2s ease, transform .2s ease; z-index:2; }
.nsd__zoom:hover{ background:var(--ns-red); transform:scale(1.07); }
.nsd__thumbs{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.nsd__thumb{ width:78px; height:78px; padding:6px; border:1px solid var(--ns-line); border-radius:10px; background:#fff; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; }
.nsd__thumb img{ width:100%; height:100%; object-fit:contain; display:block; }
.nsd__thumb.is-active{ border-color:var(--ns-red); box-shadow:0 0 0 1px var(--ns-red) inset; }
.nsd__share{ display:flex; align-items:center; gap:9px; margin-top:18px; }
.nsd__share-lbl{ font-size:13px; font-weight:700; color:var(--ns-ink-2,#5b6470); }
.nsd__share-btn{ width:38px; height:38px; border:1px solid var(--ns-line); border-radius:50%; background:#fff; color:var(--ns-ink); display:inline-flex; align-items:center; justify-content:center; font-size:16px; cursor:pointer; text-decoration:none; transition:all .2s ease; }
.nsd__share-btn:hover{ color:#fff; transform:translateY(-2px); }
.nsd__share-btn.is-wa:hover{ background:#25d366; border-color:#25d366; }
.nsd__share-btn.is-fb:hover{ background:#1877f2; border-color:#1877f2; }
.nsd__share-btn.is-link:hover{ background:var(--ns-red); border-color:var(--ns-red); }

.nsd__info{ flex:1 1 auto; min-width:0; }
.nsd__cat{ display:inline-block; background:#fdecee; color:var(--ns-red); font-family:'Lato',sans-serif; font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.04em; padding:4px 12px; border-radius:999px; }
.nsd__title{ font-family:'Lato',sans-serif; font-weight:900; font-size:28px; line-height:1.2; color:var(--ns-ink); margin:12px 0 6px; }
.nsd__ref{ font-size:12px; color:#9aa3af; font-weight:700; margin:0 0 12px; }
/* selo de pagamento seguro (checkout) — identidade da marca */
.ns-secure-pay{ display:flex; align-items:flex-start; gap:10px; background:#f7f9fc; border:1px solid var(--ns-line); border-left:3px solid var(--ns-red); border-radius:10px; padding:12px 14px; margin:0 0 14px; font-size:13px; line-height:1.45; color:var(--ns-body); }
.ns-secure-pay i{ color:#1aa251; font-size:15px; margin-top:2px; flex:0 0 auto; }
.ns-secure-pay strong{ color:var(--ns-ink); }

/* ---- página de Políticas (/politicas/) ---- */
.ns-policies{ background:var(--ns-soft); }
.ns-policies__intro{ max-width:820px; margin:0 auto 30px; text-align:center; font-size:15.5px; line-height:1.6; color:var(--ns-body); }
.ns-policies__wrap{ max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.ns-policy{ background:#fff; border:1px solid var(--ns-line); border-left:4px solid var(--ns-red); border-radius:14px; padding:22px 24px; box-shadow:0 8px 24px -18px rgba(16,24,40,.5); }
.ns-policy__h{ display:flex; align-items:center; gap:10px; font-family:'Lato',sans-serif; font-weight:800; font-size:20px; color:var(--ns-ink); margin:0 0 12px; }
.ns-policy__h i{ color:var(--ns-red); font-size:19px; }
.ns-policy__tx{ font-size:14.5px; line-height:1.7; color:var(--ns-body); }
.ns-policy__tx strong{ color:var(--ns-ink); }
.ns-policies__cta{ text-align:center; margin-top:30px; }
@media(max-width:640px){ .ns-policy{ padding:18px 16px; } .ns-policy__h{ font-size:18px; } }
.nsd__price{ color:var(--ns-red); font-family:'Lato',sans-serif; font-weight:900; font-size:34px; line-height:1; }
.nsd__cond{ font-size:13px; color:#6b7280; margin-top:6px; }
.nsd__stock{ display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:14px; margin:18px 0 14px; }
.nsd__stock.is-on{ color:#18a15f; }
.nsd__stock.is-off{ color:var(--ns-red); }
.nsd__cart{ display:flex; align-items:stretch; gap:10px; margin-bottom:10px; }
.nsd__qty{ flex:0 0 auto; }
.nsd__buy{ display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:1; background:var(--ns-red); color:#fff !important; border:0; border-radius:10px; padding:13px 18px; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; cursor:pointer; text-decoration:none; transition:background .2s ease, transform .2s ease; }
.nsd__buy:hover{ background:var(--ns-red-dark); transform:translateY(-1px); }
.nsd__buy--ghost{ background:#eef0f3; color:var(--ns-ink) !important; }
.nsd__buy--ghost:hover{ background:#e3e6ea; }
.nsd__buy--wa{ background:#25d366; }
.nsd__buy--wa:hover{ background:#1ebe5b; }

.nsd__box{ border:1px solid var(--ns-line); border-radius:12px; padding:15px 16px; margin-top:16px; background:#fbfbfc; }
.nsd__box-h{ display:flex; align-items:center; gap:8px; font-family:'Lato',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.02em; color:var(--ns-ink); margin-bottom:10px; }
.nsd__box-h i{ color:var(--ns-red); }
.nsd__frete-form{ display:flex; gap:8px; }
.nsd__frete-form input{ flex:1; min-width:0; border:1px solid #cfd4da; border-radius:9px; padding:11px 12px; font-size:15px; }
.nsd__frete-form input:focus{ outline:none; border-color:var(--ns-red); }
.nsd__frete-btn{ flex:0 0 auto; background:var(--ns-ink); color:#fff; border:0; border-radius:9px; padding:0 18px; font-weight:800; font-size:14px; cursor:pointer; }
.nsd__frete-btn:hover{ background:#000; }
.nsd__frete-cep{ display:inline-block; margin-top:8px; font-size:12.5px; color:#6b7280; }
.nsd__frete-result{ margin-top:12px; }
.nsd__frete-result:empty{ margin-top:0; }
.nsd__frete-loading{ color:#6b7280; font-size:14px; }
.nsd__frete-err{ color:var(--ns-red); font-size:13.5px; font-weight:600; }
.nsd__frete-dest{ font-size:13px; color:#5b6470; margin-bottom:8px; }
.nsd__frete-row{ display:flex; justify-content:space-between; align-items:center; padding:7px 0; border-top:1px dashed var(--ns-line); font-size:14px; }
.nsd__frete-row strong{ color:var(--ns-ink); }
.nsd__frete-wa{ display:inline-flex; align-items:center; gap:7px; margin-top:10px; background:#25d366; color:#fff; border-radius:9px; padding:9px 14px; font-weight:700; font-size:13.5px; text-decoration:none; }
.nsd__frete-wa:hover{ background:#1ebe5b; color:#fff; }
.nsd__frete-combinar{ font-size:14px; line-height:1.6; color:#374151; margin:0 0 12px; }
.nsd__pay-tx{ font-size:14px; line-height:1.6; color:#374151; margin:0 0 12px; }
.nsd__pay-img{ display:inline-block; width:258px; max-width:100%; height:auto; background:#1a1d22; padding:9px 14px; border-radius:9px; box-sizing:border-box; }

/* modal "Compartilhar no WhatsApp" */
.nsd-wa[hidden]{ display:none; }
.nsd-wa{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:18px; }
.nsd-wa__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.nsd-wa__box{ position:relative; width:100%; max-width:380px; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 24px 60px -12px rgba(0,0,0,.5); animation:nsdWaIn .2s ease; }
@keyframes nsdWaIn{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
.nsd-wa__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:#075e54; color:#fff; padding:14px 16px; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; }
.nsd-wa__x{ background:transparent; border:0; color:#fff; font-size:24px; line-height:1; cursor:pointer; opacity:.85; }
.nsd-wa__x:hover{ opacity:1; }
.nsd-wa__body{ padding:18px 16px 20px; }
.nsd-wa__body label{ display:block; font-size:13px; font-weight:700; color:#374151; margin-bottom:6px; }
.nsd-wa__body input{ width:100%; border:1px solid #cfd4da; border-radius:9px; padding:12px 13px; font-size:16px; box-sizing:border-box; }
.nsd-wa__body input:focus{ outline:none; border-color:#25d366; box-shadow:0 0 0 2px rgba(37,211,102,.18); }
.nsd-wa__preview{ background:#e6f5ec; border:1px solid #cdeede; border-radius:10px; padding:11px 13px; margin:14px 0; }
.nsd-wa__preview-lbl{ display:block; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#5b8a72; font-weight:800; margin-bottom:4px; }
.nsd-wa__preview strong{ display:block; color:#0f2a1d; font-size:14px; }
.nsd-wa__preview-url{ display:block; color:#2e7d54; word-break:break-all; font-size:12.5px; margin-top:3px; }
.nsd-wa__err{ color:var(--ns-red); font-size:13px; font-weight:600; margin-bottom:8px; }
.nsd-wa__err:empty{ display:none; }
.nsd-wa__send{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background:#25d366; color:#fff; border:0; border-radius:10px; padding:13px; font-family:'Lato',sans-serif; font-weight:800; font-size:15px; cursor:pointer; transition:background .2s ease; }
.nsd-wa__send:hover{ background:#1ebe5b; }

/* modal "Avise-me quando disponível" (reusa .nsd-wa; tema sino/vermelho) */
.nsd-notify__head{ background:#c8102e !important; }
.nsd-notify__intro{ font-size:13.5px; line-height:1.5; color:#374151; margin:0 0 14px; }
.nsd-notify__opt{ font-weight:400; color:#9aa3af; font-size:12px; }
.nsd-notify .nsd-wa__body label{ margin-top:8px; }
.nsd-notify__send{ background:#c8102e !important; }
.nsd-notify__send:hover{ background:#a00d24 !important; }
.nsd-notify__ok{ display:flex; align-items:center; gap:9px; color:#15803d; font-weight:700; font-size:15px; padding:8px 0 4px; }
/* botão "Avise-me" no card esgotado */
.ns-card__buy--notify{ background:#1f2937 !important; }
.ns-card__buy--notify:hover{ background:#111827 !important; color:#fff !important; }

/* abas: Descrição / Aplicação / Especificações / Conteúdo do kit */
.nsd__tabs{ display:flex; gap:4px; flex-wrap:wrap; margin-top:34px; border-bottom:2px solid var(--ns-line); }
.nsd__tab{ border:0; background:transparent; padding:13px 18px; font-family:'Lato',sans-serif; font-weight:800; font-size:14px; color:#6b7280; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; text-transform:uppercase; letter-spacing:.02em; }
.nsd__tab:hover{ color:var(--ns-ink); }
.nsd__tab.is-active{ color:var(--ns-red); border-bottom-color:var(--ns-red); }
.nsd__panels{ padding:22px 2px; }
.nsd__panel{ display:none; font-size:15px; line-height:1.75; color:#374151; }
.nsd__panel.is-active{ display:block; }

.nsd__warranty{ border:1px solid var(--ns-line); border-left:4px solid var(--ns-red); border-radius:12px; padding:16px 18px; margin-top:24px; background:#fbfbfc; }
.nsd__warranty-main{ font-size:15px; color:var(--ns-ink); margin:0 0 8px; }
.nsd__warranty-tx{ font-size:13.5px; line-height:1.7; color:#5b6470; margin:0; white-space:normal; }
.nsd__back{ margin-top:26px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; }
.nsd__back a{ color:var(--ns-ink); font-weight:700; text-decoration:none; }
.nsd__back a:first-child{ justify-self:start; }
.nsd__back a:hover{ color:var(--ns-red); }
.nsd__back-pol{ grid-column:2; justify-self:center; }
.nsd__back-pol i{ color:var(--ns-red); }
@media(max-width:560px){ .nsd__back{ grid-template-columns:1fr; justify-items:center; text-align:center; } .nsd__back a:first-child{ justify-self:center; } .nsd__back-pol{ grid-column:auto; } }

@media (max-width:880px){
  .nsd__top{ flex-direction:column; gap:24px; }
  .nsd__gallery{ flex-basis:auto; max-width:100%; width:100%; }
  .nsd__main img{ height:300px; }
  .nsd__title{ font-size:23px; }
  .nsd__price{ font-size:29px; }
  .nsd__tabs{ margin-top:24px; }
  .nsd__tab{ padding:11px 13px; font-size:13px; }
}


/* ============================================================
   RELOJOARIA TAQUARAL — refinamento tipográfico (serif elegante)
   Títulos de exibição em Cormorant Garamond; rótulos/menus em Jost/Lato.
   ============================================================ */
.section-heading h2,
.page-title h2,
.ns-moura-content h2,
.ns-contact__intro h2,
.ns-promo__title,
.product-details-info .product-name,
.cart-total h3,
.book-now-title h2,
.mission-area .section-heading h2,
.contact-title{
  font-family:var(--ns-serif) !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
.section-heading h2{ font-size:44px; line-height:1.1; }
.page-title h2{ font-size:54px; }
.ns-moura-content h2{ font-size:50px; }
.ns-contact__intro h2{ font-size:46px; }
.book-now-title h2{ font-size:40px; font-weight:600; }
.ns-promo__title{ font-size:34px; }
.product-details-info .product-name{ font-size:34px; }
.section-heading h2 span,
.ns-contact__intro h2 span,
.ns-moura-content h2 span,
.ns-promo__title em{ font-style:italic; }
@media (max-width:767px){
  .section-heading h2{ font-size:32px; }
  .page-title h2{ font-size:34px; }
  .ns-moura-content h2{ font-size:32px; }
  .ns-contact__intro h2{ font-size:32px; }
  .book-now-title h2{ font-size:26px; }
}

/* marca (logotipo em texto) — Cinzel dourado metálico com brilho (igual ao logo) */
.ns-nav__logo a,
.ns-foot-brand,
.mobile-menu-area .logo a,
.ns-mobrand{ text-decoration:none !important; }
.ns-nav__brand strong,
.ns-foot-brand strong,
.ns-mobrand strong{
  font-family:'Cinzel', var(--ns-serif) !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  font-size:15.5px; line-height:1.14; white-space:nowrap;
  background:linear-gradient(100deg,#9c7026 0%,#c79a45 18%,#f3e3ab 30%,#fff6d8 38%,#e7c878 48%,#b9863a 64%,#9c7026 100%);
  background-size:280% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  text-decoration:none !important;
  animation:rt-shine 7s linear infinite;
}
.ns-foot-brand strong{ font-size:16px; }
.ns-mobrand strong{ font-size:15px; }
.ns-nav__brand strong em,
.ns-foot-brand strong em{ font-style:normal; }   /* o foil dourado já cobre toda a marca */
@keyframes rt-shine{ 0%{ background-position:135% 0; } 100%{ background-position:-35% 0; } }
@media (prefers-reduced-motion:reduce){ .ns-nav__brand strong,.ns-foot-brand strong,.ns-mobrand strong{ animation:none; background-position:30% 0; } }
.ns-nav__brand small,
.ns-foot-brand small,
.ns-mobrand small{
  text-transform:uppercase !important; letter-spacing:.18em; white-space:nowrap;
  font-family:'Jost','Lato',sans-serif; font-size:9.5px; color:var(--ns-gold) !important;
  text-decoration:none !important; margin-top:3px;
}
/* brilho/realce no brasão do logo */
.ns-nav__logo img{ filter:drop-shadow(0 2px 8px rgba(176,141,87,.35)); }

/* botões: tipografia em Jost, leve refinamento */
.default-button,.ns-btn{ font-family:'Jost','Lato',sans-serif; letter-spacing:.02em; }

/* selos de confiança: ícone em tom bronze sobre marfim */
.ns-trust__ico{ background:linear-gradient(135deg,rgba(122,92,36,.10),rgba(176,141,87,.16)); color:var(--ns-red); }

/* faixa de anúncio mais sóbria (charcoal quente em vez de vermelho) */
.ns-announce{ background:linear-gradient(90deg,var(--ns-ink),var(--ns-ink-2)) !important; }
.ns-announce__msg i{ color:var(--ns-gold); }

/* preço em bronze, com leve destaque */
.single-product .product-info .product-price p,
.single-product .product-price p,
.product-details-info .product-price p{ color:var(--ns-red); }

/* ============================================================
   HERO — legenda sobreposta (padrão e-commerce)
   ============================================================ */
.ns-hero::after{
  background:linear-gradient(90deg,rgba(15,13,10,.72),rgba(15,13,10,.30) 46%,transparent 72%),
             linear-gradient(0deg,rgba(15,13,10,.45),transparent 30%) !important;
}
.ns-hero__caption{
  position:absolute; inset:0; z-index:6; pointer-events:none;
  width:100%; max-width:var(--ns-container); margin:0 auto; padding:0 6%;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
}
.ns-hero__eyebrow{
  font-family:'Jost','Lato',sans-serif; font-weight:600; font-size:13px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ns-gold); margin-bottom:14px;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
.ns-hero__title{
  font-family:var(--ns-serif); font-weight:600; color:#fff;
  font-size:clamp(32px,4.4vw,60px); line-height:1.16; letter-spacing:0; margin:0 0 30px;
  text-shadow:0 1px 2px rgba(0,0,0,.6), 0 2px 30px rgba(0,0,0,.5);
}
.ns-hero__title em{ font-style:italic; color:var(--ns-gold); }
.ns-hero__sub{
  color:#ece7dd; font-size:clamp(15px,1.5vw,19px); line-height:1.6; max-width:520px;
  margin:0 0 26px; text-shadow:0 1px 2px rgba(0,0,0,.55), 0 1px 14px rgba(0,0,0,.55);
}
.ns-hero__ctas{ display:flex; flex-wrap:wrap; gap:14px; pointer-events:auto; }
.ns-hero__ghost.ns-btn-ghost{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.6); }
.ns-hero__ghost.ns-btn-ghost:hover{ background:#fff; color:var(--ns-ink); border-color:#fff; }
@media (max-width:767px){
  .ns-hero{ aspect-ratio:auto; min-height:78vh; }
  .ns-hero__caption{ padding:0 28px; align-items:center; text-align:center; }
  .ns-hero__sub{ margin-left:auto; margin-right:auto; }
  .ns-hero__ctas{ justify-content:center; }
}

/* ============================================================
   CATEGORIAS — tiles (padrão e-commerce)
   ============================================================ */
.ns-cats-area{ padding:78px 0 64px; background:var(--ns-bg); }
.ns-cats{
  display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:30px;
}
.ns-cat{
  position:relative; display:block; border-radius:var(--ns-radius); overflow:hidden;
  box-shadow:var(--ns-shadow-sm); background:var(--ns-ink);
  transition:transform .22s ease, box-shadow .22s ease;
}
.ns-cat:hover{ transform:translateY(-5px); box-shadow:var(--ns-shadow); }
.ns-cat__img{
  display:block; aspect-ratio:3/4; background-size:cover; background-position:center;
  transition:transform .5s ease;
}
.ns-cat:hover .ns-cat__img{ transform:scale(1.06); }
.ns-cat::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,17,12,.78),transparent 52%); }
.ns-cat__lbl{
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:18px 16px; text-align:center;
  font-family:var(--ns-serif); font-weight:600; font-size:21px; color:#fff; letter-spacing:.01em;
}
.ns-cat__lbl::after{ content:""; display:block; width:26px; height:2px; background:var(--ns-gold); margin:8px auto 0; }
@media (max-width:991px){ .ns-cats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .ns-cats{ grid-template-columns:1fr 1fr; gap:12px; } .ns-cat__lbl{ font-size:17px; } }

/* ============================================================
   MARCAS — chips (padrão e-commerce)
   ============================================================ */
.ns-brands-area{ padding:30px 0 80px; background:var(--ns-bg); }
.ns-brands-lead{ text-align:center; color:var(--ns-muted); max-width:620px; margin:0 auto 30px; font-size:15.5px; }
.ns-brands{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px 14px; }
.ns-brand{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--ns-serif); font-weight:600; font-size:20px; letter-spacing:.02em;
  color:var(--ns-ink); background:var(--ns-soft); border:1px solid var(--ns-line);
  padding:12px 24px; border-radius:999px; transition:all .2s ease;
}
.ns-brand:hover{ background:var(--ns-ink); color:var(--ns-gold); border-color:var(--ns-ink); transform:translateY(-2px); }
@media (max-width:767px){ .ns-brand{ font-size:16px; padding:9px 16px; } }

/* parcelamento no card de produto */
.ns-card__parc{ margin:2px 0 0; font-family:'Jost','Lato',sans-serif; font-size:12.5px; color:var(--ns-muted); font-weight:500; }

/* ============================================================
   ELEGÂNCIA — ouro metálico nos destaques + botões nobres
   ============================================================ */
.section-heading h2 span,
.ns-hero__title em,
.ns-moura-content h2 span,
.ns-contact__intro h2 span,
.ns-promo__title em{
  background:linear-gradient(100deg,#9c7026 0%,#c79a45 24%,#f3e3ab 40%,#fff6d8 50%,#e7c878 60%,#b9863a 78%,#9c7026 100%);
  background-size:260% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  animation:rt-shine 7s linear infinite;
}
@media (prefers-reduced-motion:reduce){
  .section-heading h2 span,.ns-hero__title em,.ns-moura-content h2 span,.ns-contact__intro h2 span,.ns-promo__title em{ animation:none; background-position:35% 0; }
}
/* títulos serifados com um leve brilho dourado por baixo */
.section-heading h2{ text-shadow:0 1px 0 rgba(176,141,87,.08); }

/* botões: ouro metálico 3D, menores, com sombra — sem sublinhado */
.default-button,
.ns-btn,
.book-now-btn,
.quick-book-area .book-now-btn{ text-decoration:none !important; }
.default-button,
.ns-btn{ padding:10px 22px; font-size:13.5px; border-radius:6px; }
.ns-btn-lg{ padding:12px 26px; font-size:14.5px; }
.default-button,
.ns-btn:not(.ns-btn-ghost):not(.ns-btn-whats):not(.ns-btn-dark){
  color:#fff; text-shadow:0 1px 1px rgba(70,45,12,.55);
  background:linear-gradient(180deg,#ecd089 0%,#cda049 28%,#9c7530 66%,#7a5c24 100%);
  border:1px solid #6a4f1f;
  box-shadow:0 6px 13px -4px rgba(122,92,36,.55), 0 2px 4px rgba(0,0,0,.18),
             inset 0 1px 0 rgba(255,250,225,.65), inset 0 -2px 5px rgba(90,60,20,.38);
}
.default-button:hover,
.ns-btn:not(.ns-btn-ghost):not(.ns-btn-whats):not(.ns-btn-dark):hover{
  transform:translateY(-2px); opacity:1;
  background:linear-gradient(180deg,#f5dd95 0%,#d8ad58 28%,#a8813a 66%,#876528 100%);
  box-shadow:0 13px 22px -6px rgba(122,92,36,.72), 0 3px 6px rgba(0,0,0,.22),
             inset 0 1px 0 rgba(255,252,235,.75), inset 0 -2px 5px rgba(90,60,20,.42);
}
/* brilho reluzente que desliza nos botões dourados (igual ao logo) */
.default-button:not(.ns-btn-ghost):not(.ns-btn-whats):not(.ns-btn-dark),
.ns-btn:not(.ns-btn-ghost):not(.ns-btn-whats):not(.ns-btn-dark){ position:relative; overflow:hidden; }
.default-button:not(.ns-btn-ghost):not(.ns-btn-whats):not(.ns-btn-dark)::after,
.ns-btn:not(.ns-btn-ghost):not(.ns-btn-whats):not(.ns-btn-dark)::after{
  content:""; position:absolute; top:0; left:-65%; width:42%; height:100%; z-index:1;
  background:linear-gradient(105deg,transparent 0%,rgba(255,251,230,.15) 35%,rgba(255,252,235,.6) 50%,rgba(255,251,230,.15) 65%,transparent 100%);
  transform:skewX(-18deg); pointer-events:none;
  animation:rt-sweep 5.5s ease-in-out infinite;
}
@keyframes rt-sweep{ 0%{ left:-65%; } 42%,100%{ left:155%; } }
@media (prefers-reduced-motion:reduce){ .default-button::after,.ns-btn::after{ animation:none; opacity:0; } }

/* chips de marca: leve realce dourado no hover */
.ns-brand:hover{ background:#1c1a16; color:#f0d79a; border-color:#1c1a16; box-shadow:0 8px 20px -10px rgba(122,92,36,.6); }

/* filete dourado decorativo nos eyebrows */
.ns-eyebrow{ color:#9a7430; }
.ns-eyebrow::before{ background:linear-gradient(90deg,#caa14e,#9a7430); }

/* respiro lateral do container — cards não colam na borda da tela */
.container{ padding-left:30px; padding-right:30px; }
@media (max-width:767px){ .container{ padding-left:20px; padding-right:20px; } }

/* ============================================================
   HEADER v2 — faixa utilitária (social + contato) + busca + navbar
   ============================================================ */
#sticker.ns-header{ top:-40px; }                 /* ao rolar, esconde só a faixa utilitária */
@media (max-width:991px){ #sticker.ns-header{ top:0; } }

.ns-util{ background:var(--ns-ink); color:#cfc6b2; font-size:12.5px; }
.ns-util__row{ display:flex; align-items:center; justify-content:space-between; min-height:40px; gap:14px; flex-wrap:wrap; }
.ns-util__social{ display:flex; gap:4px; }
.ns-util__social a{ width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; color:#d8c6a4; border-radius:6px; font-size:15px; }
.ns-util__social a:hover{ background:rgba(176,141,87,.18); color:#f0d79a; }
.ns-util__contact{ display:flex; align-items:center; gap:20px; }
.ns-util__contact i{ color:var(--ns-gold); margin-right:6px; }
.ns-util__hours{ color:#b3aa99; }
.ns-util__phone{ color:#ece6d8; font-weight:600; }
.ns-util__phone:hover{ color:#fff; }
.ns-util__cta{ color:#1c1a16 !important; background:linear-gradient(180deg,#ecd089,#c79a45); padding:5px 15px; border-radius:5px; font-weight:800; font-family:'Lato',sans-serif; }
.ns-util__cta i{ color:#1c1a16; }
.ns-util__cta:hover{ filter:brightness(1.07); transform:translateY(-1px); }
/* Mobile: topbar em grade 2×2 — horários (esq-cima)/telefone (esq-baixo), redes (dir-cima)/Fale conosco (dir-baixo) */
@media (max-width:767px){
  .ns-util{ font-size:11.5px; }
  .ns-util__row{
    display:grid; grid-template-columns:1fr auto;
    grid-template-areas:"hours social" "phone cta";
    align-items:center; gap:8px 12px; min-height:0; padding:7px 0;
  }
  .ns-util__contact{ display:contents; }
  .ns-util__social{ grid-area:social; justify-self:end; }
  .ns-util__hours{ grid-area:hours; justify-self:start; }
  .ns-util__phone{ grid-area:phone; justify-self:start; }
  .ns-util__cta{ grid-area:cta; justify-self:end; white-space:nowrap; }
}

/* linha do logo + busca + carrinho */
.ns-header .main-menu-area.ns-nav{ background:#fff; }
.ns-nav__row{ display:flex; align-items:center; gap:24px; min-height:96px; }
.ns-search--nav{ flex:0 0 auto; width:340px; margin-left:auto; }
.ns-search{ display:flex; align-items:center; background:var(--ns-soft); border:1.5px solid var(--ns-line); border-radius:8px; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.ns-search:focus-within{ border-color:var(--ns-red); box-shadow:0 0 0 4px rgba(122,92,36,.1); background:#fff; }
.ns-search__input{ flex:1; border:0; background:transparent; padding:12px 16px; font-size:14px; color:var(--ns-ink); outline:none; font-family:inherit; }
.ns-search__input::placeholder{ color:#9c958a; }
.ns-search__mic{ border:0; background:transparent; height:46px; width:42px; color:var(--ns-muted); cursor:pointer; font-size:15px; }
.ns-search__mic:hover{ color:var(--ns-red); }
.ns-search__btn{ border:0; background:var(--ns-ink); color:#fff; height:46px; width:50px; cursor:pointer; font-size:15px; }
.ns-search__btn:hover{ background:var(--ns-red); }
.ns-nav__menu--right{ flex:0 0 auto; margin:0; }
.ns-nav__menu--right nav ul{ margin:0; }
.ns-nav__menu--right .ns-menu-cart > a{ display:inline-flex; align-items:center; gap:10px; color:var(--ns-ink-2); font-family:'Lato',sans-serif; font-weight:800; font-size:14px; padding:8px 6px; }
.ns-nav__menu--right .ns-menu-cart > a i.fa-shopping-cart{ color:var(--ns-red); font-size:24px; }
.ns-nav__menu--right .ns-menu-cart:hover > a{ color:var(--ns-red); }
.ns-nav__menu--right .ns-menu-cart__lbl{ white-space:nowrap; }

/* barra de navegação (links) — centralizada, fundo claro */
.ns-navbar{ background:#fbf9f5; border-top:1px solid var(--ns-line); }
.ns-navbar .main-menu nav ul{ display:flex; justify-content:flex-end; align-items:center; gap:4px; margin:0; }
.ns-navbar .main-menu nav ul li a{ padding:14px 18px; }
.ns-navbar .main-menu nav ul li a::before{ bottom:8px; }
.ns-navbar .ns-menu-cart{ position:relative; list-style:none; display:flex; align-items:center; margin-left:6px; }
.ns-navbar .ns-menu-cart > a{ display:inline-flex; align-items:center; padding:12px 12px; }
.ns-navbar .ns-menu-cart > a i.fa-shopping-cart{ color:var(--ns-red); font-size:22px; }
.ns-navbar .ns-menu-cart__ic{ position:relative; display:inline-flex; }
.ns-navbar .ns-menu-cart .menu-cart-count{ position:absolute; top:-6px; right:-8px; min-width:16px; height:16px; line-height:16px; padding:0 4px; background:var(--ns-red); color:#fff; font-family:'Lato',sans-serif; font-weight:800; font-size:10px; border-radius:999px; text-align:center; box-shadow:0 0 0 2px #fbf9f5; }
.ns-navbar .ns-menu-cart .ns-minicart{ position:absolute; top:calc(100% + 8px); right:0; }

/* ============================================================
   MENU — sem sublinhado nas palavras (mantém o indicador ativo)
   ============================================================ */
.ns-header a,
.ns-header .main-menu nav ul li a,
.mean-container .mean-nav ul li a,
.mobile-menu nav ul li a,
.footer-top-menu ul li a,
.footer-area a,
.page-title-menu ul li a,
.ns-atend__item a,
.ns-foot-badge{ text-decoration:none !important; }

/* ============================================================
   HERO — carrossel cross-fade + Ken Burns (transição elegante)
   ============================================================ */
.ns-hero__slide{
  clip-path:none !important;
  opacity:0 !important;
  transition:opacity 1.3s cubic-bezier(.4,0,.2,1) !important;
  will-change:opacity;
}
.ns-hero__slide.is-active{ opacity:1 !important; }
.ns-hero__slide img{ transform:scale(1.05); transform-origin:60% 50%; }
.ns-hero__slide.is-active img{ animation:ns-hero-kb 7.5s ease-out forwards; }
@keyframes ns-hero-kb{
  from{ transform:scale(1.05) translate(0,0); }
  to{ transform:scale(1.14) translate(-1.8%,-1%); }
}
@media (prefers-reduced-motion:reduce){
  .ns-hero__slide.is-active img{ animation:none; transform:scale(1.04); }
}

/* setas do carrossel desenhadas em CSS (não dependem de fonte de ícone) */
.ns-hero__arrow{ position:absolute; }
.ns-hero__arrow i{ display:none !important; }
.ns-hero__arrow::before{
  content:""; display:block; width:13px; height:13px;
  border-top:2.5px solid #fff; border-right:2.5px solid #fff; border-radius:1px;
}
.ns-hero__arrow--prev::before{ transform:rotate(-135deg); margin-left:5px; }
.ns-hero__arrow--next::before{ transform:rotate(45deg); margin-right:5px; }
