/* Extra verfijning bovenbalk en dynamische schermhoogtes */
.screen-info-bar {
  min-height: 42px;
  padding: 0;
  align-items: stretch;
  border-bottom: 2px solid var(--screen-yellow);
  display: grid !important;
  /* Neerslag krijgt alleen de ruimte die de tekst nodig heeft, tot max. 55%.
     Tijd en weer delen de rest en mogen dus eerst smaller worden. */
  grid-template-columns: 40px minmax(66px, .75fr) minmax(94px, 1fr) fit-content(42%) 40px;
  width: 100%;
  box-sizing: border-box;
}

.screen-info-bar:not(:has(.info-rain)) {
  grid-template-columns: 40px minmax(72px, .8fr) minmax(110px, 1.2fr) 40px;
}

.screen-brand-logo { min-width:0;display:flex;align-items:center;justify-content:center;padding:4px 5px;box-sizing:border-box;z-index:3; }
.screen-brand-logo img { display:block;max-width:100%;max-height:32px;object-fit:contain; }
.screen-brand-meent { position:relative; }
.screen-brand-meent img { width:30px;height:30px; }
.screen-brand-participe { position:relative; }
.screen-brand-participe img { width:30px;height:30px; }

.screen-info-bar span,
.screen-info-bar .info-segment {
  min-width: 0;
  width: auto;
  flex: none;
  justify-content: center;
  min-height: 42px;
  padding: 6px 5px;
  box-sizing: border-box;
  font-size: .78rem;
  gap: 5px;
  overflow: hidden;
  white-space: nowrap;
}

.screen-info-bar .info-time,
.screen-info-bar .info-weather,
.screen-info-bar .info-rain {
  min-width: 0;
}

.screen-info-bar .info-rain {
  font-size: .74rem;
  padding-left: 8px;
  padding-right: 8px;
}

.screen-info-bar b,
.screen-info-bar em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.screen-info-bar svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.screen-info-bar .weather-icon,
.screen-info-bar .info-rain i {
  font-size: 1.05rem;
  flex: 0 0 auto;
}

/* Agenda en ticker houden altijd hun eigen benodigde hoogte.
   Alleen het postergebied groeit of krimpt met de resterende ruimte. */
.room-strip,
.ticker {
  flex: 0 0 auto;
}

.room-strip {
  padding: 13px 16px 15px;
  border-top: 2px solid var(--screen-yellow);
}

.ticker + .room-strip {
  border-top: 0;
}

.room-row {
  padding: 2px 0;
}

.room-strip {
  padding: 8px 16px 8px;
}

.poster-stage {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}


/* Schermprofiel 42 inch staand: schaalvaste maatvoering op basis van het schermframe. */
.screen-frame { container-type: inline-size; box-sizing: content-box; width: min(calc(100% - 24px), 416px); }

.screen-frame .screen-info-bar {
  min-height: 5.4cqw;
  grid-template-columns: 5.3cqw minmax(12cqw,.75fr) minmax(18cqw,1fr) fit-content(42%) 5.3cqw;
  border-bottom-width: .2cqw;
}
.screen-frame .screen-info-bar:not(:has(.info-rain)) {
  grid-template-columns: 5.3cqw minmax(14cqw,.8fr) minmax(22cqw,1.2fr) 5.3cqw;
}
.screen-frame .screen-brand-logo { padding: .45cqw .55cqw; }
.screen-frame .screen-brand-logo img,
.screen-frame .screen-brand-meent img,
.screen-frame .screen-brand-participe img {
  width: 4.15cqw;
  height: 4.15cqw;
  max-height: 4.15cqw;
}
.screen-frame .screen-info-bar span,
.screen-frame .screen-info-bar .info-segment {
  min-height: 5.4cqw;
  padding: .6cqw .55cqw;
  gap: .55cqw;
  font-size: 1.95cqw;
}
.screen-frame .screen-info-bar .info-rain {
  padding-left: .75cqw;
  padding-right: .75cqw;
  font-size: 1.8cqw;
}
.screen-frame .screen-info-bar svg {
  width: 2.15cqw;
  height: 2.15cqw;
}
.screen-frame .screen-info-bar .weather-icon,
.screen-frame .screen-info-bar .info-rain i { font-size: 2.15cqw; }

.screen-frame .ticker { height: 5cqw; border-width: .2cqw 0; }
.screen-frame .ticker-track {
  height: 4.6cqw;
  max-height: 4.6cqw;
  font-size: calc(2.05cqw * var(--ticker-font-scale,1));
}
.screen-frame .ticker-live-icon {
  flex-basis: 3.2cqw;
  width: 3.2cqw;
  height: 3.2cqw;
  max-width: 3.2cqw;
  max-height: 3.2cqw;
}

.screen-frame .room-strip {
  height: 26.1cqw !important;
  padding: 1.05cqw 2cqw;
  border-top-width: .2cqw;
}
.screen-frame .room-strip h3 {
  height: 3.7cqw;
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 2.05cqw;
}
.screen-frame .agenda-viewport { height: 20.3cqw; }
.screen-frame .agenda-page {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}
.screen-frame .room-row {
  min-height: 0;
  padding: 0;
  display: grid;
  align-items: center;
  font-size: 2.18cqw;
  line-height: 1.15;
}
.screen-frame .room-row-empty { color: transparent; }

.dm-screen-profile {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--green-50);
}
.dm-screen-profile strong { color: var(--green-900); }
.dm-screen-profile span { color: var(--muted); font-size: .88rem; }
.dm-agenda-samples { display: grid; gap: 9px; margin-top: 14px; }
.dm-agenda-samples > strong { font-size: .9rem; }
.dm-agenda-samples small { color: var(--muted); }
