/* Accessibility helper */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Section spacing */
.quick-actions { padding: 1.5rem 0 2rem; }

/* Grid */
.qa-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 992px) { .qa-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .qa-grid { grid-template-columns: 1fr; } }

/* Button (anchor) */
.qa-btn {
  --qa-blue-1: #1b74e4;         /* primary */
  --qa-blue-2: #0f5bd4;         /* darker */
  --qa-blue-3: #0b4ab1;         /* hover shadow */
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  background: linear-gradient(180deg, var(--qa-blue-1), var(--qa-blue-2));
  color: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(16, 84, 196, 0.25);
  position: relative;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

/* Icon & text */
.qa-icon { display: inline-flex; line-height: 0; opacity: .95; }
.qa-text { display: flex; flex-direction: column; line-height: 1.1; }
.qa-text strong { font-size: 1.05rem; font-weight: 700; }
.qa-text em { font-style: normal; font-size: .85rem; opacity: .9; }

/* Badge (e.g., "New") */
.qa-badge {
  position: absolute; top: -8px; right: -8px;
  background: #19c37d; color: #0b2a15;
  font-size: .72rem; font-weight: 700;
  padding: 2px 8px; border-radius: 999px;
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

/* Hover / focus */
.qa-btn:hover,
.qa-btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(11, 74, 177, 0.32);
  filter: brightness(1.03);
  outline: none;
}

/* Active (click) */
.qa-btn:active { transform: translateY(0); filter: brightness(.98); }

/* High-contrast focus ring for keyboard users */
.qa-btn:focus-visible {
  box-shadow:
    0 0 0 3px rgba(255,255,255,.85),
    0 0 0 5px rgba(27,116,228,.85),
    0 10px 22px rgba(11, 74, 177, 0.32);
}
