/* ═══════════════════════════════════════════════════════════════
   AgriHire — Mobile UX hardening
   - 16px inputs (prevents iOS zoom-on-focus)
   - 44px minimum tap targets (Apple HIG)
   - Safe-area padding for notched phones
   ═══════════════════════════════════════════════════════════════ */

input, select, textarea {
  font-size: 16px !important;
}

/* Buttons & links that look like buttons must be tappable */
button,
.btn,
[role="button"],
a.btn,
a.button,
.btn-primary,
.btn-secondary,
.btn-sec,
.btn-danger {
  min-height: 44px;
  min-width: 44px;
}

/* Bottom tab bars / sticky action bars — respect notched phones */
.bottom-nav,
.tab-bar,
.sticky-cta,
.ah-bottom-bar {
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
}

/* Sticky bottom CTA wrapper: wrap your submit inside <div class="sticky-cta">…</div> */
.sticky-cta {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #E5EAE2;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
  z-index: 50;
}

/* Floating Post Job FAB */
.fab-post-job {
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #4A9B3F;
  color: #fff;
  border: none;
  font-size: 28px;
  font-weight: 900;
  box-shadow: 0 8px 24px rgba(74, 155, 63, 0.4);
  cursor: pointer;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fab-post-job:active { transform: scale(0.94); }
@media (min-width: 900px) { .fab-post-job { display: none; } }

/* Progress bar for multi-step forms */
.ah-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 700;
  color: #3A4858;
}
.ah-progress-bar {
  flex: 1;
  height: 8px;
  background: #E5EAE2;
  border-radius: 999px;
  overflow: hidden;
}
.ah-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #4A9B3F, #6FBF62);
  transition: width 0.3s ease-out;
  border-radius: 999px;
}

/* Empty states */
.ah-empty {
  text-align: center;
  padding: 40px 20px;
  color: #6B7684;
}
.ah-empty .icon {
  font-size: 56px;
  margin-bottom: 12px;
  line-height: 1;
  opacity: 0.75;
}
.ah-empty h3 {
  font-size: 18px;
  font-weight: 900;
  color: #0D1B2E;
  margin-bottom: 8px;
}
.ah-empty p {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 18px;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.ah-empty .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #4A9B3F;
  color: #fff;
  padding: 12px 22px;
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none;
  min-height: 48px;
  border: none;
  cursor: pointer;
  font-size: 15px;
}
