/* ── Design tokens ──────────────────────────────────────────────────────────
 *
 * Fonts
 *   Headings (h1–h3): Glegoo, bold
 *   h4 + body:        Inter, medium (500)
 *   h1: 4rem | h2: 3rem | h3: 1.5rem | body p: 1.25rem
 *
 * Colour palette
 *   White section     bg: --at-page-bg       headings: --at-heading-color
 *   Aqua section      bg: --at-aqua-bg       text:     --at-aqua-text
 *   Dark Aqua section bg: --at-dk-aqua-bg    headings: --at-dk-aqua-text   body: #ffffff
 *   Grey section      bg: --at-grey-bg       headings: --at-grey-heading
 *   Aqua on grey                             accent:   --at-aqua-on-grey
 * ──────────────────────────────────────────────────────────────────────── */
:root {
  /* typography */
  --at-font-heading:   'Glegoo', serif;
  --at-font-body:      'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* white / light section */
  --at-page-bg:        #fefefe;
  --at-heading-color:  #3D7E91;

  /* aqua section */
  --at-aqua-bg:        #C5E2EB;
  --at-aqua-text:      #114B5C;

  /* dark aqua section */
  --at-dk-aqua-bg:        #2C4952;
  --at-dk-aqua-text:      #B7E4F1;

  /* grey section */
  --at-grey-bg:        #585858;
  --at-grey-heading:   #CFCFCF;
  --at-aqua-on-grey:   #90DAF0;

  /* brand accent (rust) */
  --at-accent:         #8f2f10;

  /* retained for Solo theme compatibility */
  --solo-theme-accent: #8f2f10;

  /* wire brand fonts into Solo's base CSS (solo-global.css reads these) */
  --solo-font: var(--at-font-body);
  --solo-h1:   var(--at-font-heading);
}

/* ── Base ────────────────────────────────────────────────────────────────── */
body {
  background-color: var(--at-page-bg);
}

/* The editor iframe owns vertical scrolling; its fixed sidebar shell should not. */
.editing-container {
  overflow: hidden;
}

body:has(> #editing-container iframe) {
  overflow: hidden;
}

/* ── Global typography ───────────────────────────────────────────────────── */
.page-wrapper h1,
.page-wrapper h2,
.page-wrapper h3 {
  font-family: var(--at-font-heading);
  font-weight: bold;
}

.page-wrapper h1 { font-size: 4rem; line-height: 5rem; }
.page-wrapper h2 { font-size: 3rem; }
.page-wrapper h3 { font-size: 1.5rem; }

.page-wrapper p {
  font-weight: 400;
  font-size: 1rem;
}

/* Header region styles */
.header-inner {
  flex-direction: row;
  align-items: flex-start;
  padding:0px;
}

.header-inner::before {
  content: '';
  flex: 0 0 100%;
  order: 1;
  width: 0;
}

/* Keep the editorial controls on the same header row as the account links. */
.header-inner > nav.menu--editorial,
.header-inner > nav.menu--account {
  flex: 0 0 auto;
  order: 2;
}

.header-inner > nav.menu--editorial {
  margin-inline-start: auto;
}

/* Keep account links below the Frontend Editing popout. */
.page-wrapper .header-inner .solo-account-menu {
  z-index: 999 !important;
}

#block-solo-forumarmstrade-site-branding .site-logo-img {
  width: 150px;
  object-fit: contain;
}

#block-solo-forumarmstrade-home-page-title-2 h1 {
  color: #000;
}

#block-solo-forumarmstrade-header h1 {
  font-size: 48px;
  line-height: 1.2em;
  border-left: 3px solid #cfcfcf;
  padding-left: 0.5em;
  max-width:600px;
}

#top-container:not(:has(.top-box-first-inner > *)) {
  display: none;
}

#page-title {
  text-transform:capitalize;
  text-align:center;
  padding-bottom:1.5em;
  padding-top:1em;
}

#welcome-text {
  text-align:center;
  padding:4em;
}

.text-accent {
  color: var(--at-aqua-on-grey);
}

