/* RadarČeska Rail UX v3.5.1 — shared consist visual core
   Same fallback language for admin review and /vlak profile.
   Exact approved Collection photo always wins because the silhouette is not rendered then.
*/
:root{
  --rc-consist-body:#f8fbfd;
  --rc-consist-roof:#aebbc8;
  --rc-consist-window:#839fbb;
  --rc-consist-line:#35516b;
  --rc-consist-accent:#0a72d8;
  --rc-consist-accent2:#075eae;
}

/* Shared livery variables */
.tr-visual-car.livery-cd .tr-silhouette,
.rcp-car.livery-cd .rcp-shape{
  --rc-body:#f8fbfd;--rc-roof:#aebbc8;--rc-window:#829fbd;--rc-line:#31516f;--rc-accent:#0a72d8;--rc-accent2:#075eae;
}
.tr-visual-car.livery-start .tr-silhouette,
.rcp-car.livery-start .rcp-shape{
  --rc-body:#f8fafc;--rc-roof:#b7bec7;--rc-window:#7f98b7;--rc-line:#324a63;--rc-accent:#31599b;--rc-accent2:#24477f;
}
.tr-visual-car.livery-pkpic .tr-silhouette,
.rcp-car.livery-pkpic .rcp-shape{
  --rc-body:#f6f7f7;--rc-roof:#aeb4b8;--rc-window:#7797b3;--rc-line:#3f4b54;--rc-accent:#ca3038;--rc-accent2:#a6242a;
}
.tr-visual-car.livery-eloc .tr-silhouette,
.tr-visual-car.livery-raill .tr-silhouette,
.rcp-car.livery-eloc .rcp-shape,
.rcp-car.livery-raill .rcp-shape{
  --rc-body:#f2f4f6;--rc-roof:#a9b0b8;--rc-window:#6f879f;--rc-line:#34424f;--rc-accent:#d54a35;--rc-accent2:#b93829;
}
.tr-visual-car.livery-gmp .tr-silhouette,
.rcp-car.livery-gmp .rcp-shape{
  --rc-body:#f6f7f8;--rc-roof:#afb5bc;--rc-window:#728da9;--rc-line:#34424f;--rc-accent:#2f785e;--rc-accent2:#245f4b;
}
.tr-visual-car.livery-id .tr-silhouette,
.rcp-car.livery-id .rcp-shape{
  --rc-body:#f5f7f9;--rc-roof:#aeb8c2;--rc-window:#7f9bb4;--rc-line:#35485a;--rc-accent:#cf3d45;--rc-accent2:#a92c33;
}
.tr-visual-car.livery-neutral .tr-silhouette,
.rcp-car.livery-neutral .rcp-shape{
  --rc-body:#f7f9fb;--rc-roof:#b5bdc6;--rc-window:#8096ac;--rc-line:#405264;--rc-accent:#687d92;--rc-accent2:#53697e;
}

/* Keep the admin and public-preview fallbacks visually aligned. */
.tr-silhouette:not(.locomotive) .shell,
.rcp-shape:not(.is-locomotive) .shell{
  border-color:var(--rc-line);
  background:
    linear-gradient(180deg,var(--rc-roof) 0 16%,transparent 16% 20%,transparent 100%),
    linear-gradient(180deg,var(--rc-body),var(--rc-body));
  box-shadow:inset 0 -7px 0 var(--rc-accent);
}
.tr-silhouette:not(.locomotive) .windows,
.rcp-shape:not(.is-locomotive) .windows{
  background:repeating-linear-gradient(90deg,var(--rc-window) 0 11px,transparent 11px 15px);
}
.tr-silhouette:not(.locomotive) .door,
.rcp-shape:not(.is-locomotive) .door{
  border-color:var(--rc-line);
}
.tr-silhouette.locomotive .shell,
.rcp-shape.is-locomotive .shell{
  border-color:var(--rc-line);
  background:
    linear-gradient(180deg,var(--rc-roof) 0 21%,transparent 21%),
    linear-gradient(180deg,var(--rc-body),var(--rc-body));
  box-shadow:inset 0 -8px 0 var(--rc-accent),inset 34px 0 0 rgba(255,255,255,.16);
}
.tr-silhouette.locomotive .windows,
.rcp-shape.is-locomotive .windows{
  background:
    linear-gradient(90deg,var(--rc-window) 0 16px,transparent 16px 20px,var(--rc-window) 20px 36px,transparent 36px 40px,var(--rc-window) 40px 51px,transparent 51px);
}
.tr-silhouette.locomotive::before,
.rcp-shape.is-locomotive::before{
  border-top-color:var(--rc-line);
}
