/* Pro Beauty Gear — theme.css
   Carregado DEPOIS do CSS de cada site. Base: tokens.css (mesma pasta).
   Regras do guia: uma família (Montserrat), títulos em caixa alta, vermelho com intenção,
   quase tudo reto, sem sombra em card, sem animação de entrada, transições de 150ms. */

/* ---------- tipografia ---------- */
html, body { font-family: var(--font-sans); }
body { -webkit-font-smoothing: antialiased; }
body p { font-size: 15px; line-height: 24px; }
button, input, select, textarea, optgroup { font-family: inherit; }

h1, h2 { text-transform: uppercase; font-weight: 800; letter-spacing: -0.005em; font-family: var(--font-sans); }
h3, h4 { font-weight: 700; font-family: var(--font-sans); }
h1 em, h2 em, h1 i, h2 i { font-style: normal; color: var(--red); }

/* eyebrows: caixa alta, .28em, régua vermelha 24x2 antes do texto */
[class*="eyebrow"], [class*="kicker"], [class*="overline"], [class*="pretitle"], [class*="pre-title"],
[class*="section-label"], [class*="section-tag"], [class*="subtitle-tag"] {
  text-transform: uppercase;
  letter-spacing: .28em !important;
  font-weight: 500;
  background-image: linear-gradient(var(--red), var(--red)) !important;
  background-repeat: no-repeat !important;
  background-size: 24px 2px !important;
  background-position: left center !important;
  padding-left: 36px !important;
}
/* eyebrow centralizado: encolhe para o texto, assim a régua fica colada nele */
[class*="eyebrow"].center, [class*="eyebrow"][style*="justify-content: center"], [class*="eyebrow"][style*="justify-content:center"],
[class*="cta-final"] :is([class*="eyebrow"], [class*="section-label"], [class*="kicker"]),
:is(.center, .text-center, [class*="lamp-content"]) > :is([class*="eyebrow"], [class*="section-label"], [class*="kicker"]) {
  display: table !important; margin-left: auto !important; margin-right: auto !important;
}
/* a régua do guia substitui o enfeite antigo do eyebrow */
[class*="eyebrow"]::before, [class*="kicker"]::before, [class*="overline"]::before { display: none !important; }

/* botões: 600 / 16px */
button, .btn, [class*="btn-"], [class*="-btn"], [class^="btn"], [class*="button"], [class*="cta-btn"], [class*="nav-cta"] {
  font-weight: 600;
  font-family: var(--font-sans);
}
.btn, [class^="btn-"], [class*=" btn-"], [class*="button"]:not(div):not(section) { font-size: 16px; }

/* ---------- forma ---------- */
img, picture, video, iframe { border-radius: 0 !important; }

