.practice-footer-group > summary { list-style: none; }
.practice-footer-group > summary::-webkit-details-marker { display: none; }
@media (min-width: 640px) {
  .practice-footer-group > summary { pointer-events: none; }
}
@media (max-width: 639px) {
  cite.flex { min-width: 0; }
  cite.flex > div { min-width: 0; }
  cite.flex .w-64 { max-width: 100%; }
  cite.flex > img { flex-shrink: 0; }
  .practice-cta { width: 100%; min-height: 48px; height: auto; white-space: normal; }
  .practice-cta-group { flex-direction: column; gap: 12px; margin-top: 24px; }
  .practice-cta-group > .practice-cta { margin: 0; }
  .practice-footer { text-align: left; }
  .practice-footer-columns { padding-top: 16px; gap: 0; }
  .practice-footer-group { border-bottom: 1px solid #cbd5e0; }
  .practice-footer-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; cursor: pointer; }
  .practice-footer-group > summary h2 { margin: 0; font-size: 14px; }
  .practice-footer-group > summary::after { content: '+'; font-size: 22px; }
  .practice-footer-group[open] > summary::after { content: '−'; }
  .practice-footer-group li { padding: 0; }
  .practice-footer-group li a, .practice-footer-group li button { display: flex; align-items: center; min-height: 44px; padding: 8px 0; text-align: left; }
  .practice-footer-group ul { padding-bottom: 12px; }
  .practice-footer-rating { font-size: 13px; white-space: nowrap; }
  .practice-footer-rating svg { width: 18px; height: 18px; flex-shrink: 0; }
}
@media (max-width: 360px) {
  header > div > div:first-child svg { max-width: calc(100vw - 104px); height: auto; }
}

/* Keep the desktop pricing order; mobile presents price, action, then detail. */
.practice-price-content { display: flex; flex-direction: column; }
.practice-price-action { order: 2; margin-top: 3rem; }
.practice-price-features { order: 1; }
@media (max-width: 639px) {
  .practice-hero-frame { margin-top: 0; padding-top: 0; padding-bottom: 24px; }
  .practice-page-hero { padding-top: 24px; padding-bottom: 24px; }
  .practice-list-hero { padding-top: 24px; padding-bottom: 24px; }
  .practice-list-hero h1 { font-size: 28px; line-height: 1.15; }
  .practice-list-hero > p:last-child { padding-top: 12px; }
  #testGrid { gap: 12px; }
  #testGrid > li > a > .flex-1 { padding: 16px 16px 8px; }
  #testGrid h2 { font-size: 20px; line-height: 1.25; }
  #testGrid > li > a > .flex-1 > p { margin: 8px 0; font-size: 14px; line-height: 1.45; }
  #testGrid > li > a > .px-6 { padding-left: 16px; padding-right: 16px; }
  #testGrid .text-2xl { font-size: 18px; }
  #testGrid .py-4 { padding-top: 8px; padding-bottom: 8px; }
  .practice-price-action { order: 0; margin-top: 0; margin-bottom: 20px; }
  #buyTests { padding: 48px 20px 24px; }
  #buyTests > #js-subs-pricing-table { margin-top: 24px; }
}
