/* DREAMSPIRE ROUTER MASTER */

.panel[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


body:not(.ds-vnext-home-active)
#chapter,

body:not(.ds-vnext-home-active)
main#chapter {

  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;

}


/* -----------------------------------------
   DREAMERS LOADING STATE
   Prevents title + giant blank white space.
   ----------------------------------------- */

#ds-dreamers-loading {

  box-sizing: border-box;

  width: 100%;

  min-height:
    clamp(
      280px,
      52vh,
      560px
    );

  display: grid;

  place-items: center;

  padding: 28px;

}


#ds-dreamers-loading
.ds-dreamers-loading-card {

  width:
    min(
      430px,
      100%
    );

  padding:
    34px
    26px;

  border:
    1px solid
    rgba(
      31,
      51,
      81,
      .10
    );

  border-radius:
    22px;

  background:
    #FFFDFA;

  text-align:
    center;

  box-shadow:
    0
    12px
    34px
    rgba(
      31,
      51,
      81,
      .05
    );

  color:
    #1F3351;

  font-family:
    "DM Sans",
    system-ui,
    sans-serif;

}


#ds-dreamers-loading
strong {

  display:
    block;

  margin:
    11px
    0
    6px;

  font-family:
    Fraunces,
    Georgia,
    serif;

  font-size:
    clamp(
      26px,
      6vw,
      36px
    );

  font-weight:
    500;

  letter-spacing:
    -.03em;

}


#ds-dreamers-loading
span:not(
  .ds-dreamers-loading-dot
) {

  display:
    block;

  color:
    #70798A;

  font-size:
    14px;

  line-height:
    1.55;

}


.ds-dreamers-loading-dot {

  display:
    inline-block;

  width:
    9px;

  height:
    9px;

  border-radius:
    50%;

  background:
    currentColor;

  opacity:
    .45;

  animation:
    dsMasterPulse
    1.1s
    ease-in-out
    infinite
    alternate;

}


@keyframes
dsMasterPulse {

  to {

    transform:
      scale(1.55);

    opacity:
      .9;

  }

}


#panel-kittens:has(
  > #ds-luxury-dreamers
)
#ds-dreamers-loading {

  display:
    none !important;

}


/* -----------------------------------------
   MOBILE MENU
   Removes inherited duplicate "Menu".
   ----------------------------------------- */

@media (
  max-width:
  980px
) {

  html body
  .header
  > button#ds-vnext-menu-button::before,

  html body
  .header
  > button#ds-vnext-menu-button::after,

  html body
  header.header
  > button#ds-vnext-menu-button::before,

  html body
  header.header
  > button#ds-vnext-menu-button::after {

    content:
      none !important;

    display:
      none !important;

  }


  html body
  .header
  > button#ds-vnext-menu-button,

  html body
  header.header
  > button#ds-vnext-menu-button {

    box-sizing:
      border-box !important;

    width:
      72px !important;

    min-width:
      72px !important;

    max-width:
      72px !important;

    flex:
      0 0
      72px !important;

    padding:
      0
      10px !important;

    margin:
      0 !important;

    white-space:
      nowrap !important;

    overflow:
      hidden !important;

    text-overflow:
      clip !important;

  }

}
