/* ════════════════════════════════════════════════════════════════
   SANBERNARDA.COM · NEOBRUTALISM — CAMADA DE PADRONIZAÇÃO
   Escopo: html.cc-brut  ·  Carregada por último (vence a cascata)

   Objetivo: unificar TODA a home num único sistema neobrutalista.
   Regra-mãe:  cantos 100% retos  +  borda sólida  +  UMA sombra dura
               +  hover tátil idêntico em toda peça enquadrada.

   Aditivo e reversível: não mexe em layout, posição ou cor de fundo —
   só uniformiza borda / raio / sombra / hover. Some o link e o visual
   antigo volta inteiro.
   ════════════════════════════════════════════════════════════════ */

:root{
  /* — paleta herdada (não inventa cor nova) — */
  /* — moldura/sombra: TEMA-AWARE —
     Claro (padrão): tinta navy da marca · Escuro: branco.
     Os tokens de sombra abaixo referenciam --nb-edge, então viram
     navy ou branco sozinhos conforme o tema ativo. */
  --nb-edge:      rgba(26,11,36,.9);    /* claro: plum ink */
  --nb-edge-soft: rgba(26,11,36,.4);
  --nb-ink:   #1A0B24;                 /* tinta ink (controles cheios) */
  --nb-acc:   #FF5C14;                 /* roxo identidade AI */
  --nb-cyan:  #B19CFF;                 /* teal de apoio */

  /* — espessura de borda: 4 níveis, sempre os mesmos — */
  --nb-bw:        3px;    /* superfícies (cards, painéis) */
  --nb-bw-ctrl: 2.5px;    /* controles preenchidos (botões) */
  --nb-bw-field:  2px;    /* inputs / links com moldura */
  --nb-bw-chip: 1.5px;    /* tags / chips */

  /* — UMA régua de offset para a sombra dura — */
  --nb-off:       6px;
  --nb-off-press: 9px;

  /* — sombras padrão (sólidas, zero blur) — */
  --nb-shadow:        6px 6px 0 0 var(--nb-edge);
  --nb-shadow-acc:    9px 9px 0 0 var(--nb-acc);
  --nb-shadow-sm:     4px 4px 0 0 var(--nb-edge);
  --nb-shadow-sm-acc: 6px 6px 0 0 var(--nb-acc);
  --nb-shadow-ink:    5px 5px 0 0 var(--nb-ink);

  /* — transição tátil única — */
  --nb-snap: transform .13s cubic-bezier(.2,.85,.25,1),
             box-shadow .13s cubic-bezier(.2,.85,.25,1),
             border-color .13s linear;
}

/* TEMA ESCURO — moldura/sombra brancas (a home é sempre escura) */
html.cc-force-dark,
html.cc-force-dark body,
body.dark-theme{
  --nb-edge:      rgba(255,255,255,.92);
  --nb-edge-soft: rgba(255,255,255,.55);
}

/* ─────────────────────────────────────────────────────────
   0 · CANTOS RETOS — trava o raio em tudo que enquadra
   ───────────────────────────────────────────────────────── */
html.cc-brut body :is(
  .btn-nav-cta, .btn-hero, .sc-cta, .cs-cta,
  .footer-contact-link, .footer-news-form button, .footer-social__tag, .sc-tag, .cl-tag, .tc-head__tag,
  .ctaform__submit
){ border-radius: var(--cc-r-pill, 9999px) !important; }

html.cc-brut body :is(
  .spec-card, .test-card, .pricing-card, .cs-panel, .team-card, .value-card,
  .work-card, .industry-card, .blog-card, .svp-dcard, .faq-item,
  .proof__quote, .tc-metric, .sc-spec, .cl-status, .cs-tele, .proof__avatar
){ border-radius: var(--cc-r-lg, 20px) !important; }

html.cc-brut body :is(
  .ctaform input, .ctaform textarea, .footer-news-form input
){ border-radius: var(--cc-r-sm, 10px) !important; }

