
.page-transition { animation: slideIn 0.5s ease both; }
@keyframes slideIn {
  from { transform: translateX(-4vw); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

.is-hidden { display: none !important; }

.fab.is-parked {
  opacity: 0;
  transform: translateY(2vh);
  pointer-events: none;
}

.faq-item.is-open .pm { transform: rotate(180deg); }
.faq-item.is-open .pm::after { content: "\2212"; }

.field.is-error input { border-color: #f87171; box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.25); }
.field-msg { display: block; margin-top: 0.4rem; font-size: 14px; color: #fecaca; }

form.is-sending .btn-primary { opacity: 0.6; pointer-events: none; }

body.has-fab { padding-bottom: 12vh; }
