/* Conversor WebP — estilos compartilhados pelos três idiomas */

html { scroll-behavior: smooth; }

/* --------------------------------------------------------------------------
   Blocos de anúncio (AdSense)

   Enquanto não houver uma unidade real na página, nada é renderizado: os
   pontos de inserção existem apenas como comentários no HTML. Placeholder
   visível ("Espaço para Anúncio") é motivo frequente de reprovação na
   análise do AdSense, porque o site parece incompleto ou um template.

   Quando a unidade real entrar, .ad-unit reserva a altura para limitar o
   deslocamento de layout (CLS) no momento em que o anúncio carrega.
   -------------------------------------------------------------------------- */
.ad-unit { width: 100%; margin: 2rem auto; }
.ad-unit--top     { min-height: 90px;  }
.ad-unit--rect    { min-height: 250px; }
.ad-unit--article { min-height: 280px; }

.ad-label {
  margin: 0 0 4px;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  color: #94a3b8;
}

/* Impressão não preenchida (unfilled): o AdSense NÃO recolhe o espaço
   sozinho — ele apenas marca a tag com data-ad-status="unfilled". A primeira
   regra esconde a unidade em qualquer navegador; a segunda recolhe o bloco
   inteiro, rótulo e altura reservada incluídos, onde houver suporte a :has().
   Sem :has(), o pior caso é a altura reservada continuar vazia — nunca uma
   caixa cinza com texto. */
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
.ad-unit:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none; }

.accordion-panel { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.accordion-item[data-open="true"] .accordion-icon { transform: rotate(45deg); }

article p { text-wrap: pretty; }

/* Submenu de ferramentas no topo: <details> sem a setinha nativa.
   Os links ficam no HTML mesmo fechado, então o Google os segue. */
.nav-dd > summary { list-style: none; }
.nav-dd > summary::-webkit-details-marker { display: none; }
.nav-dd > summary::marker { content: ''; }

/* Editor de PDF: camada de anotação sobre a página renderizada */
.anno-item { touch-action: none; }
.anno-text:empty::before { content: attr(data-placeholder); color: #94a3b8; }

.dragging { transform: scale(1.01); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .accordion-panel { transition: none; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
