/* === AP Mobile Polish (5.6.3.x) === */
@media (max-width: 1000px) {
  /* Campaign Map wrappers */
  .campaign-map, .map-wrapper, .map-canvas, .leaflet-container { max-width:100%; width:100%; overflow:visible; }
  .campaign-map img, .campaign-map canvas, .campaign-map svg,
  .map-wrapper img, .map-wrapper canvas, .map-wrapper svg { max-width:100%; height:auto; display:block; }

  /* About page spacing */
  body.page:not(.home):not(.front-page) .site-main,
  body.page:not(.home):not(.front-page) .entry-content { padding-left:16px; padding-right:16px; box-sizing:border-box; }
  body.page:not(.home):not(.front-page) .entry-content img { max-width:100%; height:auto; display:block; }
  body.page:not(.home):not(.front-page) .hero { padding-left:16px; padding-right:16px; }

  /* Quests archive: preserve text-only cards */
  body.post-type-archive-quest .cards .card { background:#fff; }

  /* Start Here hamburger visibility */
  .ap-nav-toggle { display:inline-flex !important; align-items:center; justify-content:center; width:40px; height:40px; z-index:10000; position:relative; }

  /* Contact message readability */
  .page-contact .wpcf7 form .wpcf7-response-output,
  .page-contact .nf-form-errors,
  .page-contact .form-notice,
  .page-contact .error,
  .page-contact .notice { font-size:16px; line-height:1.4; padding:10px 12px; border-radius:8px; margin-top:10px; color:#111; background:#fffcdc; border:1px solid #e6d84c; word-wrap:break-word; white-space:normal; }
  .page-contact .wpcf7-not-valid-tip { display:block; font-size:14px; color:#b00020; margin-top:6px; white-space:normal; }
  .page-contact input[type="text"], .page-contact input[type="email"], .page-contact input[type="url"],
  .page-contact input[type="tel"], .page-contact textarea, .page-contact select { width:100%; max-width:100%; box-sizing:border-box; }
}
