/* Shared presentation only: station colors and themes remain authoritative. */
main:has(> #jd-mobile-app) {padding-bottom:24px!important} /* Overrides the legacy inline 64px. */
/* Same-size related-project cards on the compatible homepages. */
#site-footer .footer-logo-card {width:136px;min-width:0;flex:0 1 136px}
#site-footer .footer-logo-name,
#site-footer .footer-logo-sub {max-width:100%;white-space:normal;overflow-wrap:anywhere}
#jd-mobile-app {
  box-sizing: border-box;
  margin: 32px 0;
  padding: clamp(18px,3vw,32px);
  color: var(--fg,#121417);
  background: var(--card,#f8fafc);
  border: 1px solid var(--border,#e5e7eb);
  border-top: 3px solid var(--brand,#2aa8a0);
  border-radius: var(--radius,16px);
  box-shadow: var(--shadow-1,0 1px 4px #0001);
  min-inline-size: 0;
  min-height: 228px;
}
#jd-mobile-app[hidden] {display:none}
#jd-mobile-app .jd-mobile-content {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
#jd-mobile-app .jd-mobile-copy {flex:1 1 280px;min-width:0}
#jd-mobile-app h2 {font:inherit;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 10px;letter-spacing:-.02em;color:var(--fg,#121417)}
#jd-mobile-app p {margin:0;line-height:1.5}
#jd-mobile-app .jd-mobile-lead {font-size:1rem;max-width:42ch;text-wrap:pretty}
#jd-mobile-app .jd-mobile-available {font-size:.875rem;margin-top:6px;color:var(--muted,#6b7280)}
#jd-mobile-app .jd-mobile-stores {display:flex;flex-wrap:wrap;gap:0;align-items:center;justify-content:flex-start;min-width:0}
/* Each 204 x 80 slot reserves unchanged space, including at least 12px clear space. */
#jd-mobile-app .jd-store-slot {width:204px;height:auto;min-height:max(80px,5rem);flex:0 0 204px;display:flex;align-items:center;justify-content:center}
#jd-mobile-app .jd-store-link {display:inline-flex;padding:12px;background:transparent;border:0;border-radius:0;box-shadow:none;text-decoration:none;align-items:center;justify-content:center}
#jd-mobile-app .jd-store-link:focus-visible {outline:3px solid var(--fg,#121417);outline-offset:0;border-radius:4px}
#jd-mobile-app .jd-store-badge {display:block;height:48px;width:auto;max-width:none;min-height:40px;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:none;opacity:1;transform:none;animation:none;transition:none}
#jd-mobile-app .jd-store-coming {box-sizing:border-box;width:180px;min-height:48px;padding:4px 8px;border:1px dashed var(--border,#e5e7eb);border-radius:8px;color:var(--muted,#6b7280);background:var(--bg,#fff);font-size:.78rem;line-height:1.3;text-align:center;cursor:default;display:flex;align-items:center;justify-content:center}
#jd-mobile-app .jd-store-coming span {display:block}
#jd-mobile-app .jd-mobile-credit {margin-top:16px;color:var(--muted,#6b7280);font-size:.72rem;max-width:100ch;overflow-wrap:anywhere}
@media(max-width:560px) {
  #jd-mobile-app {min-height:0;margin-bottom:20px}
  #jd-mobile-app .jd-mobile-content {gap:10px}
  #jd-mobile-app .jd-mobile-copy {flex-basis:100%}
  #jd-mobile-app .jd-mobile-stores {width:100%;flex-direction:row;align-items:center}
  #jd-mobile-app .jd-store-slot {width:156px;flex:0 0 156px}
  #jd-mobile-app .jd-store-slot:first-child {width:147px;flex-basis:147px}
  #jd-mobile-app .jd-store-link {padding:10px}
  #jd-mobile-app .jd-store-badge {height:40px}
  #jd-mobile-app .jd-store-coming {width:136px;min-height:40px;padding-inline:6px;font-size:.75rem;line-height:1.2}
}
