/* Shared button geometry; the layer supersedes legacy unlayered important rules. */
@layer buttons {
  :is(.btn, .primary-button, .secondary-button) {
    box-sizing: border-box !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 11px 18px !important;
    border-radius: 12px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    gap: 8px !important;
    text-decoration: none !important;
  }
  :is(.btn.primary, .primary-button) { background:#1e4030 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border:1px solid #1e4030 !important; }
  :is(.btn.primary, .primary-button):not(:disabled):hover { background:#28543e !important; border-color:#28543e !important; }
  :is(.btn.secondary, .secondary-button) { background:#fff !important; color:#234b35 !important; -webkit-text-fill-color:#234b35 !important; border:1px solid #91ac99 !important; }
  :is(.btn.secondary, .secondary-button):not(:disabled):hover { background:#edf5ef !important; border-color:#4b8058 !important; }
  .btn:is(.danger,.danger-button,.reject-btn) { background:#fff1ef !important; color:#912c23 !important; -webkit-text-fill-color:#912c23 !important; border:1px solid #d9a39c !important; }
  .btn:is(.danger,.danger-button,.reject-btn):not(:disabled):hover { background:#ffe3df !important; }
  @media (max-width:768px) {
    .btn.mobile-outline-light,
    .btn.mobile-outline-light:not(:disabled):hover {
      background:transparent !important;
      color:#fff !important;
      -webkit-text-fill-color:#fff !important;
      border:1px solid #fff !important;
      box-shadow:none !important;
    }
    .btn.mobile-outline-light:focus-visible { outline-color:#fff !important; }
  }
  .btn.small { min-height: 44px !important; padding: 10px 14px !important; font-size: 13px !important; }
  :is(.btn, .primary-button, .secondary-button):focus-visible { outline: 3px solid #4b8058 !important; outline-offset: 3px !important; }
  :is(.btn, .primary-button, .secondary-button):is(:disabled, [aria-disabled="true"], [aria-busy="true"]) { opacity: .6 !important; cursor: wait !important; }
  :is(.btn, .primary-button, .secondary-button):is(:disabled, [aria-disabled="true"]) { cursor: not-allowed !important; }
}
.btn { transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.btn:not(:disabled):not([aria-disabled="true"]):hover { box-shadow: 0 3px 12px #163f241a; }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } }

@layer buttons {
  @media (min-width: 1024px) {
    .btn.primary.desktop-outline-light {
      background: transparent !important;
      border: 1px solid #fff !important;
      color: #fff !important;
      -webkit-text-fill-color: #fff !important;
      box-shadow: none !important;
    }
    .btn.primary.desktop-outline-light:not(:disabled):hover {
      background: #ffffff14 !important;
      border-color: #fff !important;
      box-shadow: none !important;
    }
    .btn.desktop-outline-light:focus-visible { outline-color: #fff !important; }
  }
}
