/* Official store artwork retains its colors and proportions in both themes. */
.app-promotion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; margin: 0 0 28px; padding: 24px; border: 1px solid var(--fp-line); border-radius: 14px; background: var(--fp-soft); color: var(--fp-ink); }
.app-promotion-copy { flex: 1 1 280px; min-width: 0; }
.app-promotion .app-promotion-copy h2 { margin: 0 0 8px; color: var(--fp-ink); font: 700 20px/1.3 var(--fp-font); letter-spacing: -.02em; }
.app-promotion .app-promotion-copy p { max-width: 52ch; margin: 0; color: var(--fp-muted); font: 400 14px/1.6 var(--fp-font); }
.app-promotion-stores { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.app-promotion-stores a { display: flex; align-items: center; min-height: 48px; border-radius: 6px; }
.app-promotion-stores a:hover { opacity: .85; }
.app-promotion-stores a:focus-visible { outline: 3px solid var(--fp-ink); outline-offset: 4px; }
.app-promotion-stores img { display: block; object-fit: contain; }
.app-promotion-apple { width: 144px; height: auto; }
.app-promotion-google { width: auto; height: 48px; }
.app-promotion--compact { display: block; margin: 0 0 24px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.app-promotion--compact .app-promotion-copy h2 { font-size: 16px; }
.app-promotion--compact .app-promotion-copy p { font-size: 13px; }
.app-promotion--compact .app-promotion-stores { margin-top: 12px; }
@media (max-width: 480px) {
  .app-promotion:not(.app-promotion--compact) { padding: 20px; }
  .app-promotion-stores { gap: 8px; }
  .app-promotion-apple { width: 120px; }
  .app-promotion-google { width: auto; height: 40px; }
}
