/* =========================
   BASE – LB EDITORIAL
========================= */

*{ box-sizing:border-box; }
html, body{ height:100%; }

body{
  margin: 0;
  font-family: var(--lb-font-body);
  color: var(--lb-text);
  background: var(--lb-offwhite);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6{
  font-family: var(--lb-font-title);
  font-size-adjust: var(--lb-font-title-adjust);
}


a{
  color: inherit;
  text-decoration: none;
}

a:hover{ text-decoration: underline; }

/* Container */
.lb-container{
  width: min(var(--lb-container), 100% - 40px);
  margin: 0 auto;
}

/* Utilidades */
.lb-muted{ color: var(--lb-muted); }
.lb-center{ text-align: center; }

/* Acessibilidade: texto apenas para leitores de tela (skip-link, labels auxiliares) */
.screen-reader-text{
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  white-space: nowrap;
}

.skip-link{
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(255,250,248,.96);
  border: 1px solid rgba(46,46,46,.14);
  color: var(--lb-ink, rgba(46,46,46,.84));
  z-index: 9999;
  transform: translateY(-140%);
  transition: transform .15s ease;
}
.skip-link:focus{
  transform: translateY(0);
}

/* Botões genéricos */
.lb-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid rgba(46,46,46,.14);

  background: var(--lb-offwhite);
  color: var(--lb-ink, rgba(46,46,46,.84));

  font-weight: 600;
  font-size: 14px;
  letter-spacing: .02em;

  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.lb-btn:hover{
  background: rgba(255,250,248,.92);
  border-color: rgba(46,46,46,.22);
  transform: translateY(-1px);
  text-decoration: none;
}

/* Variante escura */
.lb-btn-dark{
  background: var(--lb-dark);
  color: var(--lb-offwhite);
  border-color: rgba(46,46,46,.9);
}

.lb-btn-dark:hover{
  background: rgba(46,46,46,.92);
  border-color: rgba(46,46,46,.95);
}

/* Variante ghost (bem editorial) */
.lb-btn-ghost{
  background: transparent;
  color: var(--lb-ink-soft, rgba(46,46,46,.70));
  border-color: rgba(46,46,46,.16);
}

.lb-btn-ghost:hover{
  background: rgba(46,46,46,.04);
  border-color: rgba(46,46,46,.22);
}

/* Tamanho menor, para CTAs dentro de cards */
.lb-btn-sm{
  padding: 8px 16px;
  font-size: 13.5px;
}

/* Reduz overflow em grids/long words */
.lb-prose, .lb-card, .lb-archive, .lb-single{
  overflow-wrap: anywhere;
}

/* Ajuda com navegação por âncoras */
.lb-prose :where(h2,h3,h4){
  scroll-margin-top: 110px;
}

@media (prefers-reduced-motion: reduce){
  *{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* Mobile menu: bloqueio de scroll quando overlay está aberto */
body.lb-no-scroll{ overflow: hidden; }


/* =========================================
   LINKS – RESET GLOBAL (EDITORIAL PREMIUM)
   ========================================= */

a,
a:visited {
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: none;
}

/* Evita sublinhado herdado em elementos internos */
a span,
a strong,
a em {
  text-decoration: none;
}

/* Mantém acessibilidade: foco visível sem sublinhado */
a:focus-visible {
  outline: 2px solid rgba(156, 175, 136, 0.55);
  outline-offset: 3px;
  border-radius: 4px;
}
