/* AfriPass Explore Mobile V2 — scoped to Explore. Desktop stays aligned with Sprint 4. */
.explore-page, .explore-page * { box-sizing:border-box; }
.explore-page { width:100%; max-width:100%; overflow-x:clip; }
.explore-page .explore-hero, .explore-page .directory-section { min-width:0; }
.explore-page .explore-hero h1 { overflow-wrap:break-word; }
.explore-page .explore-search > * { min-width:0; }
.explore-page .explore-search input, .explore-page .explore-search select { width:100%; max-width:100%; min-height:50px; padding:12px 15px; background:#fff; border:1px solid #d5e0e8; border-radius:14px; color:#0d1b2a; font:inherit; }
.explore-page .explore-search button { min-height:50px; padding:12px 20px; white-space:normal; }
.explore-page .directory-card { min-width:0; overflow-wrap:anywhere; display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.explore-page .directory-card h3, .explore-page .directory-card p { max-width:100%; margin-top:4px; }
.explore-page .directory-card a { margin-top:auto; min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
.explore-page .directory-card a:focus-visible, .explore-page .explore-search :focus-visible { outline:3px solid #1E88E5; outline-offset:3px; }
@media (max-width: 850px) {
  .explore-page .explore-hero { width:calc(100% - 28px); margin:18px auto 24px; padding:32px 24px; border-radius:24px; }
  .explore-page .explore-hero h1 { font-size:clamp(30px, 7.5vw, 48px); line-height:1.1; margin:14px 0; }
  .explore-page .explore-search { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:24px; }
  .explore-page .directory-section { width:calc(100% - 28px); margin:26px auto; }
  .explore-page .directory-section h2 { font-size:clamp(23px,5vw,30px); }
  .explore-page .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .explore-page .directory-card { padding:20px; border-radius:22px; box-shadow:0 12px 35px rgba(13,27,42,.07); }
  .explore-page .directory-card h3 { font-size:20px; line-height:1.3; }
}
@media (max-width: 580px) {
  .explore-page .explore-hero { padding:28px 18px; border-radius:20px; }
  .explore-page .explore-hero h1 { font-size:clamp(29px, 8vw, 39px); }
  .explore-page .directory-grid { grid-template-columns:minmax(0,1fr); }
  .explore-page .directory-card { padding:19px; }
  .explore-page .dir-avatar { width:58px; height:58px; border-radius:18px; font-size:24px; }
  .explore-page .directory-card a { align-self:stretch; justify-content:center; border-radius:12px; padding:10px 14px; background:#e9f8f1; color:#116a4a; }
  .explore-page .explore-search button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .explore-page *, .explore-page *::before, .explore-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
