/* Approved static header mascot. Scoped to the shared identity and header controls. */
.has-header-mascot .identity {
  flex: 0 0 auto;
  max-width: 100%;
  gap: 1rem;
}
.has-header-mascot .header-search {
  margin-left: auto;
}
.has-header-mascot .header-mascot {
  display: block;
  flex: 0 0 98px;
  width: 98px;
  height: 112px;
  object-fit: contain;
  pointer-events: none;
}
@media (max-width: 1150px) {
  .has-header-mascot .header-actions {
    margin-left: auto;
  }
}
/* Keep the full identity together without creating a third tablet row. */
@media (min-width: 761px) and (max-width: 895px) {
  .has-header-mascot .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .has-header-mascot .identity {
    grid-column: 1 / -1;
  }
  .has-header-mascot .header-search {
    order: 0;
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 760px) {
  .has-header-mascot .identity {
    flex: 0 1 auto;
    width: 100%;
    gap: .375rem;
  }
  .has-header-mascot .diamond {
    flex: 0 0 76px;
    width: 76px;
    height: 50px;
  }
  .has-header-mascot .identity > span {
    min-width: 0;
    white-space: normal;
  }
  .has-header-mascot .identity strong {
    font-size: clamp(1.125rem, 5.8vw, 2.7rem);
    white-space: nowrap;
  }
  .has-header-mascot .header-mascot {
    flex: 0 0 60px;
    width: 60px;
    height: 68px;
  }
}
/* Keep the existing coarse-pointer Viper header treatment, if enabled. */
@media (hover: none) and (pointer: coarse) {
  html.viper-zp-rotation-trial .has-header-mascot .identity {
    gap: .375rem;
  }
  html.viper-zp-rotation-trial .has-header-mascot .diamond {
    flex: 0 0 76px;
    width: 76px;
    height: 50px;
  }
  html.viper-zp-rotation-trial .has-header-mascot .identity strong {
    font-size: clamp(1.125rem, 5.8vw, 2.7rem);
  }
}
