.ryt-announcements { display:flex; align-items:center; justify-content:center; gap:8px; padding:6px 14px; min-height:30px; border-bottom:1px solid var(--ryt-line); background:var(--ryt-paper); color:var(--ryt-ink); font:400 10px/1.5 'JetBrains Mono',monospace; letter-spacing:.05em; text-align:center; }
.ryt-announcements__messages { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 28px; min-width:0; overflow-wrap:anywhere; }
.ryt-announcements[data-style=rotate] .ryt-announcements__messages { flex:1; }
.ryt-announcements a { text-underline-offset:3px; }
.ryt-announcements a:hover { text-decoration:underline; }
.ryt-campaign--banner { max-width:1344px; margin:12px auto 30px; padding:30px 24px; text-align:center; border-radius:10px; }
.ryt-promo-paper { background:var(--ryt-stone); color:var(--ryt-ink); }
.ryt-promo-red { background:#B80012; color:#fff; }
.ryt-promo-ink { background:#111; color:#fff; }
.ryt-campaign--announcement { background:transparent; color:inherit; }
.ryt-campaign__name { margin-bottom:8px; font:500 10px/1.5 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.ryt-campaign h2 { margin-bottom:8px; font:700 clamp(24px,3vw,36px)/1.15 'Space Grotesk',sans-serif; letter-spacing:-.03em; }
.ryt-campaign p { font-size:12px; line-height:1.6; }
.ryt-campaign__cta { display:inline-block; margin:8px 4px; text-decoration:underline; text-underline-offset:4px; font-size:12px; }
.ryt-countdown { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; margin-top:20px; font-family:'JetBrains Mono',monospace; }
.ryt-countdown__label { flex-basis:100%; font-size:10px; letter-spacing:.09em; }
.ryt-countdown__unit { display:flex; flex-direction:column; min-width:48px; }
.ryt-countdown strong { font-size:25px; font-weight:500; font-variant-numeric:tabular-nums; }
.ryt-countdown small { font-size:9px; }
.ryt-campaign .ryt-campaign__date { margin-top:14px; font-size:10px; }
.ryt-announcements [hidden],.ryt-announcements[hidden],.ryt-campaign[hidden],.ryt-campaign [hidden] { display:none!important; }
@media(max-width:767px) { .ryt-campaign--banner { margin-inline:8px; padding:24px 14px; } .ryt-announcements { font-size:9px; } }

/* 1.4.1: the announcement strip (.ryt-announcements) is brand black in BOTH modes. Earlier it used
   --ryt-ink, which flips light in dark mode and left white text on a light
   strip (unreadable). */
.ryt-announcements { background:#111111; color:#FFFFFF; border-bottom-color:#111111; }
body.dark-mode .ryt-announcements { background:#111111; color:#FFFFFF; border-bottom-color:#111111; }
.ryt-announcements a { color:#FFFFFF; }

/* Reserve the tallest rotating message without displaying inactive messages. */
.ryt-announcements{min-height:36px;padding-block:5px;font-size:11px}
.ryt-announcements__messages{line-height:1.5}
.ryt-announcements[data-style=rotate] .ryt-announcements__messages{display:grid;grid-template-columns:minmax(0,1fr)}
.ryt-announcements[data-style=rotate] [data-announcement-item]{grid-area:1/1;width:100%}
.ryt-announcements[data-style=rotate] [data-announcement-item][hidden]{display:block!important;visibility:hidden;pointer-events:none}
.ryt-announcements[data-style=rotate] [data-announcement-item]:not([hidden]){animation:ryt-announcement-fade .3s ease-out}
@keyframes ryt-announcement-fade{from{opacity:.2}to{opacity:1}}

/* Editable heading sits above a red glass timer in both site themes. */
.ryt-offer-dock{width:640px;max-width:calc(100% - 32px);margin:24px auto;color:var(--ryt-ink);text-align:center}
.ryt-offer-dock [data-campaign-live]{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}
.ryt-offer-dock__copy{width:100%;min-width:0}
.ryt-offer-dock h2{margin:0;font:600 13px/1.4 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ryt-ink);overflow-wrap:anywhere}
.ryt-offer-dock p{margin:4px 0 0;font:400 11px/1.5 Inter,sans-serif;color:var(--ryt-muted);overflow-wrap:anywhere}
.ryt-offer-dock .ryt-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin:0;padding:16px 24px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 48%,rgba(70,0,8,.035)),rgba(184,0,18,.76);color:#fff;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 14px 32px -8px rgba(184,0,18,.3),inset 0 2px 2px rgba(255,255,255,.24),inset 0 -2px 5px rgba(70,0,8,.15)}
.ryt-offer-dock .ryt-countdown__unit{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.ryt-offer-dock .ryt-countdown__unit+.ryt-countdown__unit{border-left:1px solid rgba(255,255,255,.3)}
.ryt-offer-dock .ryt-countdown strong{font:700 36px/1.1 Inter,sans-serif;font-variant-numeric:tabular-nums;min-width:2ch;color:#fff}
.ryt-offer-dock .ryt-countdown small{font:600 10px/1.3 Inter,sans-serif;text-transform:uppercase;color:#fff}
@media(min-width:768px){.ryt-offer-dock{width:680px}.ryt-offer-dock h2{font-size:15px;font-weight:700}.ryt-offer-dock p{font-size:12px;font-weight:600}.ryt-offer-dock .ryt-countdown{padding:10px 28px;box-shadow:0 10px 24px -10px rgba(184,0,18,.24),inset 0 2px 2px rgba(255,255,255,.24),inset 0 -2px 5px rgba(70,0,8,.15)}.ryt-offer-dock .ryt-countdown strong{font-size:32px}.ryt-offer-dock .ryt-countdown__unit{gap:4px}}
@media(max-width:767px){.ryt-offer-dock{width:360px;margin:20px auto}.ryt-offer-dock h2{font-size:11px}.ryt-offer-dock p{font-size:10px}.ryt-offer-dock .ryt-countdown{padding:13px 12px}.ryt-offer-dock .ryt-countdown strong{font-size:27px}.ryt-offer-dock .ryt-countdown small{font-size:10px}.ryt-offer-dock .ryt-countdown__unit{gap:4px}}
@media(prefers-reduced-motion:reduce){.ryt-announcements[data-style=rotate] .ryt-announcements__messages{display:flex}.ryt-announcements[data-style=rotate] [data-announcement-item]{width:auto;animation:none!important}.ryt-announcements[data-style=rotate] [data-announcement-item][hidden]{display:none!important}}
