/* Hallmark · existing Lomax system · clear actions and a compact mobile contact bar.
   Pre-emit critique: P5 H5 E4 S5 R5 V4. Button-state reference: EasyUI Button. */
:root {
  --action-fill: #79583b;
  --action-hover: #5e4029;
  --action-on-fill: #fff;
  --action-surface: #fff;
  --action-ink: #302922;
  --action-line: #b8aa9b;
  --action-focus: #79583b;
  --action-radius: 999px;
  --action-motion: 160ms ease;
  --action-bar-height: 78px;
}
.conversion-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  max-width: 100%;
  padding: 13px 22px;
  border: 1px solid var(--action-line);
  border-radius: var(--action-radius);
  background: var(--action-surface);
  color: var(--action-ink);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--action-motion), border-color var(--action-motion), transform var(--action-motion);
}
.conversion-action.conversion-action--primary {
  background: var(--action-fill);
  border-color: var(--action-fill);
  color: var(--action-on-fill);
  box-shadow: 0 2px 0 rgb(48 41 34 / 12%);
}
.conversion-action:focus-visible,
.mobile-contact-bar a:focus-visible {
  outline: 3px solid var(--action-focus);
  outline-offset: 4px;
}
.conversion-action:active { transform: translateY(1px); }
@media (hover: hover) {
  .conversion-action:hover { border-color: var(--action-ink); background: var(--color-glass, #eee7dd); }
  .conversion-action.conversion-action--primary:hover { background: var(--action-hover); border-color: var(--action-hover); color: var(--action-on-fill); }
}
.conversion-action[aria-disabled="true"],
.conversion-action:disabled { cursor: wait; opacity: .65; transform: none; }
.mobile-contact-bar { display: none; }
@media (max-width: 760px) {
  .mobile-contact-bar:not([hidden]) {
    position: fixed;
    z-index: 30;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 10px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: var(--action-surface);
    border-top: 1px solid var(--action-line);
    box-shadow: 0 -6px 24px rgb(48 41 34 / 8%);
  }
  .mobile-contact-bar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    min-height: 50px;
    border: 1px solid var(--action-line);
    border-radius: var(--action-radius);
    padding: 12px 10px;
    background: var(--action-surface);
    color: var(--action-ink);
    font: 650 14px/1.2 var(--font-body);
    white-space: nowrap;
    text-decoration: none;
  }
  .mobile-contact-bar .mobile-contact-estimate { background: var(--action-fill); border-color: var(--action-fill); color: var(--action-on-fill); }
  .mobile-contact-bar svg { width: 17px; height: 17px; flex: none; }
  .mobile-contact-bar a:active { transform: translateY(1px); }
  html:has(.mobile-contact-bar:not([hidden])) { scroll-padding-bottom: calc(var(--action-bar-height) + env(safe-area-inset-bottom)); }
  .conversion-action { gap: 8px; padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .conversion-action { transition: none; }
  .conversion-action:active, .mobile-contact-bar a:active { transform: none; }
}
@media print { .mobile-contact-bar { display: none !important; } }
