/* Nati Weiss - canonical CTA button system v28
   Single source of truth. Two visual types only: primary bronze and secondary black. */
:root {
  --btn-bronze: #C8A96B;
  --btn-bronze-hover: #D2B575;
  --btn-champagne: #C8A96B;
  --btn-ink: #0F0E0C;
  --btn-dark: #0F0E0C;
  --btn-dark-hover: #16140F;
  --btn-light: #EDE8DE;
  --btn-ease: cubic-bezier(.16, 1, .3, 1);
}

.action-btn {
  min-height: 50px;
  padding: 11px 25px;
  border: 1px solid rgba(200,169,107,.80);
  border-radius: 0;
  background: var(--btn-dark);
  color: var(--btn-light);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .015em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,.24);
  transform: translateY(0);
  transition: transform .16s var(--btn-ease), background-color .20s ease, border-color .20s ease, box-shadow .22s ease, color .20s ease;
  -webkit-tap-highlight-color: transparent;
}

.action-btn.primary-btn {
  background: var(--btn-bronze);
  border-color: var(--btn-champagne);
  color: var(--btn-ink);
  box-shadow: 0 9px 22px rgba(0,0,0,.26), 0 0 20px rgba(200,169,107,.10);
}

.action-btn.secondary-btn {
  background: var(--btn-dark);
  border-color: rgba(200,169,107,.80);
  color: var(--btn-light);
}

.action-btn > *,
.action-btn .btn-content,
.action-btn .btn-content > *,
.action-btn .submit-plane {
  position: relative;
  z-index: 1;
  color: inherit;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

.action-btn .btn-content { display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
.action-btn .submit-plane { width: 20px; height: 20px; flex: 0 0 20px; display: block; fill: currentColor; }
.action-btn svg:not(.submit-plane) { width: 19px; height: 19px; flex: 0 0 19px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

@media (hover:hover) and (pointer:fine) {
  .action-btn:not(:disabled):hover {
    transform: translateY(-1.25px);
    box-shadow: 0 13px 28px rgba(0,0,0,.31), 0 0 0 1px rgba(200,169,107,.08), 0 0 24px rgba(200,169,107,.16);
  }
  .action-btn.primary-btn:not(:disabled):hover { background: var(--btn-bronze-hover); border-color: #D3B779; color: var(--btn-ink); }
  .action-btn.secondary-btn:not(:disabled):hover { background: var(--btn-bronze); border-color: #D3B779; color: var(--btn-ink); }
}

.action-btn:not(:disabled):active {
  transform: translateY(-1.65px);
  box-shadow: 0 10px 23px rgba(0,0,0,.28), inset 0 1px 1px rgba(255,255,255,.035);
  transition-duration: .055s;
}
.action-btn:focus-visible { outline: 2px solid #E0C38A; outline-offset: 3px; }
.action-btn:disabled, .action-btn[aria-disabled="true"] { cursor: wait; opacity: .62; transform: none; box-shadow: none; }

@media (max-width:560px) {
  .hero-actions { align-items: center; }
  .hero-actions .action-btn { width:auto; min-width:176px; max-width:min(82vw,252px); min-height:48px; padding:10px 21px; font-size:15.5px; }
}
@media (max-width:420px) { .hero-actions .action-btn { min-width:172px; max-width:min(84vw,240px); } }

.form-submit-row .action-btn { width:auto; min-width:0; max-width:calc(100vw - 36px); min-height:47px; padding:10px 18px; font-size:15.5px; letter-spacing:0; white-space:nowrap; }
.form-submit-row #contact-submit { min-width:174px; }
.form-submit-row #contact-done { min-width:124px; }
.form-submit-row #contact-submit-text { white-space:nowrap; }
.page-back .action-btn { min-height:49px; padding:10px 25px; font-size:16px; }

html.a11y-highlight-links .action-btn { box-shadow:0 12px 28px rgba(0,0,0,.30), 0 0 0 2px #E0C38A, 0 0 0 5px rgba(224,195,138,.18) !important; }
html.a11y-highlight-links .action-btn:focus-visible { outline:3px solid #fff !important; outline-offset:4px !important; box-shadow:0 0 0 2px #16140F, 0 0 0 6px #E0C38A !important; }
html.a11y-readable-font .action-btn { font-weight:700 !important; }
html.a11y-contrast .action-btn { border-color:#E0C38A !important; box-shadow:none !important; }
html.a11y-contrast .action-btn.primary-btn { color:#000 !important; background:#E0C38A !important; }
html.a11y-contrast .action-btn.secondary-btn { color:#E0C38A !important; background:#000 !important; }
html.a11y-contrast .action-btn.secondary-btn:hover, html.a11y-contrast .action-btn.secondary-btn:focus-visible { color:#000 !important; background:#E0C38A !important; }
html.a11y-contrast .action-btn span, html.a11y-contrast .action-btn svg { color:inherit !important; }
@media (prefers-reduced-motion:reduce) { .action-btn { transform:none !important; transition:none !important; } }
html.a11y-no-motion .action-btn { transform:none !important; transition:none !important; }
