/* JCCPA 2026-08-13 preview fixes */

/* Mobile navigation: right aligned, opaque, generous tap targets. */
@media (max-width: 760px) {
  .site-header {
    position: relative;
  }

  .site-header .menu-button {
    position: relative;
    z-index: 1002;
    margin-left: auto;
    min-width: 48px;
    min-height: 48px;
  }

  .site-header > nav {
    position: absolute;
    z-index: 1001;
    top: 100%;
    right: 5.5vw;
    left: auto;
    width: min(320px, 89vw);
    padding: 10px;
    border: 1px solid rgba(38, 61, 70, .18);
    background: #faf9f6;
    box-shadow: 0 18px 42px rgba(38, 61, 70, .2);
  }

  .site-header > nav a {
    display: flex;
    min-height: 48px;
    padding: 12px 16px;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
  }

  .site-header > nav .nav-cta {
    justify-content: center;
  }

  /* Use the full mobile width for service explanations. */
  .service-list,
  .service-detail-page,
  .detail-section,
  .detail-question-list,
  .detail-question-list article,
  .detail-question-list p {
    width: 100%;
    max-width: none;
  }

  /* Required service selector order and unboxed titles. */
  .service-chooser-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-top: 14px;
  }

  .service-choice {
    display: block;
    min-height: 48px;
    padding: 10px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .service-chooser-head > p {
    max-width: none;
    margin-top: 14px;
  }
}
