/* Text promotions share one card; each item keeps its own tone and safe action. */
.promotion-group { display:grid; grid-template-columns:minmax(0,1fr); gap:1px; min-width:0; margin:18px 0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--line); color:var(--text); }
.promotion-bar { --promotion-color:var(--accent); --promotion-ink:var(--accent-ink); display:flex; flex-wrap:wrap; align-items:center; align-content:center; justify-content:center; gap:6px 16px; min-width:0; margin:0; padding:0px 16px; background:var(--surface); font-size:13px; line-height:1.7; }
@media (min-width:821px) {
    .promotion-group[data-columns="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .promotion-group[data-columns="2"] > .promotion-bar:last-child:nth-child(odd) { grid-column:1 / -1; }
}
.theme-light .promotion-bar[data-tone="theme"], .promotion-preview[data-theme="light"] .promotion-bar[data-tone="theme"] { --promotion-color:color-mix(in srgb,var(--accent) 85%,var(--text)); }
.promotion-bar[data-tone="blue"] { --promotion-color:#a7cdff; --promotion-ink:#15243a; }
.promotion-bar[data-tone="amber"] { --promotion-color:#eac27e; --promotion-ink:#302211; }
.promotion-bar[data-tone="rose"] { --promotion-color:#efb3c5; --promotion-ink:#361b27; }
.theme-light .promotion-bar[data-tone="blue"], .promotion-preview[data-theme="light"] .promotion-bar[data-tone="blue"] { --promotion-color:#35649c; --promotion-ink:var(--accent-ink); }
.theme-light .promotion-bar[data-tone="amber"], .promotion-preview[data-theme="light"] .promotion-bar[data-tone="amber"] { --promotion-color:#855b1a; --promotion-ink:var(--accent-ink); }
.theme-light .promotion-bar[data-tone="rose"], .promotion-preview[data-theme="light"] .promotion-bar[data-tone="rose"] { --promotion-color:#9e4561; --promotion-ink:var(--accent-ink); }
.promotion-bar[data-style="soft"] { background:color-mix(in srgb,var(--promotion-color) 6%,var(--surface)); }
.promotion-copy { display:flex; flex:0 1 auto; min-width:0; max-width:100%; align-items:center; gap:14px; }
.promotion-label { flex:0 0 auto; max-width:9em; padding:3px 8px; border:1px solid color-mix(in srgb,var(--promotion-color) 22%,transparent); border-radius:4px; background:color-mix(in srgb,var(--promotion-color) 9%,transparent); color:var(--promotion-color); font-size:11px; font-weight:650; line-height:1.6; overflow-wrap:anywhere; }
.promotion-message { min-width:0; overflow-wrap:anywhere; }
.promotion-message:empty { display:none; }
.promotion-title { display:block; font-size:14px; font-weight:650; line-height:1.6; }
.promotion-text { display:block; color:var(--text-muted); white-space:pre-line; }
.promotion-action { --promotion-color:var(--accent); --promotion-ink:var(--accent-ink); display:inline-flex; flex:0 1 auto; min-width:0; max-width:100%; min-height:44px; align-items:center; justify-content:center; gap:8px; padding:8px 2px; border:1px solid transparent; border-radius:5px; color:var(--promotion-color); font-size:12px; font-weight:600; line-height:1.5; text-align:center; overflow-wrap:anywhere; text-decoration:none; }
.promotion-action > span { flex-shrink:0; }
.promotion-action[data-button="outline"] { padding-inline:14px; border-color:color-mix(in srgb,var(--promotion-color) 40%,transparent); }
.promotion-action[data-button="solid"] { padding-inline:14px; background:var(--promotion-color); color:var(--promotion-ink); }
.promotion-action:focus-visible { outline:2px solid var(--promotion-color); outline-offset:3px; }
.promotion-action:active { transform:translateY(1px); }
@media (hover:hover) {
    .promotion-action:hover { text-decoration:underline; text-underline-offset:4px; }
    .promotion-action[data-button="outline"]:hover { background:color-mix(in srgb,var(--promotion-color) 10%,transparent); }
    .promotion-action[data-button="solid"]:hover { background:color-mix(in srgb,var(--promotion-color) 85%,var(--text)); }
}
@media (max-width:560px) {
    .promotion-bar { gap:4px 12px; padding:0px 12px; }
    .promotion-copy { gap:10px; }
    .promotion-label { max-width:7em; }
}
