/* ============================================================
   Loja Core · base.css — identidade por cima do design system
   Carrega DEPOIS de todas as folhas do tema (deps dinâmicas no enqueue).
   Tokens: --lc-* impressos em :root por inc/brand.php (lc_print_tokens).
   ============================================================ */

/* ---- Tipografia ---------------------------------------------------- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body,
.mo-hdr-main,
.mo-footer-a,
.home-mo,
.pdp-mo,
.ob-checkout-shell,
.ob-acc-shell {
  font-family: var(--lc-font-body);
}

/* Blocksy força Poppins + uppercase em h1–h6 (e o filho reforçava): a regra
   fica no próprio heading, não no wrapper (quirk documentado). */
h1, h2, h3, h4, h5, h6,
.mo-section-head__title,
.mo-herov2__title,
.pdp-buy__title,
.pdp-mo h1, .pdp-mo h2, .pdp-mo h3,
.ob-acc-shell h1, .ob-acc-shell h2, .ob-acc-shell h3,
.mo-inst h1, .mo-inst h2, .mo-inst h3 {
  font-family: var(--lc-font-display);
  text-transform: none;
  letter-spacing: -0.01em;
  font-weight: 700;
}

/* Números alinhados em preços, parcelas, totais, CEP, quantidades. */
.pdp-buy__price-v6,
.pdp-sbb-root,
.mo-pcard__price, .mo-pcard__pix, .mo-pcard__inst,
.ob-summary, .ob-cart__totals, .ob-checkout-shell .ob-summary__total,
.ob-acc-shell .ob-acc-order__total,
.mo-herov2__price,
.lcc__pricing, .lch__pricebox, .pdp-buy__fin, .pdp-sim {
  font-variant-numeric: tabular-nums;
}

/* ---- Foco visível (teclado) --------------------------------------- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: none;
  box-shadow: var(--lc-focus);
  border-radius: var(--lc-r-sm);
}

/* ---- Logo / lockup ------------------------------------------------- */
.lc-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  line-height: 1;
  color: inherit;
}
.lc-logo__mark { display: inline-flex; flex: 0 0 auto; }
.lc-logo__mark svg { display: block; }
.lc-logo__text { display: flex; flex-direction: column; gap: 2px; }
.lc-logo__word {
  font-family: var(--lc-font-display);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--lc-primary);
}
.lc-logo__word em { font-style: normal; color: var(--lc-cta); }
.lc-logo__tag {
  font-family: var(--lc-font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.28em;
  color: var(--lc-ink-3);
}
.lc-logo--dark .lc-logo__word,
.lc-logo--dark .lc-logo__word em { color: var(--lc-on-dark); }
.lc-logo--dark .lc-logo__tag { color: var(--lc-on-dark-2); }
@media (max-width: 480px) {
  .lc-logo__word { font-size: 19px; }
  .lc-logo__tag { font-size: 9.5px; letter-spacing: 0.22em; }
}

/* ---- Filete de assinatura (topo do site e do rodapé) ---------------- */
.lc-filete {
  display: block;
  height: 3px;
  background: var(--lc-filete);
}

/* ---- Botões da identidade ------------------------------------------ */
.lc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 20px;
  border-radius: var(--lc-r);
  border: 1.5px solid transparent;
  font-family: var(--lc-font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--lc-t) var(--lc-ease), color var(--lc-t) var(--lc-ease), box-shadow var(--lc-t) var(--lc-ease), transform var(--lc-t) var(--lc-ease);
}
.lc-btn--cta { background: var(--lc-cta); color: var(--lc-cta-ink); box-shadow: var(--lc-shadow-cta); }
.lc-btn--cta:hover { background: var(--lc-cta-hover); color: var(--lc-cta-ink); transform: translateY(-1px); }
.lc-btn--primary { background: var(--lc-primary); color: var(--lc-on-dark); }
.lc-btn--primary:hover { background: var(--lc-primary-deep); color: var(--lc-on-dark); }
.lc-btn--ghost { background: transparent; color: var(--lc-primary); border-color: var(--lc-primary-soft); }
.lc-btn--ghost:hover { background: var(--lc-primary-50); }
.lc-btn:active { transform: translateY(0); }

/* ---- Movimento reduzido ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .lc-btn { transition: none; }
}