/* ═════════════════════════════════════════════════════════
   1 · SUPERFÍCIES — borda 3px + sombra dura 6px + hover tátil
   O padrão visual da home inteira. Idêntico em cada card.
   ═════════════════════════════════════════════════════════ */
html.cc-brut body :is(
  .spec-card, .test-card, .pricing-card, .team-card, .value-card, .work-card,
  .industry-card, .blog-card, .svp-dcard, .cs2-card, .cs2-ledger
){
  border: var(--nb-bw) solid var(--nb-edge) !important;
  box-shadow: var(--nb-shadow) !important;
  transition: var(--nb-snap) !important;
}
html.cc-brut body .cs2-card:hover,
html.cc-brut body .cs2-ledger:hover{
  box-shadow: var(--nb-shadow-acc) !important;
  border-color: var(--nb-acc) !important;
}

/* hover sem tilt-JS → levanta e acende a sombra laranja
   (exclui .spec-card--cockpit: stack 3D cuida do hover) */
html.cc-brut body :is(
  .test-card, .team-card,
  .value-card, .work-card, .industry-card, .blog-card, .svp-dcard
):hover,
html.cc-brut body .spec-card:not(.spec-card--cockpit):hover{
  transform: translate(-3px,-3px) !important;
  box-shadow: var(--nb-shadow-acc) !important;
  border-color: var(--nb-acc) !important;
}

/* cards com tilt-JS (transform inline) → só a sombra muda, sem brigar */
html.cc-brut body :is(.pricing-card):hover{
  box-shadow: var(--nb-shadow-acc) !important;
  border-color: var(--nb-acc) !important;
}


/* painel de case (stack com sticky) entra no mesmo sistema */
html.cc-brut body .cs-panel{
  border: var(--nb-bw) solid var(--nb-edge) !important;
  box-shadow: var(--nb-shadow) !important;
  transition: var(--nb-snap) !important;
}
html.cc-brut body .cs-panel:hover{
  box-shadow: var(--nb-shadow-acc) !important;
  border-color: var(--nb-acc) !important;
}

/* ═════════════════════════════════════════════════════════
   2 · CTAs — primário: sem borda tinta · sombra branca · brilho
       secundário/ghost: zero borda · zero sombra
   ═════════════════════════════════════════════════════════ */
html.cc-brut body.dark-theme :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost){
  border: 2px solid #FFFFFF !important;
  box-shadow: 6px 6px 0 #FFFFFF !important;
  transition: box-shadow .28s ease, filter .28s ease, background .28s ease !important;
}
html.cc-brut body.dark-theme :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost):hover{
  transform: translate(-2px, -2px) !important;
  filter: brightness(1.07) !important;
  box-shadow:
    8px 8px 0 #FFFFFF,
    0 4px 18px rgba(255, 92, 20, 0.45),
    0 0 34px rgba(255, 92, 20, 0.28),
    0 0 72px rgba(255, 92, 20, 0.14) !important;
}
html.cc-brut body.dark-theme :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost):active{
  transform: none !important;
  box-shadow: 6px 6px 0 #FFFFFF !important;
}

/* Modo Claro: Borda Roxa Escura (#1E0430) + Sombra Roxa Escura */
html.cc-brut body:not(.dark-theme) :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost){
  border: 2px solid #1E0430 !important;
  box-shadow: 4px 4px 0 #1E0430 !important;
  transition: box-shadow .28s ease, filter .28s ease, background .28s ease, transform .28s ease !important;
}
html.cc-brut body:not(.dark-theme) :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost):hover{
  transform: translate(-2px, -2px) !important;
  filter: brightness(1.07) !important;
  box-shadow: 6px 6px 0 #1E0430, 0 4px 18px rgba(255, 92, 20, 0.35) !important;
}
html.cc-brut body:not(.dark-theme) :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost):active{
  transform: none !important;
  box-shadow: 4px 4px 0 #1E0430 !important;
}

