/***********************************************/
/* Child theme overrides                       */
/***********************************************/

/* Kill any preloader */
#preloader, #preloader_preload {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Header layout stays flexible */
.header.header--no-navigation .header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
}

/* Let the logo bucket size to content */
.header.header--no-navigation .header__logo {
  flex: 0 0 auto;
  min-width: 0;
}

/* Right side can grow */
.header.header--no-navigation .header__column {
  flex: 1 1 auto;
  min-width: 0;
}

/* --- TEXT LOGO STYLES (when no image) --- */
.header.header--no-navigation .header__logo a {
  display: inline-block;
  white-space: normal !important;      /* allow our manual <br> */
  line-height: 1.05;                   /* tighten lines a touch */
  text-decoration: none;
}

/* Prevent weird word breaking */
.header.header--no-navigation .header__logo,
.header.header--no-navigation .header__logo * {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* If an image logo is used, size it sanely and never clip */
.header.header--no-navigation .header__logo img {
  display: block;
  height: auto;
  width: auto;
  max-height: 64px;                    /* desktop cap */
}

/* Mobile: allow right column to drop so logo has width */
@media (max-width: 767px){
  .header.header--no-navigation .header__container {
    flex-wrap: wrap;
    gap: 12px;
  }
  .header.header--no-navigation .header__logo { order: 1; }
  .header.header--no-navigation .header__column { order: 2; flex: 1 1 100%; }

  .header.header--no-navigation .header__logo img {
    max-height: 40px;                  /* mobile cap for image logos */
  }
/* --- Fix text logo clipping on mobile --- */
@media (max-width: 767px){
  /* allow text to render outside the box if needed */
  .header.header--no-navigation,
  .header.header--no-navigation .header__container,
  .header.header--no-navigation .header__logo{
    overflow: visible !important;
  }

  /* make the two-line text logo fit + avoid cropping */
  .header.header--no-navigation .header__logo a{
    display: inline-block !important;
    white-space: normal !important;   /* we inserted <br>, allow two lines */
    line-height: 1.18 !important;     /* bump to avoid glyph cropping */
    padding-right: 12px !important;   /* breathing room from right edge */
    max-width: 96vw !important;       /* keep within viewport */
    /* optional: scale down slightly on narrow screens */
    font-size: clamp(22px, 7vw, 34px);
    letter-spacing: normal;           /* neutralize aggressive tracking */
  }
}