/* Persistent direct contact, using the green from the original Big Tex artwork. */
.quick-contact {
  position: fixed;
  z-index: 24;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(22px, calc(env(safe-area-inset-bottom) + 12px));
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px;
  border: 1px solid #64f81745;
  border-radius: 12px;
  background: #050805;
  box-shadow: 0 8px 30px #000b, 0 0 26px #64f81726;
  isolation: isolate;
}
.quick-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 92px;
  min-height: 48px;
  padding: 12px 17px;
  border: 1px solid var(--brand, #64f817);
  border-radius: 6px;
  font: 700 15px/1.2 var(--body, sans-serif);
  white-space: nowrap;
  text-decoration: none;
  transition: background .18s ease, box-shadow .18s ease, color .18s ease;
}
.quick-contact-link svg { display: block; flex: none; width: 20px; height: 20px; }
.quick-contact-text {
  color: #071004;
  background: var(--brand, #64f817);
  box-shadow: 0 0 16px #64f81735;
}
.quick-contact-call { color: var(--brand, #64f817); background: #050805; }
.quick-contact-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
body:has(dialog[open]) .quick-contact { display: none; }

@media (hover: hover) {
  .quick-contact-text:hover { background: #82ff40; box-shadow: 0 0 24px #64f81760; }
  .quick-contact-call:hover { color: #071004; background: var(--brand, #64f817); box-shadow: 0 0 20px #64f81735; }
}
@media (max-width: 760px) {
  .quick-contact {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 8px));
    gap: 6px;
    padding: 6px;
    border-radius: 10px;
  }
  .quick-contact-link { min-height: 46px; min-width: 84px; padding: 11px 13px; gap: 8px; font-size: 14px; }
  /* Leave the keyboard and the form's own controls unobstructed while typing. */
  body:has(:is(.contact-inquiry, #finance-builder, #finance-inquiry-form) :is(input, textarea, select):focus) .quick-contact { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .quick-contact-link { transition: none; }
}
@media print {
  .quick-contact { display: none; }
}
