.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
   ========================================================================== */

/* =========================
   Quiz landing page overrides
   Same structure, improved colours
   Put at the very end of custom.css
   ========================= */

#block-aijurium-lms-subtheme-content {
  --quiz-card-width: 820px;

  /* Palette */
  --aij-blue: #012169;
  --aij-blue-soft: rgba(1, 33, 105, 0.08);
  --aij-blue-border: rgba(1, 33, 105, 0.18);

  --aij-green-soft: rgba(0, 120, 90, 0.08);
  --aij-yellow-soft: rgba(255, 215, 0, 0.14);

  --aij-row-sep: rgba(1, 33, 105, 0.10);
}

/* Keep everything aligned on the same left edge */
#block-aijurium-lms-subtheme-content .mt-text-content,
#block-aijurium-lms-subtheme-content .quiz-config-overview-table,
#block-aijurium-lms-subtheme-content .quiz-config-overview-take {
  max-width: var(--quiz-card-width);
}

/* Description, no visible border, clean alignment */
#block-aijurium-lms-subtheme-content .mt-text-content {
  padding: 0;
  margin: 18px 0 12px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

#block-aijurium-lms-subtheme-content .mt-text-content .field__label {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 8px;

  /* Soft highlight */
  display: inline-block;
  padding: 4px 10px;
  border-radius: 10px;
  background: var(--aij-yellow-soft);
  color: var(--aij-blue);
}

#block-aijurium-lms-subtheme-content .mt-text-content .field__item {
  padding: 0;
}

#block-aijurium-lms-subtheme-content .mt-text-content .field__item p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.65;
}

/* Compact table again */
#block-aijurium-lms-subtheme-content .quiz-config-overview-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;

  /* Replace grey with your palette */
  border: 1px solid var(--aij-blue-border);
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

#block-aijurium-lms-subtheme-content .quiz-config-overview-table th,
#block-aijurium-lms-subtheme-content .quiz-config-overview-table td {
  padding: 10px 14px;
  vertical-align: top;
}

#block-aijurium-lms-subtheme-content .quiz-config-overview-table th {
  width: 38%;
  font-weight: 600;

  /* Replace grey header fill */
  background: var(--aij-blue-soft);
  color: var(--aij-blue);
  white-space: nowrap;
}

#block-aijurium-lms-subtheme-content .quiz-config-overview-table tr + tr th,
#block-aijurium-lms-subtheme-content .quiz-config-overview-table tr + tr td {
  border-top: 1px solid var(--aij-row-sep);
}

/* Soft row hover, light green tint */
#block-aijurium-lms-subtheme-content .quiz-config-overview-table tbody tr:hover th,
#block-aijurium-lms-subtheme-content .quiz-config-overview-table tbody tr:hover td {
  background: var(--aij-green-soft);
}

/* Button, keep anchor behaviour but apply elegant outline in #012169 */
#block-aijurium-lms-subtheme-content a.quiz-start-link.button {
  display: inline-block;
  cursor: pointer;
  text-decoration: none;

  border: 2px solid var(--aij-blue);
  color: var(--aij-blue);
  background: #ffffff;

  padding: 10px 18px;
  border-radius: 10px;
  font-weight: 700;
}

#block-aijurium-lms-subtheme-content a.quiz-start-link.button:hover {
  text-decoration: none;
  background: var(--aij-blue);
  color: #ffffff;
}

#block-aijurium-lms-subtheme-content a.quiz-start-link.button:focus {
  outline: 3px solid rgba(1, 33, 105, 0.22);
  outline-offset: 2px;
}

/* Quiz Start button hover, keep background, make text red */
#block-aijurium-lms-subtheme-content a.quiz-start-link.button:hover {
  background: #ffffff;
  color: #c00000;
}

/* =========================
   Quiz question table usability
   Keep Description and buttons as approved
   ========================= */

/* Keep the question table aligned and readable */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled {
  width: 100%;
  max-width: var(--quiz-card-width);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(1, 33, 105, 0.18);
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

/* Header, keep but make subtle */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled thead th {
  padding: 10px 12px;
  font-weight: 700;
  background: rgba(1, 33, 105, 0.08);
  color: #012169;
}

/* Compact rows */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody td {
  padding: 10px 12px;
  vertical-align: middle;
}

#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody tr + tr td {
  border-top: 1px solid rgba(1, 33, 105, 0.10);
}

