/* Scoped to .rfp-ticker — light slow marquee with type badges + red magnifier chip. */
.rfp-ticker{
  --navy:#1B2A4A; --rust:#9B4A1E; --red:#B22234; --blue:#2558A6;
  --cream:#F4F1EA; --rule:#E2DDD2;
  --font-display:'Merriweather',serif; --font-body:'DM Sans',sans-serif;
  display:flex; align-items:stretch; width:100%; min-height:44px;
  background:var(--cream); color:var(--navy);
  font-family:var(--font-body); overflow:hidden;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.rfp-ticker__label{
  display:flex; align-items:center; gap:.5rem; flex:0 0 auto;
  padding:0 1.1rem; color:var(--rust);
  font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  white-space:nowrap;
}
/* Red chip holding the white magnifier. On mobile this is the ENTIRE label,
   so it must be styled or the left of the bar looks empty. */
.rfp-ticker__glass{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:6px; flex:0 0 auto;
  background:var(--red);
}
.rfp-ticker__glass svg{ display:block; }
.rfp-ticker__dot{ width:7px; height:7px; border-radius:50%; background:var(--rust); flex:0 0 auto; } /* legacy, unused */

.rfp-ticker__viewport{ flex:1 1 auto; overflow:hidden; position:relative; display:flex; align-items:center; }
.rfp-ticker__viewport::after{
  content:''; position:absolute; top:0; right:0; width:40px; height:100%;
  background:linear-gradient(90deg,rgba(244,241,234,0),var(--cream)); pointer-events:none;
}
.rfp-ticker__track{
  display:flex; align-items:center; width:max-content;
  animation:rfp-scroll 150s linear infinite;   /* speed knob: higher = slower */
}
.rfp-ticker:hover .rfp-ticker__track{ animation-play-state:paused; }
@keyframes rfp-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

.rfp-item{
  display:flex; align-items:center; gap:.6rem; flex:0 0 auto;
  padding:0 2rem; text-decoration:none; color:inherit; white-space:nowrap;
}
.rfp-item__type{
  font-size:.6rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  padding:.18rem .5rem; border-radius:4px; flex:0 0 auto; color:#fff;
}
.rfp-item__type--rfp{ background:var(--red); }
.rfp-item__type--rfi{ background:var(--blue); }
.rfp-item__type--ss{ background:var(--rust); }
.rfp-item__name{ font-family:var(--font-display); font-weight:700; font-size:.85rem; color:var(--navy); }
.rfp-item__due{ font-size:.74rem; font-weight:600; color:var(--rust); }

.rfp-ticker__cta{
  flex:0 0 auto; display:flex; align-items:center; padding:0 1.15rem;
  background:transparent; color:var(--rust); text-decoration:none;
  font-weight:600; font-size:.8rem; white-space:nowrap;
  border-left:1px solid var(--rule); transition:background .15s,color .15s;
}
.rfp-ticker__cta:hover{ background:var(--rust); color:#fff; }

/* ---- mobile: text label hides, so the red chip carries the left; tighten the rest ---- */
@media (max-width:640px){
  .rfp-ticker__label-text{ display:none; }
  .rfp-ticker__label{ padding:0 .75rem; }
  .rfp-item{ padding:0 1.25rem; gap:.5rem; }
  .rfp-item__name{ font-size:.82rem; }
  .rfp-ticker__cta{ padding:0 .9rem; font-size:.78rem; }
}
@media (prefers-reduced-motion: reduce){ .rfp-ticker__track{ animation:none; } }