/* ---------- movimento: sem entrada, só 150ms ---------- */
.reveal, [class*="reveal"], .fade-in, .fade-up, .fade-in-up, .animate-on-scroll, .anim, .aos-init, [data-aos],
.slide-up, .slide-in, .will-animate, .in-view, .is-visible, .visible, [class*="fadeIn"], [class*="fade-"] {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  filter: none;
}
*, *::before, *::after { transition-duration: 150ms !important; transition-delay: 0s !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ---------- foco de teclado ---------- */
:focus-visible { outline: none !important; box-shadow: var(--focus-ring) !important; }
header :focus-visible, nav :focus-visible, footer :focus-visible,
[class*="hero"] :focus-visible, [class*="stage"] :focus-visible, [class*="dark"] :focus-visible { box-shadow: var(--focus-ring-stage) !important; }

/* ---------- logo ---------- */
img.pbg-logo { height: 50px !important; width: auto !important; max-width: none !important; max-height: none !important; object-fit: contain; padding: 0 !important; filter: none !important; box-shadow: none !important; background: none !important; }
@media (max-width: 760px) { img.pbg-logo { height: 36px !important; } }

/* ---------- loja nova (pbg-config.js) ---------- */
a[data-shop]:not([href]) { display: none !important; }
/* alternativa sem loja: some quando o link da loja ao lado já estiver ativo */
a[data-shop][href] ~ .pbg-noshop { display: none !important; }

/* ---------- seleção ---------- */
::selection { background: var(--red); color: var(--on-red); }

/* sites "bundler": a faixa de erro de depuração (ex.: chat tawk.to bloqueado por CORS) não aparece para o visitante */
#__bundler_err { display: none !important; }

/* único brilho permitido é --glow-red (em CTA): títulos sem brilho/sombra */
h1, h2, h1 *, h2 * { text-shadow: none !important; }

/* ===== ajustes manuais deste site (_ferramentas/overrides/bm-shavers.css) ===== */
/* bm-clippers / bm-shavers / bm-trimmers (mesmo styles.css)
   Palco preto: header, hero, CTA final e rodapé. Conteúdo: branco/#f2f2f2 com ink. */
:root {
  --s-ink: #0a0a0a; --ink-soft: #56606e; --ink-faint: #56606e;
  --blue: #fb222b; --blue-bright: #fb222b; --blue-deep: #d9141d; --blue-wash: rgba(251, 34, 43, 0.08);
  --s-red: #fb222b; --s-red-deep: #d9141d;
  --porcelain: #ffffff; --porcelain-2: #f2f2f2; --plate: #ffffff;
  --s-steel: #ececec; --steel-strong: #d9d8d9;
  --pole: repeating-linear-gradient(45deg, #0a0a0a 0px, #0a0a0a 26px, #1a1a1b 26px, #1a1a1b 50px, #fb222b 50px, #fb222b 54px, #0a0a0a 54px, #0a0a0a 78px);
  --pole-mini: repeating-linear-gradient(45deg, #fb222b 0px, #fb222b 4px, #ffffff 4px, #ffffff 8px, #0a0a0a 8px, #0a0a0a 12px);
}

/* header no palco */
header { background: rgba(0, 0, 0, 0.94); border-bottom-color: var(--stage-line); }
nav.desktop-nav a { color: var(--on-stage-soft); font-family: var(--font-sans); font-size: 13px; font-weight: 500; }
nav.desktop-nav a:hover { color: var(--on-stage); box-shadow: inset 0 -2px 0 var(--red); }
.menu-toggle span { background: var(--on-stage); }
.mobile-nav { background: var(--stage-raised); border-top-color: var(--stage-line); }
.mobile-nav a { color: var(--on-stage-soft); border-bottom-color: var(--stage-line); }

/* hero no palco: título bicolor branco + vermelho */
.hero { background: var(--stage); }
.hero h1, .hero-stat b { color: var(--on-stage); }
.hero h1 em { color: var(--red); }
.hero-sub { color: var(--on-stage-soft); }
.hero-note, .hero-stat span { color: var(--on-stage-muted); }
.hero-note strong { color: var(--on-stage); }
.hero-stats { border-top-color: var(--stage-line); }
.hero .eyebrow { color: var(--on-stage-soft); }
.hero-art-plate { border-color: var(--stage-line); background: var(--surface-sunken); }
.hero-art-tag { background: var(--stage-raised); }

/* conteúdo claro: título display inteiro em ink */
.section-title, .section h2 { color: var(--ink); }
.section h2 em { color: var(--ink); }
.eyebrow { color: var(--ink-muted); font-family: var(--font-sans); font-size: 12px; }
.eyebrow.center { display: table !important; margin-left: auto; margin-right: auto; }

/* botões: CTA vermelho, Title Case */
.btn { text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 600; border-radius: 6px; }
.btn:hover { transform: none; }
.btn-primary { background: var(--red); color: var(--on-red); box-shadow: none; }
.btn-primary:hover { background: var(--red-hover); }

/* cards: reto, contorno 1px line, sem sombra, sem elevação */
.plate { border-color: var(--line); }
.plate:hover { transform: none; border-color: var(--ink); }
.plate-flagship { border-color: var(--ink); }
.plate:hover .plate-media img { transform: scale(1.03); }
.plate-media { background: var(--surface-sunken); }
.plate-price { color: var(--ink); }
.chip { border-radius: 4px; color: var(--ink-muted); border-color: var(--line); }
.chip-accent { color: var(--ink); border-color: var(--ink); background: var(--surface); }
.plate-link { color: var(--ink); border-color: var(--ink); }
.plate-link:hover { background: var(--ink); color: var(--on-ink-fill); }

/* CTA final e rodapé no palco */
.cta-final { background: var(--stage); }
.cta-final .eyebrow { color: var(--on-stage-soft); }
.section.cta-final h2 { color: var(--on-stage); }
.section.cta-final h2 em { color: var(--red); }
.cta-final p { color: var(--on-stage-soft); }
footer { background: var(--stage); border-top-color: var(--stage-line); }
footer nav a { color: var(--on-stage-soft); }
footer nav a:hover { color: var(--on-stage); }
.footer-disclaimer { color: var(--on-stage-muted); border-top-color: var(--stage-line); }
.footer-top img.pbg-logo { height: 50px !important; }
.pole-divider span { font-family: var(--font-sans); }

/* ===== contraste medido (_ferramentas/overrides/bm-shavers.auto.css) ===== */
/* gerado por pbg-contrast.mjs: cor do texto ajustada para contraste >= 4,5:1 (3:1 em texto grande) */

