/* CFW v1.9.2 — Homepage Quick Access cards */
.quick-access-section {
  margin: 18px 0 20px;
  padding: 18px;
  border: 1px solid #e0e9f2;
  border-radius: 18px;
  background: linear-gradient(145deg, #ffffff 0%, #f9fcff 100%);
  box-shadow: 0 7px 24px rgba(23, 62, 98, .045);
}
.quick-access-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 14px;
}
.quick-access-kicker {
  display: inline-block;
  margin-bottom: 4px;
  color: #2876c8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
}
.quick-access-heading h2 {
  margin: 0;
  color: #173d61;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.3;
}
.quick-access-heading p {
  margin: 4px 0 0;
  color: #7b8fa3;
  font-size: 11px;
  line-height: 1.5;
}
.quick-access-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #dce8f4;
  border-radius: 9px;
  background: #fff;
  color: #216bb3;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}
.quick-access-all:hover { background: #f0f7ff; border-color: #c6ddf4; }
.quick-access-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.quick-access-card {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 82px;
  box-sizing: border-box;
  padding: 13px;
  border: 1px solid #e2eaf2;
  border-radius: 13px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.quick-access-card:hover {
  transform: translateY(-2px);
  border-color: #cbdff1;
  box-shadow: 0 8px 20px rgba(26, 76, 119, .09);
}
.quick-access-icon {
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  border-radius: 12px;
  background: #edf5ff;
  color: #2875c4;
}
.quick-access-icon svg { display: block; width: 22px; height: 22px; }
.quick-access-copy { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.quick-access-copy strong {
  color: #244b6d;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}
.quick-access-copy small {
  color: #8192a3;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
}
.quick-access-arrow {
  flex: 0 0 auto;
  color: #a1b2c1;
  font-size: 16px;
  font-weight: 700;
  transition: transform .16s ease, color .16s ease;
}
.quick-access-card:hover .quick-access-arrow { transform: translate(2px,-2px); color: #2875c4; }
.qa-map .quick-access-icon { background: #eaf3ff; color: #2875c4; }
.qa-reports .quick-access-icon { background: #e9f8fb; color: #168ca3; }
.qa-report .quick-access-icon { background: #fff5e7; color: #c17b20; }
.qa-route .quick-access-icon { background: #eaf8f0; color: #25865a; }
.qa-rescue .quick-access-icon { background: #fff0ef; color: #d34b50; }
.qa-cases .quick-access-icon { background: #f2efff; color: #705ac4; }
.quick-access-secondary {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #edf1f5;
}
.quick-access-secondary a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #e4ebf2;
  border-radius: 8px;
  background: #fbfdff;
  color: #55728c;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none;
}
.quick-access-secondary a:hover { border-color: #c9dced; background: #f3f8fd; color: #216bb3; }
.quick-access-secondary a span { color: #2e7dc2; font-size: 14px; font-weight: 900; }
.quick-access-admin {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding: 10px 11px;
  border: 1px dashed #e4cfa7;
  border-radius: 10px;
  background: #fffbf3;
}
.quick-access-admin span { margin-right: 4px; color: #9b7132; font-size: 10px; font-weight: 900; }
.quick-access-admin a { color: #8b692e; font-size: 10px; font-weight: 800; text-decoration: none; }
.quick-access-admin a:hover { text-decoration: underline; }
#floodMap, #routePlanner { scroll-margin-top: 90px; }

@media (max-width: 900px) {
  .quick-access-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .quick-access-section { margin: 13px 0 16px; padding: 13px; border-radius: 14px; }
  .quick-access-heading { align-items: flex-start; margin-bottom: 11px; }
  .quick-access-heading h2 { font-size: 17px; }
  .quick-access-heading p { max-width: 250px; font-size: 10px; }
  .quick-access-all { padding: 7px 8px; font-size: 9px; }
  .quick-access-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .quick-access-card { align-items: flex-start; flex-direction: column; gap: 8px; min-height: 118px; padding: 11px; border-radius: 11px; }
  .quick-access-icon { flex-basis: 37px; width: 37px; height: 37px; border-radius: 10px; }
  .quick-access-icon svg { width: 20px; height: 20px; }
  .quick-access-copy strong { font-size: 11px; }
  .quick-access-copy small { font-size: 9px; }
  .quick-access-arrow { position: absolute; display: none; }
  .quick-access-secondary { gap: 6px; }
  .quick-access-secondary a { flex: 1 1 auto; justify-content: center; min-height: 34px; padding: 0 7px; font-size: 9px; }
  .quick-access-admin { gap: 7px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .quick-access-card, .quick-access-arrow { transition: none; }
  .quick-access-card:hover { transform: none; }
}

.qa-emergency .quick-access-icon { background: #fff0ed; color: #cf5547; }

/* Footer emergency-directory shortcut is global, not limited to emergency pages. */
.footer-emergency-more{display:inline-flex;align-items:center;gap:6px;margin-top:11px;padding:7px 10px;border:1px solid #dce8f3;border-radius:8px;background:#fff;color:#276db4;font-size:10px;font-weight:900;text-decoration:none}
.footer-emergency-more:hover{background:#f2f8ff}
