.site-branding {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}

.site-branding__logo img {
  max-height: 60px;
  height: auto;
  width: auto;
  display: block;
}

.site-branding__text { display: flex; flex-direction: column; 
  justify-content: center; line-height: 1.2; margin: 0;
}

.logo-and-site-name-wrapper, .site-branding__logo, .site-branding__text 
{
  display: contents;
}

/* --- Compact hero region height (AIJurium custom) --- */
.hero,
.hero-top {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  min-height: auto !important;
}

/* Optional: tighter spacing for internal containers */
.hero__container,
.hero-top__container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Mobile optimisation */
@media (max-width: 768px) {
  .hero,
  .hero-top {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

/* Remove any dash/icon/pseudo-element before all sidebar block titles */
.region-sidebar-second h2.title::before,
.region-sidebar-second h2.title::after,
.region-sidebar-second h2.title a::before,
.region-sidebar-second h2.title a::after,
.sidebar-second h2.title::before,
.sidebar-second h2.title::after,
.sidebar-second h2.title a::before,
.sidebar-second h2.title a::after {
    content: "" !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    display: inline !important;
}

/* Remove leftover spacing/indent from ALL sidebar block titles */
.region-sidebar-second h2.title,
.region-sidebar-second h2.title a,
.sidebar-second h2.title,
.sidebar-second h2.title a {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    position: relative !important;
    left: 0 !important;
}

/* Fix any shifted first letter for all sidebar headings */
.region-sidebar-second h2.title::first-letter,
.sidebar-second h2.title::first-letter {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Better Login / Register – optimal logo size */
#auth_box #the_logo img {
  max-width: 260px;
  height: auto;
  display: block;
  margin: 0 auto 1.6rem;
}

#auth_box #top_part {
  padding: 1.6rem 0 1.2rem;
}

/* BaseCore – Sidebar second: elegant spacing (small top breathing room + tidy gaps) */
.region-sidebar-second .block{
  margin: 0 0 12px !important;   /* gap between blocks */
  padding: 0 !important;
}

/* add gentle space at the top of the whole sidebar */
.region-sidebar-second .block:first-child{
  margin-top: 14px !important;
}

.region-sidebar-second .block:last-child{
  margin-bottom: 0 !important;
}

/* ==========================================================================
   AIJURIUM COLOUR SYSTEM (Custom Overrides)
   UK / USA FLAG PALETTE + LEGAL HIGHLIGHTING + LINK STATES
   Best-practice additions:
   - Accessible focus ring (keyboard)
   - Slightly cleaner nav hover behaviour
   - Dropcap spacing
   - Slideout uses variables
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Palette
   -------------------------------------------------------------------------- */
:root{
  --aij-uk-blue: #012169;
  --aij-uk-red:  #C8102E;
  --aij-us-red:  #B22234;
  --aij-red-pressed: #8B1A2B;
  --aij-white: #FFFFFF;
  --aij-highlight: #FFF3B0;
}

/* --------------------------------------------------------------------------
   1. Links everywhere (content + UI): default/visited/hover/focus/pressed
   -------------------------------------------------------------------------- */
a:link,
a:visited{
  color: var(--aij-uk-blue) !important;
  transition: color 0.15s ease-in-out, text-decoration-color 0.15s ease-in-out;
}

a:hover{
  color: var(--aij-us-red) !important;
  text-decoration: underline;
}

a:active{
  color: var(--aij-red-pressed) !important;
}

/* Accessible keyboard focus (best practice) */
a:focus-visible{
  color: var(--aij-us-red) !important;
  text-decoration: underline;
  outline: 2px solid var(--aij-us-red);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   2. Navigation + menus (fix light-blue/grey menu links)
   Recommended: hover = red; keyboard focus = red + outline; underline optional
   -------------------------------------------------------------------------- */
nav a,
.menu a,
.menu-item a,
.menu-link,
.nav-link,
.region-header a,
.region-primary-menu a,
.region-secondary-menu a,
.region-navigation a,
.region-nav a{
  color: var(--aij-uk-blue) !important;
  transition: color 0.15s ease-in-out;
}

/* Hover (mouse) */
nav a:hover,
.menu a:hover,
.menu-item a:hover,
.menu-link:hover,
.nav-link:hover,
.region-header a:hover,
.region-primary-menu a:hover,
.region-secondary-menu a:hover,
.region-navigation a:hover,
.region-nav a:hover{
  color: var(--aij-us-red) !important;
  text-decoration: none; /* cleaner nav; change to underline if you prefer */
}

/* Keyboard focus (clear and accessible) */
nav a:focus-visible,
.menu a:focus-visible,
.menu-item a:focus-visible,
.menu-link:focus-visible,
.nav-link:focus-visible,
.region-header a:focus-visible,
.region-primary-menu a:focus-visible,
.region-secondary-menu a:focus-visible,
.region-navigation a:focus-visible,
.region-nav a:focus-visible{
  color: var(--aij-us-red) !important;
  outline: 2px solid var(--aij-us-red);
  outline-offset: 2px;
}

/* Pressed */
nav a:active,
.menu a:active,
.menu-item a:active,
.menu-link:active,
.nav-link:active{
  color: var(--aij-red-pressed) !important;
}

/* Current page in menus: keep UK blue, underline, slightly stronger */
.menu a.is-active,
.menu-item a.is-active,
.menu-link.is-active,
.nav-link.is-active,
.menu a.active,
.menu-item a.active{
  color: var(--aij-uk-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Tabs + breadcrumbs */
.tabs a,
.breadcrumb a{
  color: var(--aij-uk-blue) !important;
}

.tabs a:hover,
.breadcrumb a:hover{
  color: var(--aij-us-red) !important;
  text-decoration: underline;
}

.tabs a:focus-visible,
.breadcrumb a:focus-visible{
  color: var(--aij-us-red) !important;
  outline: 2px solid var(--aij-us-red);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   3. Headings (authoritative)
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6{
  color: var(--aij-uk-blue);
}

/* --------------------------------------------------------------------------
   4. Yellow paper-style highlight
   Usage: <span class="aijurium-highlight">important</span>
   -------------------------------------------------------------------------- */
.aijurium-highlight{
  background-color: var(--aij-highlight);
  padding: 0.12em 0.25em;
  border-radius: 2px;
}

/* --------------------------------------------------------------------------
   5. Red opening letter (manual, safer)
   Usage: <p class="aijurium-dropcap">Text…</p>
   -------------------------------------------------------------------------- */
.aijurium-dropcap::first-letter{
  color: var(--aij-uk-red);
  font-weight: 600;
  font-size: 1.2em;
  margin-right: 0.05em; /* subtle spacing */
}

/* OPTIONAL: automatic first-letter for first paragraph of Article nodes only */
.node--type-article .field--name-body p:first-of-type::first-letter{
  color: var(--aij-uk-red);
  font-weight: 600;
  font-size: 1.2em;
  margin-right: 0.05em;
}

/* --------------------------------------------------------------------------
   6. Warning / critical note block
   Usage: <div class="aijurium-warning">Text</div>
   -------------------------------------------------------------------------- */
.aijurium-warning{
  border-left: 4px solid var(--aij-uk-red);
  padding-left: 0.75rem;
  margin: 1rem 0;
}

/* Optional inline emphasis (non-yellow) */
.aijurium-emphasis{
  color: var(--aij-uk-blue);
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   7. Buttons (blue default + red hover)
   -------------------------------------------------------------------------- */
button,
input[type="submit"],
.button{
  background-color: var(--aij-uk-blue);
  color: var(--aij-white);
  transition: background-color 0.15s ease-in-out;
}

button:hover,
input[type="submit"]:hover,
.button:hover{
  background-color: var(--aij-us-red);
}

button:active,
input[type="submit"]:active,
.button:active{
  background-color: var(--aij-red-pressed);
}

/* --------------------------------------------------------------------------
   8. Slideout/off-canvas links (use adopted UK blue)
   -------------------------------------------------------------------------- */
#drupal-off-canvas a,
#drupal-off-canvas a:link,
#drupal-off-canvas a:visited,
.ui-dialog a,
.ui-dialog a:link,
.ui-dialog a:visited{
  color: var(--aij-uk-blue) !important;
}

/* ==========================================================================
   End of AIJURIUM COLOUR SYSTEM
   ========================================================================== */

/* Search API exposed form block, compact one line layout */
#block-aijurium-subtheme-exposedformsearch-apiblock-1 .form--inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
}

/* Let the input take remaining width but never overflow the region */
#block-aijurium-subtheme-exposedformsearch-apiblock-1 .js-form-item-search-api-fulltext {
  flex: 1 1 auto;
  min-width: 8rem;
  margin: 0;
}

#block-aijurium-subtheme-exposedformsearch-apiblock-1 input[name="search_api_fulltext"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: 2.25rem;
}

/* Keep actions inline */
#block-aijurium-subtheme-exposedformsearch-apiblock-1 .form-actions {
  margin: 0;
  flex: 0 0 auto;
}

/* Guard so wrappers never overflow the region */
#block-aijurium-subtheme-exposedformsearch-apiblock-1,
#block-aijurium-subtheme-exposedformsearch-apiblock-1 .content,
#block-aijurium-subtheme-exposedformsearch-apiblock-1 form {
  max-width: 100%;
}

/* Submit as a small icon button, covers dynamic IDs on results pages too */
#block-aijurium-subtheme-exposedformsearch-apiblock-1 input.form-submit,
#block-aijurium-subtheme-exposedformsearch-apiblock-1 input[id^="edit-submit-search-api"] {
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border-radius: 999px;
  line-height: 1;

  /* Hide word "Search" */
  font-size: 0;
  color: transparent;

  /* Ensure it does not stretch */
  flex: 0 0 auto;

  /* Icon */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.05rem 1.05rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='%23012169' stroke-width='2'/%3E%3Cpath d='M20 20l-3.5-3.5' fill='none' stroke='%23012169' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Responsive: on very narrow screens allow wrapping */
@media (max-width: 420px) {
  #block-aijurium-subtheme-exposedformsearch-apiblock-1 .form--inline {
    flex-wrap: wrap;
  }

  #block-aijurium-subtheme-exposedformsearch-apiblock-1 .form-actions {
    width: 100%;
  }

  /* On small screens, switch back to a full width text button */
  #block-aijurium-subtheme-exposedformsearch-apiblock-1 input.form-submit,
  #block-aijurium-subtheme-exposedformsearch-apiblock-1 input[id^="edit-submit-search-api"] {
    width: 100%;
    height: 2.5rem;
    border-radius: 0.5rem;

    font-size: 1rem;
    color: inherit;

    background-image: none;
  }
}

/* Yellow highlight only inside Search API excerpt/snippet output */
.path-search-api .search-api-excerpt strong,
.path-search-api .views-field-search-api-excerpt strong,
.path-search-api .views-field-search-api-fulltext strong,
.path-search-api .views-field-snippet strong {
  background: #fff3a0;
  padding: 0 0.15em;
  border-radius: 0.15em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

