/* Top Speech promo bar — shared by all three products (loaded from each
   <product>/includes/nav.html). Fixed above the navbar; promo-bar.js sets
   --ts-promo-h to the rendered height and adds body.ts-promo-on.
   Look: white bar, black text, brand-orange rule, black code chip. */
.ts-promo {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1001; /* above .navbar (1000) */
    background: #ffffff; color: #111111;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 15px; line-height: 1.3;
    border-bottom: 3px solid #FF9800;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}
.ts-promo__in {
    max-width: 1400px; margin: 0 auto; box-sizing: border-box; position: relative;
    min-height: 56px; padding: 10px 44px 10px 16px;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.ts-promo__msg { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; font-weight: 600; min-width: 0; }
.ts-promo__item { display: inline-flex; align-items: center; gap: 12px; }
.ts-promo__lead { font-weight: 800; font-size: 20px; letter-spacing: -0.015em; }
.ts-promo__pill { font-size: 14px; font-weight: 600; }
.ts-promo__sep { color: rgba(0, 0, 0, 0.25); }
.ts-promo__code {
    display: inline-block; vertical-align: middle; cursor: pointer; text-decoration: none;
    background: #111111; color: #ffffff;
    font: 800 14px/1 'Inter', ui-monospace, monospace; letter-spacing: 0.06em;
    padding: 7px 10px; border-radius: 5px; transition: background 0.15s;
}
.ts-promo__code:hover { background: #333333; color: #ffffff; }
.ts-promo__code.is-copied { background: #1d7f4b; color: #ffffff; }
.ts-promo__right { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.ts-promo__timer { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.ts-promo__timer-label { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #333333; }
.ts-promo__clock { display: flex; align-items: flex-start; gap: 6px; font-variant-numeric: tabular-nums; }
.ts-promo__unit { display: inline-flex; flex-direction: column; align-items: center; min-width: 28px; }
.ts-promo__unit b { font-size: 18px; font-weight: 800; line-height: 1.1; color: #111111; }
.ts-promo__unit i { font-style: normal; font-size: 9px; letter-spacing: 0.04em; color: #555555; }
.ts-promo__colon { font-weight: 800; color: #999999; line-height: 1.1; font-size: 18px; }
.ts-promo__x {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    background: none; border: 0; color: #111111; opacity: 0.55; cursor: pointer;
    font-size: 22px; line-height: 1; padding: 6px 8px;
}
.ts-promo__x:hover { opacity: 1; }
.ts-promo__spacer { height: var(--ts-promo-h, 59px); }
/* Shift the fixed navbar (and anything pinned just under it) down by the bar height. */
body.ts-promo-on .navbar#mainNavbar,
body.ts-promo-on .navbar.with-top-bar { top: var(--ts-promo-h, 59px); }
body.ts-promo-on .qr-modal-back { top: calc(92px + var(--ts-promo-h, 59px)); }

/* Keep the bar to one line on laptops: drop the secondary pills first. */
@media (max-width: 1360px) { .ts-promo__item--drop { display: none; } }
@media (max-width: 1100px) { .ts-promo__item--1, .ts-promo__item--2 { display: none; } .ts-promo__lead { font-size: 19px; } }
@media (max-width: 900px)  { .ts-promo__lead-tail { display: none; } }
@media (max-width: 768px) {
    .ts-promo__in { flex-wrap: wrap; padding: 8px 38px 8px 12px; gap: 6px 10px; min-height: 0; }
    .ts-promo__msg { flex-wrap: nowrap; justify-content: space-between; width: 100%; gap: 8px; }
    .ts-promo__lead { font-size: 16px; white-space: nowrap; }
    .ts-promo__item--1, .ts-promo__item--2, .ts-promo__sep, .ts-promo__codelabel { display: none; }
    .ts-promo__item { gap: 0; }
    .ts-promo__code { font-size: 13px; padding: 6px 8px; }
    .ts-promo__right { width: 100%; justify-content: center; }
    .ts-promo__timer { flex-direction: row; gap: 10px; align-items: center; }
    .ts-promo__unit { min-width: 24px; }
    .ts-promo__unit b { font-size: 15px; }
    .ts-promo__unit i { font-size: 8px; }
    .ts-promo__colon { font-size: 15px; }
    .ts-promo__x { right: 2px; top: 6px; transform: none; font-size: 20px; }
    /* No-code variant (Android): the "applied automatically" pill is the message, keep it. */
    .ts-promo--nocode .ts-promo__msg { flex-wrap: wrap; justify-content: flex-start; gap: 2px 10px; }
    .ts-promo--nocode .ts-promo__item--2 { display: inline-flex; }
    .ts-promo--nocode .ts-promo__pill { font-size: 13px; }
}