/* Secundários / links de ação leve — sem borda alguma */
html.cc-brut body :is(.sc-cta, .cs-cta, .link-more),
html.cc-brut body .btn-nav-cta--ghost{
  border: none !important;
  box-shadow: none !important;
  transition: color .2s ease, background .2s ease, opacity .2s ease !important;
}
html.cc-brut body :is(.sc-cta, .cs-cta, .link-more):hover,
html.cc-brut body .btn-nav-cta--ghost:hover{
  transform: none !important;
  box-shadow: none !important;
}
/* Especialidades: sem translate no CTA (evita flicker com stack 3D) */
html.cc-brut body .spec-card--cockpit .sc-cta,
html.cc-brut body .spec-card--cockpit .sc-cta:hover,
html.cc-brut body .spec-card--cockpit .sc-cta:active{
  transform: none !important;
}

/* ═════════════════════════════════════════════════════════
   3 · CAMPOS DE FORMULÁRIO — borda 2px · foco com sombra dura
   ═════════════════════════════════════════════════════════ */
html.cc-brut body :is(.ctaform input, .ctaform textarea, .footer-news-form input){
  border: var(--nb-bw-field) solid var(--nb-edge-soft) !important;
  box-shadow: none !important;
  transition: var(--nb-snap) !important;
}
html.cc-brut body :is(.ctaform input, .ctaform textarea, .footer-news-form input):focus{
  outline: none !important;
  border-color: var(--nb-acc) !important;
  box-shadow: var(--nb-shadow-sm-acc) !important;
}
/* botão de envio dos forms = CTA primário (sombra branca + brilho) */
html.cc-brut body :is(.ctaform__submit, .footer-news-form button, .ctaform-submit){
  border: none !important;
  box-shadow: 6px 6px 0 #FFFFFF !important;
  transition: box-shadow .28s ease, filter .28s ease, background .28s ease !important;
}
html.cc-brut body :is(.ctaform__submit, .footer-news-form button, .ctaform-submit):hover{
  transform: none !important;
  filter: brightness(1.07) !important;
  box-shadow:
    8px 8px 0 #FFFFFF,
    0 4px 18px rgba(255, 92, 20, 0.45),
    0 0 34px rgba(255, 92, 20, 0.28) !important;
}

/* contato no footer = item com moldura consistente */
html.cc-brut body .footer-contact-link{
  display: flex !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: var(--nb-bw-field) solid var(--nb-edge-soft) !important;
  box-shadow: var(--nb-shadow-sm) !important;
  transition: var(--nb-snap) !important;
  border-radius: var(--cc-r-pill, 9999px) !important;
}
html.cc-brut body .footer-contact-link:hover{
  transform: translate(-2px,-2px) !important;
  box-shadow: var(--nb-shadow-sm-acc) !important;
  border-color: var(--nb-acc) !important;
}

/* ═════════════════════════════════════════════════════════
   4 · PEÇAS ANTES SEM SISTEMA — FAQ, signup, proof
   Ganham a mesma moldura para fechar o padrão.
   ═════════════════════════════════════════════════════════ */
html.cc-brut body .faq-item{
  border: var(--nb-bw-field) solid var(--nb-edge-soft) !important;
  box-shadow: var(--nb-shadow-sm) !important;
  transition: var(--nb-snap) !important;
}
html.cc-brut body .faq-item:hover,
html.cc-brut body .faq-item[open]{
  border-color: var(--nb-acc) !important;
  box-shadow: var(--nb-shadow-sm-acc) !important;
}

html.cc-brut body .signup-strip,
html.cc-brut body .proof__quote{
  border: var(--nb-bw) solid var(--nb-edge) !important;
  box-shadow: var(--nb-shadow) !important;
}
html.cc-brut body .proof__quote{ transition: var(--nb-snap) !important; }
html.cc-brut body .proof__quote:hover{
  transform: translate(-3px,-3px) !important;
  box-shadow: var(--nb-shadow-acc) !important;
  border-color: var(--nb-acc) !important;
}
/* ledger de métricas — mesma moldura neo-brutal dos quotes */
html.cc-brut body .proof__stat{
  border: var(--nb-bw) solid rgba(255,255,255,.88) !important;
  box-shadow: var(--nb-shadow) !important;
  transition: var(--nb-snap) !important;
}
html.cc-brut body .proof__stat:hover,
html.cc-brut body .proof__stat:focus-visible{
  transform: translate(-3px,-3px) !important;
  box-shadow: var(--nb-shadow-acc) !important;
  border-color: var(--nb-acc) !important;
}

