body.screen {
  height: 100vh; overflow: hidden;
  display: flex; flex-direction: column;
  background: var(--cpcb-navy); color: var(--text-primary);
  font-family: var(--font);
  padding: var(--overscan)
           calc(var(--overscan) + var(--mask-right))
           var(--overscan)
           calc(var(--overscan) + var(--mask-left));
  margin: 0; box-sizing: border-box;
}

.stage { flex: 1 1 auto; position: relative; }

.view {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity .6s ease;
}
.view.active { opacity: 1; }
.view, .view * { box-sizing: border-box; margin: 0; padding: 0; }

.screen-footer { flex: 0 0 auto; height: var(--h-footer); }

.currency {
  height: 100%; overflow: hidden;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  background: var(--img, none) center/cover no-repeat, var(--cpcb-navy);
}
.currency-info  { position: absolute; top: 4vh; font-size: 2.2vh; letter-spacing: .1em; }
.currency-title { font-size: 11vh; color: var(--cpcb-gold); font-weight: 700; }
.currency-sub   { font-size: 4vh; margin-top: 2vh; text-transform: uppercase; }

/* ---------------------------------------------------------------
   Signature CPCB
   ---------------------------------------------------------------
   Balisage produit par cpcb_signature()
   Reprise des règles de ecran.css : les deux écrans portent la même
   signature, seule la taille diffère — un pied de diapo a plus de
   place qu'un pied de tableau.

   Aucune couleur en dur : la signature suit la palette.
   --------------------------------------------------------------- */

.footer-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1vh;
}

.footer-mark {
  display: flex;
  flex-direction: column;
  line-height: 1;
  border: 2px solid var(--text-secondary);
  border-radius: .6vh;
  padding: .4vh .6vh;
  font-family: var(--font-cond);
  font-weight: 700;
  letter-spacing: .06em;
  font-size: 1.8vh;
  color: var(--text-secondary);
}

.footer-brand {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.footer-brand-name {
  font-family: var(--font);
  font-weight: 700;
  font-size: 2vh;
  color: var(--text-primary);
}

.footer-brand-tag {
  font-family: var(--font-cond);
  font-weight: 700;
  font-size: 1.2vh;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-secondary);
}