/* Node teaser override (templates/content/node--teaser.html.twig). */
.fat-node-teaser {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.fat-node-teaser__image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.fat-node-teaser__body {
  flex: 1;
}

.fat-node-teaser__title a {
  color: var(--solo-theme-accent);
}

.fat-node-teaser__readmore a {
  font-weight: bold;
}

.fat-node-teaser__content .field--name-body .field__item {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Double Field: second value (e.g. organisation name) is bold site-wide */
.double-field-second {
  font-weight: bold;
}

/* Publication link fields rendered by Views */
.views-field-field-link {
  font-size: 1.2rem;
  text-decoration: underline;
  text-underline-position:under;
}

/* Expert search: label, input, and button sit on one line. */
.expert-search-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

/* Make the Drupal form-item wrapper transparent to the flex layout. */
.expert-search-controls .js-form-item {
  display: contents;
}

.expert-search-controls label {
  white-space: nowrap;
}

.expert-search-controls input[type="text"] {
  flex: 1;
  min-width: 0;
  background: #fff;
  caret-color: #000;
  color: #000;
}

.expert-search-controls input[type="text"]:focus {
  background: #fff !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: #000 !important;
}

.expert-search-controls input[type="text"]::placeholder {
  color: #555 !important;
  opacity: 1;
}

.menu--topics {
  padding-top: 12px;
  padding-bottom: 12px;
  margin-bottom: 48px;
}

.block-solo-forumarmstrade-topics-2-menu {
  margin-top: 0;
}

.block-solo-forumarmstrade-topics-2-menu .menu--topics {
  margin-top: 0;
}

.contextual-region.block.block-menu.navigation.menu--topics {
  margin-bottom: 0;
  text-align: left;
}

#page-wrapper .region-inner.region-left .navigation__menubar {
  justify-content: revert;
  gap: 1rem;
}

#page-wrapper .region-inner.region-center {
  text-align: left;
}

/* breadcrumb placed in primary nav follows dark-aqua colour rules */
#primary-menu ul.breadcrumb-menu li > a,
#primary-menu ul.breadcrumb-menu li > span {
  color: var(--at-dk-aqua-text);
}
#primary-menu .breadcrumb-menu li .breadcrumb-sep {
  fill: var(--at-dk-aqua-text);
}

.region-outer .main-box .sidebar-box-main {
  max-width: 1400px;
}

#block-solo-forumarmstrade-topics-2 {
  max-width: 260px;
  margin-inline-start: auto;
  margin-inline-end: 0;
}

/* Keep the front-page filter compact and let the results area start sooner. */
.path-frontpage .expert-search-filter--language {
  justify-content: flex-end;
  margin-bottom: 8px !important;
  box-shadow: none;
}

.path-frontpage #top-container-inner {
  padding-bottom: 0;
}

.path-frontpage #top-box-first .region-inner {
  padding-bottom: 8px;
}

.path-frontpage #main-container-inner {
  padding-top: 8px;
}

.path-frontpage #main-container-inner .sidebar-box-main-inner,
.path-frontpage #main-container-inner .sidebar-box-second-inner {
  padding-top: 8px;
}

#block-solo-forumarmstrade-topics-2 #topics-menubar {
  max-width: 100%;
}

#block-solo-forumarmstrade-expert-search-results .expert-search-results-list {
  display: grid;
  direction: ltr;
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

#block-solo-forumarmstrade-expert-search-results .expert-search-results-list > .fat-expert-teaser {
  grid-column: auto;
  grid-row: auto;
}

#block-solo-forumarmstrade-expert-search-results .fat-expert-teaser__grid {
  height: 100%;
  margin-bottom: 0;
}

@media (min-width: 62rem) {
  #main-container-inner.solo-col-1 #block-solo-forumarmstrade-expert-search-results .expert-search-results-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #main-container-inner.solo-col-1 #block-solo-forumarmstrade-expert-search-results .expert-search-results-list > .fat-expert-teaser {
    grid-column: 1;
  }

  #main-container-inner.solo-col-1 #block-solo-forumarmstrade-expert-search-results .expert-search-results-list > .fat-expert-teaser:nth-child(even) {
    grid-column: 2;
  }
}

#field-position-values.field-multiple-table thead {
  display:none;
}