/* ═════════════════════════════════════════════════════════
   5 · CHIPS / TAGS — moldura fina uniforme (flat, sem sombra)
   ═════════════════════════════════════════════════════════ */
html.cc-brut body :is(.sc-tag, .footer-social__tag){
  border: var(--nb-bw-chip) solid rgba(255,92,20,.55) !important;
  background: rgba(255,92,20,.07) !important;
  transition: var(--nb-snap) !important;
}
html.cc-brut body :is(.sc-tag, .footer-social__tag):hover{
  background: var(--nb-acc) !important;
  color: var(--nb-ink) !important;
  border-color: var(--nb-acc) !important;
}

/* avatares quadrados com moldura dura (depoimentos / prova) */
html.cc-brut body :is(.tca-avatar, .proof__avatar){
  border: var(--nb-bw-field) solid var(--nb-edge) !important;
  box-shadow: var(--nb-shadow-sm) !important;
}

/* ═════════════════════════════════════════════════════════
   6 · REFORÇO GLOBAL — nada arredondado escapa
   ═════════════════════════════════════════════════════════ */
html.cc-brut body .nav-header:not(.nav-compact){ border-radius: 0 !important; }
html.cc-brut body .mobile-menu__inner,
html.cc-brut body .nav-account__pop{ border-radius: var(--cc-r-xl, 24px) !important; }
html.cc-brut body .signup-strip{
  border-radius: clamp(36px, 4.5vw, 52px) !important;
  overflow: hidden !important;
}
html.cc-brut body :is(
  section:not(.signup-strip), .section, [class*="-sec"], .marquee-strip, .stats-strip,
  .hero-v3, .probsol, .proof, .proc, .faq-section, .ctaform,
  .cases, .spec, .testimonials-sec, .pricing-sec, .blog-sec, .agenda-sec,
  .page-hero, .svp-hero, .svp-sec, .svp-cta, .founder-block, .direct-connect-banner,
  .diag, .chapter-status
){ border-radius: 0 !important; }

/* respiro p/ a sombra não encostar no vizinho na grade de clientes */


/* ═════════════════════════════════════════════════════════
   7 · OVERRIDES DE ESPECIFICIDADE
   Regras antigas body.dark-theme .*--cockpit .* ganhavam da
   camada → reescritas aqui com peso maior p/ fechar o padrão.
   ═════════════════════════════════════════════════════════ */


/* chips: largura de borda uniforme mesmo sob seletores compostos */
html.cc-brut body.dark-theme .spec-card--cockpit .sc-tag,
html.cc-brut body.dark-theme .sc-tag{
  border: var(--nb-bw-chip) solid rgba(255,92,20,.55) !important;
}

/* spec-card: borda inteira branca (vence border-*-color !important antigos) */
html.cc-brut body.dark-theme .spec-list .spec-card,
html.cc-brut body.dark-theme .spec-list .spec-card:first-child{
  border-color: var(--nb-edge) !important;
}

/* footer: vence a regra-coringa body.dark-theme [class*="footer"] (0,4,1) */
html.cc-brut body.dark-theme .footer--cockpit .footer-contact-link:not(.footer-contact-link--wa),
html.cc-brut body.dark-theme .footer--cockpit .footer-news-form input{
  border: var(--nb-bw-field) solid var(--nb-edge-soft) !important;
}
html.cc-brut body.dark-theme .footer--cockpit .footer-contact-link--wa{
  border: var(--nb-bw-field) solid rgba(37,211,102,.6) !important;
}
html.cc-brut body.dark-theme .footer--cockpit .footer-news-form button{
  border: none !important;
  box-shadow: 6px 6px 0 #FFFFFF !important;
}

