/* GoCMS default theme contract asset. */
.gocms-public-header[data-gocms-public-header="gocms-default"] {
  border-bottom: 1px solid hsl(var(--border));
}

.gocms-public-footer[data-gocms-public-footer="gocms-default"] {
  border-top: none;
}

/* Hero: primary gradient, same family as archive cards (rounded-2xl on section) */
.gocms-public-hero-card {
  background: linear-gradient(
    145deg,
    hsl(var(--primary) / 0.16) 0%,
    hsl(var(--primary) / 0.07) 45%,
    hsl(var(--background)) 100%
  );
  border: 1px solid hsl(var(--primary) / 0.22);
  box-shadow:
    0 1px 0 hsl(var(--primary) / 0.08) inset,
    0 18px 48px -28px hsl(var(--primary) / 0.35);
}

/* Match figure/image inner radius (rounded-xl); smaller than card (rounded-2xl) */
.gocms-public-archive-cta a {
  border-radius: 0.75rem;
}

/* 1px primary-tinted gradient rules (full + half width) */
.gocms-public-gradient-rule {
  height: 1px;
  width: 100%;
  flex-shrink: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    hsl(var(--primary) / 0.42) 50%,
    transparent 100%
  );
}

.gocms-public-gradient-rule--half {
  width: min(50vw, 42rem);
}

/* Footer link grid: two columns on sm+ */
.gocms-public-footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 0.5rem;
}

@media (max-width: 639px) {
  .gocms-public-footer-links {
    grid-template-columns: 1fr;
  }
}

/* Public marketing shell: brand image in header instead of page title */
.ui-shell-body--marketing .ui-header {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto auto auto !important;
  grid-auto-rows: 1fr;
  align-items: center !important;
  column-gap: 0.5rem;
}

.ui-shell-body--marketing .ui-header-actions,
.ui-shell-body--marketing .gocms-public-header-extra {
  display: contents !important;
}

.ui-shell-body--marketing .ui-header-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ui-shell-body--marketing .ui-header-logo-link {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  justify-self: start !important;
  line-height: 0;
}

.ui-shell-body--marketing .ui-header-logo-img {
  display: block;
  width: auto;
  max-width: 8rem;
  height: 2.5rem;
  max-height: 2.5rem;
  object-fit: contain;
}

.ui-shell-body--marketing .ui-header .gocms-public-menu {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  min-width: 0;
}

.ui-shell-body--marketing .ui-header #language-toggle {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
}

.ui-shell-body--marketing .ui-header #ui8kit-theme-toggle {
  grid-column: 4 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
}

.ui-shell-body--marketing .ui-header .ui-header-menu-btn {
  grid-column: 5 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
}

@media (max-width: 47.999rem) {
  .ui-shell-body--marketing .ui-header {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto auto !important;
    align-items: center !important;
  }

  .ui-shell-body--marketing .ui-header .gocms-public-menu {
    display: none !important;
  }

  .ui-shell-body--marketing .ui-header-logo-link {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .ui-shell-body--marketing .ui-header #language-toggle {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .ui-shell-body--marketing .ui-header #ui8kit-theme-toggle {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  .ui-shell-body--marketing .ui-header .ui-header-menu-btn {
    grid-column: 5 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }
}
