/* Marketing placements (TTS-328). Loaded only while a placement is live; uses
   the site's colour tokens where present, with safe fallbacks for pages that
   define their own (the beta page). */

.av-announce { background: var(--accent, #4f46e5); color: var(--accent-ink, #fff); text-align: center; font-size: 14.5px; line-height: 1.4; padding: 9px 16px; }
.av-announce p { margin: 0; }
.av-announce a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.av-header-btn { color: var(--accent-ink, #fff) !important; background: var(--accent, #4f46e5); border-radius: 10px; padding: 7px 14px; font-weight: 600; text-decoration: none; }
@media (max-width: 640px) { .av-header-btn { display: none; } }

.av-banner { display: grid; gap: 12px; justify-items: start; margin: 12px auto 4px; padding: 18px 20px; border: 1px solid var(--line, #e3e5ef); border-radius: 16px; background: var(--accent-soft, #eef0ff); }
.av-banner img { width: 100%; height: auto; border-radius: 12px; }
.av-banner p { margin: 0; font-size: 17px; }
.av-banner-btn, .av-cta-btn { display: inline-block; background: var(--accent, #4f46e5); color: var(--accent-ink, #fff); padding: 10px 16px; border-radius: 10px; font-weight: 700; text-decoration: none; }

.av-cta { margin: 26px 0; padding: 18px 20px; border-radius: 14px; background: var(--accent-soft, #eef0ff); display: grid; gap: 12px; justify-items: start; }
.av-cta p { margin: 0; font-size: 17px; }
