themes/olivero/css/components/header-site-branding.pcss.css
/**
 * @file
 * Site branding in header.
 */

@import "../base/media-queries.pcss.css";

.site-branding {
  display: flex;
  flex-shrink: 1;
  align-items: flex-end;
  min-width: calc((2 * var(--grid-col-width)) + (2 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 2 column widths. */
  min-height: var(--sp3);
  margin-inline: calc(-1 * var(--container-padding)) var(--sp); /* Negative margin to break out of .container element. */
  padding-block: var(--sp0-5);
  padding-inline-start: var(--container-padding);
  padding-inline-end: var(--container-padding);
  background-image: linear-gradient(160deg, var(--color--primary-50) 0%, var(--color--primary-40) 78.66%);

  @media (--sm) {
    min-height: var(--sp4);
  }

  @media (--md) {
    min-width: calc((4 * var(--grid-col-width)) + (4 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 4 column widths. */
    min-height: var(--sp6);
    padding-block-end: var(--sp);
  }

  @media (--lg) {
    min-width: calc((2 * var(--grid-col-width)) + (2 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 2 column widths. */
  }

  @media (--nav) {
    min-height: var(--site-header-height-wide);
    margin-inline-start: calc(-1 * var(--container-padding));
    padding-block: 0;
  }
}

[dir="rtl"] .site-branding {
  background-image: linear-gradient(-160deg, var(--color--primary-50) 0%, var(--color--primary-40) 78.66%);
}

.site-branding--bg-gray {
  background: var(--color--gray-100);
}

.site-branding--bg-white {
  background: var(--color--white);
}

.site-branding__inner {
  display: flex;
  align-items: center;
  gap: var(--sp0-5);

  & a {
    text-decoration: none;
  }

  @media (--nav) {
    height: var(--header-height-wide-when-fixed);
    padding-block: var(--sp0-5);
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
}

.site-branding__logo {
  flex-shrink: 0;
  max-width: 100%;

  & img {
    width: auto;
    max-width: 100%;
    max-height: var(--sp2);

    @media (--sm) {
      max-height: var(--sp3);
    }

    @media (--md) {
      max-height: var(--sp4);
    }

    @media (--nav) {
      max-height: calc(var(--header-height-wide-when-fixed) - var(--sp));
    }
  }
}

.site-branding__text {
  color: var(--color--white);

  & a {
    color: inherit;
  }

  @media (--md) {
    display: grid;
    gap: var(--sp0-5);
  }
}

.site-branding__name {
  font-size: 18px;
  font-weight: bold;

  @media (--md) {
    font-size: 28px;
    line-height: 28px;
  }

  @media (--nav) {
    letter-spacing: 0.02em;
    font-size: 32px;
    line-height: var(--sp2);
  }
}

.site-branding__slogan {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-s);

  @media (--md) {
    font-size: var(--font-size-base);
  }
}

.site-branding--bg-gray .site-branding__text,
.site-branding--bg-white .site-branding__text {
  color: var(--color--primary-50);
}
