/* =========================================================
   Pages waiting — layout landing + __content / __action desktop : brand-layout.css
   (chargé avant). Ne pas redéfinir ici .brand-landing-box__content ni __action au même
   niveau de spécificité : waiting.css gagnerait en cascade et masquerait les réglages
   de brand-layout.css.
   Garde ici : boutons pleine largeur dans la zone action, typo .__content--waiting,
   bloc mobile waiting, regolamento, etc.
   ========================================================= */

.brand-landing-box__action .btn-action,
.brand-landing-box__action a.btn-action,
.brand-landing-box__action .btn.btn-action {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  justify-content: center;
  text-align: center;
}

/*
 * Cadres teal / magenta en pointillés : ils viennent de brand-layout.css (zones de debug).
 * La page inscription les retire dans registration-brand.css ; on fait pareil pour la waiting
 * publique afin d’être cohérent avec la prod (le background test peut les garder pour caler le layout).
 */
.waiting-page .brand-landing-box__content {
  border: none !important;
  background: transparent !important;
}

.waiting-page .brand-landing-box__action {
  border: none !important;
  background: transparent !important;
  padding-top: 4px;
}

.waiting-page .registration-brand-footnote {
  margin: 0.35rem 0 0;
  font-size: clamp(0.52rem, 1.35cqmin, 0.65rem);
  line-height: 1.2;
  text-align: center;
  color: #e85a1a;
  font-family: 'BebasNeue Book', 'BebasNeue Light', Arial, sans-serif;
  letter-spacing: 0.02em;
}

@media (max-width: 767.98px) {
  /* Mobile only: keep the box anchored to footer. */
  .waiting-page .brand-preview-stage {
    display: flex;
    flex-direction: column;
  }

  .waiting-page .brand-landing-layout {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
  }

  /* Mobile only: box must not exceed 70% screen height. */
  .waiting-page .brand-landing-box.brand-landing-box--desktop {
    max-height: 85vh !important;
    max-height: 85dvh !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 500px) and (max-width: 767.98px) {
  .waiting-page .brand-landing-box.brand-landing-box--desktop {
    width: min(100%, 500px) !important;
    max-width: 500px !important;
  }
}

/* --- Contenu waiting (texte) ---
 * Style : BebasNeue (titres rose #c40464, accents orange #e45c0c), Helvetica locale corps #462616.
 * Taille : minimum lisible 1rem (16px) pour le corps, puis scale (viewport ou container cqmin/cqh).
 * --- */
.brand-landing-box__content--waiting {
  --waiting-font-min-body: 1rem;
  --waiting-font-min-accent: 1.125rem;
  --waiting-font-min-hero: 1.25rem;
  padding: clamp(10px, min(1.6vw, 2vh), 22px);
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 0;
}

/* Repartit le texte sur la hauteur du cadre (bloc centre verticalement dans la zone scroll). */
.brand-landing-box__scroll {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  max-height: none;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding-right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(0.12rem, min(0.9vw, 0.85vh), 0.45rem);
}

/* Evite que le texte passe derrière le bloc action quand il est dans le content. */
.waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.waiting-page .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  justify-content: flex-start;
}

.waiting-page .brand-waiting-copy--pre {
  justify-content: flex-start;
  height: auto;
}

.waiting-page .brand-waiting-actions--inside-content {
  margin-top: auto;
  flex: 0 0 auto;
}

@supports (justify-content: safe center) {
  .brand-landing-box__scroll {
    justify-content: safe center;
  }
}

/*
 * Typo de secours (viewport) : si le navigateur ne supporte pas les requetes de conteneur.
 * Bootstrap n'a pas de classe "texte qui remplit la box" : on utilise ci-dessous cqmin (taille du
 * cadre .brand-landing-box__content--waiting) quand c'est supporte.
 */
