:root {
  --diniz-gold: #b79874;
  --diniz-ink: #141414;
  --diniz-paper: #ffffff;
  --diniz-focus: #8a6338;
}

/* Acessibilidade e consistência dos controles. */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--diniz-focus) !important;
  outline-offset: 3px;
}

:where(button, input[type="button"], input[type="submit"], .elementor-button) {
  min-height: 48px;
}

:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  font-size: 16px;
}

.ast-mobile-menu-trigger-minimal,
.menu-toggle,
[aria-label="Main Menu"] {
  min-width: 44px;
  min-height: 44px;
}

/* O botão continua acessível sem cobrir os campos de formulário no mobile. */
@media (max-width: 767px) {
  .joinchat {
    --bottom: 16px;
    --sep: 16px;
  }

  .joinchat__button {
    transform: scale(.9);
    transform-origin: right bottom;
  }

  /* Colunas de imagem vazias que criavam mais de 2.600 px de espaço em Áreas. */
  .page-id-606 :is(
    .elementor-element-db1769b,
    .elementor-element-1b0e057,
    .elementor-element-19a8366,
    .elementor-element-e8474a6,
    .elementor-element-aefdd26,
    .elementor-element-1280bae,
    .elementor-element-a57321c,
    .elementor-element-9642c3d,
    .elementor-element-9cb1e1a,
    .elementor-element-6296ec7
  ) {
    display: none !important;
  }

  .page-id-606 .elementor-element-b985f57 .elementor-inner-section {
    margin-bottom: 40px !important;
  }

  .page-id-606 .elementor-element-b985f57 :where(h2, h3, h4) {
    text-wrap: balance;
  }

  .page-id-19 :where(
    .elementor-element-7bbcc2d,
    .elementor-element-124b894,
    .elementor-element-0a80c5f,
    .elementor-element-20078b1,
    .elementor-element-4d3298a
  ) > .elementor-container,
  .page-id-1261 .elementor-element-72a7b31 > .elementor-container {
    padding-inline: 20px;
  }
}

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

  .elementor-invisible {
    visibility: visible !important;
  }
}