@media (prefers-reduced-motion: reduce){
  html.cc-brut body :is(
    .spec-card,.test-card,.pricing-card,.cs-panel,.proof__quote,.proof__stat,.btn-nav-cta,.btn-hero,
    .sc-cta,.cs-cta,.footer-contact-link,.faq-item
  ):hover{ transform: none !important; }
}

/* ── SANBERNARDA.COM tokens ── */
:root, html.cc-brut{
  --nb-acc: var(--cc-orange);
  --brut-acc: var(--cc-orange);
  --cor-secundaria: var(--cc-orange);
  --cor-cta: var(--cc-orange);
  --cor-cta-hover: var(--cc-orange-hover);
}
html.cc-brut body :is(.btn-nav-cta, .btn-hero):not(.btn-nav-cta--ghost):not(.btn-hero-sec),
html.cc-brut body .hero-v3 .btn-nav-cta:not(.btn-nav-cta--ghost):not(.btn-hero-sec),
html.cc-brut body .signup-strip__btn,
html.cc-brut body .nav-account__btn--primary,
html.cc-brut body .mobile-menu__cta{
  background: var(--cc-orange) !important;
  color: var(--cc-white) !important;
  -webkit-text-fill-color: var(--cc-white) !important;
}
html.cc-brut body .hero-title-v3 .hero-line.accent,
html.cc-brut body .hero-title-v3 .accent{
  background: var(--cc-orange) !important;
  color: var(--cc-black) !important;
  -webkit-text-fill-color: var(--cc-black) !important;
}

/* §FONT-CC — Tektur / DM Mono (vence brutalism) */
html.cc-brut body .hero-title-v3,
html.cc-brut body .hero-title-v3 .hero-line,
html.cc-brut body .logo,
html.cc-brut body :is(.btn-nav-cta, .btn-hero),
html.cc-brut body .btn-nav-cta .btn-inner{
  font-family: var(--fonte-titulo, 'Tektur'), sans-serif !important;
}
html.cc-brut body,
html.cc-brut body p,
html.cc-brut body .hero-desc-v3{
  font-family: var(--fonte-corpo, 'DM Mono'), 'Courier New', monospace !important;
}
html.cc-brut body .nav-menu a,
html.cc-brut body .sec-head__label,
html.cc-brut body .cs2-kicker{
  font-family: var(--fonte-corpo, 'DM Mono'), 'Courier New', monospace !important;
}

/* ═════════════════════════════════════════════════════════
   CTA POLICY · última palavra da cascata
   • Primário: zero borda · sombra branca · brilho no hover
   • Demais: zero borda · zero sombra
   ═════════════════════════════════════════════════════════ */
html.cc-brut body.dark-theme :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-wa-lp,
  .signup-strip__btn,
  .nav-account__btn--primary, .ctaform-submit, .ctaform__submit,
  .ctaform-fasttrack__btn, .probsol-cta-bar__btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta, .pc-btn-cta--featured,
  .footer-news-form button, .dcb-btn-wa, .cft-wa
):not(.btn-nav-cta--ghost){
  border: 2px solid #FFFFFF !important;
  box-shadow: 6px 6px 0 #FFFFFF !important;
}
html.cc-brut body.dark-theme :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-wa-lp,
  .signup-strip__btn,
  .nav-account__btn--primary, .ctaform-submit, .ctaform__submit,
  .ctaform-fasttrack__btn, .probsol-cta-bar__btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta, .pc-btn-cta--featured,
  .footer-news-form button, .dcb-btn-wa, .cft-wa
):not(.btn-nav-cta--ghost):hover{
  border: 2px solid #FFFFFF !important;
  filter: brightness(1.07) !important;
  box-shadow:
    8px 8px 0 #FFFFFF,
    0 4px 18px rgba(255, 92, 20, 0.45),
    0 0 34px rgba(255, 92, 20, 0.28),
    0 0 72px rgba(255, 92, 20, 0.14) !important;
}

