/* AddisFly — contrast and tap-target fixes for every public page (Oct 2026).
 *
 * Loaded on all website pages (hooks.py web_include_css). Each rule answers a
 * failure from an automated audit (WCAG 2.1 AA: 4.5:1 for body text, 3:1 for
 * large text; tap targets at least ~40 px on phones). The brand red itself was
 * moved from #ea1d24 (4.47:1 on white) to #e51b22 (4.65:1) in the source files.
 * !important only where the original rule is inline or loaded after this file.
 */

/* ── Contrast ─────────────────────────────────────────────── */
.af-alt-link.af-alt-call { color: #15803d !important; }                 /* 3.3 → 5.0 */
.af-destmap-legend-item,
.af-destmap-chips-label,
.af-destmap-stat-label { color: #a3a3a3 !important; }                  /* on #0a0a0a: 3.5–4.4 → 7.8 */
.af-partners-label { color: rgba(0, 0, 0, .62) !important; }           /* 2.4 → 5.2 */
.af-testimonial-stars { color: #b45309 !important; }                   /* 1.7 → 5.0 */
.af-verified-badge { color: #047857 !important; }                      /* 3.6 → 5.5 */
.af-footer-copy { color: rgba(255, 255, 255, .72) !important; }        /* 3.8 → 8.6 */
.af-xp-card-badge--direct { background: #047857 !important; }          /* white on #10b981 2.5 → 5.5 */

/* ── Tap targets ──────────────────────────────────────────── */
/* Carousel dots stay 8 px to look at, with a 32 px invisible hit area. */
.af-carousel-dot { position: relative; }
.af-carousel-dot::after { content: ""; position: absolute; inset: -12px -6px; }
@media (max-width: 768px) {
    .af-region-btn, .af-route-search, .af-tp-suggest { min-height: 40px; }
    .af-check-toggle { min-height: 36px; display: inline-flex; align-items: center; }
    /* Frappe's /contact form: 28 px fields and a 29 px Send button */
    body[data-path="contact"] .form-control { min-height: 44px; }
    body[data-path="contact"] .btn { min-height: 44px; padding-left: 20px; padding-right: 20px; }
    /* "Follow us" social links under the contact channels */
    .afcc-social a { display: inline-flex; align-items: center; min-height: 40px; }
}
