/* Estilos de formulário globais. Precisam ser globais (não com escopo do Astro) porque os
   elementos reais são renderizados dentro de ilhas React — o atributo data-astro-cid não chega
   até eles, então um <style> escopado na página nunca casaria com o input de verdade. */
input::placeholder, textarea::placeholder { color: var(--gray-400); }

input[type="range"].emu-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 999px; background: var(--gray-700); outline: none; }
input[type="range"].emu-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; border-radius: 50%; background: var(--gold); border: 4px solid var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,.4); cursor: pointer; }
input[type="range"].emu-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--gold); border: 4px solid var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,.4); cursor: pointer; }
input[type="range"].emu-range:focus-visible { box-shadow: var(--focus-ring); }

@media (max-width: 640px) {
  .emu-pricing-divider { border-left: none !important; padding-left: 0 !important; }
}

.emu-form-grid-2col { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px 16px; }
@media (max-width: 560px) {
  .emu-form-grid-2col { grid-template-columns: minmax(0,1fr); }
}

/* Título/subtítulo do gate de compra (/comprar) — precisam ser globais porque
   o texto muda por etapa dentro de VerificarCliente.jsx (ilha React), não é
   fixo no HTML da página. */
.cmp-h1 { font-size: clamp(24px,3vw,32px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; color: var(--text-heading); margin: 0 0 12px; text-wrap: pretty; }
.cmp-lead { font-size: 16px; color: var(--text-body); line-height: 1.6; margin: 0 0 32px; }