/* Modo Claro: Borda Roxa Escura (#1E0430) */
html.cc-brut body:not(.dark-theme) :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-wa-lp,
  .signup-strip__btn,
  .nav-account__btn--primary, .ctaform-submit, .ctaform__submit,
  .ctaform-fasttrack__btn, .probsol-cta-bar__btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta, .pc-btn-cta--featured,
  .footer-news-form button, .dcb-btn-wa, .cft-wa
):not(.btn-nav-cta--ghost){
  border: 2px solid #1E0430 !important;
  box-shadow: 4px 4px 0 #1E0430 !important;
}
html.cc-brut body:not(.dark-theme) :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-wa-lp,
  .signup-strip__btn,
  .nav-account__btn--primary, .ctaform-submit, .ctaform__submit,
  .ctaform-fasttrack__btn, .probsol-cta-bar__btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta, .pc-btn-cta--featured,
  .footer-news-form button, .dcb-btn-wa, .cft-wa
):not(.btn-nav-cta--ghost):hover{
  border: 2px solid #1E0430 !important;
  filter: brightness(1.07) !important;
  box-shadow: 6px 6px 0 #1E0430, 0 4px 18px rgba(255, 92, 20, 0.35) !important;
}
/* varredura de brilho delegada para micro-interactions.css */
html.cc-brut body :is(
  .btn-nav-cta, .btn-hero, .btn-cta,
  .signup-strip__btn, .nav-account__btn--primary,
  .ctaform-fasttrack__btn, .probsol-cta-bar__btn
):not(.btn-nav-cta--ghost){
  position: relative !important;
  overflow: hidden !important;
}
/* secundários ghost — quietos */
html.cc-brut body :is(.btn-nav-cta--ghost, .btn-hero-sec, .nav-account__btn--ghost),
html.cc-brut body .hero-v3 .btn-nav-cta.btn-hero-sec,
html.cc-brut body .hero-v3 .btn-nav-cta.btn-nav-cta--ghost{
  background: transparent !important;
  color: rgba(255, 255, 255, 0.62) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.62) !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
}
html.cc-brut body :is(.btn-nav-cta--ghost, .btn-hero-sec, .nav-account__btn--ghost)::after,
html.cc-brut body .hero-v3 .btn-nav-cta.btn-hero-sec::after,
html.cc-brut body .hero-v3 .btn-nav-cta.btn-nav-cta--ghost::after{
  display: none !important;
  content: none !important;
}
html.cc-brut body .hero-v3 .btn-nav-cta.btn-hero-sec:hover,
html.cc-brut body .hero-v3 .btn-nav-cta.btn-nav-cta--ghost:hover,
html.cc-brut body :is(.btn-nav-cta--ghost, .btn-hero-sec):hover{
  background: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: none !important;
}
/* links/CTAs de módulo — sem moldura preta/branca */
html.cc-brut body :is(.sc-cta, .cs-cta, .link-more){
  border: none !important;
  box-shadow: none !important;
}
html.cc-brut body :is(.sc-cta, .cs-cta, .link-more)::after{
  display: none !important;
  content: none !important;
}
/* pricing CTA wrap: sem borda preta */
html.cc-brut body .pricing-card--cockpit .pc-cta,
html.cc-brut body .pricing-sec--cockpit .pricing-card--cockpit .pc-cta{
  border: none !important;
  box-shadow: none !important;
}
html.cc-brut body .pricing-card--cockpit .pc-cta__inner,
html.cc-brut body .pricing-card--featured .pc-cta__inner{
  border: none !important;
  box-shadow: 6px 6px 0 #FFFFFF !important;
}
/* nav sticker compact: CTA primário sem sombra que vazaria do bloco */
html.cc-brut body .nav-header.nav-compact .btn-nav-cta:not(.btn-nav-cta--ghost){
  box-shadow: none !important;
}
html.cc-brut body .nav-header.nav-compact .btn-nav-cta:not(.btn-nav-cta--ghost):hover{
  box-shadow: 0 0 22px rgba(255, 92, 20, 0.4) !important;
  filter: brightness(1.08) !important;
}