.brand-waiting-title {
  margin: 0 0 0.65rem;
  color: #c40464;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-size: clamp(1.85rem, calc(1.05rem + min(3.6vw, 4.2vh)), 3.45rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

/* Page terminée : nom du concours en orange dans le titre rose */
.brand-waiting-title__accent {
  color: #e45c0c;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-size: 1em;
  line-height: inherit;
  letter-spacing: 0.01em;
}

.brand-waiting-copy--ended p {
  margin: 0 0 0.22rem;
}

/* Inline orange dans le corps (page terminée) : meme echelle que le texte marron, pas la taille des gros accents */
.brand-waiting-copy--ended .brand-waiting-copy__accent-inline {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0.02em;
}

.brand-waiting-copy {
  color: #462616;
  font-family: 'HelveticaNeue321', 'Arial Narrow', Arial, sans-serif;
  font-size: clamp(1rem, calc(0.86rem + min(1.15vw, 1.35vh)), 1.48rem);
  line-height: 1.08;
  font-weight: 200;
  text-transform: none;
}

.brand-waiting-copy p {
  margin: 0 0 0.2rem;
  text-transform: none;
}

.brand-waiting-copy__lead {
  color: #f1690b;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-size: clamp(1.12rem, calc(0.98rem + min(0.85vw, 1.2vh)), 1.52rem);
  line-height: 1.08;
}

.brand-waiting-copy__sub {
  color: #462616;
  font-family: 'HelveticaNeue321', 'Arial Narrow', Arial, sans-serif;
  font-size: clamp(1.08rem, calc(0.92rem + min(1vw, 1.35vh)), 1.68rem);
  line-height: 1;
  font-weight: 200;
  text-transform: none;
}

.brand-waiting-copy__headline {
  color: #c40464;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-size: clamp(1.82rem, calc(1.02rem + min(3.35vw, 3.2vh)), 3.35rem);
  line-height: 0.95;
  margin-top: 0.04rem;
}

.brand-waiting-copy__accent {
  color: #e45c0c;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-size: clamp(1.38rem, calc(1.05rem + min(1.85vw, 2vh)), 2.45rem);
  line-height: 0.95;
}

.brand-waiting-copy__accent-inline {
  color: #e45c0c;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-size: clamp(1.38rem, calc(1.05rem + min(1.85vw, 2vh)), 2.45rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.brand-font-title {
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
}

.brand-font-body {
  font-family: 'BebasNeue Book', 'BebasNeue Light', Arial, sans-serif;
}

.brand-font-accent {
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
}

.brand-waiting-copy--pre {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  width: 100%;
  max-width: 100%;
  gap: clamp(0.18rem, min(1vw, 1.2vh), 0.55rem);
  box-sizing: border-box;
}

/* Bloc "concorso in arrivo" — meme echelle que le copy concours actif (titres / accent / headline). */
.brand-waiting-copy--pre .brand-waiting-title--pre {
  margin: 0 0 clamp(0.25rem, min(1vw, 1.2vh), 0.5rem);
  font-size: clamp(1.95rem, calc(1.1rem + min(3.75vw, 5.2vh)), 3.55rem);
  line-height: 0.95;
}

.brand-waiting-copy__line {
  margin: 0;
  color: #462616;
  font-family: 'HelveticaNeue321', 'Arial Narrow', Arial, sans-serif;
  font-size: clamp(1rem, calc(0.86rem + min(1.15vw, 1.55vh)), 1.48rem);
  line-height: 1.18;
  font-weight: 400;
  max-width: 36ch;
}

/* Corps : aligne sur .brand-waiting-copy__sub + p du bloc actif */
.brand-waiting-copy--pre .brand-waiting-copy__line {
  font-size: clamp(1.08rem, calc(0.92rem + min(1vw, 1.35vh)), 1.68rem);
  font-weight: 200;
  line-height: 1.12;
  max-width: min(100%, 22rem);
}

/* Toute la phrase sur une ligne (comme la maquette) */
.brand-waiting-copy--pre .brand-waiting-copy__line--race-phrase {
  max-width: none;
  white-space: nowrap;
}

@media (max-width: 380px) {
  .brand-waiting-copy--pre .brand-waiting-copy__line--race-phrase {
    white-space: normal;
    max-width: min(100%, 22rem);
  }
}

.brand-waiting-copy__race {
  color: #e45c0c;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Orange : meme taille que .brand-waiting-copy__accent (3…2…1 TODIS!) */
.brand-waiting-copy--pre .brand-waiting-copy__race {
  font-size: clamp(1.38rem, calc(1.05rem + min(1.85vw, 2.5vh)), 2.45rem);
  line-height: 0.95;
}

.brand-waiting-copy--pre .brand-waiting-copy__headline--pre {
  font-size: clamp(1.82rem, calc(1.02rem + min(3.35vw, 4.5vh)), 3.35rem);
  line-height: 0.95;
  margin: clamp(0.35rem, min(1.1vw, 1.4vh), 0.55rem) 0 clamp(0.1rem, min(0.5vw, 0.7vh), 0.25rem);
}

.brand-waiting-copy--pre p:last-child,
.brand-waiting-copy p:last-child {
  margin-bottom: 0;
}

/*
 * Typo liee au cadre vert : cqmin (largeur/hauteur la plus petite) + cqh (hauteur du cadre)
 * pour mieux reagir quand la zone est haute mais etroite ou inversement.
 */
@supports (container-type: size) and (font-size: 1cqmin) {
  .brand-landing-box__content--waiting {
    container-type: size;
    container-name: waiting-brand;
    padding: clamp(10px, 2.5cqh, 24px) clamp(8px, 2.4cqmin, 20px);
  }

  .brand-landing-box__scroll {
    gap: clamp(0.15rem, calc(0.95cqmin + 0.42cqh), 0.55rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-title {
    margin: 0 0 clamp(0.32rem, calc(1.35cqmin + 1cqh), 0.72rem);
    font-size: clamp(var(--waiting-font-min-hero), calc(4.9cqmin + 2.55cqh), 3.1rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy {
    font-size: clamp(1rem, calc(3.25cqmin + 1.55cqh), 1.52rem);
    line-height: 1.08;
  }

  .brand-landing-box__content--waiting .brand-waiting-copy p {
    margin-bottom: clamp(0.1rem, calc(0.72cqmin + 0.5cqh), 0.26rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy__headline {
    font-size: clamp(var(--waiting-font-min-accent), calc(4.35cqmin + 2.15cqh), 2.9rem);
    margin-top: 0.02rem;
  }

  .brand-landing-box__content--waiting .brand-waiting-copy__accent,
  .brand-landing-box__content--waiting .brand-waiting-copy__accent-inline {
    font-size: clamp(var(--waiting-font-min-accent), calc(2.75cqmin + 1.75cqh), 2.35rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy--ended .brand-waiting-copy__accent-inline {
    font-size: inherit;
    line-height: inherit;
  }

  .brand-landing-box__content--waiting .brand-waiting-copy__lead {
    font-size: clamp(var(--waiting-font-min-accent), calc(2.45cqmin + 1.2cqh), 1.55rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy__sub {
    font-size: clamp(1rem, calc(2.25cqmin + 1.15cqh), 1.58rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy--pre {
    gap: clamp(0.12rem, calc(1cqmin + 0.55cqh), 0.58rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy--pre .brand-waiting-title--pre {
    margin: 0 0 clamp(0.22rem, calc(1.2cqmin + 0.95cqh), 0.6rem);
    font-size: clamp(var(--waiting-font-min-hero), calc(5.1cqmin + 2.7cqh), 3.2rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy__line {
    font-size: clamp(var(--waiting-font-min-body), calc(3.05cqmin + 1.35cqh), 1.55rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy--pre .brand-waiting-copy__line {
    font-size: clamp(var(--waiting-font-min-body), calc(3.2cqmin + 1.4cqh), 1.62rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy--pre .brand-waiting-copy__race {
    font-size: clamp(var(--waiting-font-min-accent), calc(2.75cqmin + 1.75cqh), 2.35rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy--pre .brand-waiting-copy__headline--pre {
    font-size: clamp(var(--waiting-font-min-accent), calc(4.35cqmin + 2.15cqh), 2.9rem);
    margin: clamp(0.2rem, calc(1.3cqmin + 0.62cqh), 0.52rem) 0 clamp(0.06rem, 0.82cqmin, 0.22rem);
  }

  .brand-landing-box__content--waiting .brand-waiting-copy p:last-child {
    margin-bottom: 0;
  }
}

/* Grand desktop : encore un cran au-dessus (le cadre vert est grand, le texte peut l’être aussi). */
@media (min-width: 1024px) {
  @supports (container-type: size) and (font-size: 1cqmin) {
    .brand-landing-box__content--waiting .brand-waiting-title {
      font-size: clamp(1.28rem, calc(5.4cqmin + 2.85cqh), 3.45rem);
    }

    .brand-landing-box__content--waiting .brand-waiting-copy {
      font-size: clamp(1rem, calc(3.5cqmin + 1.7cqh), 1.62rem);
    }

    .brand-landing-box__content--waiting .brand-waiting-copy__headline {
      font-size: clamp(1.18rem, calc(4.75cqmin + 2.35cqh), 3.2rem);
    }

    .brand-landing-box__content--waiting .brand-waiting-copy__accent,
    .brand-landing-box__content--waiting .brand-waiting-copy__accent-inline {
      font-size: clamp(1.05rem, calc(3cqmin + 1.9cqh), 2.5rem);
    }

    .brand-landing-box__content--waiting .brand-waiting-copy--pre .brand-waiting-title--pre {
      font-size: clamp(1.28rem, calc(5.5cqmin + 2.95cqh), 3.45rem);
    }

    .brand-landing-box__content--waiting .brand-waiting-copy--pre .brand-waiting-copy__headline--pre {
      font-size: clamp(1.18rem, calc(4.75cqmin + 2.35cqh), 3.2rem);
    }
  }
}

.brand-waiting-highlight {
  color: #903308;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif;
}

.brand-waiting-note {
  font-size: 0.95em;
}

/* Bloc action waiting (meme positionnement que .brand-landing-box__action) */
.brand-waiting-actions {
  width: min(300px, 92%);
  min-height: 56px;
}

.waiting-page .brand-waiting-actions--inside-content {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: min(300px, 92%) !important;
  margin: 0.45rem auto 0;
  padding: 8px 0 0;
  min-height: 0;
  align-self: center;
}

/* Regolamento */
.brand-waiting-actions .btn-regolamento,
.brand-waiting-actions a.btn-regolamento,
.brand-waiting-actions .btn.btn-regolamento {
  --waiting-btn-bg: #0b6b57;
  --waiting-btn-bg-hover: #095948;
  --waiting-btn-border: #0b6b57;
  --waiting-btn-text: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0.85rem 1.25rem;
  border: 2px solid var(--waiting-btn-border);
  border-radius: 999px;
  background-color: var(--waiting-btn-bg);
  color: var(--waiting-btn-text);
  font-size: clamp(1rem, 1vw, 1.05rem);
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
}

.brand-waiting-actions .btn-regolamento:hover,
.brand-waiting-actions .btn-regolamento:focus,
.brand-waiting-actions .btn-regolamento:active,
.brand-waiting-actions a.btn-regolamento:hover,
.brand-waiting-actions a.btn-regolamento:focus,
.brand-waiting-actions a.btn-regolamento:active {
  background-color: var(--waiting-btn-bg-hover);
  border-color: var(--waiting-btn-bg-hover);
  color: var(--waiting-btn-text);
  text-decoration: none;
}

.brand-waiting-actions .btn-regolamento:focus-visible,
.brand-waiting-actions a.btn-regolamento:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(11, 107, 87, 0.25);
}

.brand-waiting-actions .btn-regolamento:active,
.brand-waiting-actions a.btn-regolamento:active {
  transform: translateY(1px);
}

.brand-waiting-actions .btn-regolamento:disabled,
.brand-waiting-actions .btn.btn-regolamento:disabled,
.brand-waiting-actions a.btn-regolamento.disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* PARTECIPA dans le bloc waiting : aligne sur .btn-action global + pleine largeur */
.brand-waiting-actions .btn-action,
.brand-waiting-actions a.btn-action,
.brand-waiting-actions .btn.btn-action {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  justify-content: center !important;
  text-align: center;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* Bouton PARTECIPA / REGOLAMENTO : hors du container texte — typo viewport (pas de cqmin ici). */
@media (min-width: 768px) {
  .brand-waiting-actions .btn-action,
  .brand-waiting-actions a.btn-action {
    min-height: 46px;
    font-size: clamp(1rem, 1.25vw, 1.45rem);
    padding: 0.45rem 0.9rem;
  }
}

/* Secours desktop si container queries indisponibles : un peu plus compact. */
@media (min-width: 768px) {
  @supports not (font-size: 1cqmin) {
    .brand-waiting-title {
      margin-bottom: 0.5rem;
      font-size: clamp(1.45rem, calc(0.85rem + min(2.75vw, 3vh)), 2.75rem);
    }

    .brand-waiting-copy {
      font-size: clamp(1rem, calc(0.78rem + min(0.92vw, 1.05vh)), 1.32rem);
      line-height: 1.06;
    }

    .brand-waiting-copy p {
      margin-bottom: 0.14rem;
    }

    .brand-waiting-copy__headline {
      font-size: clamp(1.42rem, calc(0.82rem + min(2.65vw, 2.35vh)), 2.75rem);
    }

    .brand-waiting-copy__accent,
    .brand-waiting-copy__accent-inline {
      font-size: clamp(1.05rem, calc(0.82rem + min(1.35vw, 1.55vh)), 2rem);
    }

    .brand-waiting-copy--pre .brand-waiting-title--pre {
      font-size: clamp(1.52rem, calc(0.88rem + min(2.85vw, 3.1vh)), 2.9rem);
    }

    .brand-waiting-copy--pre .brand-waiting-copy__line {
      font-size: clamp(1rem, calc(0.8rem + min(0.85vw, 1vh)), 1.48rem);
    }

    .brand-waiting-copy--pre .brand-waiting-copy__race {
      font-size: clamp(1.05rem, calc(0.82rem + min(1.35vw, 1.55vh)), 2rem);
    }

    .brand-waiting-copy--pre .brand-waiting-copy__headline--pre {
      font-size: clamp(1.42rem, calc(0.82rem + min(2.65vw, 2.35vh)), 2.75rem);
      margin: clamp(0.22rem, min(0.85vw, 1vh), 0.4rem) 0 clamp(0.06rem, min(0.4vw, 0.5vh), 0.18rem);
    }

    .brand-waiting-copy--pre {
      gap: clamp(0.12rem, min(0.85vw, 1vh), 0.42rem);
    }

    .brand-landing-box__content--waiting {
      padding: clamp(8px, min(1.35vw, 1.65vh), 18px);
    }
  }
}

@media (min-width: 768px) and (max-height: 900px) {
  @supports not (font-size: 1cqmin) {
    .brand-waiting-title {
      margin-bottom: 0.42rem;
    }

    .brand-waiting-copy p {
      margin-bottom: 0.12rem;
    }

    .brand-landing-box__content--waiting {
      padding: clamp(8px, min(1.25vw, 1.5vh), 16px);
    }
  }
}

/* =========================================================
   Responsive — base = brand-layout.css + extensions waiting
   ========================================================= */

@media (max-width: 767.98px) {
  /* Responsive background config aligned with current background test setup. */
  .waiting-page .brand-page-background {
    background-image: url('../img/brand_321/1920x1080_todis_background_mobile.png');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
  }

  /* Responsive content box config aligned with background test tuning. */
  .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
    width: min(86%, calc(100vw - 10px));
    max-width: 100%;
  }

  @media (min-width: 489px) {
    .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
      width: 421px;
      max-width: 421px;
    }
  }

  .waiting-page .registration-brand-footnote {
    margin-top: clamp(0.5rem, 1.4vh, 0.9rem) !important;
  }

  .brand-preview-page .main-background-wrapper,
  .brand-preview-page main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  .brand-preview-stage {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }

  .brand-page-background {
    background-image: url('../img/brand_321/1920x1080_todis_background_mobile.png');
    background-position: center top;
  }

  .brand-landing-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    align-content: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 6px;
    box-sizing: border-box;
  }

  .brand-landing-box {
    position: relative;
    left: auto;
    transform: none;
    justify-self: center;
    width: min(100%, 1260px);
    min-width: 750px;
    max-width: 1260px;
    margin-inline: 0;
    aspect-ratio: 1333 / 1220;
    max-height: 92vh;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding: clamp(8%, 10vw, 14%) clamp(9%, 11vw, 13%) clamp(12%, 16vw, 20%);
    box-sizing: border-box;
    --brand-mobile-content-top: 17%;
    --brand-mobile-content-action-gap: clamp(2px, 0.6vh, 8px);
  }

  .brand-landing-box--desktop {
    background-image: none;
    background-color: #ffffff;
    border-top-left-radius: clamp(34px, 7vw, 58px);
    border-top-right-radius: clamp(34px, 7vw, 58px);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .brand-landing-box__content {
    width: min(70%, calc(100vw - 24px));
    max-width: 100%;
    height: var(--brand-mobile-content-height, 57%);
    position: absolute;
    top: var(--brand-mobile-content-top, 17%);
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    z-index: 1;
  }

  .brand-landing-box__content.brand-landing-box__content--waiting {
    width: min(70%, calc(100vw - 24px));
    max-width: 100%;
    height: var(--brand-mobile-content-height, 57%);
    position: absolute;
    top: var(--brand-mobile-content-top, 17%);
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    z-index: 1;
    padding: 14px 12px 12px;
    border-radius: 18px;
    gap: 10px;
  }

  .brand-landing-box__action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: absolute;
    top: calc(var(--brand-mobile-content-top, 17%) + var(--brand-mobile-content-height, 57%) + var(--brand-mobile-content-action-gap, 4px));
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translateX(-50%);
    width: min(300px, 88vw);
    max-width: 100%;
    min-height: 48px;
    margin-top: 0;
    flex: 0 0 auto;
    padding: 8px 10px 10px;
    gap: 0;
    box-sizing: border-box;
    z-index: 2;
  }

  .brand-landing-box__action.brand-waiting-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(300px, 88vw);
    max-width: 100%;
    min-height: 48px;
    margin-top: auto !important;
    padding: 8px 10px 10px;
    gap: 0;
    box-sizing: border-box;
    z-index: 2;
  }

  .brand-logo-box {
    display: none !important;
  }

  .brand-landing-box__action .btn-action,
  .brand-landing-box__action a.btn-action,
  .brand-landing-box__action .btn.btn-action {
    min-height: 42px;
    font-size: clamp(1rem, 3.9vw, 1.18rem);
    padding: 0.42rem 0.75rem;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: center !important;
    text-align: center;
  }

  /* Tailles : herite des clamp() fluides ci-dessus (pas de font-size ici = pas de saut a 768px). */
  .brand-waiting-title {
    margin-bottom: 0.55rem;
  }

  .brand-waiting-copy {
    line-height: 1.14;
  }

  .brand-waiting-copy p {
    margin-bottom: 0.45rem;
  }

  .brand-waiting-actions .btn-regolamento,
  .brand-waiting-actions a.btn-regolamento,
  .brand-waiting-actions .btn.btn-regolamento:not(.btn-action) {
    min-height: 42px !important;
    font-size: 1rem !important;
    padding: 8px 12px !important;
  }

  .brand-waiting-actions .btn-action,
  .brand-waiting-actions a.btn-action {
    min-height: 42px !important;
    font-size: clamp(1rem, 3.9vw, 1.18rem) !important;
    padding: 0.42rem 0.75rem !important;
  }

  /* Align waiting responsive layout with background_test.php tuning. */
  .waiting-page .brand-preview-stage {
    position: relative;
    min-height: 100dvh;
    padding: 0;
    overflow: hidden;
  }

  .waiting-page .brand-landing-layout {
    height: 100dvh;
    align-content: stretch;
  }

  .waiting-page .brand-landing-box {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 8px);
    min-width: 0;
    max-width: none;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 0;
    z-index: 2;
    --brand-mobile-content-top: 33%;
    --brand-mobile-content-height: 65%;
    --brand-mobile-content-action-gap: clamp(4px, 1vh, 10px);
  }

  .waiting-page .brand-landing-box--desktop {
    background-image: none;
    background-color: #ffffff;
    border-top-left-radius: clamp(34px, 7vw, 58px);
    border-top-right-radius: clamp(34px, 7vw, 58px);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  @media (min-width: 476px) {
    .waiting-page .brand-landing-box--desktop {
      border-top-left-radius: 48px;
      border-top-right-radius: 48px;
    }
  }

  .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
    width: min(86%, calc(100vw - 10px));
    max-width: 100%;
    position: absolute;
    top: var(--brand-mobile-content-top, 33%);
    left: 50%;
    transform: translateX(-50%);
    height: var(--brand-mobile-content-height, 65%);
  }

  @media (min-width: 489px) {
    .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
      width: 421px;
      max-width: 421px;
    }
  }
}

/* Sous 517px de hauteur: on allonge surtout vers le bas. */
@media (max-width: 767.98px) and (orientation: landscape) and (max-height: 517px) {
  .waiting-page .brand-landing-box {
    --brand-mobile-content-top: 30%;
    --brand-mobile-content-height: 66%;
  }
}

/*
 * Sous 355px: on allonge encore et on remonte progressivement vers le haut
 * pour conserver une zone utile texte + action.
 */
@media (max-width: 767.98px) and (max-height: 355px) {
  .waiting-page .brand-landing-box {
    --brand-mobile-content-top: clamp(36%, 38vh, 42%);
    --brand-mobile-content-height: clamp(50%, 54vh, 58%);
  }
}

/* Horizontal responsive: no scroll, text stays fully visible. */
@media (max-width: 767.98px) and (orientation: landscape) {
  .waiting-page .brand-preview-stage {
    min-height: 100dvh !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .waiting-page .brand-landing-layout {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    height: auto !important;
    min-height: 100dvh !important;
    align-content: stretch !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
  }

  .waiting-page .brand-landing-box {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: auto auto 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  .waiting-page .footer-collab {
    margin-top: 0 !important;
  }

  .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
    flex: 1 1 auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    gap: clamp(0.08rem, 0.6vh, 0.3rem) !important;
  }

  .waiting-page .brand-waiting-title,
  .waiting-page .brand-waiting-copy__headline {
    font-size: clamp(1.15rem, 3.3vh, 1.95rem) !important;
    line-height: 0.96 !important;
  }

  .waiting-page .brand-waiting-copy,
  .waiting-page .brand-waiting-copy__line {
    font-size: clamp(0.82rem, 1.95vh, 1.12rem) !important;
    line-height: 1.08 !important;
  }

  .waiting-page .brand-waiting-copy__accent,
  .waiting-page .brand-waiting-copy__accent-inline,
  .waiting-page .brand-waiting-copy__lead,
  .waiting-page .brand-waiting-copy__sub {
    font-size: clamp(0.98rem, 2.45vh, 1.45rem) !important;
    line-height: 1.02 !important;
  }

  .waiting-page .brand-waiting-copy p {
    margin-bottom: clamp(0.06rem, 0.45vh, 0.16rem) !important;
  }

}

/* <=500px height: no scroll, keep everything visible in viewport. */
@media (max-width: 767.98px) and (max-height: 500px) {
  .waiting-page .brand-preview-stage {
    overflow-y: hidden !important;
    overflow-x: hidden !important;
  }

  .waiting-page .brand-landing-layout {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }

  .waiting-page .brand-landing-box {
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    --brand-mobile-content-top: 28% !important;
    --brand-mobile-content-height: 60% !important;
  }

  /* Fit all copy + button without page scroll on short landscape screens. */
  .waiting-page .brand-waiting-title {
    font-size: clamp(1.05rem, 4.8vw, 1.35rem) !important;
    line-height: 0.95 !important;
  }

  .waiting-page .brand-waiting-copy {
    font-size: clamp(0.74rem, 3.2vw, 0.92rem) !important;
    line-height: 1.08 !important;
  }

  .waiting-page .brand-waiting-copy__headline {
    font-size: clamp(1rem, 4.4vw, 1.28rem) !important;
    line-height: 0.95 !important;
  }

  .waiting-page .brand-waiting-copy__accent,
  .waiting-page .brand-waiting-copy__accent-inline,
  .waiting-page .brand-waiting-copy__lead,
  .waiting-page .brand-waiting-copy__sub,
  .waiting-page .brand-waiting-copy__line {
    font-size: clamp(0.82rem, 3.6vw, 1rem) !important;
    line-height: 1.02 !important;
  }

  .waiting-page .brand-waiting-copy p {
    margin-bottom: 0.08rem !important;
  }
}

/* Very narrow widths: tiny extra compaction, still no scroll. */
@media (max-width: 320px) and (max-height: 500px) {
  .waiting-page .brand-landing-box {
    --brand-mobile-content-top: 27% !important;
    --brand-mobile-content-height: 61% !important;
  }
}

/* Harmonisation finale: aligne waiting.php sur background_test.php */
.waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding: clamp(10px, min(1.6vw, 2vh), 22px) !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  text-align: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
}

.waiting-page .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: hidden !important;
  overflow-x: hidden !important;
  justify-content: flex-start !important;
}

.waiting-page .brand-waiting-title {
  margin: 0 0 0.65rem !important;
  color: #c40464 !important;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif !important;
  font-size: clamp(1.85rem, calc(1.05rem + min(3.6vw, 4.2vh)), 3.45rem) !important;
  line-height: 0.95 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.waiting-page .brand-waiting-title__accent {
  color: #e45c0c !important;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif !important;
  font-size: 1em !important;
  line-height: inherit !important;
}

.waiting-page .brand-waiting-copy {
  margin: 0 !important;
  color: #462616 !important;
  font-family: 'Arial Narrow', Arial, sans-serif !important;
  font-size: clamp(0.86rem, calc(0.72rem + min(0.84vw, 0.96vh)), 1.12rem) !important;
  line-height: 1.14 !important;
  font-weight: 300 !important;
  text-align: center !important;
}

.waiting-page .brand-waiting-copy p {
  margin: 0 0 clamp(0.15rem, min(0.8vw, 0.85vh), 0.45rem) !important;
}

.waiting-page .brand-waiting-copy__headline {
  margin: 0 !important;
  color: #c40464 !important;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif !important;
  font-size: clamp(1.82rem, calc(1.02rem + min(3.35vw, 3.2vh)), 3.35rem) !important;
  line-height: 0.95 !important;
  text-transform: uppercase !important;
}

.waiting-page .brand-waiting-copy__accent,
.waiting-page .brand-waiting-copy__accent-inline {
  color: #e45c0c !important;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif !important;
  font-size: clamp(1.38rem, calc(1.05rem + min(1.85vw, 2vh)), 2.45rem) !important;
  line-height: 0.95 !important;
  text-transform: uppercase !important;
}

.waiting-page .brand-waiting-copy--ended p {
  margin-bottom: clamp(0.28rem, min(1.1vw, 1.2vh), 0.7rem) !important;
}

.waiting-page .brand-waiting-copy--ended .brand-waiting-copy__accent-inline {
  font-size: inherit !important;
  line-height: inherit !important;
}

.waiting-page .brand-waiting-copy--pre {
  justify-content: flex-start !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: clamp(0.18rem, min(1vw, 1.2vh), 0.55rem) !important;
  box-sizing: border-box !important;
}

.waiting-page .brand-waiting-copy--pre .brand-waiting-title--pre {
  margin: 0 0 clamp(0.25rem, min(1vw, 1.2vh), 0.5rem) !important;
  font-size: clamp(1.95rem, calc(1.1rem + min(3.75vw, 5.2vh)), 3.55rem) !important;
  line-height: 0.95 !important;
}

.waiting-page .brand-waiting-copy__line {
  margin: 0 !important;
  color: #e45c0c !important;
  font-family: 'Arial Narrow', Arial, sans-serif !important;
  font-size: clamp(0.86rem, calc(0.72rem + min(0.84vw, 0.96vh)), 1.12rem) !important;
  line-height: 1.14 !important;
  font-weight: 300 !important;
  max-width: 36ch !important;
}

.waiting-page .brand-waiting-copy--pre .brand-waiting-copy__line {
  font-size: clamp(0.86rem, calc(0.72rem + min(0.84vw, 0.96vh)), 1.12rem) !important;
  font-weight: 300 !important;
  line-height: 1.14 !important;
  max-width: min(100%, 22rem) !important;
}

.waiting-page .brand-waiting-copy--pre .brand-waiting-copy__line--race-phrase {
  max-width: min(100%, 28rem) !important;
  white-space: normal !important;
}

.waiting-page .brand-waiting-copy--pre .brand-waiting-copy__race {
  color: #e45c0c !important;
  font-family: 'BebasNeue Bold', 'BebasNeue Book', Arial, sans-serif !important;
  font-size: clamp(1.38rem, calc(1.05rem + min(1.85vw, 2.5vh)), 2.45rem) !important;
  line-height: 0.95 !important;
  text-transform: uppercase !important;
}

.waiting-page .brand-waiting-copy--pre .brand-waiting-copy__headline--pre {
  font-size: clamp(1.82rem, calc(1.02rem + min(3.35vw, 4.5vh)), 3.35rem) !important;
  line-height: 0.95 !important;
}

@media (min-width: 768px) {
  .waiting-page .brand-waiting-copy {
    width: min(100%, 26rem);
    margin-left: auto;
    margin-right: auto;
  }

  .waiting-page .brand-waiting-copy.brand-waiting-copy--ended {
    width: min(100%, 28rem);
    margin-left: auto;
    margin-right: auto;
  }

  .waiting-page .brand-waiting-copy--pre {
    width: min(100%, 26rem);
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) and (max-width: 1366px), (min-width: 768px) and (max-height: 800px) {
  .waiting-page .brand-waiting-copy {
    width: min(100%, 20rem);
  }

  .waiting-page .brand-waiting-copy.brand-waiting-copy--ended {
    width: min(100%, 22rem);
  }

  .waiting-page .brand-waiting-copy--pre {
    width: min(100%, 23.5rem);
  }
}

.waiting-page .brand-waiting-actions--inside-content {
  margin-top: auto !important;
  flex: 0 0 auto !important;
}

@media (max-width: 380px) {
  .waiting-page .brand-waiting-copy--pre .brand-waiting-copy__line--race-phrase {
    white-space: normal !important;
    max-width: min(100%, 22rem) !important;
  }
}

/* Override final desktop: force bloc texte plus etroit comme background_test.php */
@media (min-width: 768px) {
  .waiting-page .brand-waiting-copy {
    width: min(100%, 26rem) !important;
    max-width: 26rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .waiting-page .brand-waiting-copy.brand-waiting-copy--ended {
    width: min(100%, 28rem) !important;
    max-width: 28rem !important;
  }

  .waiting-page .brand-waiting-copy--pre {
    width: min(100%, 26rem) !important;
    max-width: 26rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 768px) and (max-width: 1366px), (min-width: 768px) and (max-height: 800px) {
  .waiting-page .brand-waiting-copy {
    width: min(100%, 20rem) !important;
    max-width: 20rem !important;
  }

  .waiting-page .brand-waiting-copy.brand-waiting-copy--ended {
    width: min(100%, 22rem) !important;
    max-width: 22rem !important;
  }

  .waiting-page .brand-waiting-copy--pre {
    width: min(100%, 23.5rem) !important;
    max-width: 23.5rem !important;
  }
}

/* Verrouille la largeur du conteneur texte lui-meme (effet visible garanti). */
@media (min-width: 768px) {
  .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
    width: min(100%, 26rem) !important;
    max-width: 26rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .waiting-page.waiting-page--ended .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
    width: min(100%, 28rem) !important;
    max-width: 28rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1366px), (min-width: 768px) and (max-height: 800px) {
  .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
    width: min(100%, 20rem) !important;
    max-width: 20rem !important;
  }

  .waiting-page.waiting-page--ended .brand-landing-box__content.brand-landing-box__content--waiting .brand-landing-box__scroll {
    width: min(100%, 22rem) !important;
    max-width: 21rem !important;
  }
}

@media (min-width: 768px) {
  .waiting-page {
    --waiting-desktop-text-scale: 1.1;
  }

  .waiting-page .brand-waiting-title {
    font-size: calc(clamp(1.85rem, calc(1.05rem + min(3.6vw, 4.2vh)), 3.45rem) * var(--waiting-desktop-text-scale));
  }

  .waiting-page .brand-waiting-copy {
    font-size: calc(clamp(1rem, calc(0.86rem + min(1.15vw, 1.35vh)), 1.48rem) * var(--waiting-desktop-text-scale));
  }

  .waiting-page .brand-waiting-copy__lead {
    font-size: calc(clamp(1.12rem, calc(0.98rem + min(0.85vw, 1.2vh)), 1.52rem) * var(--waiting-desktop-text-scale));
  }

  .waiting-page .brand-waiting-copy__sub {
    font-size: calc(clamp(1.08rem, calc(0.92rem + min(1vw, 1.35vh)), 1.68rem) * var(--waiting-desktop-text-scale));
  }

  .waiting-page .brand-waiting-copy__headline {
    font-size: calc(clamp(1.82rem, calc(1.02rem + min(3.35vw, 3.2vh)), 3.35rem) * var(--waiting-desktop-text-scale));
  }

  .waiting-page .brand-waiting-copy__accent,
  .waiting-page .brand-waiting-copy__accent-inline {
    font-size: calc(clamp(1.38rem, calc(1.05rem + min(1.85vw, 2vh)), 2.45rem) * var(--waiting-desktop-text-scale));
  }
}

@media (max-width: 767.98px) {
  /* Start the waiting content from the very top of the branding box. */
  .waiting-page .brand-landing-box__content.brand-landing-box__content--waiting {
    top: 50px !important;
  }
}


/* =========================================================
   Mobile cleanup (<768): white panel + logo fixed on panel
   Mirrors waiting_white_panel_test layout for waiting pages.
   ========================================================= */
@media (max-width: 767.98px) {
  .waiting-page .mobile_logo {
    display: none !important;
  }

  .waiting-page .brand-preview-stage {
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
  }

  .waiting-page .brand-landing-layout {
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .waiting-page .brand-landing-box.brand-landing-box--desktop {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(calc(100% - 24px), 500px) !important;
    max-width: 500px !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    margin: 60px auto 0 !important;
    background: #ffffff !important;
    border-top-left-radius: clamp(34px, 7vw, 58px) !important;
    border-top-right-radius: clamp(34px, 7vw, 58px) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: stretch !important;
    overflow: visible !important;
  }

  .waiting-page .brand-landing-box__logo {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translate(-50%, -52%) !important;
    width: min(62vw, 260px) !important;
    max-width: 82% !important;
    z-index: 10 !important;
    pointer-events: none !important;
  }

  .waiting-page .brand-landing-box__logo img {
    display: block;
    width: 100%;
    height: auto;
  }

  .waiting-page .waiting-panel-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(96px, 24vw, 140px) 18px 18px !important;
    overflow: visible !important;
  }

  .waiting-page .waiting-panel-content {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    row-gap: 0 !important;
    gap: clamp(0.2rem, 1vw, 0.55rem) !important;
    background: transparent !important;
    border: 0 !important;
  }

  .waiting-page .waiting-panel-content .btn {
    margin-top: auto !important;
  }
}

@media (min-width: 768px) {
  .waiting-page .brand-landing-box__logo {
    display: none !important;
  }
}

/* Final mobile hard override: match waiting_white_panel_test behavior. */
@media (max-width: 767.98px) {
  html body.waiting-page {
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.waiting-page .main-background-wrapper {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  body.waiting-page .brand-preview-stage {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.waiting-page .brand-landing-layout {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  body.waiting-page .brand-landing-box.brand-landing-box--desktop {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 60px auto 0 !important;
    align-self: stretch !important;
  }

  body.waiting-page .waiting-panel-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.waiting-page .waiting-panel-content .btn {
    margin-top: auto !important;
  }
}
