.promo-banner[data-v-330ac4d9]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-primary-subtle);border-bottom:1px solid var(--color-primary);font-size:var(--text-sm);color:var(--color-text);flex-wrap:wrap;display:flex}.promo-banner__message[data-v-330ac4d9]{flex:1;min-width:0}.promo-banner__code[data-v-330ac4d9]{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide)}.promo-banner__actions[data-v-330ac4d9]{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.promo-banner__cta[data-v-330ac4d9]{padding:var(--space-1) var(--space-4);background:var(--color-primary);color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast);align-items:center;text-decoration:none;display:inline-flex}.promo-banner__cta[data-v-330ac4d9]:hover{background:var(--color-primary-hover)}.promo-banner__cta[data-v-330ac4d9]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--shadow-glow)}.promo-banner__dismiss[data-v-330ac4d9]{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none}.promo-banner__dismiss[data-v-330ac4d9]:hover{color:var(--color-text)}.promo-banner__dismiss[data-v-330ac4d9]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