/* Make the first column narrow */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled thead th:first-child,
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody td:first-child {
  width: 56px;
  padding-left: 10px;
  padding-right: 10px;
}

/* Improve answer text spacing */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody td p {
  margin: 0;
  line-height: 1.5;
}

/* Bigger and easier radio control */
#block-aijurium-lms-subtheme-content .answering-form .form-type-radio {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
}

#block-aijurium-lms-subtheme-content .answering-form input.form-radio {
  width: 20px;
  height: 20px;
  transform: scale(1.15);
  accent-color: #012169;
  cursor: pointer;
}

/* Make row feel clickable and clearer on hover */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody tr {
  cursor: pointer;
}

#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody tr:hover td {
  background: rgba(0, 120, 90, 0.08);
}

/* Clear selected state */
#block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody tr:has(input.form-radio:checked) td {
  background: rgba(255, 215, 0, 0.14);
}

/* Slightly bigger tap target on small screens */
@media (max-width: 700px) {
  #block-aijurium-lms-subtheme-content .answering-form table.responsive-enabled tbody td {
    padding: 12px 12px;
  }

  #block-aijurium-lms-subtheme-content .answering-form input.form-radio {
    width: 22px;
    height: 22px;
    transform: scale(1.2);
  }
}

/* =========================
   Quiz True or False styling
   Compact pills, left aligned, colour coded
   Scope: fieldset with legend "Choose one"
   Does not touch table based MCQ styling
   ========================= */

#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup {
  max-width: var(--quiz-card-width);
  border: 1px solid rgba(1, 33, 105, 0.18);
  border-radius: 12px;
  padding: 10px 12px 8px;
  background: #ffffff;
}

#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup > legend .fieldset-legend {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 10px;
  background: rgba(255, 215, 0, 0.14);
  color: #012169;
  font-weight: 700;
}

/* Compact options, left aligned */
#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
  margin-top: 10px;
}

/* Pill option */
#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios .form-type-radio {
  margin: 0;
  width: auto;
  max-width: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(1, 33, 105, 0.14);
  border-radius: 999px;
  background: #ffffff;
}

/* Radio size */
#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios input.form-radio {
  width: 18px;
  height: 18px;
  transform: none;
  accent-color: #012169;
  cursor: pointer;
}

/* Label */
#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios label.option {
  margin: 0;
  cursor: pointer;
  font-weight: 700;
  line-height: 1;
}

/* Hover */
#block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios .form-type-radio:hover {
  background: rgba(0, 120, 90, 0.08);
}

/* Colour code by input value */
#block-aijurium-lms-subtheme-content
.answering-form fieldset.fieldgroup .form-radios .form-type-radio:has(input.form-radio[value="1"]) {
  background: rgba(1, 33, 105, 0.08);
  border-color: rgba(1, 33, 105, 0.18);
}

#block-aijurium-lms-subtheme-content
.answering-form fieldset.fieldgroup .form-radios .form-type-radio:has(input.form-radio[value="0"]) {
  background: rgba(192, 0, 0, 0.08);
  border-color: rgba(192, 0, 0, 0.18);
}

/* Selected states */
#block-aijurium-lms-subtheme-content
.answering-form fieldset.fieldgroup .form-radios .form-type-radio:has(input.form-radio[value="1"]:checked) {
  background: rgba(1, 33, 105, 0.14);
  border-color: rgba(1, 33, 105, 0.30);
}

#block-aijurium-lms-subtheme-content
.answering-form fieldset.fieldgroup .form-radios .form-type-radio:has(input.form-radio[value="0"]:checked) {
  background: rgba(192, 0, 0, 0.14);
  border-color: rgba(192, 0, 0, 0.30);
}

/* Mobile, keep nice tap targets */
@media (max-width: 700px) {
  #block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios .form-type-radio {
    padding: 10px 12px;
  }

  #block-aijurium-lms-subtheme-content .answering-form fieldset.fieldgroup .form-radios input.form-radio {
    width: 20px;
    height: 20px;
  }
}
