.tfw-ticker, .tfw-ticker *{ box-sizing:border-box; }
.tfw-ticker a{ color:inherit; text-decoration:none; }
.tfw-ticker .ticker-bar{
  --tf-halo-color: rgba(76,175,80,.25);
  --tf-halo-size: 8.6px;
  background: #07270F;
  display:flex; align-items:center; justify-content:space-between;
  padding: 9px 40px;
  gap: 24px;
  font-family: 'Bricolage Grotesque','Inter',sans-serif;
}
.tfw-ticker .ticker-side{
  display:flex; align-items:center; gap:8px;
  font-size:12px; line-height:18px; letter-spacing:2.16px; font-weight:300; color:#F8F5F2;
  text-transform:uppercase; white-space:nowrap; flex-shrink:0;
}
.tfw-ticker .ticker-side--left{ opacity:.8; }
.tfw-ticker .ticker-side--right{ gap:16px; text-transform:none; font-weight:400; }
.tfw-ticker .ticker-side--right a{
  color:#F8F5F2; opacity:.8; letter-spacing:2.16px; text-transform:none; font-size:12px;
  transition-property: color, opacity; transition-duration:.2s; transition-timing-function:ease;
}
.tfw-ticker .ticker-side--right a:hover{ color:#C99E43; opacity:1; }
.tfw-ticker .ticker-side--right .sep{ opacity:.3; color:#F8F5F2; }
.tfw-ticker .dot{
  position:relative; flex-shrink:0;
  width:8px; height:8px; border-radius:50%; background:#4CAF50; display:inline-block;
  box-shadow: 0 0 0 var(--tf-halo-size) var(--tf-halo-color);
}
.tf-ticker-pulse-yes .ticker-bar .dot{ animation: tfw-dot-pulse 2s ease-in-out infinite; }
@keyframes tfw-dot-pulse{
  0%,100%{ box-shadow: 0 0 0 var(--tf-halo-size) var(--tf-halo-color); }
  50%{ box-shadow: 0 0 0 calc(var(--tf-halo-size) * .45) var(--tf-halo-color); }
}
@media (prefers-reduced-motion: reduce){
  .tf-ticker-pulse-yes .ticker-bar .dot{ animation:none; }
  .tfw-ticker .ticker-track{ animation-duration: 120s; }
}
.tfw-ticker .ticker-viewport{ flex:1 1 0; min-width:0; overflow:hidden; padding:0 18px; }
.tfw-ticker .ticker-track{
  display:inline-flex; align-items:center;
  animation: tfw-marquee 28s linear infinite;
  white-space:nowrap;
}
/* Gap is a right-margin on every item (not flex "gap") so the two
   duplicated halves are exactly equal and the -50% loop is seamless. */
.tfw-ticker .ticker-item{
  font-size:12px; line-height:18px; letter-spacing:2.16px; font-weight:400; color:#F8F5F2;
  text-transform:uppercase; margin-right:64px; flex-shrink:0;
}
.tfw-ticker .ticker-item.ticker-live-mobile{ display:none; align-items:center; gap:8px; }
.tfw-ticker .ticker-item.gold{ color:#C99E43; }
@keyframes tfw-marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}

@media (max-width: 980px){
  .tfw-ticker .ticker-bar.hide-right-tablet .ticker-side--right{ display:none; }
}
@media (max-width: 720px){
  .tfw-ticker .ticker-side--left{ display:none; }
  .tfw-ticker .ticker-bar{ padding: 8px 0; gap:0; }
  .tfw-ticker .ticker-item.ticker-live-mobile{ display:inline-flex; }
  .tfw-ticker .ticker-item{ margin-right:40px; }
  .tfw-ticker .ticker-viewport{ padding:0; }
}
