/* Streckenstatus Itter-Crossbahn – MSC Niedergrafschaft
   Gehört nach /status/status-widget.css
   Ausgelagert aus dem früheren {source}-Block. */

.msc-status{
  --asphalt:#16181B; --asphalt-2:#1F2226; --line:#33383E;
  --ink:#F2F0EC; --muted:#99A0A7;
  --green:#27C24C; --amber:#F5A623; --red:#E63A2F; --lamp-off:#2A2E33;
  --accent:var(--muted);
  max-width:520px; margin:0 auto;
  background:var(--asphalt); color:var(--ink);
  border:1px solid var(--line); border-radius:16px;
  padding:20px 22px; line-height:1.4;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.msc-status, .msc-status *{box-sizing:border-box;}
.msc-status.is-open{--accent:var(--green);}
.msc-status.is-soon{--accent:var(--amber);}
.msc-status.is-closed{--accent:var(--red);}
.msc-status__head{display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:16px;}
.msc-status__eyebrow{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:700;}
.msc-status__eyebrow .nowrap{white-space:nowrap;}
.msc-status__date{font-size:13px; color:var(--muted); white-space:nowrap;}
.msc-status__body{display:flex; align-items:center; gap:20px;}
.msc-status__signal{display:flex; flex-direction:column; gap:8px; padding:10px;
  background:var(--asphalt-2); border:1px solid var(--line); border-radius:12px;}
.msc-status .lamp{width:22px; height:22px; border-radius:50%; background:var(--lamp-off);}
.msc-status.is-closed .lamp--red  {background:var(--red);   box-shadow:0 0 14px 2px rgba(230,58,47,.65);}
.msc-status.is-soon  .lamp--amber {background:var(--amber); box-shadow:0 0 14px 2px rgba(245,166,35,.65);}
.msc-status.is-open  .lamp--green {background:var(--green); box-shadow:0 0 14px 2px rgba(39,194,76,.65);}
@keyframes mscPulse{0%,100%{opacity:1}50%{opacity:.55}}
.msc-status.is-closed .lamp--red,
.msc-status.is-soon .lamp--amber,
.msc-status.is-open .lamp--green{animation:mscPulse 2.4s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){.msc-status .lamp{animation:none !important;}}
.msc-status__text{min-width:0;}
.msc-status__headline{margin:0; font-size:30px; line-height:1.05; font-weight:800;
  letter-spacing:.01em; text-transform:uppercase; color:var(--accent);}
.msc-status__detail{margin:6px 0 0; font-size:15px; color:var(--ink);}
.msc-status__stand{margin:5px 0 0; font-size:12px; color:var(--muted);}
.msc-status__stand:empty{display:none;}
.msc-status__hours{margin-top:18px; border-top:1px solid var(--line); padding-top:14px;}
.msc-status__hours-title{display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin-bottom:8px;}
.msc-status__hours dl{margin:0;}
.msc-status__hours dl > div{display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:3px 0; font-size:14px;}
.msc-status__hours dt{margin:0; color:var(--muted);}
.msc-status__hours dd{margin:0; color:var(--ink); text-align:right;}
.msc-status__hours .today dt{color:var(--ink); font-weight:700;}
.msc-status__hours .today dt::before{content:""; display:inline-block; width:7px; height:7px;
  border-radius:50%; background:var(--accent); margin-right:7px; vertical-align:middle;}
@media (max-width:480px){
  .msc-status__head{flex-direction:column; align-items:flex-start; gap:3px;}
  .msc-status__eyebrow{letter-spacing:.08em;}
}
@media (max-width:400px){
  .msc-status{padding:16px;}
  .msc-status__headline{font-size:24px;}
  .msc-status__body{gap:14px;}
}
