/* Join the course hero image to the section below it. */
:is(.page-id-91, .page-id-6777) .wp-block-post-content > :is(.wp-block-image, .wp-block-cover).alignfull:first-child + .wp-block-group.alignfull.has-background {
  margin-block-start: 0;
}

/* Remove the gap from the empty block immediately above the footer. */
:is(.page-id-25, .page-id-305, .page-id-91, .page-id-6777) .wp-site-blocks > main + .wp-block-group:empty:has(+ footer.site-footer-container) {
  margin-block-start: 0;
}

/* Contact, terms and training gallery layouts. */
:is(.page-id-44, .page-id-107, .page-id-178) .wp-site-blocks > main + .wp-block-group:empty:has(+ footer.site-footer-container) {
  margin-block-start: 0;
}
.dsuk-info-page { color: #111827; }
.dsuk-info-page p { line-height: 1.65; }
.dsuk-info-card {
  background: #fff;
  border-radius: 8px;
  padding: clamp(18px, 3vw, 32px);
  height: 100%;
  box-sizing: border-box;
}
.dsuk-info-card > :first-child { margin-block-start: 0; }
.dsuk-info-card .wp-block-jetpack-contact-form button[type="submit"] {
  background: #facc15;
  color: #111827;
  border-radius: 8px;
}
.dsuk-training-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 255px), 1fr));
  gap: 20px;
}
.dsuk-training-gallery > figure.wp-block-image {
  background: #fff;
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
}
.dsuk-training-gallery > figure.wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.dsuk-training-gallery > figure.wp-block-image figcaption {
  color: #111827;
  font-size: 15px;
  line-height: 1.4;
  margin: 0;
  padding: 12px 14px;
}

/* Homepage colours. Match the navy already used in the header and footer. */
body.home.page-id-25 {
  --dsuk-home-navy: #111827;
  --dsuk-home-amber: #ffb81c;
  --dsuk-home-edge: inset 0 0 0 1px var(--dsuk-home-amber), 0 0 12px rgba(255, 184, 28, 0.16);
  background-color: var(--dsuk-home-navy);
  color: #fff;
}

body.home.page-id-25 .wp-site-blocks > main,
body.home.page-id-25 main .wp-block-group.has-background {
  background-color: var(--dsuk-home-navy) !important;
  color: #fff;
}

body.home.page-id-25 main :is(h1, h2, h3, h4, h5, h6, p, ul, li),
body.home.page-id-25 main a:not(.whatsapp-block__button) {
  color: #fff !important;
}

/* Paint the outline inside each existing box without taking up space. */
body.home.page-id-25 main .wp-block-group.has-background-background-color,
body.home.page-id-25 main .dsuk-training-list > li,
body.home.page-id-25 main .wp-block-columns > .wp-block-column,
body.home.page-id-25 .wp-site-blocks :is(a, button).wp-block-button__link {
  box-shadow: var(--dsuk-home-edge);
}

body.home.page-id-25 main .wp-block-group.has-background-background-color {
  border-left-color: transparent !important;
}

body.home.page-id-25 .wp-site-blocks :is(a, button).wp-block-button__link {
  background-color: var(--dsuk-home-navy) !important;
  color: #fff !important;
}

body.home.page-id-25 .wp-site-blocks :is(a, button).wp-block-button__link:is(:hover, :focus-visible) {
  box-shadow: inset 0 0 0 1px var(--dsuk-home-amber), 0 0 14px rgba(255, 184, 28, 0.32);
}

body.home.page-id-25 footer .grunion-field {
  border-color: var(--dsuk-home-amber);
  box-shadow: 0 0 10px rgba(255, 184, 28, 0.16);
}


/* Continue the homepage palette across the public site. */
body:not(.wp-admin) {
  --dsuk-site-navy: #111827;
  --dsuk-site-amber: #ffb81c;
  --dsuk-site-edge: inset 0 0 0 1px var(--dsuk-site-amber), 0 0 12px rgba(255, 184, 28, 0.16);
  background-color: var(--dsuk-site-navy);
  color: #fff;
}

body:not(.home) .wp-site-blocks,
body:not(.home) .wp-site-blocks > main,
body:not(.home) main :is(.has-background, .dsuk-info-card, .dsuk-training-gallery > figure) {
  background-color: var(--dsuk-site-navy) !important;
}

body:not(.home) .wp-site-blocks :is(.wp-block-post-title, main),
body:not(.home) main :is(h1, h2, h3, h4, h5, h6, p, ul, ol, li, blockquote, figcaption, label, .dsuk-info-page, .wp-block-group.has-text-color),
body:not(.home) main a:not(.whatsapp-block__button) {
  color: #fff !important;
}

/* Inset edges preserve the dimensions of existing cards and buttons. */
body:not(.home) main :is(.dsuk-info-card, .dsuk-training-gallery > figure, .dsuk-training-list > li, .wp-block-group.has-background:not(.alignfull):not(.dsuk-info-page)),
body:not(.home) .wp-site-blocks :is(a, button).wp-block-button__link {
  box-shadow: var(--dsuk-site-edge);
}

/* Keep gallery edges visible over the photographs. */
body:not(.home) main .dsuk-training-gallery > figure {
  outline: 1px solid var(--dsuk-site-amber);
  outline-offset: -1px;
}

body:not(.home) .wp-site-blocks :is(a, button).wp-block-button__link {
  background-color: var(--dsuk-site-navy) !important;
  color: #fff !important;
  border-color: transparent;
}

body:not(.home) .wp-site-blocks :is(a, button).wp-block-button__link:is(:hover, :focus-visible) {
  box-shadow: inset 0 0 0 1px var(--dsuk-site-amber), 0 0 14px rgba(255, 184, 28, 0.32);
}

body:not(.home) .wp-site-blocks .grunion-field {
  background-color: var(--dsuk-site-navy);
  color: #fff;
  border-color: var(--dsuk-site-amber) !important;
  box-shadow: 0 0 10px rgba(255, 184, 28, 0.16);
}
